Pokud jste někdy stavěli konstrukci (je lhostejno zda s procesorem nebo jinou), která měla být napájena z baterie (nebo akumulátoru), jistě jste stáli před problémem spotřeby.
Je pravda, že procesory mají implementovány IDDLE nebo PD (power down) módy, ale zpravidla bývají kolem procesoru nějaké periferie, které se také musí napájet, a režim přechodu procesoru do
nízkopříkonového módu jejich spotřebu neřeší. Aby byla situace ještě více zamotanější, často jsme omezeni místem v aplikaci, takže například musíme použít 9V destičkovou baterii ap. a pak nastává problém navíc se stabilizací napětí.
Musel jsem vyřešit následující hlavolam: Potřeboval jsem napájet zařízení s procesorem (konkrétně teploměr), byl jsem vázán rozměry, takže jsem musel použít 9V destičkovou baterii. Protože však odběr aplikace byl cca 70mA, baterie by dlouho nevydržela. Proto jsem zvolil
činnost teploměru takovou, že teploměr bude v úsporném módu, stiskem tlačítka se zapne a po chvíli se sám vypne (cca 8 sec.). Musel jsem vymyslet takový napájecí systém, který by nejen vypnul konstrukci, ale sám byl velmi malý a měl téměř nulovou spotřebu. Pokud o tom budete chvíli přemýšlet, zjistíte, že řešení není až tak jednoduché, jak jste si na poprvé asi pomysleli. První krok byl stabilizace napětí z 9V na 5V. Volba padla na stabilizátor typu LF50CDT (low drop stabilizátor, dává 5V na výstupu při vstupu 5,3 V - GM electronic). Tento stabilizátor
umožňuje dodávat až 1A. V klidu má vlastní odběr cca 500uA, existuje také verze umožňující přechod stabilizátoru do módu SLEEP (typ. 20uA), ale ten jsem zaprvé nesehnal, a za druhé i ten bych musel nějak externě ovládat.
Aby situace nebyla tak jednoduchá, neměl jsem již k dispozici žádné volné piny procesoru. Nejprve jsem si myslel, že věc budu řešit softwarově (časovač... ->PD mód). Bohužel, čidlo, které je napájeno přímo z Vcc má sice malý, ale nezanedbatelný odběr a celá aplikace ve "vypnutém stavu" odebírala cca 700uA.
Řeknete si co to je 700uA, ale pokud máme 9V destičkovou baterii s typickou kapacitou 110-130 mAh, pak jednoduchým výpočtem zjistíme, že baterie vydrží maximálně 185 hodin, t.j. asi tak týden a to jsme si ani jednou "nezaměřili" s teploměrem. Toto řešení tedy bylo nepřijatelné, navíc doba činnosti teploměru nemohla být ovlivněna běžným konstruktérem (musel by měnit software).
Bylo tedy nutno napájení řešit jinak. Stabilizátor jsem zapojil klasicky. Zavrhl jsem časovací obvod s hradly CMOS řady 4000 kvůli velikosti (tranzistor s diskrétní součástkou se na "nacpaném" pl. spoji lépe rozloží než DIP). Pak jsem zapojil obvod podle následujícího obrázku.
Obrázek 1
Tranzistor IRFD120 je MOSFET typu N, v pouzdru DIP4, a je schopen sepnout až 1,3A.
Funkce: Tlačítkem vybijeme kondenzátor, po uvolnění se začíná nabíjet. Čili teče přes něj proud přes rezistor na zem. Na GATE je tedy napětí a tranzistor je sepnutý, tedy připojené zařízení pracuje. Jakmile se kondenzátor nabije,
přestane přes něj procházet proud a GATE je přes rezistor uzemněna, takže tranzistor se uzavře. Klidový odběr se snížil na 0,2 uA (200nA). Tato spotřeba je již daná jen nepatrným svodem tranzistoru a hlavně svodem v kondenzátoru (doporučuji použít kvalitní).
To už by šlo, zajásal jsem, ale radost byla předčasná. Zjistil jsem totiž, že uzavírání tranzistoru je relativně pomalé (i při použití malé kapacity a velkého odporu rezistoru) a napájecí napětí aplikace (teploměru) se snižovalo pomalu. A výsledek ? Jakmile se tranzistor začal zavírat, napájení se snižovalo a než přestal pracovat
procesor, teplotní čidlo posílalo "bludy" díky nízkému napájení. V praxi to vypadalo tak, že displej zobrazoval např. 24°C, při vypínání 32°C a těsně před zhasnutím displeje 45°C. To se již nedalo mluvit o kosmetické chybě. Po nějaké době přemýšlení, jak urychlit zavírání tranzistoru jsem dospěl k zapojení na dalším obrázku.
Obrázek 2
Funkce: T1 pracuje stejně jako v předchozím případě. Funkce T2 je následující. Pokud je T1 sepnutý, na jeho DRAIN (kolektoru) je proti SOURCE (emitoru) nulové napětí a T2 je uzavřen. Jestliže se začne T1 zavírat, začne vzrůstat napětí na jeho DRAIN (kolektoru). Po dosažení určité velikosti napětí se otevře tranzistor T2, který připojí bázi (GATE) T1 a tím mínusový vývod kondenzátoru
přes R2 na GND. Tím se kondenzátor okamžitě nabije (R2 je víceméně ochranný pro T2, slouží k omezení nabíjecího proudu kondenzátoru) a T1 se rychle uzavře. T2 zůstává přes konstrukci otevřen, ale díky použití MOSFET je jeho bázový proud 0. Konečný proud je tedy opět hlavně dán svodem C1.
Časy závisí na napájecím napětí, ale pro můj účel to bohatě stačilo, změna byla cca o 1,5 sekundy při snížení napájení z 9V na 5,8V. Hodnoty součástek je potřeba vyzkoušet, ale alespoň orientačně pro čas
cca 9 sekund je C1=6u8 tantal a R1=1M5. R2 je vždy 27 ohmů. Je třeba, aby kapacita byla co nejmenší a k ní volit velikost R1. Jako tranzistor T2 lze použít i např. typ BS170, který je v pouzdru TO92.
Poslední zapojení zdrojové části na obrázku 3 má za úkol vypnout napájení konstrukce až po dokončení nějaké činnosti procesoru. Musíme mít k dispozici jeden volný pin procesoru. Odběr tohoto zapojení (resp. celé konstrukce) ve vypnutém stavu je opět cca 0,2 uA, a je dán jen klidovými proudy tranzistorů.
Obrázek 3
Funkce:V klidu je T2 rozepnut a je "držen" rozepnutý rezistorem R1 připojeným na kladné napájení. Stisknutím tlačítka obejdeme T2, aplikace začne být napájena. My musíme zajistit, aby došlo co nejdříve k "nahození" pinu (nastavení do log. H) ovládajícího T1. T1 se sepne, a po ukončení stisknutí tlačítka je T2 dále otevřený tím, že jeho báze je uzemněna přes T1. Pro
vypnutí je potřeba nastavit ovládací pin procesoru do log. L. Tím rozepne T1, báze T2 je opět připojena na kladné napájení přes R1 a T2 se zavře. Omezení této konstrukce je v tom, že pokud máme např. po stabilizaci napájecího napětí v napájeném zařízení větší blokovací kapacitu, není vypnutí okamžité. V tom případě bych doporučil softwarově upravit program tak, aby se nejprve nastavil výstup
ovládání do log. L a další instrukcí se procesor uvedl do stavu PD (power down - x51) nebo SLEEP (PIC).
Jistě si řeknete, proč není báze T2 ovládána rovnou procesorem? Když si ale představíte situaci, kdy je tento tranzistor rozepnutý, zbytek celého zařízení je v podstatě připojen přímo nebo nepřímo na zem. Pak by mohla nastat situace (lépe řečeno nastane), že by za prvé nebyl T2 zcela uzavřen, a přes R1 by do pinu procesoru tekl proud, který by při vypnutém napájení rozhodně procesoru nemusel dělat "dobře". Navíc přes nedokonale
uzavřený T2 by do zátěže tekl nedefinovaný proud. V tomto zapojení je po vypnutí báze T1 přes zbytek aplikace uzemněna, a tím je T1 držen zavřený. Pro opravdu korektní funkci ještě doporučuji připojení rezistoru 22k mezi pin a GND, který zajistí opravdu spolehlivé uzavření T1.
Prosím neberte tyto řádky jako vyčerpávající, samozřejmě že existují i jiná řešení, ale některé aplikace musím řešit v zájmu nízké ceny takto. Bohužel nemám obchod se součástkami za rohem, většinu musím objednávat a objednat dva tranzistory nebo jeden obvod za 20,-Kč, když dobírka činí až 90,-Kč je ....přinejmenším nesmyslné.
|
© DH servis 2002 - |