Obsah:

Digitální napájení USB C napájené technologií Bluetooth: 8 kroků (s obrázky)
Digitální napájení USB C napájené technologií Bluetooth: 8 kroků (s obrázky)

Video: Digitální napájení USB C napájené technologií Bluetooth: 8 kroků (s obrázky)

Video: Digitální napájení USB C napájené technologií Bluetooth: 8 kroků (s obrázky)
Video: Bastlířské středy: Jan Pospíšil - Když procesor nestačí, FPGA zaskočí 2024, Červenec
Anonim
Digitální napájení USB C napájené technologií Bluetooth
Digitální napájení USB C napájené technologií Bluetooth
Digitální napájení USB C napájené technologií Bluetooth
Digitální napájení USB C napájené technologií Bluetooth
Digitální napájení USB C napájené technologií Bluetooth
Digitální napájení USB C napájené technologií Bluetooth
Digitální napájení USB C napájené technologií Bluetooth
Digitální napájení USB C napájené technologií Bluetooth

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é prostřednictvím počítače a telefonu?

V tomto pokynu vám ukážu, jak přesně vytvořit: digitální napájecí zdroj, který je napájen přes USB C. Je kompatibilní s Arduino a lze jej ovládat přes PC přes USB nebo přes telefon přes Bluetooth.

Tento projekt je evolucí mého předchozího napájení, které bylo napájeno baterií a má displej a knoflíky. Podívejte se zde! Chtěl jsem však být menší, a proto jsem udělal toto!

Napájení lze napájet z baterie USB C nebo nabíječky telefonu. To umožňuje až 15W výkonu, což je dostačující pro napájení většiny nízkoenergetických elektronik! Abych měl na tak malém zařízení dobré uživatelské rozhraní, zahrnul jsem Bluetooth a aplikaci pro Android pro ovládací prvky. Díky tomu je tento napájecí zdroj ultra přenosný!

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

  • Poháněno USB C.
  • Ovládání pomocí aplikace pro Android přes Bluetooth
  • Ovládání pomocí Javy přes USB C.
  • 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
  • Poháněno ATMEGA32U4, naprogramováno pomocí Arduino IDE
  • Může být napájen baterií z baterie USB C, aby byl přenosný
  • Detekce nabíječky USB C a Apple
  • 18 mm rozteč banánků pro kompatibilitu s BNC adaptéry

Specifikace

  • 0 - 1A, kroky po 1 mA (10bitový DAC)
  • 0 - 25 V, kroky 25 mV (10 bit DAC) (skutečný provoz 0 V)
  • Měření napětí: rozlišení 25 mV (10 bit ADC)
  • Měření proudu: <40mA: rozlišení 10uA (ina219) <80mA: rozlišení 20uA (ina219) <160mA: 40uA rozlišení (ina219) <320mA: 80uA rozlišení (ina219)> 320mA: rozlišení 1mA (10bit ADC)

Náklady

Kompletní napájení mě stálo kolem 100 dolarů se všemi jednorázovými součástmi. 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 by klesla na zhruba 70 dolarů. 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 (C23 a R32). 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 - 25 V, budeme muset tento signál zesílit s faktorem 5. Toho se dosáhne neinvertující konfigurací operačního zesilovače U7C. Zisk na nastaveném pinu je určen R31 a R36. Tyto odpory jsou tolerantní 0,1%, aby se minimalizovaly chyby. Tady na R39 a R41 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čínáme 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,5 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 U1B. Pokud je proud příliš vysoký, rozsvítí se LED a také vytáhne nastavenou linku LT3080 na zem (přes Q1), čí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á odporem R22. Když proud protéká tímto odporem, vytváří pokles napětí, který můžeme změř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 (U7B) se ziskem 5. Výsledkem je rozsah napětí 0 - 2,5 V (o tom později), proto dělič napětí na PWM signálu proudu. Vyrovnávací paměť (U7A) je tam, aby zajistila, že proud protékající do odporů R27, R34 a R35 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 R46), 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í. Tento obvod je bohužel na výstupu z LT3080, což znamená, že jeho proud přispěje k výstupnímu proudu, který chceme měřit. Naštěstí je konstantní, takže můžeme kalibrovat pro tento proud. Zenerova dioda D7 se používá k upnutí výstupního napětí, pokud překročí 25 V, a dělič odporu sníží rozsah výstupního napětí z 0 - 25 V na 0 - 2,5 V (ADC_Vout). Vyrovnávací paměť (U7D) zajišťuje, že rezistory neberou proud z výstupu.

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. 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: VCC. Vidíme, že je to 5 - 27V, ale počkejte, USB dává maximálně 5 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 27 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.

USB C

To nás přivádí ke skutečnému vstupnímu napětí: USB portu! Důvodem použití USB C (přesněji USB typu 3.1, USB C je pouze typ konektoru) je ten, že umožňuje proud 3A při 5V, to už je docela dost výkonu. Má to ale háček, zařízení musí být kompatibilní, aby mohlo čerpat tento proud a „vyjednávat“s hostitelským zařízením. V praxi se to provádí připojením dvou 5,1k pulldown odporů (R12 a R13) k vedení CC1 a CC2. Pro kompatibilitu USB 2 je dokumentace méně jasná. Stručně řečeno: čerpáte jakýkoli požadovaný proud, pokud jej hostitel může poskytnout. To lze zkontrolovat sledováním napětí sběrnice USB: když napětí klesne pod 4,25 V, zařízení odebírá příliš mnoho proudu. Toto je detekováno komparátorem U1A a deaktivuje výstup. Také vysílá signál do mikrokontroléru, aby nastavil maximální proud. Jako bonus byly přidány odpory podporující detekci ID nabíječky nabíječek Apple a Samsung.

5V regulátor

Napájecí napětí 5 V arduina obvykle pochází přímo z USB. Ale protože se napětí USB může pohybovat mezi 4,5 a 5,5 V podle specifikace USB, není to dostatečně přesné. Proto se používá 5V regulátor, který dokáže generovat 5V z nižších i vyšších napětí. Toto napětí přesto není příliš přesné, ale je to vyřešeno krokem kalibrace, kde je odpovídajícím způsobem upraven pracovní cyklus signálu PWM. Toto napětí se měří děličem napětí tvořeným R42 a R43. 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 řádek pro výběr čipu potenciometru.

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

Tento malý čip poskytuje velmi přesnou referenci napětí 2,56 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,5 V.

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. Naštěstí to dělá ATMEGA32U4, je to stejný čip, jaký se používá v Arduino Micro.

Bluetooth

Bluetooth část je velmi jednoduchá: je přidán běžný modul Bluetooth, který se o vše stará za nás. Protože jeho logická úroveň je 3,3 V (VS 5V pro mikrokontrolér), je k posunutí signálu použit dělič napětí.

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

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.

Zatímco moje předchozí napájení mělo pouze součásti skrz otvor, omezení velikosti pro můj nový to znemožnilo. Většina součástek je stále relativně snadno pájitelná, takže se nebojte. Pro ilustraci: mému příteli, který nikdy předtím nepájel, se toto zařízení podařilo naplnit!

Nejsnazší je udělat nejprve součásti na přední straně, potom na zádech a dokončit součásti s otvorem. Přitom se PCB při pájení nejobtížnějších součástek nebude kývat. Poslední součást, kterou je třeba pájet, je modul Bluetooth.

Všechny součásti lze pájet, kromě 2 banánkových konektorů, které namontujeme v dalším kroku!

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 jsem konkrétně navrhl kolem hliníkového pouzdra 20x50x80mm (https://www.aliexpress.com/item/Aluminium-PCB-Instr…), 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 banánové zvedáky. Udělal jsem to ručně, ale pokud máte přístup k CNC, byla by to přesnější volba. Vložte banánkové konektory do těchto otvorů a připájejte je na desku plošných spojů.

Je dobré nyní přidat nějaké hedvábné polštářky a držet je na místě malou kapkou super lepidla. Ty umožní přenos tepla mezi LT3080 a LT1370 a pouzdrem. Nezapomeňte na ně!

Nyní se můžeme soustředit na přední panel, který jen našroubuje na místo. Když jsou oba panely na svém místě, nyní můžeme sestavu vložit do pouzdra a vše zavřít. 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 ATMEGA32U4, 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. Odeslat data do aplikace
  2. Číst data z aplikace
  3. Změřte napětí
  4. Změřte proud
  5. Tlačítko hlasování

Nadproud USB je zpracováván rutinou služby přerušení, aby byl co nejcitlivější.

Než lze čip naprogramovat přes USB, měl by být bootloader vypálen. To se provádí přes port ISP/ICSP (hlavičkové konektory 3x2) prostřednictvím ISP programátoru. Možnosti jsou AVRISPMK2, USBTINY ISP nebo arduino jako ISP. Ujistěte se, že je deska napájena, a stiskněte tlačítko „vypálit zavaděč“.

Kód lze nyní nahrát na desku přes port USB C (protože čip má zavaděč). Deska: Arduino Micro Programátor: AVR ISP / AVRISP MKII Nyní se můžeme podívat na interakci mezi Arduino a PC.

Krok 6: Aplikace pro Android

Aplikace pro Android
Aplikace pro Android

Nyní máme plně funkční napájení, ale zatím jej nemáme pod kontrolou. Velmi otravné. Vytvoříme tedy aplikaci pro Android, která bude ovládat napájení přes Bluetooth.

Aplikace byla vytvořena pomocí programu pro vynálezce aplikací MIT. Všechny soubory mohou být zahrnuty ke klonování a úpravám projektu. Nejprve si do telefonu stáhněte doprovodnou aplikaci MIT AI2. Dále importujte soubor.aia na web AI. To vám také umožňuje stáhnout si aplikaci do vlastního telefonu výběrem „Sestavit> Aplikace (poskytnout QR kód pro.apk)“

Chcete-li aplikaci používat, vyberte ze seznamu zařízení Bluetooth: zobrazí se jako modul HC-05. Po připojení lze změnit všechna nastavení a načíst výstup napájecího zdroje.

Krok 7: 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 8:

obraz
obraz
obraz
obraz
obraz
obraz

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

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 kapesních a mikrokontrolérů, opravdu bych to ocenil!

Doporučuje: