Enostaven napajalnik, izdelan z razvojnimi ploščami, ki ima privlačen grafični zaslon.
Hackster Inc.
Avtorja: Giovanni Bernardo, Paolo Loberto
Supplino je »Quick & Dirty« napajalnik (PSU), izdelan z nekaterimi široko dostopnimi razvojnimi ploščami, Arduino Nano (ali Arduino Nano Every) in grafičnim LCD-jem.
Močnostni izhod bazira na DC/DC IC pretvorniku XL4016E1 z možnostjo regulacije izhodne napetosti. Kar zadeva vhodno napetost, ga raje napajamo prek zunanje 20÷30V napajalne enote, kot so tiste, ki se uporabljajo za prenosne računalnike ali stare tiskalnike: ta rešitev je varna in poceni, vendar se lahko odločite za uporabo večjega ohišja in nato vključite svoj lasten transformator + diodni most + kondenzatorji, vendar z veliko previdnosti. Ta projekt smo uporabili za recikliranje nekaterih starih napajalnikov tiskalnikov, ki imajo izhodno napetost 24 V.
Ta vsebina je samo za naročnike
Arduino ne krmili modula pretvornika, ampak zgolj meri izhodno napetost in tok skozi tokovni senzor in nato te vrednosti prikaže na zaslonu. Prikazana je tudi vrednost moči. Dodaten analogni merilnik je mogoče konfigurirati za prikaz vrednosti napetosti, toka ali moči, ki daje grafiki nekaj retro stila.
Izhodna napetost na banana vtičnici se napaja preko releja, tako da Arduino odklopi izhodno napetost, ko zazna pritisk na zunanjo tipko ali ob alarmnih dogodkih (kratek stik/prenizka napetost, preobremenitev, prenapetost).
Kaj potrebujemo?
- 1.8” 128×160 Display (s ST7735 krmilnikom) ×1
- 8 bit prilagodilnik logičnih nivojev (na osnovi TXS0108E) ×1
- ACS712 razvojna plošča – 20A model ×1
- DC/DC Buck pretvornik (na osnovi LM2596) ×1
- DC/DC Buck pretvornik – model XH-M401 s spremenljivo napetostjo (na osnovi XL4016E1) ×1
- Relejski modul, nizko aktivno stanje ×1
- Arduino Nano R3 ×1
- Razvojne plošče (50×70 in 30×70) ×1
- Tipka (premer 12mm, N.O.) ×1
- Multi-Turn 50k potenciometer ×1
- Preklopno stikalo (~12x19mm) ×1
- Vtičnici (rdeča in črna) ×1
- Panelska vtičnica 5,5×2,1 ×1
- M3 medeninasti podaljšek ×1
Obstaja sekundarni modul DC/DC pretvornika, ki je nastavljen na 5V za napajanje logike, ki je vezan na vhod nastavljivega modula. Sčasoma lahko tudi ta 5V priključite na ploščo (prilagodite priloženo ohišje).
Izbrali smo to konfiguracijo, ker je poceni, je enostavna in popolnoma prilagodljiva na druge vrste napetostnih pretvornikov, tako da lahko končni uporabnik izbere, kar hoče, tudi na podlagi starih linearnih napetostnih regulatorjev, kot sta LM317 ali LM338K. Vsekakor morate uporabiti točno tiste dele, ki so navedeni v BOM, če želite uporabiti priložena ohišja, ki jih lahko 3D natisnete sami.
Poimenovali smo ga Supplino, ker imamo zelo radi italijanski prigrizek, značilen za rimsko kuhinjo, imenovan Supplì in ker je kombinacija besed “Supply” in “Arduino”.
XH-M401 buck pretvorniški modul
Modul XH-M401 temelji na XL4016E1 pretvorniku. Območje vhodne napetosti lahko znaša med 4÷40V in daje izhod 1,25÷36V. Proizvajalec teh plošč navaja največji izhodni tok 5A, ki ga je mogoče povečati do 8A z dodajanjem ventilatorja. Ker ga nikoli nismo uporabljali za tokove nad 2A, ga nismo testirali nad 2A.
Ta modul ima potenciometer s stikalom za vklop/izklop modula in prilagajanje izhodne napetosti. Izhodni tok na tem posebnem modulu je fiksiran na največjo dovoljeno vrednost pretvornika.
Za uporabo tega modula z ohišjem, ki smo ga uporabili tukaj, morate odstraniti potenciometer s stikalom, ker bomo uporabili zunanji večobratni potenciomer, slika 3.
Nato na ploščice priključite 50k večobratni potenciometer (za priključitev potenciomera smo uporabili 3-polni konektor JST-XH) in nato povežite kontakte stikala na ploščici s kosom žice (modul boste vklopili/izklopili s stikalom na ohišju), glej sliko 4 in 5.
Absolutno ni priporočljivo uporabljati standardnega potenciometra z enim obratom, kot je tisti, ki je priložen temu modulu, saj napetosti ne boste mogli nastaviti stabilno in natančno.
Obstaja nov model tega buck pretvornika, ki ima tudi možnost reguliranja (omejevanja) izhodnega toka [1]. Ta modul ima enako zasnovo vezja kot uporabljeni XH-M401, vendar sta pretvornik in dvojna dioda nameščena na dveh ločenih hladilnikih, kar ima za posledico večjo ploščo in nima stikala-potenciometra, ampak 2 večobratna potenciometra za nastavitev napetosti in toka. V tem primeru bi odstranili oba trimerja in ju zamenjali z večobratnim potenciometrom (za napetost) in standardnim enoobratnim linearnim potenciometrom (za tok – ali večobratnim, če želite). Upoštevajte pa, da v tem primeru priložena ohišja ne bodo več uporabna, zato morate izdelati svojo zasnovo ali izbrati komercialnega: drugi potenciometer na plošči bo zahteval več prostora.
Sestava vezja
Brez posebnih navedb: sledite shemi, PCB-ja nismo načrtovali, ker je vezje zelo preprosto, uporabili smo protoplošče in t.i. »wire wrapping« tehniko. V odstavku priloge je nekaj navedb o rabljenih protoboardih. Ti koraki so zelo pomembni in jih je treba najprej izpolniti.
Napajanje v modulu pretvornika (LM2596). Ta modul bo uporabljen za napajanje logičnih vezij s 5V (Arduino, zaslon, prilagodilnik logičnega nivoja). Obrnite trimer na plošči, dokler ne odčitate 5,00 V z multimetrom na izhodnih priključkih. Običajno je potrebno veliko obratov: če se po veliko obratih nič ne zgodi, poskusite obrniti trimer v nasprotni smeri.
Modul pretvornika za znižanje vrednosti (XH-M401) spremenite tako, da večobratni potenciomer namestite zunaj in sklenite priključka, kot je razloženo zgoraj.
Ko ste vse namestili, najprej priključite Arduino, z multimetrom preverite vse povezave.
Zaslon se bo napajal s 5V na Vcc: na plošči ima lasten regulator, vendar mora biti logična raven signala na 3,3V, zato obstaja prilagodilnik logičnega nivoja.
O Arduino Nano / Every
Uporabite lahko Arduino Nano ali Arduino Nano Every. Če bi želeli uporabiti originalno Arduino ploščo (svetujemo), je vseeno bolje uporabiti Every, ker je bolj zmogljiva (=več kode) in stane manj.
Če želite uporabiti Arduino Nano: izberite ploščo iz Tools > Board > Arduino AVR Boards > Arduino Nano. Večina neoriginalnih plošč Arduino Nano mora biti konfigurirana v Arduino IDE za uporabo starega zagonskega nalagalnika: Tools > Processor > ATMega328P (old bootloader).
Če želite uporabiti Arduino Nano Every: Pinout te plošče je združljiv 1:1 z Nano ploščo, tako da niso potrebne nobene spremembe. Te plošče ne boste našli v istem meniju Arduino Nano, ampak v Orodja > Plošča > Plošče Arduino megaAVR > Arduino Nano Every. Za uporabo nespremenjene kode izberite tudi Tools > Registers Emulation > ATMEGA328.
Ohišje
Zasnovali smo 2 različni ohišji, odkar smo delali na dizajnu ohišja po našem osebnem okusu. Obe sta pridobljeni prek Ultimate Box Maker [2] s strani HeartMan na Thingiverse in smo ju spremenili za module, ki smo jih uporabili v tem projektu. Sčasoma lahko prenesete in prilagodite izvirni projekt ohišja iz Thingiverse, če želite izdelati lastno ohišje.
Tukaj sta opisani dve različici ohišja
Ohišje št. 1
- Dimenzije: 140x170x60 (širina x globina x višina)
Debelina: 2 mm
V notranjosti sta 2 kompleta po 4 noge: en komplet je za modul XH-M401 (stikalni regulator na osnovi XL4016E) in drugi za 50×70 protoboard. Na 50×70 protoboard lahko montirate konektorje, LM2596 modul, komponente (upori, kondenzatorji) in Arduino Nano.
V noge morate vstaviti medeninaste vložke M3, 6 mm s pomočjo spajkalnika pri najnižji možni temperaturi vašega spajkalnika.
V notranjosti tega ohišja sta tudi 2 reži: ena je za relejni modul in druga za razvojno ploščo ACS712, v režo jih morate pritrditi s kosom dvostranskega lepilnega traku.
Zaslon bo pritrjen na sprednjo ploščo s 4 kratkimi M3 vijaki brez uporabe vložkov, neposredno v plastične noge. Za pritrditev prilagodilnika nivoja in kablov boste uporabili protoboard 30×70 na zadnji strani zaslona, slika 8.
Na zadnji plošči boste pritrdili vtičnico Power Jack in držalo varovalk. Tukaj je pogled od zgoraj na dele v ohišju Variant 1, slika 9.
Za zadnjo ploščo različice 1 sta na voljo 2 različni izvedbi: oba bosta vsebovala vhodno vtičnico in držalo varovalk, medtem ko ima panel_back_usb.stl dodatne luknje za pritrditev zunanjega priključka plošče USB tipa B, slika 10.
Ta zunanji USB priključek bo uporaben za reprogramiranje Arduina brez odpiranja ohišja in za morebitne prihodnje revizije, kjer bi lahko USB uporabili za branje zaslona in nastavitev določenih vrednosti.
Tukaj je prikazano, kako smo pritrdili ta konektor, slika 11.
Uporabili smo ta kabel [3], vendar opozorilo: ta posebni kabel je dober le, če ima vaš Arduino Nano priključek USB MINI (kot so nekateri drugi Arduino Nano), zato zagotovo ni dober z originalnim Arduino Nano Every, ki uporablja USB MICRO.
Ohišje št. 2
- Dimenzije: 140x155x55 (širina x globina x višina)
Debelina: 2 mm
Na voljo sta 2 kompleta s po 4 nogami: eden je za modul XH-M401 (stikalni regulator, ki temelji na XL4016E) in drugi za protoboard 50×70. V noge morate vstaviti medeninaste vložke M3, 6 mm. Na voljo sta tudi 2 reži: ena za relejni modul in druga za regulator LM2596S. Arduino Nano in razvojna plošča ACS712 s senzorjem toka bosta nameščena na protoboard. Sprednja plošča vsebuje tipko, zaslon, izhodne vtičnice, potenciometer, medtem ko zadnja plošča vsebuje preklopno stikalo, vhodno vtičnico in držalo varovalk.
Nastavitev Arduino kode
Izvorna koda je na voljo v repozitoriju Github, ki je povezan na strani tega članka. Narediti morate nekaj prilagoditev, da se prilega vašim delom.
Makro RELAYON je definiran kot LOW, ker bo naša relejna plošča vklopila rele, ko bo prejela logično nizek nivo.
#define RELAYON LOW
Če nameravate uporabiti drugo ploščo releja, jo spremenite na HIGH.
Nastavite svoje največje vrednosti za tok in napetost v teh dveh makrih:
#define CURRENTMAX 2 // A
#define VOLTAGEMAX 33 // V
To bo odvisno predvsem od uporabljene vhodne PSU.
Ta makro se uporablja za alarm prenizke napetosti:
#define VOLTAGEMIN 1
Uporabljeni modul spremenljivega Buck pretvornika lahko generira najmanj 1,25 V, tako da se napetost pod 1 V obravnava kot kratek stik. Spremenite ga le, če nameravate uporabiti lastno zasnovo.
Ta konstanta se uporablja za merjenje napetosti pretvornika za znižanje vrednosti na napetostnem delilniku.
#define DIVIDERCONST 0.12821F
Na napetostnem delilniku smo uporabili R1=68k in R2=10k, tako da ta vrednost izhaja iz formule delilnika napetosti R1/(R1+R2). Napetostni delilnik lahko sprejme do 35 V kot vhodno napetost za analogni 4,48 V Arduino vhod, ne prekoračite teh vrednosti, sicer bo Arduino uničen.
Ta konstanta je za različico uporabljenega tokovnega senzorja ACS712:
#define ACSCONST 0.1F
Uporabljeni model je 20A, ki ima ločljivost 0,1V na amper, zato smo tukaj postavili 0,1F.
Ko ste vse namestili, izmerite izhodno napetost PSU z multimetrom, nato pa preverite vrednost, prikazano na zaslonu Supplino, glede na vrednost, prikazano na multimetru. Če obstajajo razlike, ga lahko prilagodite s tem makrom:
#define VOLT_ADJ(V) V+0.2F // your own formula
Postavil sem V+0,2F, ker je bil moj odčitek multimera 0,2 višji od vrednosti, prikazane na zaslonu, zato moram k odčitku dodati 0,2V, da imam pravilno meritev.
Nato izmerite tok. Potrebovali boste močnostni upor. Uporabil sem 39 Ohm 5W upor in s tem bom naredil primer. Napajanje 8V v 39 Ohmski upor bo povzročilo tok I=V/R => 8/39 => 0,21 A.
Natančno vrednost upora in izhodne napetosti lahko izmerite z multimetrom in nato uporabite zgornjo formulo za izračun toka ali pa lahko multimeter v trenutnem položaju zaporedno priključite na upor in preberete prikazano vrednost.
Tako kot za napetost, storite enako s tokom v tem makru.
#define CURR_ADJ(I) I-0.015F
Uporabil sem tretjo decimalko, tudi če ni prikazana (Supplino uporablja 2 decimalki), ker je bila moja trenutna vrednost plavajoča.
Uporaba Supplino napajalnika
Ko vklopite Supplino, na izhodnih vtičnicah ni napetosti: to je zato, ker je rele IZKLOPLJEN. Stanje izklopa je prikazano s sivim krožnim indikatorjem na zaslonu in celotnim zaslonom v črno-belem načinu.
V teh pogojih se napetost vseeno meri, saj je izhod pretvornika z nižjimi vrednostmi priključen na Arduino preko napetostnega delilnika in naprej na izhodni rele (ki je izklopljen). Tako lahko spreminjate napetost s potenciometrom preden aktivirate izhod.
Kratek pritisk na gumb: rele se bo vklopil in na izhodne sponke priključil nastavljeno napetost. Zaslon se obarva in krožni indikator postane zelen.
V tem stanju se izmeri trenutni izhodni tok in moč (aktivna moč) izračuna z množenjem izmerjene napetosti in toka. Ker ACS712 ni najboljši tokovni senzor na svetu, boste videli rahlo nihanje izhodnega toka.
V primeru anomalije na izhodu (kratek stik, prenapetost/tok) bo to stanje zaznano v Arduinu prek tokovnega senzorja ali napetostnega delilnika in rele se bo IZKLOPIL, tako da odklopi napetost iz izhodnih priključkov in sproži alarm, kar se vidi, ko se okrogli indikator na zaslonu obarva rdeče.
V tem stanju morate odstraniti vsa bremena, ki ste jih povezali na izhod napajalnika. Nato pritisnite in spustite gumb za ponastavitev (krožni indikator postane siv), nato pritisnite in spustite drugič, da ponovno aktivirate izhod. V katerem koli stanju, če držite gumb pritisnjen več kot eno sekundo, se bo analogni merilnik spremenil, kar kaže napetost, tok, moč. Spustite gumb, da obdržite indikator, ki ga izberete. Kakorkoli že, ta nastavitev se ne ohrani, tako da bo analogni merilnik pri zaporedni uporabi vedno začel kazati vrednost napetosti.
Viri:
https://amzn.to/32PbnVB
https://www.thingiverse.com/thing:1264391
https://amzn.to/3AdUpwO
Povzeto po:
https://bit.ly/3L1eU3C
https://hackster.io