Kazalo:

Napajanje z digitalno baterijo: 7 korakov (s slikami)
Napajanje z digitalno baterijo: 7 korakov (s slikami)

Video: Napajanje z digitalno baterijo: 7 korakov (s slikami)

Video: Napajanje z digitalno baterijo: 7 korakov (s slikami)
Video: НЕ ВЗДУМАЙ снимать аккумулятор с машины. Делай это ПРАВИЛЬНО ! 2024, Julij
Anonim
Napajanje z digitalno baterijo
Napajanje z digitalno baterijo
Napajanje z digitalno baterijo
Napajanje z digitalno baterijo
Napajanje z digitalno baterijo
Napajanje z digitalno baterijo
Napajanje z digitalno baterijo
Napajanje z digitalno baterijo

Ste kdaj želeli napajanje, ki ga lahko uporabljate na poti, tudi brez stenske vtičnice v bližini? In ali ne bi bilo kul, če bi bilo tudi zelo natančno, digitalno in nadzorovano prek osebnega računalnika?

V tem navodilu vam bom pokazal, kako zgraditi točno to: digitalno napajanje z baterijo, ki je združljivo z arduinom in ga je mogoče upravljati prek računalnika prek USB -ja.

Nekaj časa nazaj sem zgradil napajanje iz starega ATX napajalnika, in čeprav deluje odlično, sem želel svojo igro okrepiti z digitalnim napajanjem. Kot že rečeno, napajajo ga baterije (natančneje 2 litijeve celice) in lahko odda največ 20 V pri 1 A; kar je dovolj za večino mojih projektov, ki zahtevajo natančno napajanje.

Prikazal bom celoten postopek oblikovanja, vse projektne datoteke pa najdete na moji strani GitHub:

Začnimo!

Korak: Funkcije in stroški

Lastnosti in stroški
Lastnosti in stroški

Lastnosti

  • Načini stalne napetosti in konstantnega toka
  • Uporablja linearni regulator z nizkim šumom, pred katerim je predregulator za sledenje, da zmanjša porabo energije
  • Uporaba ročno sestavljivih delov, da bo projekt dostopen
  • Poganja ATMEGA328P, programirano z Arduino IDE
  • Komunikacija z osebnim računalnikom prek aplikacije Java prek mikro USB
  • Napajata jo 2 zaščiteni 18650 litij -ionski celici
  • 18 mm razmaknjeni čepi za banane za združljivost z adapterji BNC

Specifikacije

  • 0 - 1A, koraki 1 mA (10 -bitni DAC)
  • 0 - 20 V, koraki 20 mV (10 -bitni DAC) (resnično delovanje 0 V)
  • Merjenje napetosti: ločljivost 20 mV (10 -bitni ADC)
  • Trenutna meritev:

    • <40mA: Ločljivost 10uA (ina219)
    • <80mA: Ločljivost 20uA (ina219)
    • <160mA: Ločljivost 40uA (ina219)
    • <320mA: Ločljivost 80uA (ina219)
    • > 320 mA: ločljivost 1 mA (10 -bitni ADC)

Stroški

Popolno napajanje me je stalo okoli 135 USD z vsemi enkratnimi komponentami. Baterije so najdražji del (30 USD za 2 celici), saj so zaščitene litijeve celice 18650. Stroške je mogoče znatno znižati, če ni potrebe po delovanju z baterijo. Z izpuščanjem baterij in polnilnega vezja se cena zniža na približno 100 USD. Čeprav se to morda zdi drago, napajalniki z veliko manj zmogljivosti in funkcijami pogosto stanejo več kot to.

Če vas ne moti, da svoje komponente naročite na ebayu ali aliexpressu, bi cena z baterijami padla na 100 USD, brez njih pa 70 USD. Za dobavo delov traja dlje, vendar je to izvedljiva možnost.

2. korak: Shema in teorija delovanja

Shema in teorija delovanja
Shema in teorija delovanja

Za razumevanje delovanja vezja bomo morali pogledati shemo. Razdelil sem ga na funkcionalne bloke, tako da je lažje razumljiv; Tako bom korak za korakom tudi razložil delovanje. Ta del je precej poglobljen in zahteva dobro poznavanje elektronike. Če želite samo vedeti, kako zgraditi vezje, lahko preskočite na naslednji korak.

Glavni blok

Delovanje temelji na čipu LT3080: to je linearni regulator napetosti, ki lahko zniža napetosti na podlagi krmilnega signala. Ta krmilni signal bo ustvaril mikrokrmilnik; kako se to naredi, bo podrobneje razloženo kasneje.

Nastavitev napetosti

Vezje okoli LT3080 ustvarja ustrezne krmilne signale. Najprej si bomo ogledali, kako je napetost nastavljena. Nastavitev napetosti iz mikrokrmilnika je signal PWM (PWM_Vset), ki ga filtrira nizkoprepustni filter (C9 & R26). Tako nastane analogna napetost - med 0 in 5 V - sorazmerna z želeno izhodno napetostjo. Ker je naše izhodno območje 0 - 20 V, bomo morali ta signal ojačati s faktorjem 4. To naredi neinvertirna konfiguracija opampa U3C. Dobiček nastavljenega zatiča je določen z R23 // R24 // R25 in R34. Ti upori so 0,1% tolerantni, da zmanjšajo napake. R39 in R36 tukaj nista pomembna, saj sta del povratne zanke.

Trenutna nastavitev

Ta nastavljeni pin lahko uporabite tudi za drugo nastavitev: trenutni način. Želimo izmeriti trenutno porabo in izklopiti izhod, ko ta preseže želeni tok. Zato znova zaženemo s signalom PWM (PWM_Iset), ki ga ustvari mikrokrmilnik, ki je zdaj nizkoprepustni filtriran in oslabljen za prehod iz območja 0 - 5 V v območje 0 - 2 V. Ta napetost se zdaj primerja s padcem napetosti na trenutnem zaznavalnem uporu (ADC_Iout, glej spodaj) s primerjalno konfiguracijo opampa U3D. Če je tok previsok, se bo vklopil LED in tudi potegnil nastavljeno črto LT3080 na ozemljitev (prek Q2) in tako izklopil izhod. Merjenje toka in generiranje signala ADC_Iout se izvede na naslednji način. Izhodni tok teče skozi upore R7 - R16. Skupaj teh 1 ohmov; razlog, da 1R sploh ne uporabite, je dvojni: 1 upor bi moral imeti višjo moč (razpršiti mora vsaj 1 W), z uporabo 10 1% uporov pa vzporedno dobimo večjo natančnost kot z enim samim 1 % uporom. Dober video o tem, zakaj to deluje, najdete tukaj: https://www.youtube.com/embed/1WAhTdWErrU&t=1s Ko tok teče skozi te upore, ustvari padec napetosti, ki ga lahko izmerimo, in je postavljeno pred LT3080, ker padec napetosti na njem ne bi smel vplivati na izhodno napetost. Padec napetosti se meri z diferencialnim ojačevalnikom (U3B) z dobičkom 2. To povzroči napetostno območje 0 - 2 V (več o tem kasneje), zato je razdelilnik napetosti pri PWM signalu toka. Medpomnilnik (U3A) je namenjen zagotavljanju, da tok, ki teče v uporih R21, R32 in R33, ne teče skozi trenutni senzorski upor, kar bi vplivalo na njegovo odčitavanje. Upoštevajte tudi, da bi to moral biti opamp od tirnice do tirnice, ker je vhodna napetost na pozitivnem vhodu enaka napajalni napetosti. Neinvertirni ojačevalnik je namenjen le merjenju tečaja, čeprav imamo za zelo natančne meritve čip INA219. Ta čip nam omogoča merjenje zelo majhnih tokov in naslavlja prek I2C.

Dodatne stvari

Na izhodu LT3080 imamo še nekaj stvari. Najprej je tokovnik (LM334). Ta črpa konstanten tok 677 uA (nastavljen z uporom R41) za stabilizacijo LT3080. Ni pa priključen na ozemljitev, ampak na VEE, negativno napetost. To je potrebno, da lahko LT3080 deluje do 0 V. Pri priključitvi na ozemljitev bi bila najnižja napetost približno 0,7 V. To se zdi dovolj nizko, vendar ne pozabite, da nam to preprečuje, da bi napajanje popolnoma izklopili. Zener dioda D3 se uporablja za vpenjanje izhodne napetosti, če ta preseže 22 V, razdelilnik upora pa zniža območje izhodne napetosti od 0 - 20 V do 0 - 2 V (ADC_Vout). Na žalost so ta vezja na izhodu iz LT3080, kar pomeni, da bo njihov tok prispeval k izhodnemu toku, ki ga želimo izmeriti. Na srečo so ti tokovi konstantni, če napetost ostane konstantna; tako da lahko kalibriramo tok, ko je breme najprej odklopljeno.

Polnilna črpalka

Negativno napetost, ki smo jo omenili prej, ustvari zanimivo majhno vezje: polnilna črpalka. Za svoje delovanje bi se skliceval tukaj: https://www.youtube.com/embed/1WAhTdWErrU&t=1s Napaja ga 50% PWM mikrokrmilnika (PWM)

Boost Converter

Zdaj pa poglejmo vhodno napetost našega glavnega bloka: Vboost. Vidimo, da je 8 - 24V, vendar počakajte, 2 litijevi celici zaporedno dajeta največ 8,4 V? Dejansko in zato moramo povečati napetost s tako imenovanim ojačevalnim pretvornikom. Napetost lahko vedno povečamo na 24 V, ne glede na to, kakšen izhod želimo; vendar bi to v LT3080 zapravilo veliko energije in stvari bi postale pečene! Namesto tega bomo napetost povečali na nekoliko več kot izhodna napetost. Primerno je približno 2,5 V višje, da se upošteva padec napetosti v trenutnem senzorskem uporu in izpadna napetost LT3080. Napetost nastavimo z upori na izhodnem signalu ojačevalnega pretvornika. Za hitro spreminjanje te napetosti uporabljamo digitalni potenciometer, MCP41010, ki ga krmilimo prek SPI.

Polnjenje baterije

To nas pripelje do prave vhodne napetosti: baterije! Ker uporabljamo zaščitene celice, jih moramo preprosto postaviti v niz in končali smo! Tu je pomembno uporabiti zaščitene celice, da se izognemo prekomernemu toku ali prekomernemu praznjenju in s tem poškodbam celic. Ponovno uporabljamo razdelilnik napetosti za merjenje napetosti akumulatorja in ga spuščamo v uporabno območje. Zdaj pa k zanimivemu delu: vezju za polnjenje. V ta namen uporabljamo čip BQ2057WSN: v kombinaciji s TIP32CG v osnovi sam tvori linearno napajanje. Ta čip polni celice po ustrezni CV CC poti. Ker moje baterije nimajo temperaturne sonde, mora biti ta vhod vezan na polovico napetosti akumulatorja. S tem je zaključen del regulacije napetosti napajanja.

5V regulator

Napajalna napetost 5 V arduina je narejena s tem preprostim regulatorjem napetosti. Vendar to ni najbolj natančen izhod 5 V, vendar bo to rešeno v nadaljevanju.

Referenčna napetost 2.048 V

Ta mali čip zagotavlja zelo natančno referenčno napetost 2.048 V. To se uporablja kot referenca za analogne signale ADC_Vout, ADC_Iout, ADC_Vbatt. Zato smo potrebovali delilnike napetosti, da bi te signale znižali na 2 V. Mikrokrmilnik Možgani tega projekta so ATMEGA328P, to je isti čip, ki se uporablja v Arduino Uno. Večino kontrolnih signalov smo že pregledali, vendar je kljub temu nekaj zanimivih dodatkov. Rotacijski dajalniki so povezani z dvema zunanjima prekinitvenima zatičema arduina: PD2 in PD3. To je potrebno za zanesljivo izvajanje programske opreme. Stikala spodaj uporabljajo notranji upogibni upor. Potem je na liniji za izbiro čipov potenciometra (lonec) še ta čuden delilnik napetosti. Napetostni delilnik na izhodu, za kaj je to dobro; bi lahko rekli. Kot smo že omenili, napajanje 5 V ni strašno natančno. Zato bi bilo dobro to natančno izmeriti in temu ustrezno prilagoditi obratovalni cikel signala PWM. Ker pa nisem imel več prostih vložkov, sem moral dvakrat pritisniti na pin. Ko se napajanje zažene, je ta zatič najprej nastavljen kot vhod: meri napajalno tirnico in se sam umerja. Nato je nastavljen kot izhod in lahko poganja linijo za izbiro čipov.

Gonilnik zaslona

Za zaslon sem želel splošno dostopen - in poceni - LCD zaslon Hitachi. Poganja jih 6 zatičev, a ker nisem imel nobenih zatičev, sem potreboval drugo rešitev. Premični register na pomoč! 74HC595 mi omogoča uporabo linije SPI za nadzor prikaza, zato potrebujem le 1 dodatno linijo za izbiro čipov.

FTDI

Zadnji del tega napajanja je povezava z okrutnim zunanjim svetom. Za to moramo pretvoriti serijske signale v USB signale. To naredi čip FTDI, ki je za enostavno povezavo priključen na vrata micro USB.

In to je vse!

3. korak: PCB in elektronika

PCB in elektronika
PCB in elektronika
PCB in elektronika
PCB in elektronika
PCB in elektronika
PCB in elektronika
PCB in elektronika
PCB in elektronika

Zdaj, ko razumemo, kako deluje vezje, ga lahko začnemo graditi! Lahko preprosto naročite tiskano vezje na spletu pri svojem najljubšem proizvajalcu (moj stane okoli 10 USD), datoteke gerber lahko najdete na mojem GitHubu skupaj s kosovnico. Sestavljanje tiskanega vezja je v bistvu stvar spajkanja sestavnih delov v skladu s sitotiskom in kosovnico materialov.

Prvi korak je spajkanje komponent SMD. Večino jih je enostavno narediti ročno, razen iz čipa FTDI in priključka mikro USB. Zato se lahko sam izognete spajkanju teh dveh komponent in namesto tega uporabite odklopno ploščo FTDI. Zagotovil sem zatiče glave, kjer je to mogoče spajkati.

Ko je delo SMD končano, lahko preidete na vse komponente lukenj. Te so zelo preproste. Za čipe boste morda želeli uporabiti vtičnice, namesto da jih spajkate neposredno na ploščo. Bolje je uporabiti ATMEGA328P z zagonskim nalagalnikom Arduino, sicer ga boste morali naložiti z glavo ICSP (prikazano tukaj).

Edini del, ki potrebuje malo več pozornosti, je LCD zaslon, saj ga je treba namestiti pod kotom. Nanj prilepite nekaj moških nagnjenih glav, s plastičnim kosom obrnjenim proti spodnji strani zaslona. To bo omogočilo dobro postavitev zaslona na tiskano vezje. Po tem ga lahko spajkate tako kot vse druge sestavne dele.

Edino, kar morate storiti, je, da dodate 2 žici, ki se povežeta s priključki za banane na sprednji plošči.

4. korak: Ohišje in montaža

Ohišje in montaža
Ohišje in montaža
Ohišje in montaža
Ohišje in montaža
Ohišje in montaža
Ohišje in montaža

Z izdelanim tiskanim vezjem lahko preidemo na ohišje. Posebej sem oblikoval tiskano vezje okoli tega ohišja iz hammonda, zato uporaba drugega ohišja ni priporočljiva. Vendar pa lahko vedno 3D natisnete ohišje enakih dimenzij.

Prvi korak je priprava zaključne plošče. Morali bomo izvrtati nekaj lukenj za vijake, stikala itd. To sem naredil ročno, če pa imate dostop do CNC, bi bila to natančnejša možnost. Luknje sem naredil po shemi in udaril luknje za vijake.

Dobro je, da zdaj dodate nekaj svilenih blazinic in jih pritrdite z majhno kapljico super lepila. Ti bodo izolirali LT3080 in TIP32 od zadnje plošče, hkrati pa bodo omogočili prenos toplote. Ne pozabite nanje! Pri privijanju žetonov na hrbtno stran uporabite izolacijo s podložko za sljudo!

Zdaj se lahko osredotočimo na sprednjo ploščo, ki samo drsi na svojem mestu. Zdaj lahko dodamo vtičnice za banane in gumbe za vrtljive dajalnike.

Ko sta nameščeni obe plošči, lahko zdaj vstavimo sklop v ohišje, dodamo baterije in vse skupaj zapremo. Uporabite zaščitene baterije, ne želite, da celice eksplodirajo!

Na tej točki je strojna oprema končana, vse, kar ostane, je, da s programsko opremo vnesete nekaj življenja!

5. korak: Arduino koda

Koda Arduino
Koda Arduino

Možgani tega projekta so ATMEGA328P, ki jih bomo programirali z Arduino IDE. V tem razdelku bom pregledal osnovno delovanje kode, podrobnosti pa najdete kot komentarje znotraj kode.

Koda se v bistvu vrti skozi te korake:

  1. Preberite serijske podatke iz jave
  2. Gumbi za glasovanje
  3. Izmerite napetost
  4. Izmerite tok
  5. Izmerite tok z INA219
  6. Pošlji serijske podatke v javo
  7. Konfigurirajte boostconvertor
  8. Napolnite baterijo
  9. Zaslon za posodobitev

Z rotacijskimi kodirniki upravlja rutina prekinitvenih storitev, da so čim bolj odzivni.

Kodo lahko zdaj naložite na ploščo prek vrat micro USB (če ima čip zagonski nalagalnik). Plošča: Arduino pro ali pro mini Programer: AVR ISP / AVRISP MKII

Zdaj si lahko ogledamo interakcijo med Arduinom in osebnim računalnikom.

6. korak: Koda Java

Koda Java
Koda Java

Za beleženje podatkov in nadzor napajanja prek računalnika sem naredil java aplikacijo. To nam omogoča enostavno upravljanje plošče prek grafičnega vmesnika. Tako kot pri kodi Arduino ne bom šel v vse podrobnosti, ampak bom dal pregled.

Začnemo tako, da naredimo okno z gumbi, besedilnimi polji itd.; osnovne stvari z grafičnim vmesnikom.

Zdaj prihaja zabaven del: dodajanje vrat USB, za katere sem uporabil knjižnico jSerialComm. Ko je vrata izbrana, bo java poslušal vse dohodne podatke. Podatke lahko pošljemo tudi v napravo.

Poleg tega se vsi dohodni podatki shranijo v datoteko csv za kasnejšo obdelavo podatkov.

Pri zagonu datoteke.jar moramo najprej iz spustnega menija izbrati prava vrata. Po povezavi bodo začeli prihajati podatki in nastavitve lahko pošljemo napajalniku.

Čeprav je program precej preprost, je lahko zelo koristno, da ga upravljate prek računalnika in beležite njegove podatke.

7. korak: Uspeh

Uspeh!
Uspeh!
Uspeh!
Uspeh!
Uspeh!
Uspeh!

Po vsem tem delu imamo zdaj popolnoma funkcionalno napajanje!

Za podporo se moram zahvaliti tudi nekaterim:

  • Projekt je temeljil na projektu uSupply podjetja EEVBLOG in njegovi shemi Rev C. Zato posebna zahvala Davidu L. Jonesu, ker je svoje sheme izdal pod odprtokodno licenco in delil vse svoje znanje.
  • Velika zahvala Johannu Pattynu za izdelavo prototipov tega projekta.
  • Za pomoč pri odpravljanju težav si zaslužita tudi Cedric Busschots in Hans Ingelberts.

Zdaj lahko uživamo v lastnem domačem napajanju, ki nam bo prišlo prav pri delu pri drugih čudovitih projektih! In kar je najpomembneje: na poti smo se naučili marsikaj.

Če vam je bil ta projekt všeč, prosim, glasujte zame na natečaju powersupply, zelo bi vam bil hvaležen! Https: //www.instructables.com/contest/powersupply/

Natečaj za napajanje
Natečaj za napajanje
Natečaj za napajanje
Natečaj za napajanje

Druga nagrada na natečaju za napajanje

Priporočena: