Sadržaj:
- Korak 1: Karakteristike i cijena
- Korak 2: Shema i teorija rada
- Korak 3: PCB i elektronika
- Korak 4: Kućište i montaža
- Korak 5: Arduino kod
- Korak 6: Java kod
- Korak 7: Uspjeh
Video: Napajanje digitalnom baterijom: 7 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Jeste li ikada poželjeli napajanje koje možete koristiti u pokretu, čak i bez zidne utičnice u blizini? I zar ne bi bilo super da je i vrlo precizan, digitalni i kontroliran putem računala?
U ovom uputstvu pokazat ću vam kako izgraditi upravo to: digitalno napajanje napajano baterijom, koje je arduino kompatibilno i može se kontrolirati putem računala putem USB -a.
Malo prije sam izgradio napajanje od starog ATX napojnog napona, i iako radi odlično, želio sam pojačati svoju igru digitalnim napajanjem. Kao što je već rečeno, napajaju ga baterije (točnije 2 litijumske ćelije) i može isporučiti najviše 20 V pri 1 A; što je dovoljno za većinu mojih projekata koji zahtijevaju precizno napajanje.
Prikazat ću cijeli proces dizajna, a sve projektne datoteke mogu se pronaći na mojoj stranici GitHub:
Hajde da počnemo!
Korak 1: Karakteristike i cijena
Karakteristike
- Režimi konstantnog napona i konstantne struje
- Koristi linearni regulator s niskim šumom, kojem prethodi predregulator za praćenje kako bi se smanjilo rasipanje energije
- Upotreba ručno sklopivih komponenti za održavanje pristupačnosti projekta
- Pokreće ATMEGA328P, programirano sa Arduino IDE
- Komunikacija sa računarom putem Java aplikacije preko mikro USB -a
- Pokreću ga 2 zaštićene 18650 litij -ionske ćelije
- Utikači za banane sa razmakom od 18 mm za kompatibilnost sa BNC adapterima
Specifikacije
- 0 - 1A, koraci od 1 mA (10 bitni DAC)
- 0 - 20V, koraci od 20 mV (10 -bitni DAC) (pravi rad 0V)
- Mjerenje napona: rezolucija 20 mV (10 bitni ADC)
-
Mjerenje struje:
- <40mA: rezolucija 10uA (ina219)
- <80mA: rezolucija 20uA (ina219)
- <160mA: rezolucija 40uA (ina219)
- <320mA: rezolucija 80uA (ina219)
- > 320mA: rezolucija 1mA (10 -bitni ADC)
Cost
Potpuno napajanje koštalo me oko 135 USD, sa svim jednokratnim komponentama. Baterije su najskuplji dio (30 USD za 2 ćelije), jer su zaštićene 18650 litijumskih ćelija. Moguće je značajno smanjiti troškove ako nije potrebna baterija. Izostavljanjem baterija i kola za punjenje, cijena pada na oko 100 USD. Iako ovo može izgledati skupo, napajanje sa daleko manjim performansama i značajkama često košta više od ovoga.
Ako vam ne smeta da svoje komponente naručite s ebaya ili aliexpressa, cijena s baterijama pala bi na 100 USD, a bez njih 70 USD. Potrebno je više vremena za ulazak dijelova, ali to je održiva opcija.
Korak 2: Shema i teorija rada
Da bismo razumjeli rad kola, morat ćemo pogledati shemu. Podijelio sam ga u funkcionalne blokove, tako da ih je lakše razumjeti; Tako ću i objasniti rad korak po korak. Ovaj dio je prilično dubok i zahtijeva dobro poznavanje elektronike. Ako samo želite znati kako izgraditi krug, možete prijeći na sljedeći korak.
Glavni blok
Rad se temelji na čipu LT3080: to je linearni regulator napona, koji može smanjiti napone, na osnovu upravljačkog signala. Ovaj kontrolni signal generirat će mikrokontroler; kako se to radi, bit će detaljno objašnjeno kasnije.
Podešavanje napona
Krug oko LT3080 generira odgovarajuće upravljačke signale. Prvo ćemo pogledati kako se postavlja napon. Postavka napona iz mikrokontrolera je PWM signal (PWM_Vset), koji se filtrira pomoću niskopropusnog filtera (C9 & R26). Time se proizvodi analogni napon - između 0 i 5 V - proporcionalan željenom izlaznom naponu. Budući da je naš izlazni raspon 0 - 20 V, morat ćemo pojačati ovaj signal faktorom 4. To se postiže neinvertirajućom konfiguracijom opampa U3C. Dobit na postavljeni pin je određena sa R23 // R24 // R25 i R34. Ovi otpornici su tolerantni 0,1%, kako bi se smanjile greške. R39 i R36 ovdje nisu bitni, jer su dio povratne sprege.
Trenutna postavka
Ovaj postavljeni pin se može koristiti i za drugu postavku: trenutni način rada. Želimo izmjeriti trenutno napajanje i isključiti izlaz kada on premaši željenu struju. Stoga ponovo započinjemo PWM signalom (PWM_Iset), generiranim od mikrokontrolera, koji je sada filtriran na niskim prolazima i oslabljen za prelazak iz raspona 0 - 5 V u raspon 0 - 2 V. Ovaj napon se sada uspoređuje sa padom napona na otporniku osjetnika struje (ADC_Iout, vidi dolje) pomoću konfiguracije komparatora opampa U3D. Ako je struja previsoka, ovo će uključiti LED diodu, a također će povući postavljenu liniju LT3080 na masu (preko Q2), čime će se isključiti izlaz. Mjerenje struje i generiranje signala ADC_Iout vrši se na sljedeći način. Izlazna struja protiče kroz otpornike R7 - R16. Ukupno 1 ohm; razlog zašto se 1R ne koristi na prvom mjestu je dvostruk: 1 otpornik bi trebao imati veću snagu (mora raspršiti najmanje 1 W), a paralelnom upotrebom 10 1% otpornika dobivamo veću preciznost od sa jednim 1 % otpornikom. Dobar video o tome zašto ovo funkcionira možete pronaći ovdje: https://www.youtube.com/embed/1WAhTdWErrU&t=1s Kada struja teče kroz ove otpornike, stvara pad napona koji možemo mjeriti, a to je postavljen ispred LT3080, jer pad napona na njemu ne bi trebao utjecati na izlazni napon. Pad napona mjeri se diferencijalnim pojačalom (U3B) s pojačanjem 2. To rezultira rasponom napona od 0 - 2 V (više o tome kasnije), dakle razdjelnik napona na PWM signalu struje. Međuspremnik (U3A) je tu da osigura da struja koja teče u otpornike R21, R32 i R33 ne prolazi kroz trenutni osjetnik otpornika, što bi utjecalo na očitavanje. Također imajte na umu da bi ovo trebao biti opamp od šine do šine, jer je ulazni napon na pozitivnom ulazu jednak naponu napajanja. Neinvertirajuće pojačalo služi samo za mjerenje kursa, iako za vrlo precizna mjerenja imamo ugrađen čip INA219. Ovaj čip nam omogućava mjerenje vrlo malih struja, a adresira se putem I2C.
Dodatne stvari
Na izlazu LT3080 imamo još nekih stvari. Prije svega, tu je sudoper (LM334). Ovo vuče konstantnu struju od 677 uA (podešenu otpornikom R41) za stabilizaciju LT3080. Međutim, nije spojen na masu, već na VEE, negativni napon. Ovo je potrebno kako bi se omogućilo da LT3080 radi do 0 V. Kad je spojen na masu, najniži napon bio bi oko 0,7 V. Ovo se čini dovoljno niskim, ali imajte na umu da nas to sprječava da potpuno isključimo napajanje. Zener dioda D3 koristi se za stezanje izlaznog napona ako pređe 22 V, a razdjelnik otpornika spusti raspon izlaznog napona od 0 - 20 V do 0 - 2 V (ADC_Vout). Nažalost, ova kola su na izlazu iz LT3080, što znači da će njihova struja doprinijeti izlaznoj struji koju želimo mjeriti. Srećom, ove struje su konstantne ako napon ostane konstantan; tako da možemo kalibrirati struju kada je opterećenje prvo isključeno.
Pumpa za punjenje
Negativni napon koji smo ranije spomenuli stvara čudan mali krug: pumpa za punjenje. Za svoj rad, pozvao bih se ovdje: https://www.youtube.com/embed/1WAhTdWErrU&t=1s Napaja se pomoću 50% PWM mikrokontrolera (PWM)
Boost Converter
Pogledajmo sada ulazni napon našeg glavnog bloka: Vboost. Vidimo da je to 8 - 24V, ali pričekajte, 2 litijeve ćelije u seriji daju maksimalno 8,4 V? Zaista, i zato moramo pojačati napon, takozvanim pretvaračem pojačanja. Uvijek smo mogli povećati napon na 24 V, bez obzira na izlaz koji želimo; međutim, ovo bi potrošilo mnogo energije u LT3080 i stvari bi postale jako vruće! Pa ćemo umjesto toga povećati napon na malo više od izlaznog napona. Prikladno je oko 2,5 V više, kako bi se objasnio pad napona u otporniku osjetnika struje i ispadni napon LT3080. Napon se postavlja otpornicima na izlaznom signalu pretvarača pojačanja. Za promjenu ovog napona u hodu koristimo digitalni potenciometar, MCP41010, kojim se upravlja putem SPI -ja.
Punjenje baterije
To nas dovodi do stvarnog ulaznog napona: baterije! Budući da koristimo zaštićene ćelije, jednostavno ih moramo staviti u niz i gotovi smo! Ovdje je važno koristiti zaštićene ćelije kako bi se izbjeglo prekomjerno strujanje ili pretjerano pražnjenje, a time i oštećenje ćelija. Opet, koristimo razdjelnik napona za mjerenje napona baterije i njegovo spuštanje do korisnog raspona. Sada idemo na zanimljiv dio: sklop punjenja. U tu svrhu koristimo čip BQ2057WSN: u kombinaciji s TIP32CG u osnovi sam stvara linearno napajanje. Ovaj čip puni ćelije putem odgovarajuće CV CC putanje. Budući da moje baterije nemaju temperaturnu sondu, ovaj ulaz bi trebao biti vezan za polovinu napona baterije. Ovim je zaključen dio regulacije napona napajanja.
5V regulator
Opskrbni napon od 5 V arduina izrađen je s ovim jednostavnim regulatorom napona. Međutim, to nije najprecizniji izlaz od 5 V, ali to će biti riješeno u nastavku.
2.048 V referentni napon
Ovaj mali čip pruža vrlo preciznu referentnu vrijednost napona od 2.048 V. Ovo se koristi kao referenca za analogne signale ADC_Vout, ADC_Iout, ADC_Vbatt. Zato su nam bili potrebni razdjelnici napona da bismo te signale spustili na 2 V. Mikrokontroler Mozak ovog projekta je ATMEGA328P, to je isti čip koji se koristi u Arduino Uno. Već smo prešli većinu kontrolnih signala, ali ipak postoje neki zanimljivi dodaci. Rotacijski davači spojeni su na 2 jedina vanjska prekidna pina arduina: PD2 i PD3. To je potrebno za pouzdanu implementaciju softvera. Prekidači ispod koriste unutarnji otpornik. Zatim postoji ovaj čudni razdjelnik napona na liniji za odabir čipa potenciometra (lonac). Razdjelnik napona na izlazu, čemu služi to; moglo bi se reći. Kao što je već spomenuto, napajanje od 5 V nije strahovito precizno. Bilo bi stoga dobro to izmjeriti i prema tome prilagoditi radni ciklus PWM signala. Ali pošto nisam imao više besplatnih unosa, morao sam da izvršim dvostruko opterećenje. Kada se napajanje pokrene, ovaj pin se prvo postavlja kao ulaz: mjeri dovodnu šinu i sam se kalibrira. Zatim se postavlja kao izlaz i može pokretati liniju za odabir čipa.
Upravljački program ekrana
Za ekran sam želio općenito dostupan - i jeftin - hitachi LCD ekran. Pokreće ih 6 pinova, ali kako mi više nije bilo iglica, trebalo mi je drugo rješenje. Registar smjena u pomoć! 74HC595 mi dozvoljava da koristim SPI liniju za kontrolu ekrana, pa mi je potrebna samo 1 dodatna linija za odabir čipa.
FTDI
Posljednji dio ovog napajanja je veza sa okrutnim vanjskim svijetom. Za to moramo pretvoriti serijske signale u USB signale. To se radi pomoću FTDI čipa koji je spojen na mikro USB priključak radi lakšeg povezivanja.
I to je sve!
Korak 3: PCB i elektronika
Sada kada razumijemo kako krug funkcionira, možemo ga početi graditi! Možete jednostavno naručiti PCB putem interneta od vašeg omiljenog proizvođača (moj košta oko 10 USD), gerber datoteke se mogu pronaći na mom GitHubu, zajedno sa popisom materijala. Sastavljanje PCB -a tada je u osnovi pitanje lemljenja komponenti na mjestu prema sitotisku i opisu materijala.
Prvi korak je lemljenje SMD komponenti. Većinu njih je lako izvesti ručno, osim iz FTDI čipa i mikro USB konektora. Stoga možete sami izbjeći lemljenje te 2 komponente i umjesto toga upotrijebiti FTDI ploču za razbijanje. Dao sam zaglavlje na koje ovo može biti zalemljeno.
Kada je SMD posao završen, možete prijeći na sve komponente rupa. Ovo je vrlo jednostavno. Za čipove ćete možda htjeti koristiti utičnice umjesto da ih lemite direktno na ploču. Poželjno je koristiti ATMEGA328P s Arduino pokretačkim programom, inače ćete ga morati učitati pomoću ICSP zaglavlja (prikazano ovdje).
Jedini dio koji treba malo više pažnje je LCD ekran jer ga je potrebno montirati pod kutom. Na njega lemite nekoliko muških zakrivljenih zaglavlja, s plastičnim komadom okrenutim prema donjoj strani ekrana. Ovo će omogućiti dobro postavljanje ekrana na štampanu ploču. Nakon toga može se lemiti na mjestu kao i svaka druga komponenta kroz otvor.
Jedino što trebate učiniti je dodati 2 žice koje će se spojiti na stezaljke za banane na prednjoj ploči.
Korak 4: Kućište i montaža
S izrađenom pločom možemo prijeći na kućište. Posebno sam dizajnirao tiskanu ploču oko ovog hamond kućišta, pa se ne preporučuje upotreba drugog kućišta. Međutim, uvijek možete 3D ispisati kućište istih dimenzija.
Prvi korak je priprema završne ploče. Morat ćemo izbušiti neke rupe za vijke, prekidače itd. To sam učinio ručno, ali ako imate pristup CNC -u to bi bila preciznija opcija. Napravio sam rupe prema shemi i lupkao rupe za vijke.
Bilo bi dobro dodati sada neke svilene jastučiće i držati ih na mjestu s malom kapljicom super ljepila. Oni će izolirati LT3080 i TIP32 od zadnje ploče, dok će i dalje omogućiti prijenos topline. Ne zaboravite ih! Prilikom pričvršćivanja čipova na stražnju ploču, upotrijebite podlošku od liskuna kako biste osigurali izolaciju!
Sada se možemo usredotočiti na prednju ploču koja samo klizi na mjestu. Sada možemo dodati utičnice za banane i dugmad za rotacijske davače.
S obje ploče na mjestu, sada možemo umetnuti sklop u kućište, dodati baterije i sve zatvoriti. Koristite zaštićene baterije jer ne želite da ćelije eksplodiraju!
U ovom trenutku hardver je gotov, sada je ostalo samo upropastiti ga u softver softverom!
Korak 5: Arduino kod
Mozak ovog projekta je ATMEGA328P, koji ćemo programirati s Arduino IDE -om. U ovom odjeljku ću proći kroz osnovne operacije koda, detalji se mogu pronaći kao komentari unutar koda.
Kod se u osnovi ponavlja kroz ove korake:
- Čitajte serijske podatke iz Jave
- Dugmad za glasanje
- Izmjerite napon
- Izmjerite struju
- Izmjerite struju pomoću INA219
- Pošaljite serijske podatke u javu
- Konfigurirajte boostconvertor
- Napunite bateriju
- Ekran za ažuriranje
Rotacijskim koderima upravlja rutina prekida kako bi bili što je moguće odgovorniji.
Kôd se sada može učitati na ploču putem mikro USB porta (ako čip ima bootloader). Ploča: Arduino pro ili pro mini Programer: AVR ISP / AVRISP MKII
Sada možemo pogledati interakciju između Arduina i računara.
Korak 6: Java kod
Za bilježenje podataka i kontrolu napajanja putem računara napravio sam java aplikaciju. To nam omogućuje jednostavno upravljanje pločom putem grafičkog sučelja. Kao i kod Arduino koda, neću ulaziti u sve detalje, ali ću dati pregled.
Počinjemo tako što ćemo napraviti prozor sa dugmadima, tekstualnim poljima itd; osnovne stvari sa GUI -jem.
Sada slijedi zabavni dio: dodavanje USB portova za koje sam koristio jSerialComm biblioteku. Kada odaberete port, java će slušati sve dolazne podatke. Takođe možemo poslati podatke na uređaj.
Nadalje, svi dolazni podaci se spremaju u csv datoteku radi kasnije obrade podataka.
Prilikom pokretanja.jar datoteke prvo bismo trebali odabrati odgovarajući port s padajućeg izbornika. Nakon povezivanja podaci će početi pristizati, a naše postavke možemo poslati napajanju.
Iako je program prilično jednostavan, može biti vrlo korisno kontrolirati ga putem računala i evidentirati njegove podatke.
Korak 7: Uspjeh
Nakon svih ovih radova, sada imamo potpuno funkcionalno napajanje!
Moram se zahvaliti i nekim ljudima na podršci:
- Projekat je zasnovan na EEVBLOG -ovom projektu uSupply i njegovoj šemi Rev C. Zato posebna hvala Davidu L. Jonesu što je objavio svoje sheme pod licencom otvorenog koda i podijelio svo svoje znanje.
- Veliko hvala Johan Pattynu za izradu prototipova ovog projekta.
- Također Cedric Busschots i Hans Ingelberts zaslužni su za pomoć pri rješavanju problema.
Sada možemo uživati u vlastitom napajanju, koje će nam dobro doći dok radimo na drugim sjajnim projektima! I što je najvažnije: usput smo naučili mnoge stvari.
Ako vam se svidio ovaj projekt, glasajte za mene na natjecanju powersupply, jako bih vam zahvalan! Https: //www.instructables.com/contest/powersupply/
Druga nagrada na takmičenju za napajanje
Preporučuje se:
Napajanje podesivo baterijom - Ryobi 18V: 6 koraka (sa slikama)
Napajanje podesivo baterijom - Ryobi 18V: Ugradite DPS5005 (ili slično) u prilagodljivo napajanje napajano baterijom Ryobi One+ s nekoliko električnih komponenti i kućištem sa 3D printom
Izuzetno jednostavna olovka za zavarivanje s automatskim umetanjem (olovka za zavarivanje s baterijom s baterijom) 10 USD: 7 koraka (sa slikama)
Izuzetno jednostavna olovka za zavarivanje sa tačkastim zavarivanjem (MOT Battery Tab Welder Pen) 10 $: Gledala sam na svim web stranicama koje su prodavale olovke za zavarivanje i vidjela kako ih je puno sastavljeno. Naišao sam na set koji je bio jeftiniji od ostalih, ali ipak malo više nego što sam si mogao priuštiti. Onda sam primetio nešto. Sve što oni
Napajanje Arduina s baterijom od 1,5 V: 4 koraka
Napajanje Arduina s baterijom od 1,5 V: U ovom ćemo vodiču koristiti korak naprijed (0,9-5 V do 5 V) Pojačalo napona za napajanje Arduino UNO s baterijom od 1,5 V
Napajanje mobilnog/mobilnog telefona vanjskom baterijom ili mrežom: 3 koraka
Napajanje mobilnog/mobilnog telefona vanjskom baterijom ili mrežom: Uvod. Ova ideja funkcionira samo s telefonima ili tabletima ako se baterija može ukloniti. Naravno, važno je promatrati polaritet. Budite oprezni da nepažnjom ne oštetite svoj uređaj. Ako niste sigurni u svoje sposobnosti da to učinite
Kako lemiti s AA baterijom i baterijom u automobilu: 8 koraka
Kako lemiti s AA baterijom i akumulatorom za automobil: Trebat će vam automobilska baterija, AA baterija, prespojni kabeli i lemljenje. Dodirom lemilice ugljične šipke iz AA baterije zatvara se krug - to proizvodi toplinu (& svjetlo!) Koja topi lem. Ono što je zanimljivo je da je toplina lokalizirana na