<< 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.
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.
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.
29.2-2. Ábra
29.2-3. Ábra
29.2-4. Ábra
29.2-5. Ábra
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).
29.2-6. Ábra
Egy nagyobb időtartamokat megvalósító időzítőmegoldást mutat be a következő ábra, két külső alkatrésszel.
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ő.)
29.2-8. Ábra
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.
29.2-9. Ábra
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.
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:
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.
29.2-11. Ábra
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.
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 >>