Kazalo:

Napajanje prek digitalnega USB C napajanja Bluetooth: 8 korakov (s slikami)
Napajanje prek digitalnega USB C napajanja Bluetooth: 8 korakov (s slikami)

Video: Napajanje prek digitalnega USB C napajanja Bluetooth: 8 korakov (s slikami)

Video: Napajanje prek digitalnega USB C napajanja Bluetooth: 8 korakov (s slikami)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, November
Anonim
Napajanje prek digitalnega USB C napajanja Bluetooth
Napajanje prek digitalnega USB C napajanja Bluetooth
Napajanje prek digitalnega USB C napajanja Bluetooth
Napajanje prek digitalnega USB C napajanja Bluetooth
Napajanje prek digitalnega USB C napajanja Bluetooth
Napajanje prek digitalnega USB C napajanja Bluetooth
Napajanje prek digitalnega USB C napajanja Bluetooth
Napajanje prek digitalnega USB C napajanja Bluetooth

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 računalnika in telefona?

V tem navodilu vam bom pokazal, kako zgraditi točno to: digitalno napajanje, ki se napaja prek USB -ja C. Je združljiv z arduinom in ga je mogoče upravljati prek osebnega računalnika prek USB -ja ali telefona prek Bluetootha.

Ta projekt je evolucija mojega prejšnjega napajanja, ki je delovalo na baterije in ima zaslon in gumbe. Preverite tukaj! Vendar sem hotel iti manj, zato sem to naredil!

Napajanje se lahko napaja iz akumulatorja USB C ali polnilnika telefona. To omogoča do 15 W moči, kar je dovolj za napajanje večine elektronike z nizko porabo energije! Za dober uporabniški vmesnik na tako majhni napravi sem za nadzor vključil Bluetooth in aplikacijo za Android, zaradi česar je to napajanje izjemno prenosljivo!

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

  • Napaja USB C
  • Upravlja se prek aplikacije Android prek povezave Bluetooth
  • Upravlja se prek Jave prek USB C
  • Načini stalne napetosti in konstantnega toka
  • Uporablja linearni regulator z nizkim šumom, pred katerim je predregulator za sledenje, da zmanjša porabo energije
  • Poganja ga ATMEGA32U4, programirano z Arduino IDE
  • Lahko se napaja iz baterije USB C, da je prenosna
  • Zaznavanje polnilnika USB C in Apple
  • 18 mm razmaknjeni čepi za banane za združljivost z adapterji BNC

Specifikacije

  • 0 - 1A, koraki 1 mA (10 -bitni DAC)
  • 0 - 25V, koraki 25 mV (10 -bitni DAC) (resnično delovanje 0V)
  • Merjenje napetosti: ločljivost 25 mV (10 -bitni ADC)
  • Trenutne meritve: <40mA: ločljivost 10uA (ina219) <80mA: Ločljivost 20uA (ina219) <160mA: Ločljivost 40uA (ina219) <320mA: Ločljivost 80uA (ina219)> 320mA: Ločljivost 1mA (10 -bitni ADC)

Stroški

