středa 20. listopadu 2013

Přenosné napájení pro Arduino (DC step-down)

V tuto chvíli už mám doma celé hejno těch krásných čínských kopií Arduino Pro Mini (dokonce tři rozdílné revize) a začínám z nich stavět různé, i přenosné přístroje. K nim jsem potřeboval vyřešit přenosné napájení. Původně jsem totiž všechna Arduina testoval přímo připojená přes převodník do USB portu PC, a ten je zároveň i napájel 5 volty, takže jsem zdroj napětí nepotřeboval a neřešil. Jakmile ale Arduino skončí v krabičce někde dál od PC, bude přenosný zdroj napájení potřeba.

Jelikož Arduino Pro Mini vyžaduje provozní napětí 5 voltů (existuje i verze na 3,3 V, ale ta je taktovaná polovičním kmitočtem - jen 8 MHz - a nikdy jsem ji nechtěl), je potřeba použít buďto baterii o napětí přibližně 5 V a připojit ji ke vstupu označenému VCC, anebo vzít baterii s vyšším napětím, ale tu pak připojit k vývodu označenému RAW, tedy surové napětí. Na Arduino desce je vestavěný stabilizátor, který si napětí z RAW pinu sám sníží na potřebných 5 V. Takže jedna z nejjednodušších přenosných možností je například klasická 9V baterie:

Teploměr s Arduino Pro Mini, DS18B20 a LCD Nokia 5110
Tohle je fajn a celkem dobře to funguje až do chvíle, než si člověk uvědomí, že téměř polovina energie z baterie se vyhazuje zbůhdarma v tom stabilizátoru. No, vlastně se mění ve ztrátové teplo, ale to je zhola zbytečné, když je okolo zrovna docela horký den (50,125 ℃, jak displej správně ukazuje). Je to tak: když má baterie 9 voltů a my jich potřebujeme jen 5, tak se ty čtyři volty navíc (téměř polovina energie z baterie) zahodí, aniž by měly šanci udělat kus práce.

Proto jsem se rozhodl použít následující ďábelské zařízení, které jsem náhodou našel na DX.com a které slibovalo snížit stejnosměrné napětí a to s vysokou účinností. Ano, za mých dětských let šlo měnit jen střídavé napětí, ale dnes se prodávají šikovná malá udělátka, která to zvládnou i s napětím stejnosměrným.

měnič napětí směrem dolů (zmenšovač :-)
Takže jsem připojil 9V baterii k tomuto měniči napětí (anglicky DC-DC step-down converter), nastavil jsem trimrem (tím otočným šroubečkem na modré kostce) výstupní napětí na přesně 5 voltů, připojil na něj Arduino s čidlem pro měření teploty vody v bazénu a vysílačem na 433 MHz (více o tomto vodním teploměru v samostatném blogpostu, brzy) a šel spát s dobrým pocitem ušetřené energie, která se už nemění v zbytečné teplo, ale s vysokou účinností (reklama u výrobku tvrdila až 92%) mění na správné napětí a tak prodlužuje životnost baterie.

koncept bazénového teploměru, baterie a měnič

Druhý den byla baterie zcela vybitá.

Přimělo mě to připojit k obvodu pár ampérmetrů a trošku ten bazmek proměřit. A zjistil jsem podivuhodné věci, které stojí za to zveřejnit. Především, ten převodník má jistý klidový odběr, který je větší než malý - zhruba 7 mA. To znamená, že holý převodník (tedy bez připojené zátěže na výstupu) dokáže vybít 9V baterii (resp. 9V akumulátor s kapacitou 200 mAh, na který jsem přešel, abych ušetřil rodinný rozpočet a nekupoval stále další a další drahé baterie) už za jeden den! To je dost šokující (aspoň teda pro mě). Moje snaha o uspávání Arduina během chvil, kdy neměřil teplotu (abych snížil průměrnou spotřebu) byla s tímto měničem napětí zhola zbytečná, neboť i když Arduino spí, měnič saje energii jak drak.

Už teď mi bylo jasné, že pro nízké odběry v řádu desítek miliampér je nejspíš mnohem lepší spolehnout se na stabilizátor napětí na Arduino desce (tj. připojit těch 9 V přímo na RAW pin), ale nedalo mi to a proměřil jsem ten měnič napětí pořádně. Jak jsem říkal, reklama u výrobku slibovala 92% účinnost, a byla dokonce podpořena fotografií stolu se stabilizovaným zdrojem a dvěma voltmetry a ampérmetry, které ukazovaly, že z 12 V zdroje to při změně napětí na 5 V a odběru 2 A do zátěže bere ze zdroje jen 1 A. Tedy že z 12 V a 1 A "vyrobí" 5 V a 2 A.

tu chybí ta reklamní fotografie, nemůžu ji teď zrovna najít

Jednoduchou matematikou (5x2/12/1) vychází 83% účinnost. To by bylo pořád ještě dobré, ale když jsem v naší pracovní laboratoři nastavil prakticky stejné podmínky (tedy na vstupu 12 V a na výstupu 5 V), jen s menším odběrem (pouze 0,5 A), tak jsem naměřil účinnost pouhých 73 %! Účinnost dokonce dále klesá s odběrem - při zátěži 50 ohmů a tedy odběru jen 0,1 A spadla až na nelidských 65 %. To už je ten převodník prakticky zbytečný a obyčejný stabilizátor by fungoval stejně "dobře". Nedalo mi to a proměřil jsem ještě převod z různých napětí (5, 9, 12 V) na výstupních 3,7 V (do 10 ohmové zátěže). Tady byla účinnost také slabých 72%, prakticky bez ohledu na vstupní napětí.

Tím se tento výrobek odsoudil do pekla a já jsem dumal, co dál. A napadlo mě proměřit ještě obyčejný "cigaretový" měnič napětí s USB výstupy, který mám v autě na dobíjení telefonů. Zdálo se mi totiž nemožné, aby takový maličký kolíček dokázal zvládnout 3A proud a neroztavit se z toho:


A tento měnič mě opravdu mile překvapil! Při vstupních 12 V (jako v autě) a zátěži 10 ohmů zapojené do USB zásuvky (ve které bylo v tu chvíli 5,32 V) vyšla účinnost krásných 90,4 %. Tak proto zvládne i 3 ampéry proudu - díky tak vysoké účinnosti je ztrátový výkon maximálně 1,5 W a to ho prakticky nezahřeje. Budu ho muset rozdělat a zjistit, co je v něm za čip - LM 2596S (jako v tom převodníku výše) to asi nebude. Bohužel má také nezanedbatelný klidový odběr - 8 mA. Ovšem 44 Ah autobaterii by poznamenal až po pár měsících neježdění/nedobíjení, takže v autě může být zapojen v klidu pořád.

Tímto jsem skončil s pokusy napájet Arduino z baterií s napětím vyšším než 5 V. V příštím blogpostu se zaměřím na baterie s napětím nižším, a tím pádem na step-up převodníky (zvyšující napětí), opět i s proměřením jejich účinnosti.

3 komentáře:

  1. Základem dobré účinnosti měniče je adekvátní dimenzování. Měniče obvykle pracují optimálně při zatížení blížícímu se 100% jmenovitého. Takže používat dvouampérový měnič na napájení Arduina se spotřebou jednotek miliampér je nesmysl.

    Možná by sis mohl zkusit navrhnout měnič na míru sám, třeba s MCP34063A, který jsem já použil v PoEpi. Výrobce k tomu dodává velmi podrobný návod a když jsem to podle něj byl schopen navrhnout já, tak to zvládne každý. Dokonce tenhle měnič umí i variantu, kdy dokáže zároveň step-down i step-up, což se může hodit, pokud se napětí baterie přibližně rovná výstupnímu napetí.

    OdpovědětVymazat
  2. a neni lepsi pouzit step-up menic s rozmezim napajeni 0,9 az 5v kterej konvertuje na 5v (zatez az 600mA) a zaroven merit pres Aref uroven baterie?:)myslim ze programove je to snadny a efektivnejsi

    http://www.ebay.com/itm/1PC-0-9-5V-To-5V-600mA-USB-Charger-DC-DC-Converter-Step-Up-Module-New-/200944047199?pt=AU_B_I_Electrical_Test_Equipment&hash=item2ec932d45f

    OdpovědětVymazat
    Odpovědi
    1. Vždyť v poslední větě tohoto blogpostu se odkazuji na další, ve kterém je přesně tohle popsáno...

      Vymazat