Obsah:

Napájení digitální baterií: 7 kroků (s obrázky)
Napájení digitální baterií: 7 kroků (s obrázky)

Video: Napájení digitální baterií: 7 kroků (s obrázky)

Video: Napájení digitální baterií: 7 kroků (s obrázky)
Video: ANDROID MÁ JEDNO SKRYTÉ NASTAVENÍ 🤖 2024, Listopad
Anonim
Napájení digitální baterií
Napájení digitální baterií
Napájení digitální baterií
Napájení digitální baterií
Napájení digitální baterií
Napájení digitální baterií
Napájení digitální baterií
Napájení digitální baterií

Chtěli jste někdy napájecí zdroj, který můžete používat na cestách, a to i bez zásuvky v blízkosti? A nebylo by skvělé, kdyby to bylo také velmi přesné, digitální a ovladatelné přes PC?

V tomto pokynu vám ukážu, jak přesně postavit: digitální napájecí zdroj napájený baterií, který je kompatibilní s arduino a lze jej ovládat přes PC přes USB.

Před nějakou dobou jsem postavil napájecí zdroj ze starého ATX napájecího zdroje, a přestože funguje skvěle, chtěl jsem posílit svoji hru pomocí digitálního napájecího zdroje. Jak již bylo řečeno, je napájen bateriemi (přesněji 2 lithiovými články) a může dodávat maximálně 20 V při 1 A; což je dost pro většinu mých projektů, které vyžadují přesné napájení.

Ukážu celý proces návrhu a všechny soubory projektu najdete na mé stránce GitHub:

Začněme!

Krok 1: Funkce a náklady

Funkce a náklady
Funkce a náklady

Funkce

  • Režimy konstantního napětí a konstantního proudu
  • K minimalizaci ztrátového výkonu používá lineární regulátor s nízkým šumem, kterému předchází sledovací preregulátor
  • Použití součástek, které lze pájet rukou, aby byl projekt přístupný
  • Poháněno ATMEGA328P, naprogramováno pomocí Arduino IDE
  • Komunikace s PC prostřednictvím aplikace Java přes micro USB
  • Napájeno 2 chráněnými lithium -iontovými články 18650
  • 18 mm rozteč banánků pro kompatibilitu s BNC adaptéry

Specifikace

  • 0 - 1A, kroky po 1 mA (10bitový DAC)
  • 0 - 20 V, kroky po 20 mV (10 bit DAC) (skutečný provoz 0 V)
  • Měření napětí: rozlišení 20 mV (10 bit ADC)
  • Měření proudu:

    • <40mA: rozlišení 10uA (ina219)
    • <80mA: rozlišení 20uA (ina219)
    • <160mA: rozlišení 40uA (ina219)
    • <320mA: rozlišení 80uA (ina219)
    • > 320mA: rozlišení 1mA (10bitový ADC)

Náklady

Kompletní napájení mě stálo kolem 135 $ se všemi jednorázovými součástmi. Baterie jsou nejdražší (30 USD za 2 články), protože jsou chráněny lithiovými články 18650. Pokud není potřeba provoz na baterie, je možné výrazně snížit náklady. Vynecháním baterií a nabíjecích obvodů cena klesá zhruba na 100 dolarů. I když se to může zdát drahé, napájení s mnohem menším výkonem a funkcemi často stojí více než toto.

Pokud vám nevadí objednat si komponenty z ebay nebo aliexpress, cena s bateriemi by klesla na 100 $ a 70 $ bez. Vstup součástí trvá déle, ale je to schůdná možnost.

Krok 2: Schéma a teorie provozu

Schéma a teorie provozu
Schéma a teorie provozu

Abychom porozuměli fungování obvodu, budeme se muset podívat na schéma. Rozdělil jsem to na funkční bloky tak, aby to bylo snáze pochopitelné; Postup tedy také vysvětlím krok za krokem. Tato část je poměrně hluboká a vyžaduje dobré znalosti elektroniky. Pokud chcete jen vědět, jak obvod sestavit, můžete přeskočit na další krok.

Hlavní blok

Operace je založena na čipu LT3080: je to lineární regulátor napětí, který může snížit napětí na základě řídicího signálu. Tento řídicí signál bude generován mikrokontrolérem; jak se to dělá, bude podrobně vysvětleno později.

Nastavení napětí

Obvody kolem LT3080 generují příslušné řídicí signály. Nejprve se podíváme na to, jak je nastaveno napětí. Nastavení napětí z mikrokontroléru je signál PWM (PWM_Vset), který je filtrován dolním filtrem (C9 a R26). To produkuje analogové napětí - mezi 0 a 5 V - úměrné požadovanému výstupnímu napětí. Protože náš výstupní rozsah je 0 - 20 V, budeme muset tento signál zesílit s faktorem 4. Toho se dosáhne neinvertující konfigurací operačního zesilovače U3C. Zisk na nastaveném pinu je určen R23 // R24 // R25 a R34. Tyto odpory jsou tolerantní 0,1%, aby se minimalizovaly chyby. Na R39 a R36 zde nezáleží, protože jsou součástí smyčky zpětné vazby.

Aktuální nastavení

Tento nastavovací kolík lze použít také pro druhé nastavení: aktuální režim. Chceme změřit odběr proudu a vypnout výstup, pokud překročí požadovaný proud. Začneme tedy znovu signálem PWM (PWM_Iset), generovaným mikrokontrolérem, který je nyní filtrován a zeslaben tak, aby přešel z rozsahu 0 - 5 V do rozsahu 0 - 2 V. Toto napětí je nyní porovnáno s poklesem napětí na aktuálním snímacím odporu (ADC_Iout, viz níže) pomocí konfigurace komparátoru operačního zesilovače U3D. Pokud je proud příliš vysoký, rozsvítí se LED a také vytáhne nastavenou linku LT3080 na zem (přes Q2), čímž se vypne výstup. Měření proudu a generování signálu ADC_Iout se provádí následujícím způsobem. Výstupní proud protéká odpory R7 - R16. Tyto celkem 1 ohm; důvod, proč nepoužívat 1R na prvním místě, je dvojí: 1 odpor by musel mít vyšší jmenovitý výkon (potřebuje rozptýlit alespoň 1 W) a paralelním použitím 10 1% odporů získáme vyšší přesnost než s jediným 1 % odporem. Dobré video o tom, proč to funguje, najdete zde: https://www.youtube.com/embed/1WAhTdWErrU&t=1s Když těmito rezistory protéká proud, vytváří pokles napětí, který můžeme měřit, a je umístěn před LT3080, protože pokles napětí na něm by neměl ovlivnit výstupní napětí. Pokles napětí se měří diferenciálním zesilovačem (U3B) se ziskem 2. Výsledkem je rozsah napětí 0 - 2 V (o tom později), proto dělič napětí na signálu PWM proudu. Vyrovnávací paměť (U3A) je zde, aby zajistila, že proud protékající do odporů R21, R32 a R33 neprochází proudovým snímacím odporem, což by ovlivnilo jeho čtení. Mějte také na paměti, že by se mělo jednat o operační zesilovač kolej-kolej, protože vstupní napětí na kladném vstupu se rovná napájecímu napětí. Neinvertující zesilovač je pouze pro měření kurzu, i když pro velmi přesná měření máme na palubě čip INA219. Tento čip nám umožňuje měřit velmi malé proudy a je adresován přes I2C.

Doplňkové věci

Na výstupu LT3080 máme další věci. Předně je zde proudový dřez (LM334). Tím se odebírá konstantní proud 677 uA (nastavený odporem R41), aby se stabilizoval LT3080. Není však připojen k zemi, ale k VEE, zápornému napětí. To je nutné, aby LT3080 fungoval až na 0 V. Při připojení k zemi by nejnižší napětí bylo asi 0,7 V. To se zdá být dost nízké, ale mějte na paměti, že nám to brání zcela vypnout napájení. Zenerova dioda D3 se používá k upnutí výstupního napětí, pokud překročí 22 V, a dělič odporu sníží rozsah výstupního napětí z 0 - 20 V na 0 - 2 V (ADC_Vout). Bohužel tyto obvody jsou na výstupu z LT3080, což znamená, že jejich proud přispěje k výstupnímu proudu, který chceme měřit. Naštěstí jsou tyto proudy konstantní, pokud napětí zůstává konstantní; takže můžeme kalibrovat proud, když je zátěž nejprve odpojena.

Nabijte čerpadlo

Záporné napětí, které jsme zmínili dříve, je generováno zvláštním malým obvodem: nabíjecím čerpadlem. Pokud jde o jeho provoz, odkazoval bych se sem: https://www.youtube.com/embed/1WAhTdWErrU&t=1s Je napájen 50% PWM mikrokontroléru (PWM)

Boost Converter

Pojďme se nyní podívat na vstupní napětí našeho hlavního bloku: Vboost. Vidíme, že je to 8 - 24V, ale počkejte, 2 lithiové články v sérii dávají maximálně 8,4 V? Skutečně, a proto potřebujeme zvýšit napětí pomocí takzvaného zesilovače převodu. Vždy jsme mohli zvýšit napětí na 24 V, bez ohledu na to, jaký výstup chceme; v LT3080 by to však ztratilo spoustu energie a věci by byly horké! Takže místo toho zvýšíme napětí o něco více než výstupní napětí. Je vhodné asi o 2,5 V vyšší, aby se zohlednil pokles napětí v aktuálním snímacím odporu a výpadkové napětí LT3080. Napětí je nastaveno rezistory na výstupním signálu posilovače. Ke změně tohoto napětí za běhu používáme digitální potenciometr MCP41010, který je řízen pomocí SPI.

Baterie se nabíjí

To nás přivádí ke skutečnému vstupnímu napětí: bateriím! Protože používáme chráněné buňky, jednoduše je musíme dát do série a máme hotovo! Zde je důležité používat chráněné články, aby se zabránilo nadproudu nebo nadměrnému vybití a tím poškození článků. Opět používáme dělič napětí pro měření napětí baterie a jeho snížení na použitelný rozsah. Nyní k zajímavé části: nabíjecí obvody. K tomuto účelu používáme čip BQ2057WSN: v kombinaci s TIP32CG tvoří v podstatě samotný lineární napájecí zdroj. Tento čip nabíjí buňky pomocí vhodné trajektorie CV CC. Protože moje baterie nemají teplotní sondu, měl by být tento vstup svázán s polovičním napětím baterie. Tím je část regulace napětí napájecího zdroje ukončena.

5V regulátor

Napájecí napětí 5 V arduina je vyrobeno pomocí tohoto jednoduchého regulátoru napětí. Nejde však o nejpřesnější výstup 5 V, ale to bude vyřešeno níže.

Referenční napětí 2,048 V

Tento malý čip poskytuje velmi přesnou referenci napětí 2,048 V. Toto se používá jako reference pro analogové signály ADC_Vout, ADC_Iout, ADC_Vbatt. Proto jsme potřebovali děliče napětí, abychom tyto signály snížili na 2 V. Mikrokontrolér Mozkem tohoto projektu je ATMEGA328P, to je stejný čip, který se používá v Arduino Uno. Už jsme prošli většinu řídicích signálů, ale přesto existuje několik zajímavých doplňků. Rotační kodéry jsou připojeny ke dvěma pouze externím přerušovacím pinům arduina: PD2 a PD3. To je nutné pro spolehlivou implementaci softwaru. Spínače pod ním používají vnitřní vytahovací odpor. Pak je tu tento podivný dělič napětí na čipové linii potenciometru (Pot). Dělič napětí na výstupu, k čemu je to dobré; můžete říci. Jak již bylo zmíněno dříve, napájení 5 V není strašně přesné. Bylo by tedy dobré to přesně změřit a podle toho upravit pracovní cyklus signálu PWM. Ale protože jsem neměl žádné další volné vstupy, musel jsem udělat dvojitou službu pin pull. Při spuštění napájení se tento pin nejprve nastaví jako vstup: měří napájecí lištu a kalibruje se. Dále je nastaven jako výstup a může řídit linku pro výběr čipu.

Ovladač displeje

Pro displej jsem chtěl běžně dostupnou - a levnou - LCD obrazovku hitachi. Jsou poháněny 6 piny, ale protože jsem neměl žádné piny, potřeboval jsem jiné řešení. Posuvný registr k záchraně! 74HC595 mi umožňuje používat řádek SPI k ovládání displeje, takže potřebuji pouze 1 další řádek pro výběr čipu.

FTDI

Poslední částí tohoto napájení je spojení s krutým, vnějším světem. K tomu potřebujeme převést sériové signály na signály USB. K tomu slouží čip FTDI, který je pro snadné připojení připojen k portu micro USB.

A to je všechno!

Krok 3: PCB a elektronika

PCB a elektronika
PCB a elektronika
PCB a elektronika
PCB a elektronika
PCB a elektronika
PCB a elektronika
PCB a elektronika
PCB a elektronika

Nyní, když chápeme, jak obvod funguje, můžeme ho začít stavět! Jednoduše si můžete objednat desku plošných spojů online od svého oblíbeného výrobce (moje stojí kolem 10 $), soubory Gerber najdete na mém GitHubu společně s kusovníkem. Sestavení DPS je pak v podstatě věcí pájení součástek na místě podle sítotisku a kusovníku.

Prvním krokem je pájení součástek SMD. Většinu z nich lze snadno provést ručně, kromě čipu FTDI a konektoru micro USB. Proto se můžete vyhnout pájení těchto 2 komponent sami a místo toho použít FTDI breakout board. Poskytl jsem záhlaví kolíky, kde to lze pájet.

Když je práce SMD hotová, můžete přejít ke všem součástem skrz otvor. Ty jsou velmi jednoduché. U čipů možná budete chtít použít zásuvky místo jejich pájení přímo na desku. Je vhodnější použít ATMEGA328P s bootloaderem Arduino, jinak je budete muset nahrát pomocí ICSP hlavičky (zde zobrazeno).

Jediná část, která vyžaduje trochu větší pozornost, je LCD obrazovka, protože musí být namontována pod úhlem. Na něj připájejte několik mužských rohových hlaviček tak, aby plastový díl směřoval na spodní stranu obrazovky. To umožní dobré umístění obrazovky na desce plošných spojů. Poté může být připájeno na místo stejně jako jakákoli jiná součást průchozí díry.

Jediné, co musíte udělat, je přidat 2 vodiče, které se připojí k banánovým svorkám na přední desce.

Krok 4: Pouzdro a montáž

Pouzdro a montáž
Pouzdro a montáž
Pouzdro a montáž
Pouzdro a montáž
Pouzdro a montáž
Pouzdro a montáž

S vyrobenou deskou plošných spojů můžeme přejít k pouzdru. PCB kolem tohoto hammondového pouzdra jsem speciálně navrhl, takže použití jiného pouzdra se nedoporučuje. Vždy však můžete vytisknout 3D pouzdro se stejnými rozměry.

Prvním krokem je příprava koncového panelu. Budeme muset vyvrtat několik otvorů pro šrouby, spínače atd. Udělal jsem to ručně, ale pokud máte přístup k CNC, byla by to přesnější volba. Otvory jsem udělal podle schématu a zaklepal na otvory pro šrouby.

Je dobré nyní přidat nějaké hedvábné polštářky a držet je na místě malou kapkou super lepidla. Ty izolují LT3080 a TIP32 od zadní desky, přičemž stále umožňují přenos tepla. Nezapomeňte na ně! Při přišroubování čipů na zadní panel zajistěte izolaci pomocí slídové podložky!

Nyní se můžeme soustředit na přední panel, který jen klouže na místo. Nyní můžeme přidat banánkové konektory a knoflíky pro rotační kodéry.

Když jsou oba panely na místě, můžeme nyní vložit sestavu do pouzdra, přidat baterie a vše zavřít. Ujistěte se, že používáte chráněné baterie, nechcete, aby články explodovaly!

V tomto okamžiku je hardware hotový, nyní zbývá jen do něj vdechnout život softwarem!

Krok 5: Arduino kód

Arduino kód
Arduino kód

Mozkem tohoto projektu je ATMEGA328P, který naprogramujeme pomocí Arduino IDE. V této sekci si projdu základní operaci kódu, detaily najdete jako komentáře uvnitř kódu.

Kód v zásadě prochází těmito kroky:

  1. Přečtěte si sériová data z Java
  2. Tlačítka hlasování
  3. Změřte napětí
  4. Změřte proud
  5. Změřte proud pomocí INA219
  6. Odeslat sériová data do Javy
  7. Konfigurace boostconvertoru
  8. Získejte nabití baterie
  9. Obrazovka aktualizace

Otočné kodéry jsou zpracovávány rutinou služby přerušení, aby byly co nejreaktivnější.

Kód lze nyní nahrát na desku přes port micro USB (pokud má čip zavaděč). Deska: Arduino pro nebo pro mini Programátor: AVR ISP / AVRISP MKII

Nyní se můžeme podívat na interakci mezi Arduinem a PC.

Krok 6: Kód Java

Java kód
Java kód

Pro protokolování dat a ovládání napájení přes PC jsem vytvořil java aplikaci. To nám umožňuje snadno ovládat desku prostřednictvím GUI. Stejně jako u kódu Arduino nepůjdu do všech podrobností, ale poskytnu přehled.

Začneme vytvořením okna s tlačítky, textovými poli atd.; základní GUI věci.

Nyní přichází zábavná část: přidání USB portů, pro které jsem použil knihovnu jSerialComm. Jakmile je vybrán port, java bude poslouchat všechna příchozí data. Můžeme také odeslat data do zařízení.

Kromě toho jsou všechna příchozí data ukládána do souboru CSV pro pozdější zpracování dat.

Při spouštění souboru.jar bychom měli nejprve vybrat správný port z rozevírací nabídky. Po připojení začnou přicházet data a můžeme odeslat naše nastavení do powerupply.

I když je program velmi jednoduchý, může být velmi užitečné jej ovládat pomocí počítače a zaznamenávat jeho data.

Krok 7: Úspěch

Úspěch!
Úspěch!
Úspěch!
Úspěch!
Úspěch!
Úspěch!

Po všech těchto pracích máme nyní plně funkční napájení!

Musím také poděkovat několika lidem za podporu:

  • Projekt byl založen na projektu uSupply společnosti EEVBLOG a jeho schématu Rev C. Zvláštní poděkování Davidu L. Jonesovi za vydání jeho schémat pod licencí open source a sdílení všech jeho znalostí.
  • Velké díky Johanu Pattynovi za výrobu prototypů tohoto projektu.
  • Také Cedric Busschots a Hans Ingelberts si zaslouží uznání za pomoc při odstraňování problémů.

Nyní si můžeme užívat vlastní domácí napájení, které se bude hodit při práci na dalších úžasných projektech! A hlavně: cestou jsme se naučili mnoho věcí.

Pokud se vám tento projekt líbil, hlasujte pro mě v soutěži powersupply, opravdu bych to ocenil! Https: //www.instructables.com/contest/powersupply/

Soutěž o napájení
Soutěž o napájení
Soutěž o napájení
Soutěž o napájení

Druhá cena v soutěži o napájecí zdroj

Doporučuje: