Sisällysluettelo:

Digitaalinen USB C -yhteensopiva Bluetooth -virtalähde: 8 vaihetta (kuvilla)
Digitaalinen USB C -yhteensopiva Bluetooth -virtalähde: 8 vaihetta (kuvilla)

Video: Digitaalinen USB C -yhteensopiva Bluetooth -virtalähde: 8 vaihetta (kuvilla)

Video: Digitaalinen USB C -yhteensopiva Bluetooth -virtalähde: 8 vaihetta (kuvilla)
Video: ÄLÄ irrota akkua autosta. Tee se oikein! 2024, Heinäkuu
Anonim
Digitaalinen USB C -yhteensopiva Bluetooth -virtalähde
Digitaalinen USB C -yhteensopiva Bluetooth -virtalähde
Digitaalinen USB C -yhteensopiva Bluetooth -virtalähde
Digitaalinen USB C -yhteensopiva Bluetooth -virtalähde
Digitaalinen USB C -yhteensopiva Bluetooth -virtalähde
Digitaalinen USB C -yhteensopiva Bluetooth -virtalähde
Digitaalinen USB C -yhteensopiva Bluetooth -virtalähde
Digitaalinen USB C -yhteensopiva Bluetooth -virtalähde

Oletko koskaan halunnut virtalähdettä, jota voit käyttää liikkeellä, vaikka pistorasia ei olisi lähellä? Eikö olisi hienoa, jos se olisi myös erittäin tarkka, digitaalinen ja hallittavissa tietokoneen ja puhelimen kautta?

Tässä ohjeessa näytän sinulle, kuinka rakentaa täsmälleen se: digitaalinen virtalähde, joka saa virtaa USB C: n kautta. Se on arduino -yhteensopiva ja sitä voidaan ohjata tietokoneen kautta USB: n kautta tai puhelimen kautta Bluetoothin kautta.

Tämä projekti on edistykseni edellisestä virtalähteestäni, joka toimi paristolla ja jossa oli näyttö ja nupit. Tarkista se täältä! Halusin kuitenkin pienentyä, joten siksi tein tämän!

Virtalähteeseen voidaan syöttää USB C -akku tai puhelinlaturi. Tämä mahdollistaa jopa 15 W: n tehon, joka riittää useimpien pienitehoisten elektroniikkalaitteiden virransyöttöön! Saadaksesi hyvän käyttöliittymän niin pienelle laitteelle, otin mukaan Bluetoothin ja Android -sovelluksen ohjaimia varten, mikä tekee tästä virtalähteestä erittäin kannettavan!

Näytän koko suunnitteluprosessin, ja kaikki projektitiedostot löytyvät GitHub -sivultani:

Aloitetaan!

Vaihe 1: Ominaisuudet ja hinta

Ominaisuudet ja hinta
Ominaisuudet ja hinta

ominaisuudet

  • Toimii USB C: llä
  • Ohjataan Android -sovelluksen kautta Bluetoothin kautta
  • Ohjataan Javan kautta USB C: n kautta
  • Jatkuva jännite ja vakiovirta
  • Käyttää hiljaista lineaarista säädintä, jota edeltää seurannan esisäädin tehonhukan minimoimiseksi
  • Powered by ATMEGA32U4, ohjelmoitu Arduino IDE: llä
  • Voidaan käyttää USB C -paristopankista, jotta se olisi kannettava
  • USB C- ja Apple -laturin tunnistus
  • 18 mm: n välein olevat banaanitulpat BNC -sovittimien kanssa

Tekniset tiedot

  • 0-1A, 1 mA (10 bitin DAC)
  • 0 - 25 V, 25 mV: n portaat (10 -bittinen DAC) (todellinen 0 V: n toiminta)
  • Jännitteen mittaus: 25 mV resoluutio (10 bittiä ADC)
  • Nykyinen mittaus: <40mA: 10uA resoluutio (ina219) <80mA: 20uA resoluutio (ina219) <160mA: 40uA resoluutio (ina219) <320mA: 80uA resoluutio (ina219)> 320mA: 1mA resoluutio (10 bit ADC)

Kustannus

Täydellinen virtalähde maksoi minulle noin 100 dollaria, kaikki kertaluonteiset komponentit. Vaikka tämä saattaa tuntua kalliilta, virtalähteet, joilla on paljon vähemmän suorituskykyä ja ominaisuuksia, maksavat usein enemmän kuin tämä. Jos et halua tilata komponentteja ebaystä tai aliexpressistä, hinta putoaa noin 70 dollariin. Osien saapuminen kestää kauemmin, mutta se on toimiva vaihtoehto.