Popolno napajanje me je stalo okoli 100 USD z vsemi enkratnimi komponentami. Č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 padla na okoli 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 (C23 in R32). Tako nastane analogna napetost - med 0 in 5 V - sorazmerna z želeno izhodno napetostjo. Ker je naše izhodno območje 0 - 25 V, bomo morali ta signal ojačati s faktorjem 5. To naredimo z neinvertirajočo konfiguracijo opampa U7C. Dobiček nastavljenega zatiča je določen z R31 in R36. Ti upori so 0,1% tolerantni, da zmanjšajo napake. R39 in R41 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,5 V. Ta napetost se zdaj primerja s padcem napetosti na trenutnem zaznavalnem uporu (ADC_Iout, glej spodaj) s primerjalno konfiguracijo opampa U1B. Če je tok previsok, bo ta vklopil LED in tudi potegnil nastavljeno črto LT3080 na tla (prek Q1) in tako izklopil izhod. Merjenje toka in generiranje signala ADC_Iout se izvede na naslednji način. Izhodni tok teče skozi upor R22. Ko tok teče skozi ta upor, ustvari padec napetosti, ki ga lahko izmerimo, in je postavljen pred LT3080, saj padec napetosti na njem ne bi smel vplivati na izhodno napetost. Padec napetosti se meri z diferencialnim ojačevalnikom (U7B) z dobičkom 5. To povzroči napetostno območje 0 - 2,5 V (več o tem kasneje), zato je razdelilnik napetosti pri signalu PWM toka. Medpomnilnik (U7A) je namenjen zagotavljanju, da tok, ki teče v uporih R27, R34 in R35, ne teče skozi trenutni senzorski upor, kar bi vplivalo na njegovo branje. 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 R46) 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. Na žalost je to vezje na izhodu iz LT3080, kar pomeni, da bo njegov tok prispeval k izhodnemu toku, ki ga želimo izmeriti. Na srečo je konstanten, zato lahko umerimo ta tok. Zener dioda D7 se uporablja za vpenjanje izhodne napetosti, če ta preseže 25 V, razdelilnik upora pa spusti območje izhodne napetosti od 0 - 25 V do 0 - 2,5 V (ADC_Vout). Odbojnik (U7D) zagotavlja, da upori ne črpajo toka iz izhoda.

Polnilna črpalka

Negativno napetost, ki smo jo omenili prej, ustvari zanimivo majhno vezje: polnilna črpalka. Napaja ga 50% PWM mikrokontrolerja (PWM).

Boost Converter

Zdaj pa poglejmo vhodno napetost našega glavnega bloka: VCC. Vidimo, da je 5 - 27V, vendar počakajte, USB daje največ 5 V? Dejansko in zato moramo povečati napetost s tako imenovanim ojačevalnim pretvornikom. Napetost lahko vedno povečamo na 27 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.

USB C

To nas pripelje do prave vhodne napetosti: USB -vhod! Razlog za uporabo USB C (natančneje USB 3.1, USB C je samo tip priključka) je v tem, da omogoča tok 3A pri 5V, kar je že kar nekaj moči. Vendar obstaja ulov, naprava mora biti skladna, da črpa ta tok in se "pogaja" z gostiteljsko napravo. V praksi se to naredi tako, da se na linijo CC1 in CC2 priključita dva 5,1 k spustna upora (R12 in R13). Za združljivost USB 2 je dokumentacija manj jasna. Skratka: narišete kakršen koli tok, ki ga želite, dokler ga gostitelj lahko zagotovi. To lahko preverite s spremljanjem napetosti vodila USB: ko napetost pade pod 4,25 V, naprava črpa preveč toka. Primerjalnik U1A to zazna in onemogoči izhod. Pošilja tudi signal mikrokrmilniku, da nastavi največji tok. Kot bonus so bili dodani upori, ki podpirajo odkrivanje ID polnilnika polnilnikov apple in samsung.

5V regulator

Napajalna napetost 5 V arduina običajno prihaja neposredno iz USB -ja. Ker pa se napetost USB lahko razlikuje glede na specifikacije USB med 4,5 in 5,5 V, to ni dovolj natančno. Zato se uporablja 5V regulator, ki lahko generira 5V iz nižjih in višjih napetosti. Kljub temu ta napetost ni zelo natančna, vendar se to reši s kalibracijskim korakom, pri katerem se delovni cikel signala PWM ustrezno prilagodi. To napetost e merimo z delilnikom napetosti, ki ga tvorita R42 in R43. 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 potenciometra.

Referenčna napetost 2,56 V

Ta mali čip zagotavlja zelo natančno referenčno napetost 2,56 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,5 V.

FTDI

Zadnji del tega napajanja je povezava z okrutnim zunanjim svetom. Za to moramo pretvoriti serijske signale v USB signale. Na srečo to počne ATMEGA32U4, to je isti čip, ki se uporablja v Arduino Micro.

Bluetooth

Del Bluetooth je zelo preprost: dodan je modul Bluetooth, ki je v prodaji in skrbi za vse namesto nas. Ker je njegova logična raven 3,3 V (VS 5 V za mikrokrmilnik), se za premik nivoja signala uporablja delilnik napetosti.

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

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.

Medtem ko je imel moj prejšnji napajalnik samo komponente skozi luknje, je omejitev velikosti mojega novega to onemogočila. Večino komponent je še vedno relativno enostavno spajkati, zato se ne bojte. Kot ponazoritev: moj prijatelj, ki še nikoli ni spajkal, je uspel poseliti to napravo!

Najlažje je, da sestavne dele najprej naredite na sprednji strani, nato na zadnji strani in končate s sestavnimi deli z luknjami. Pri tem se tiskano vezje ne bo nihalo pri spajkanju najtežjih komponent. Zadnja komponenta za spajkanje je modul Bluetooth.

Vse komponente je mogoče spajkati, razen dveh priključkov za banane, ki jih bomo namestili v naslednjem koraku!

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. PCB sem posebej oblikoval okoli aluminijastega ohišja 20x50x80mm (https://www.aliexpress.com/item/Aluminium-PCB-Instr…), 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. Za vtičnice za banane bomo morali izvrtati nekaj lukenj. To sem naredil ročno, če pa imate dostop do CNC, bi bila to natančnejša možnost. V te luknje vstavite vtičnice za banane in jih spajkajte na tiskano vezje.

Dobro je, da zdaj dodate nekaj svilenih blazinic in jih pritrdite z majhno kapljico super lepila. To bo omogočilo prenos toplote med LT3080 in LT1370 ter ohišjem. Ne pozabite nanje!

Zdaj se lahko osredotočimo na sprednjo ploščo, ki se samo privije. Z nameščenima obema ploščama lahko zdaj vstavimo sklop v ohišje in vse skupaj zapremo. 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 ATMEGA32U4, 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. Pošljite podatke v aplikacijo
  2. Preberite podatke iz aplikacije
  3. Izmerite napetost
  4. Izmerite tok
  5. Gumb za glasovanje

Prekomerni tok USB upravlja servisna rutina prekinitev, da je čim bolj odziven.

Preden lahko čip programirate prek USB -ja, morate zagonski nalagalnik zapisati. To se naredi prek vrat ISP/ICSP (moške glave 3x2) prek programerja ISP. Možnosti so AVRISPMK2, USBTINY ISP ali arduino kot ISP. Prepričajte se, da plošča dobi napajanje, in pritisnite gumb 'burn bootloader'.

Kodo lahko zdaj naložite na ploščo prek vrat USB C (ker ima čip zagonski nalagalnik). Plošča: Arduino Micro Programmer: AVR ISP / AVRISP MKII Zdaj si lahko ogledamo interakcijo med Arduinom in osebnim računalnikom.

6. korak: aplikacija za Android

Aplikacija za Android
Aplikacija za Android

Zdaj imamo popolnoma delujoč napajalnik, vendar ga še ne moremo nadzorovati. Zelo nadležna. Zato bomo naredili aplikacijo za Android za nadzor napajanja prek Bluetootha.

Aplikacija je bila narejena s programom izumitelja aplikacij MIT. Vse datoteke so lahko vključene za kloniranje in spreminjanje projekta. Najprej prenesite spremljevalno aplikacijo MIT AI2 v telefon. Nato uvozite datoteko.aia na spletno mesto AI. To vam omogoča tudi prenos aplikacije na svoj telefon, tako da izberete "Build> App (navedite kodo QR za.apk)"

Če želite uporabljati aplikacijo, s seznama izberite napravo Bluetooth: prikazana bo kot modul HC-05. Ko ste povezani, lahko spremenite vse nastavitve in preberete izhod napajanja.

Korak 7: 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.

8. korak:

Slika
Slika
Slika
Slika
Slika
Slika

Po vsem tem delu imamo zdaj popolnoma funkcionalno napajanje!

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č, vas prosim, da glasujete zame na natečaju za žepne mikrokontrolerje, zelo bi vam bil hvaležen!

Priporočena: