Nábojová pumpa (nebo také kapacitní měnič či anglicky charge pump) je obvod, který umožňuje "násobit napětí". V nízkonapěťové technice ho lze použít k získání napětí opačné polarity (například z +5V vyrábět -5V), k získání dvojnásobného napětí (např. z +5V přibližně +10V) a nebo i k dělení napětí na polovinu. Na trhu jsou k tomuto účelu rozšířeny specializované integrované obvody jako 7660, LM2665, MAX1683 a mnoho dalších. Tyto obvody jsou schopné dodávat proudy v řádu desítek až stovek mA se slušnou účinností. Ne vždy ale budete kvality těchto obvodů vyžadovat. Čas od času vám postačí měkký zdroj schopný dodat pár mA. V takové situaci můžete sestavit nábojovou pumpu přímo z výstupů vašeho MCU.
Nejjednodušší zapojení může vypadat jako na následujícím schematu.
Obvod pracuje vcelku jednoduše. MCU generuje na svém výstupu obdélníkový průběh. Když je výstup MCU v log.0, nabíjí se C1 přes D1 a výstupem MCU protéká proud do země. Pak MCU přepne výstup do log.1, tím "posune" C1 na vyšší potenciál a ten se začne vybíjet přes D2 do C2. Během této činnosti dodává výstup MCU proud. Jak jistě víte, výstupy našeho STM8S jsou "měkké". Konkrétně, když je výstup v log.0 a teče do něj proud, je na něm nějaké malé kladné napětí (například 0.4V při proudu 10mA). A stejně tak když je výstup v log.1 a musí dodávat proud, klesá jeho výstupní napětí (opět přibližně o 0.4V při 10mA). Tento jev kazí parametry naší nábojové pumpy. Průběh napětí na výstupech MCU, na kondenzátorech a zatěžovací proud si můžete prohlédnout na následujícím oscilogramu.
Napájecí napětí mám v tomto případě 4.0V (což simuluje lithiový článek). Nábojovou pumpu zatěžuji proudem 5mA. Mikrokontrolér tedy musí dodávat něco málo přes 10mA. Na žluté stopě můžete vidět, že výstup MCU se nepohybuje od 0 do 4V jak možná někteří z vás čekali. Při log.0 je na výstpu přibližně 0.42V. kondenzátor C1 se tak nenabíjí na plné 4V, ale na napětí snížené jednak o těchto 0.42V a ještě o úbytek na D1 (přibližně 0.25V) tedy na přibližně 3.3V. Jakmile MCU nastaví svůj výstup do log.1, napětí na něm kvůli dodávanému proudu nedosáhne ideální hodnoty 4V ale pouze 3.58V (o 0.42V méně jako napájení). Náboj z C1 se přeleje do C2 přes diodu D2, kde opět ztratí dalších 0.25V. Ve výsledku je tedy napětí na C2 zmenšené dvakrát o úbytek diody (celkem 0.5V) a dvakrát o 0.42V a z ideálních 8V máme v praxi jen přibližně 6.7V. Jak vidno dominantní roli hrají relativně "měkké" výstupy MCU. Timer na STM8 umí řidít až tři výstupy, takže nám nic nebrání výstupy zdvojit nebo i ztrojit a získat tak z MCU (a i výstupu naší pumpy) větší proud. A hned si to vyzkoušíme.
Podíváme se jak vypadají zatěžovací charakteristiky pumpy tvořené jedním, dvěma a třemi výstupy. Z grafů je vcelku patrné, že výstupní napětí klesá s odebíraným proudem přibližně lineárně. Na výstup pumpy se tedy dá dívat jako na zdroj napětí s výstupním odporem (Théveninova věta). Při použití jednoho výstupu MCU je vnitřní odpor našeho "zdroje" přibližně 220 Ohm. Zdvojením výstupů, klesne odpor na cca 130 Ohm a ztrojením pak na přibližně 100 Ohm.
Zdrojový kód k STM8 je v tomto případě jen jediná funkce a to inicializace timeru 2. Přirozeně tuhle aplikaci zvládne v podstatě libovolné MCU které má výstupy typu push-pull. Mám za to (ale berte to jako neověřenou informaci) že AVR mají tvrdší výstupy než STM8S103 a zvládnout tuhle práci lépe. Nezapomeňte na to, že během spínání vzniká značné rušení. A to nejen na straně výstupu ale i na napájení MCU. To může mít negativní dopad na správnou práci dalších obvodů případně i na samotnou činnost MCU (třeba na kvalitu AD převodu). Nic vám ale nebrání během citlivých akcí nábojovou pumpu vypnout. Nebo obecně můžete jen čas od času pumpu zapnout a dobít C2 a minimalizovat tak rušení jen na období kdy vaší aplikaci nevadí. Jak často je pumpu nutné zapínat, nebo obecně s jakou frekvencí musí běžet se mimo jiné odvíjí od kapacity C2. Při zvolené hodnotě 47uF a odebíraném proudu 5mA klesá napětí na C2 tempem 0.1V/ms.
Home
| V1.00 23.3.2020 /
| By Michal Dudka (m.dudka@seznam.cz) /