Vissza a főoldalra    Vissza a PIC főoldalra

<< Előző oldal   Vissza a tartalomjegyzékhez   Következő oldal >>

 


29.2. Időzítő ULPW modullal


Időzítő 1 ms-ig
Időzítő 1 ms-tól
A stabilitás növelése
Programozható időzítő
A program


      A kisfogyasztású ébresztő (ULPW) modul segítségével egyszerűen megvalósítható egy kisfogyasztású, kispontosságú időzítő megoldás.
      Az időzítő kis időtartamokra való megvalósítását szemlélteti a következő ábra.

ULPW modullal felépített időzítő
29.2-1. Ábra

      A C kondenzátort az időzítő működéséhez fel kell tölteni a tápfeszültségre, amely az I/O port kimeneti áramkörének segítségével lehetséges. A port kivezetést annak TRIS regiszterével kimenetként kell konfigurálni, majd a kimenet értékét a PORT regiszterben logikai "1"-re állítani, aminek hatására a kondenzátor bizonyos idő alatt feltöltődik. Ezután a kimeneti áramkört ki kell kapcsolni!
      A K analóg komparátor egyik bemenetén egy 0,4..0,7V-os referenciafeszültség (Uküszöb) van jelen, a másikon a kivezetés, vagyis a feltöltött C kondenzátor feszültsége. A K komparátor szolgáltatja az időzítés végét jelentő megszakításkérő jelet (a fenti ábrán a logikai "1" szintet), amikor a kondenzátor feszültsége az Uküszöb referenciafeszültség alá csökken.
      A G áramgenerátor biztosítja a külső kondenzátor "lassú" kisütését. Az áramgenerátor a mikrovezérlő PCON vezérlő regiszterében elhelyezett ULPWUE vezérlő bitjének logikai "1"-re állításával indítható, amelynek hatására megindul egy 80..240nA-es (Ikisütő) kisütőáram.
      Az Uküszöb referenciafeszültség és az Ikisütő kisütőáram erősen hőmérsékletfüggő. A hőmérsékletfüggést és az időzítést meghatározó összefüggést az előző fejezet részletesen bemutatja.

      A mikrovezérlő I/O kivezetéseire a gyári adatok szerint közvetlenül csak maximálisan 50pF-os kondenzátor kapcsolható, annak biztosítására, hogy a működés során ne jöhessen létre a 25mA-es maximális kimenőáram.

Vissza a lap tetejére

      A kondenzátor kapacitásától függő időzítés tipikus értékeit mutatják be a következő grafikonok különböző hőmérsékletek és tápfeszültségek esetében.

Az időzítés 5V-os tápfeszültségnél
29.2-2. Ábra

Az időzítés 4,5V-os tápfeszültségnél
29.2-3. Ábra

Vissza a lap tetejére

Az időzítés 3V-os tápfeszültségnél
29.2-4. Ábra

Az időzítés 2V-os tápfeszültségnél
29.2-5. Ábra

Vissza a lap tetejére

      A kisütés megkezdése előtt elegendő időt kell adni a kondenzátor feltöltődésére. A töltődési időt főként a kimenet belső ellenállása határozza meg, amely az üzemi tartományban 40..250Ω. A belső ellenállás a hőmérséklet növekedésével növekszik, viszont a tápfeszültség növekedésével csökken.
      A port kivezetés kimenő feszültségének és belső ellenállásának változását szemléltetik a 13.13. fejezet grafikonjai.
      A következő grafikon a kondenzátor 99%-os feltöltöttségének eléréséhez szükséges időt mutatja be különböző tápfeszültségeknél (5V-nál 100Ω-os, 3V-nál 120Ω-os átlagos belső ellenállással számolva).

A kondenzátor feltöltéséhez szükséges idő
29.2-6. Ábra

Vissza a lap tetejére


      Egy nagyobb időtartamokat megvalósító időzítőmegoldást mutat be a következő ábra, két külső alkatrésszel.

Időzítő nagyobb időtartamokra
29.2-7. Ábra

      Ennél a megoldásnál a kivezetés áramának korlátozására egy R ellenállás van a kondenzátorral sorba kapcsolva, amely megakadályozza, hogy a töltetlen állapotában közel rövidzárként viselkedő C kondenzátor feltöltésének megkezdésekor az áramerősség a kivezetésen meghaladja a 25mA-es maximálisan megengedett értéket.
      Az 5V-os tápfeszültégből kiindulva a 25mA-es áramkorlátozáshoz egy R = U / I = 5V / 0,025A = 200Ω-os ellenállás szükséges. Mivel a kimenet belső ellenállása a teljes tápfeszültség és hőmérséklet tartományban 40Ω felett van, a fenti ábrán látható R külső ellenállás szerepére minden esetben megfelel egy 160Ω-os érték.

      A kondenzátor előzetes feltöltődését az R ellenállás is késlelteti a kimenet belső ellenállásával együtt.
      A következő grafikon a kondenzátor 99%-os feltöltöttségének eléréséhez szükséges időt mutatja be 5V-os tápfeszültségnél (100Ω-os átlagos belső ellenállással és R = 160Ω-os ellenállással számolva). (A tápfeszültségfüggés a külső ellenállás miatt nem számottevő.)

A kondenzátor feltöltéséhez szükséges idő
29.2-8. Ábra

Vissza a lap tetejére

      Az R külső ellenállás az áramgenerátoros kisütési folyamatot számottevően nem befolyásolja, ezért az időzítés számításához az előző fejezetben bemutatott összefüggés használható.
      A kondenzátor kapacitásától függő időzítés tipikus értékeit mutatja be a következő grafikon különböző tápfeszültségek esetében.

Az időzítés különböző tápfeszültségeknél
29.2-9. Ábra

Vissza a lap tetejére


      Az időzítő áramkör stabilitása növelhető egy újabb ellenállás (R2) beépítésével. Az ellenállás elhelyezését mutatja a következő ábra.

Időzítő nagyobb időtartamokra
29.2-10. Ábra

      Az időzítő áramkör működési stabilitása az R2 csökkentésével növelhető, de így nő a C kondenzátor szükséges kapacitása is. Az R2 értékét célszerű a 47kΩ..1MΩ-os tartományba választani. Minél kisebb az R2 értéke, az időzítő áramkör annál érzéketlenebb a külső hatásokra, viszont annál nagyobb az áramkör fogyasztása.
      A kondenzátor feltöltéséhez szükséges idő csekély mértékben függ az R2-től mivel az sokkal nagyobb, mint a töltőellenállás. A feltöltéshez szükséges időt a 29.2-8. ábrán látható grafikon mutatja.
      A beállított időtartamot megadó összefüggés:

A beállított időtartamot megadó összefüggés

      ahol:
     ˇ t - az időzítés időtartama [s];
     ˇ C - a C kondenzátor kapacitása [F=A·s/V];
     ˇ R2 - a külső kisütő ellenállás értéke [Ω];
     ˇ Ustart - a C kondenzátor feszültsége a kisütés megkezdésekor [V];
     ˇ Uküszöb - a K komparátor átbillenési feszültsége [V].

      A kondenzátor kapacitásától függő időzítés tipikus értékeit mutatja be a következő grafikon különböző R2 ellenállásértékek esetében.

Az időzítés különböző ellenállásértékeknél
29.2-11. Ábra

Vissza a lap tetejére


      Ugyanazzal az időzítő áramkörrel különböző időzítések is megvalósíthatóak, ha a kondenzátor csupán egy tápfeszültségnél kisebb, meghatározott (ismert) feszültségre van feltöltve, majd onnan kisütve. Ezzel az eljárással megvalósítható egy, a tartományában tetszőlegesen változtatható időzítésű időzítő megoldás.
      Az alkalmazás helyes működéséhez szükséges:
     ˇ hogy a kondenzátor kiindulási feszültsége nulla legyen, vagyis a teljesen kisütött állapot; ami elérhető az adott kivezetés bizonyos idejű logikai "0" szintre állításával;
     ˇ valamint, hogy a feltöltési ciklus befejezése után a kisütési folyamat azonnal megkezdődjön.

      Ezzel a részleges feltöltésű módszerrel az időzítés értéke kalibrálható is, amivel kiküszöbölhető a kondenzátorok tűréséből adódó eltérés.

Vissza a lap tetejére


      Az időzítő működtetéséhez a következő programozási lépéseket kell végrehajtani:
     ˇ a kivezetésnek megfelelő PORT regiszter kivezetésnek megfelelő bitjének logikai "1" szintre állítása;
     ˇ az adott mikrovezérlő kivezetés kimenetként való konfigurálása a megfelelő TRIS regiszterben, a kondenzátor feltöltésének megkezdése;
     ˇ a kisfogyasztású ébresztő modul működésének engedélyezése a PCON regiszterben;
     ˇ port állapotváltozás megszakítás előengedélyezése az IOC regiszter megfelelő bitjének logikai "1"-re állításával (csak az IOC regisztert tartalmazó típusoknál);
     ˇ a kondenzátor feltöltési idejének letelte után a kivezetés bemenetként való konfigurálása a megfelelő TRIS regiszterben, amivel megindul a kisütési folyamat;
     ˇ port állapotváltozás megszakítás engedélyezése az INTCON regiszter megfelelő bitjének logikai "1"-re állításával;
     ˇ globális megszakítás engedélyezés az INTCON regiszter GIE bitjének logikai "1"-re állításával.

      A fenti műveletsor végrehajtásával megkezdett időzítési ciklus végén, a kondenzátor adott feszültségszintre való kisülésekor, egy port állapotváltozás megszakításkérés jön létre. A ciklus befejezését a megszakításkezelő szubrutinnak kell elvégeznie.
      Az időzítő működése során a kivezetésre kapcsolódó belső analóg perifériák legyenek kikapcsolva!
      A következő programrészlet egy időzítési ciklus megvalósítására mutat példát.

... ...    
  bcf STATUS,5 ;a 0. adatmemórialap kiválasztása
  bcf STATUS,6 ;a 0. adatmemórialap kiválasztása (opcionális)
  bsf PORTx,y ;az X port Y bitjének "1"-re állítása
  ...    
  ... ... ;az analóg perifériák kikapcsolása
  ...    
  bsf STATUS,5 ;az 1. adatmemórialap kiválasztása
  bcf TRISx,y ;az X port Y kivezetés: kimenet
  ...    
  ... ... ;késleltetés a kondenzátor feltöltődéséig
  ...    
  bsf PCON,5 ;az ULPW modul működésének engedélyezése
  bsf IOCx,5 ;a kivezetés megszakítás-előengedélyezése
  bsf TRISx,y ;az X port Y kivezetés: bemenet
  bsf INTCON,3 ;a port állapotváltozás-megszakítás engedélyezése
  bsf INTCON,7 ;a megszakítások globális engedélyezése
  ...    

      Az adott idő eltelte után létrejövő megszakítást a megszakításkezelő szubrutinnak kell értelmeznie.

 

  Tudomány és Technika (test@t-es-t.hu)


 

<< Előző oldal   Vissza a tartalomjegyzékhez   Vissza a lap tetejére   Következő oldal >>

Vissza a főoldalra    Vissza a PIC főoldalra