Vaihe 2: Kaavio ja toimintateoria

Kaavio ja toimintateoria
Kaavio ja toimintateoria

Jotta ymmärrämme piirin toiminnan, meidän on tarkasteltava kaaviota. Jaoin sen toiminnallisiin lohkoihin, jotta se olisi helpompi ymmärtää; Selitän siis myös toiminnan vaihe vaiheelta. Tämä osa on varsin syvällinen ja vaatii hyvää elektroniikkatietoa. Jos haluat vain tietää, miten piiri rakennetaan, voit siirtyä seuraavaan vaiheeseen.

Päälohko

Toiminta perustuu LT3080 -siruun: se on lineaarinen jännitesäädin, joka voi laskea jännitteitä ohjaussignaalin perusteella. Tämän ohjaussignaalin muodostaa mikro -ohjain; miten tämä tehdään, selitetään yksityiskohtaisesti myöhemmin.

Jännitteen asetus

LT3080: n ympärillä oleva piiri tuottaa sopivat ohjaussignaalit. Ensin katsomme, miten jännite asetetaan. Mikro -ohjaimen jänniteasetus on PWM -signaali (PWM_Vset), joka suodatetaan alipäästösuodattimella (C23 & R32). Tämä tuottaa analogisen jännitteen - 0 - 5 V - verrannollinen haluttuun lähtöjännitteeseen. Koska lähtöalue on 0 - 25 V, meidän on vahvistettava tämä signaali kertoimella 5. Tämä tapahtuu U7C: n ei -invertoivalla opamp -kokoonpanolla. R31 ja R36 määrittävät vahvistustapin vahvistuksen. Nämä vastukset kestävät 0,1% virheiden minimoimiseksi. R39: llä ja R41: llä ei ole väliä, koska ne ovat osa palautesilmukkaa.

Nykyinen asetus

Tätä nastatappia voidaan käyttää myös toiseen asetukseen: nykyinen tila. Haluamme mitata virrankulutuksen ja sammuttaa lähdön, kun se ylittää halutun virran. Siksi aloitamme uudelleen PWM -signaalilla (PWM_Iset), jonka mikrokontrolleri tuottaa, joka on nyt alipäästösuodatettu ja vaimennettu siirtymään 0 - 5 V: n alueelta 0 - 2,5 V: n alueelle. Tätä jännitettä verrataan nyt jännitehäviöön nykyisen tunnistusvastuksen (ADC_Iout, katso alla) kautta opamp U1B: n vertailukonfiguraation avulla. Jos virta on liian korkea, tämä sytyttää ledin ja vetää myös LT3080: n asetuslinjan maahan (Q1: n kautta), jolloin lähtö kytketään pois päältä. Virran mittaus ja signaalin ADC_Iout luominen tehdään seuraavasti. Lähtövirta kulkee vastuksen R22 läpi. Kun virta kulkee tämän vastuksen läpi, se aiheuttaa jännitehäviön, jonka voimme mitata, ja se asetetaan LT3080: n eteen, koska sen yli tuleva jännitehäviö ei saisi vaikuttaa lähtöjännitteeseen. Jännitehäviö mitataan differentiaalivahvistimella (U7B), jonka vahvistus on 5. Tämä johtaa jännitealueeseen 0 - 2,5 V (lisää myöhemmin), joten jännitteenjakaja virran PWM -signaalissa. Puskuri (U7A) on olemassa varmistaakseen, että vastuksiin R27, R34 ja R35 virtaava virta ei mene nykyisen aistivastuksen läpi, mikä vaikuttaisi sen lukemiseen. Huomaa myös, että tämän pitäisi olla kisko-kisko-opamp, koska positiivisen tulon tulojännite on sama kuin syöttöjännite. Ei -invertoiva vahvistin on tarkoitettu vain kurssin mittaamiseen, mutta erittäin tarkkoja mittauksia varten meillä on INA219 -siru. Tämän sirun avulla voimme mitata hyvin pieniä virtauksia, ja sitä käsitellään I2C: n kautta.

Muita asioita

LT3080: n ulostulossa meillä on lisää tavaraa. Ensinnäkin on olemassa nykyinen pesuallas (LM334). Tämä ottaa vakion 677 uA: n virran (asettama vastuksella R46) LT3080: n vakauttamiseksi. Sitä ei kuitenkaan ole kytketty maahan, vaan VEE: hen, negatiivinen jännite. Tämä on tarpeen, jotta LT3080 voi toimia 0 V. Valitettavasti tämä piiri on LT3080: n ulostulossa, mikä tarkoittaa, että sen virta vaikuttaa ulostulovirtaan, jonka haluamme mitata. Onneksi se on vakio, jotta voimme kalibroida tämän virran. Zener -diodia D7 käytetään puristamaan lähtöjännite, jos se ylittää 25 V, ja vastuksenjakaja laskee lähtöjännitealueen 0 - 25 V - 0 - 2,5 V (ADC_Vout). Puskuri (U7D) varmistaa, että vastukset eivät ota virtaa lähdöstä.

Lataa pumppu

Aiemmin mainitsemamme negatiivinen jännite syntyy uteliaasta pienestä piiristä: latauspumppu. Sitä syöttää 50% PWM mikrokontrollerista (PWM).

Boost -muunnin

Katsotaanpa nyt päälohkon tulojännitettä: VCC. Näemme, että se on 5 - 27 V, mutta odota, USB antaa enintään 5 V? Todellakin, ja siksi meidän on lisättävä jännitettä niin kutsutulla tehomuuntimella. Voisimme aina nostaa jännitteen 27 V: iin riippumatta siitä, mitä lähtöä haluamme; tämä kuitenkin hukkaa paljon virtaa LT3080: ssa ja asiat kuumenevat paahteisesti! Joten sen sijaan, että teemme niin, nostamme jännitettä hieman enemmän kuin lähtöjännite. Noin 2,5 V korkeampi on sopiva, jotta voidaan ottaa huomioon jännitehäviö nykyisessä tunnistusvastuksessa ja LT3080: n katkaisujännite. Jännite asetetaan tehonmuuntimen lähtösignaalin vastuksilla. Tämän jännitteen muuttamiseksi lennossa käytämme digitaalista potentiometriä, MCP41010, jota ohjataan SPI: n kautta.

USB C

Tämä johtaa meidät todelliseen tulojännitteeseen: USB -porttiin! Syy käyttää USB C: tä (USB -tyyppi 3.1 tarkalleen, USB C on vain liitintyyppi) johtuu siitä, että se sallii 3A: n virran 5 V: ssa, mikä on jo jonkin verran virtaa. Mutta on olemassa saalis, laitteen on oltava yhteensopiva tämän virran ottamiseksi ja "neuvottelemiseksi" isäntälaitteen kanssa. Käytännössä tämä tehdään kytkemällä kaksi 5,1 kt: n ulosvetovastusta (R12 ja R13) CC1- ja CC2 -linjaan. USB 2 -yhteensopivuuden osalta dokumentaatio on epäselvämpi. Lyhyesti sanottuna: vedät haluamasi virran, kunhan isäntä voi tarjota sen. Tämä voidaan tarkistaa seuraamalla USB -väylän jännitettä: yksi jännite laskee alle 4,25 V, laite ottaa liikaa virtaa. Vertailija U1A havaitsee tämän ja poistaa sen käytöstä. Se lähettää myös signaalin mikrokontrolleriin maksimivirran asettamiseksi. Bonuksena on lisätty vastuksia, jotka tukevat omena- ja samsung -laturien laturitunnuksen tunnistamista.

5V säädin

Arduino 5 V: n syöttöjännite tulee normaalisti suoraan USB -liitännästä. Mutta koska USB -jännite voi vaihdella 4,5 ja 5,5 V välillä USB -teknisten tietojen mukaan, tämä ei ole riittävän tarkka. Siksi käytetään 5 V: n säädintä, joka voi tuottaa 5 V pienemmistä ja korkeammista jännitteistä. Silti tämä jännite ei ole kauhean tarkka, mutta tämä ratkaistaan kalibrointivaiheella, jossa PWM -signaalin toimintajaksoa säädetään vastaavasti. Tämä jännite mitataan R42: n ja R43: n muodostamalla jännitteenjakajalla. Mutta koska minulla ei ollut enää ilmaisia tuloja, minun piti tehdä kaksinkertainen tappi. Kun virtalähde käynnistyy, tämä nasta asetetaan ensin tuloksi: se mittaa syöttökiskon ja kalibroi itsensä. Seuraavaksi se asetetaan lähtöön ja se voi ajaa potentiometrin sirunvalintalinjaa.

2,56 V jänniteohje

Tämä pieni siru tarjoaa erittäin tarkan 2,56 V jänniteohjeen. Tätä käytetään viitteenä analogisille signaaleille ADC_Vout, ADC_Iout, ADC_Vbatt. Siksi tarvitsimme jännitteenjakajia saadaksemme nämä signaalit 2,5 V: iin.

FTDI

Tämän tehonsyötön viimeinen osa on yhteys julmaan ulkomaailmaan. Tätä varten meidän on muutettava sarjasignaalit USB -signaaleiksi. Onneksi tämän tekee ATMEGA32U4, tämä on sama siru, jota käytetään Arduino Micro -laitteessa.

Bluetooth

Bluetooth-osa on hyvin yksinkertainen: lisätään valmiina oleva Bluetooth-moduuli, joka hoitaa kaiken puolestamme. Koska sen logiikkataso on 3,3 V (VS 5V mikrokontrollerille), jännitteenjakajaa käytetään signaalin tason siirtämiseen.

Ja siinä kaikki!

Vaihe 3: Piirilevy ja elektroniikka

Piirilevy ja elektroniikka
Piirilevy ja elektroniikka
Piirilevy ja elektroniikka
Piirilevy ja elektroniikka
Piirilevy ja elektroniikka
Piirilevy ja elektroniikka

Nyt kun ymmärrämme, miten piiri toimii, voimme aloittaa sen rakentamisen! Voit yksinkertaisesti tilata piirilevyn verkosta suosikkivalmistajalta (omani maksaa noin 10 dollaria), gerber -tiedostot löytyvät GitHubistani yhdessä materiaaliluettelon kanssa. Piirilevyn kokoaminen on silloin pohjimmiltaan kyse komponenttien juottamisesta paikalleen silkkipainon ja materiaaliluettelon mukaan.

Vaikka aiemmassa virtalähteessäni oli vain reikäkomponentteja, uuden koon rajoittaminen teki tämän mahdottomaksi. Suurin osa komponenteista on edelleen suhteellisen helppo juottaa, joten älä pelkää. Esimerkkinä: ystäväni, joka ei ollut koskaan juottanut ennen, onnistui täyttämään tämän laitteen!

Helpointa on tehdä osat ensin etupuolella, sitten takana ja viimeistellä reikäkomponentit. Kun teet tämän, piirilevy ei heilua juotettaessa vaikeimpia komponentteja. Viimeinen juotettava komponentti on Bluetooth -moduuli.

Kaikki komponentit voidaan juottaa, paitsi 2 banaaniliitintä, jotka asennamme seuraavassa vaiheessa!

Vaihe 4: Kotelo ja kokoonpano

Kotelo ja kokoonpano
Kotelo ja kokoonpano
Kotelo ja kokoonpano
Kotelo ja kokoonpano
Kotelo ja kokoonpano
Kotelo ja kokoonpano

Kun piirilevy on tehty, voimme siirtyä koteloon. Suunnittelin piirilevyn erityisesti 20 x 50 x 80 mm: n alumiinikotelon ympärille (https://www.aliexpress.com/item/Aluminium-PCB-Instr…), joten toisen kotelon käyttöä ei suositella. Voit kuitenkin aina tulostaa 3D -kotelon, jonka mitat ovat samat.

Ensimmäinen vaihe on valmistella päätypaneeli. Meidän on porattava joitakin reikiä banaaniliittimille. Tein tämän käsin, mutta jos sinulla on pääsy CNC: hen, se olisi tarkempi vaihtoehto. Aseta banaaniliittimet näihin reikiin ja juota ne piirilevylle.

On hyvä lisätä silkkityynyjä nyt ja pitää ne paikallaan pienellä tipalla superliimaa. Nämä mahdollistavat lämmönsiirron LT3080: n ja LT1370: n ja kotelon välillä. Älä unohda niitä!

Voimme nyt keskittyä etupaneeliin, joka vain ruuvataan paikalleen. Kun molemmat paneelit ovat paikallaan, voimme nyt asettaa kokoonpanon koteloon ja sulkea sen kokonaan. Tässä vaiheessa laitteisto on valmis, nyt ei ole muuta kuin puhaltaa siihen elämää ohjelmiston avulla!

Vaihe 5: Arduino -koodi

Arduino -koodi
Arduino -koodi

Tämän projektin aivot ovat ATMEGA32U4, jonka ohjelmoimme Arduino IDE: llä. Tässä osassa käyn läpi koodin perustoiminnot, tiedot löytyvät kommenteista koodin sisällä.

Koodi perustuu periaatteessa seuraaviin vaiheisiin:

  1. Lähetä tiedot sovellukseen
  2. Lue tietoja sovelluksesta
  3. Mittaa jännite
  4. Mittaa virta
  5. Poll -painike

USB -ylivirtaa käsittelee keskeytyspalvelurutiini, jotta se reagoi mahdollisimman hyvin.

Ennen kuin siru voidaan ohjelmoida USB: n kautta, käynnistyslatain on poltettava. Tämä tehdään ISP/ICSP -portin (3x2 urosotsikot) kautta ISP -ohjelmoijan kautta. Vaihtoehdot ovat AVRISPMK2, USBTINY ISP tai arduino ISP: nä. Varmista, että kortti saa virtaa ja paina 'polttaa käynnistyslataimen' -painiketta.

Koodi voidaan nyt ladata taululle USB C -portin kautta (koska sirussa on käynnistyslatain). Alusta: Arduino Micro Programmer: AVR ISP / AVRISP MKII Nyt voimme tarkastella Arduinon ja tietokoneen välistä vuorovaikutusta.

Vaihe 6: Android -sovellus

Android -sovellus
Android -sovellus

Meillä on nyt täysin toimiva virtalähde, mutta emme voi vielä hallita sitä. Todella ärsyttävä, todella turhauttava. Joten teemme Android -sovelluksen, joka ohjaa virtalähdettä Bluetoothin kautta.

Sovellus on tehty MIT -sovellusten keksijäohjelmalla. Kaikki tiedostot voidaan sisällyttää projektin kloonaamiseen ja muokkaamiseen. Lataa ensin MIT AI2 -sovellus puhelimeesi. Tuo sitten.aia -tiedosto AI -verkkosivustolle. Tämän avulla voit myös ladata sovelluksen omalle puhelimellesi valitsemalla "Rakenna> Sovellus (anna QR -koodi.apk: lle")

Jos haluat käyttää sovellusta, valitse Bluetooth-laite luettelosta: se näkyy HC-05-moduulina. Kun yhteys on muodostettu, kaikkia asetuksia voidaan muuttaa ja virtalähteen lähtö voidaan lukea.

Vaihe 7: Java -koodi

Java -koodi
Java -koodi

Tietojen kirjaamista ja virtalähteen hallintaa varten PC: n kautta tein java -sovelluksen. Näin voimme hallita levyä helposti graafisen käyttöliittymän kautta. Kuten Arduino -koodin kanssa, en mene kaikkiin yksityiskohtiin, mutta annan yleiskatsauksen.

Aloitamme tekemällä ikkunan painikkeilla, tekstikentillä jne. peruskäyttöliittymä.

Nyt tulee hauska osa: USB -porttien lisääminen, johon käytin jSerialComm -kirjastoa. Kun portti on valittu, java kuuntelee saapuvia tietoja. Voimme myös lähettää tietoja laitteelle.

Lisäksi kaikki saapuvat tiedot tallennetaan csv -tiedostoon myöhempää tietojenkäsittelyä varten.

Kun ajamme.jar -tiedostoa, meidän on ensin valittava oikea portti avattavasta valikosta. Yhteyden muodostamisen jälkeen tietoja alkaa tulla, ja voimme lähettää asetuksemme virtalähteelle.

Vaikka ohjelma on melko yksinkertainen, voi olla erittäin hyödyllistä hallita sitä tietokoneen kautta ja kirjata sen tiedot.

Vaihe 8:

Kuva
Kuva
Kuva
Kuva
Kuva
Kuva

Kaiken tämän työn jälkeen meillä on nyt täysin toimiva virtalähde!

Nyt voimme nauttia omasta kotitekoisesta virtalähteestä, josta on hyötyä muiden mahtavien projektien parissa! Ja mikä tärkeintä: olemme oppineet monia asioita matkan varrella.

Jos pidit tästä projektista, äänestä minua taskukokoisessa ja mikrokontrollerikilpailussa, olisin todella kiitollinen siitä!

Suositeltava: