Satura rādītājs:

Ar digitālo USB C darbināms Bluetooth barošanas avots: 8 soļi (ar attēliem)
Ar digitālo USB C darbināms Bluetooth barošanas avots: 8 soļi (ar attēliem)

Video: Ar digitālo USB C darbināms Bluetooth barošanas avots: 8 soļi (ar attēliem)

Video: Ar digitālo USB C darbināms Bluetooth barošanas avots: 8 soļi (ar attēliem)
Video: 🧠 Отключать зарядное устройство из розетки или нет? 🔋 2024, Jūlijs
Anonim
Ar digitālo USB C darbināms Bluetooth barošanas avots
Ar digitālo USB C darbināms Bluetooth barošanas avots
Ar digitālo USB C darbināms Bluetooth barošanas avots
Ar digitālo USB C darbināms Bluetooth barošanas avots
Ar digitālo USB C darbināms Bluetooth barošanas avots
Ar digitālo USB C darbināms Bluetooth barošanas avots
Ar digitālo USB C darbināms Bluetooth barošanas avots
Ar digitālo USB C darbināms Bluetooth barošanas avots

Vai esat kādreiz vēlējies barošanas avotu, ko varat izmantot, atrodoties ceļā, pat ja tuvumā nav sienas kontaktligzdas? Un vai nebūtu forši, ja tas būtu arī ļoti precīzs, digitāls un kontrolējams, izmantojot datoru un tālruni?

Šajā pamācībā es jums parādīšu, kā izveidot tieši to: digitālo barošanas avotu, kas tiek darbināts, izmantojot USB C. Tas ir saderīgs ar arino, un to var kontrolēt, izmantojot datoru, izmantojot USB, vai tālruni, izmantojot Bluetooth.

Šis projekts ir mana iepriekšējā barošanas avota attīstība, kas darbojās ar baterijām, un tam bija displejs un pogas. Pārbaudiet to šeit! Tomēr es gribēju kļūt mazāks, tāpēc es to izveidoju!

Barošanas avotu var darbināt no USB C akumulatora bankas vai tālruņa lādētāja. Tas nodrošina līdz pat 15W jaudu, kas ir pietiekami, lai darbinātu lielāko daļu mazjaudas elektronikas! Lai tik mazā ierīcē būtu labs lietotāja interfeiss, es vadīklām iekļāvu Bluetooth un Android lietotni. Tas padara šo jaudas piegādi īpaši pārnēsājamu!

Es parādīšu visu projektēšanas procesu, un visus projekta failus var atrast manā GitHub lapā:

Sāksim!

1. darbība: funkcijas un izmaksas

Funkcijas un izmaksas
Funkcijas un izmaksas

Iespējas

  • Darbojas ar USB C
  • Kontrolē, izmantojot Android lietotni, izmantojot Bluetooth
  • Vadāms caur Java, izmantojot USB C
  • Pastāvīga sprieguma un pastāvīgas strāvas režīmi
  • Izmanto zema trokšņa lineāro regulatoru, pirms kura tiek izmantots izsekošanas priekšregulators, lai samazinātu enerģijas izkliedi
  • Darbojas ar ATMEGA32U4, ieprogrammēts ar Arduino IDE
  • Var darbināt ar USB C akumulatoru banku, lai padarītu to pārnēsājamu
  • USB C un Apple lādētāja noteikšana
  • 18 mm izvietoti banānu aizbāžņi savietojamībai ar BNC adapteriem

Specifikācijas

  • 0 - 1A, 1 mA soļi (10 bitu DAC)
  • 0 - 25 V, 25 mV soļi (10 bitu DAC) (patiesa 0 V darbība)
  • Sprieguma mērīšana: 25 mV izšķirtspēja (10 bitu ADC)
  • Pašreizējais mērījums: <40mA: 10uA izšķirtspēja (ina219) <80mA: 20uA izšķirtspēja (ina219) <160mA: 40uA izšķirtspēja (ina219) <320mA: 80uA izšķirtspēja (ina219)> 320mA: 1mA izšķirtspēja (10 bitu ADC)

Izmaksas

Pilnīga strāvas padeve man izmaksāja aptuveni 100 USD ar visām vienreizējām sastāvdaļām. Lai gan tas var šķist dārgi, barošanas avoti ar daudz zemāku veiktspēju un funkcijām bieži maksā dārgāk. Ja jums nav iebildumu pasūtīt komponentus no ebay vai aliexpress, cena samazināsies līdz aptuveni 70 USD. Daļu piegāde prasa ilgāku laiku, taču tā ir dzīvotspējīga iespēja.

2. darbība. Shēma un darbības teorija

Shēma un darbības teorija
Shēma un darbības teorija

Lai saprastu ķēdes darbību, mums būs jāaplūko shematiski. Es to sadalīju funkcionālos blokos, lai to būtu vieglāk saprast; Tādējādi es arī paskaidrošu darbību soli pa solim. Šī daļa ir diezgan padziļināta un prasa labas zināšanas par elektroniku. Ja vēlaties uzzināt, kā izveidot ķēdi, varat pāriet uz nākamo darbību.

Galvenais bloks

Darbības pamatā ir LT3080 mikroshēma: tas ir lineārs sprieguma regulators, kas var samazināt spriegumu, pamatojoties uz vadības signālu. Šo vadības signālu ģenerēs mikrokontrolleris; kā tas tiek darīts, tiks sīkāk paskaidrots vēlāk.

Sprieguma iestatīšana

Ķēdes ap LT3080 ģenerē atbilstošus vadības signālus. Pirmkārt, mēs apskatīsim, kā tiek iestatīts spriegums. Sprieguma iestatījums no mikrokontrollera ir PWM signāls (PWM_Vset), ko filtrē zemfrekvences filtrs (C23 & R32). Tas rada analogo spriegumu - no 0 līdz 5 V - proporcionālu vēlamajam izejas spriegumam. Tā kā mūsu izejas diapazons ir 0 - 25 V, mums būs jāpastiprina šis signāls ar koeficientu 5. Tas tiek darīts ar U7C neinvertējošo opamp konfigurāciju. Iestatītās tapas pastiprinājumu nosaka R31 un R36. Šie rezistori ir 0,1% toleranti, lai samazinātu kļūdas. R39 un R41 šeit nav nozīmes, jo tie ir daļa no atgriezeniskās saites.

Pašreizējais iestatījums

Šo iestatīšanas tapu var izmantot arī otrajam iestatījumam: pašreizējais režīms. Mēs vēlamies izmērīt strāvas patēriņu un izslēgt izeju, kad tā pārsniedz vēlamo strāvu. Tāpēc mēs atkal sākam ar PWM signālu (PWM_Iset), ko ģenerē mikrokontrolleris, kas tagad ir zemfrekvences filtrs un vājināts, lai pārietu no 0 - 5 V diapazona uz 0 - 2,5 V diapazonu. Šo spriegumu tagad salīdzina ar sprieguma kritumu strāvas jutības rezistorā (ADC_Iout, skatīt zemāk), izmantojot opamp U1B salīdzinājuma konfigurāciju. Ja strāva ir pārāk augsta, tas ieslēgs LED, kā arī novilks LT3080 iestatīto līniju uz zemes (caur Q1), tādējādi izslēdzot izeju. Strāvas mērīšana un signāla ADC_Iout ģenerēšana tiek veikta šādi. Izejas strāva plūst caur rezistoru R22. Kad caur šo rezistoru plūst strāva, tas rada sprieguma kritumu, ko mēs varam izmērīt, un tas tiek novietots pirms LT3080, jo sprieguma kritumam pāri tam nevajadzētu ietekmēt izejas spriegumu. Sprieguma kritumu mēra ar diferenciālo pastiprinātāju (U7B) ar pastiprinājumu 5. Tā rezultātā sprieguma diapazons ir 0 - 2,5 V (vairāk par to vēlāk), tātad sprieguma dalītājs pie strāvas PWM signāla. Buferis (U7A) ir paredzēts, lai pārliecinātos, ka rezistoros R27, R34 un R35 ieplūstošā strāva neiziet caur pašreizējo jutības rezistoru, kas varētu ietekmēt tā nolasīšanu. Ņemiet vērā arī to, ka tam vajadzētu būt sliedes-sliedes opampam, jo ieejas spriegums pie pozitīvās ieejas ir vienāds ar barošanas spriegumu. Neinvertējošais pastiprinātājs ir paredzēts tikai kursa mērīšanai, lai gan ļoti precīziem mērījumiem mums ir INA219 mikroshēma. Šī mikroshēma ļauj izmērīt ļoti mazas strāvas, un tā tiek adresēta, izmantojot I2C.

Papildu lietas

Pēc LT3080 izejas mums ir vēl dažas lietas. Pirmkārt, ir strāvas izlietne (LM334). Lai stabilizētu LT3080, tas patērē nemainīgu strāvu 677 uA (ko nosaka rezistors R46). Tomēr tas nav savienots ar zemi, bet ar VEE, negatīvu spriegumu. Tas ir nepieciešams, lai ļautu LT3080 darboties līdz 0 V. Pievienojot zemei, zemākais spriegums būtu aptuveni 0,7 V. Šķiet, ka tas ir pietiekami zems, taču paturiet prātā, ka tas neļauj pilnībā izslēgt barošanas avotu. Diemžēl šī ķēde atrodas pie LT3080 izejas, kas nozīmē, ka tā strāva veicinās izejas strāvu, kuru mēs vēlamies izmērīt. Par laimi, tas ir nemainīgs, lai mēs varētu kalibrēt šo strāvu. Zenera diode D7 tiek izmantota, lai fiksētu izejas spriegumu, ja tas pārsniedz 25 V, un rezistoru dalītājs samazina izejas sprieguma diapazonu no 0 - 25 V līdz 0 - 2,5 V (ADC_Vout). Buferis (U7D) nodrošina, ka rezistori no izejas neņem strāvu.

Uzlādes sūknis

Negatīvo spriegumu, ko mēs minējām iepriekš, rada interesanta maza ķēde: uzlādes sūknis. To baro 50% PWM no mikrokontrollera (PWM).

Boost pārveidotājs

Tagad apskatīsim mūsu galvenā bloka ieejas spriegumu: VCC. Mēs redzam, ka tas ir 5 - 27V, bet pagaidiet, USB dod maksimāli 5 V? Patiešām, un tāpēc mums ir jāpaaugstina spriegums ar tā saukto pastiprinātāja pārveidotāju. Mēs vienmēr varētu palielināt spriegumu līdz 27 V neatkarīgi no vēlamās izejas; tomēr tas LT3080 izšķērdētu daudz enerģijas un viss kļūtu ļoti karsts! Tā vietā, lai to izdarītu, mēs paaugstināsim spriegumu līdz nedaudz vairāk nekā izejas spriegums. Aptuveni 2,5 V augstāks ir piemērots, lai ņemtu vērā sprieguma kritumu pašreizējā pretestībā un LT3080 izslēgšanas spriegumu. Spriegumu nosaka rezistori uz pastiprinātāja pārveidotāja izejas signāla. Lai mainītu šo spriegumu, mēs izmantojam digitālo potenciometru MCP41010, ko kontrolē, izmantojot SPI.

USB C

Tas noved mūs pie reālā ieejas sprieguma: USB porta! Iemesls USB C (precīzāk, USB tips 3.1, USB C ir tikai savienotāja veids) izmantošanai ir tāpēc, ka tas pieļauj 3A strāvu pie 5 V, kas jau ir diezgan liela jauda. Bet ir kāda nianse, ierīcei ir jābūt saderīgai, lai izvilktu šo strāvu un “sarunātu” ar saimniekdatoru. Praksē tas tiek darīts, savienojot divus 5.1k nolaižamos rezistorus (R12 un R13) pie CC1 un CC2 līnijas. USB 2 saderībai dokumentācija nav tik skaidra. Īsāk sakot: jūs zīmējat jebkuru vēlamo strāvu, ja vien saimnieks to var nodrošināt. To var pārbaudīt, uzraugot USB kopnes spriegumu: ja spriegums nokrītas zem 4,25 V, ierīce patērē pārāk daudz strāvas. To konstatē salīdzinātājs U1A un atspējo izvadi. Tas arī nosūta signālu mikrokontrolleram, lai iestatītu maksimālo strāvu. Kā bonuss ir pievienoti rezistori, lai atbalstītu Apple un Samsung lādētāju lādētāja ID noteikšanu.

5V regulators

Arduino 5 V barošanas spriegums parasti nāk tieši no USB. Bet, tā kā USB spriegums var atšķirties no 4,5 līdz 5,5 V atbilstoši USB specifikācijai, tas nav pietiekami precīzs. Tāpēc tiek izmantots 5V regulators, kas var radīt 5V no zemāka un augstāka sprieguma. Tomēr šis spriegums nav šausmīgi precīzs, taču to atrisina kalibrēšanas solis, kurā attiecīgi tiek pielāgots PWM signāla darba cikls. Šo spriegumu mēra ar sprieguma dalītāju, ko veido R42 un R43. Bet, tā kā man vairs nebija brīvu ieeju, man bija jāveic divkāršs pienākums. Kad sāk darboties barošanas avots, šī tapa vispirms tiek iestatīta kā ievade: tā mēra barošanas sliedi un kalibrē sevi. Tālāk tas ir iestatīts kā izeja, un tas var vadīt potenciometra mikroshēmas izvēles līniju.

2,56 V sprieguma atskaite

Šī mazā mikroshēma nodrošina ļoti precīzu 2,56 V sprieguma atskaiti. To izmanto kā atsauci analogiem signāliem ADC_Vout, ADC_Iout, ADC_Vbatt. Tāpēc mums vajadzēja sprieguma dalītājus, lai samazinātu šos signālus līdz 2,5 V.

FTDI

Šīs enerģijas piegādes pēdējā daļa ir saikne ar nežēlīgo ārpasauli. Šim nolūkam sērijas signāli ir jāpārvērš USB signālos. Par laimi, to dara ATMEGA32U4, šī ir tā pati mikroshēma, kas tiek izmantota Arduino Micro.

Bluetooth

Bluetooth daļa ir ļoti vienkārša: tiek pievienots gatavais Bluetooth modulis, kas par mums parūpējas par visu. Tā kā tā loģiskais līmenis ir 3,3 V (VS 5V mikrokontrolleram), signāla līmeņa maiņai tiek izmantots sprieguma dalītājs.

Un tas arī viss!

3. darbība: PCB un elektronika

PCB un elektronika
PCB un elektronika
PCB un elektronika
PCB un elektronika
PCB un elektronika
PCB un elektronika

Tagad, kad mēs saprotam, kā ķēde darbojas, mēs varam sākt to veidot! Jūs varat vienkārši pasūtīt PCB tiešsaistē no sava iecienītākā ražotāja (mans maksā apmēram 10 USD), gerber failus var atrast manā GitHub kopā ar materiālu sarakstu. Pēc tam PCB salikšana pamatā ir sastāvdaļu lodēšana saskaņā ar sietspiedi un materiālu sarakstu.

Lai gan manā iepriekšējā barošanas avotā bija tikai caurumi ar caurumiem, mana jaunā izmēra ierobežojums padarīja to neiespējamu. Lielāko daļu sastāvdaļu joprojām ir samērā viegli pielodēt, tāpēc nebaidieties. Kā ilustrācija: manam draugam, kurš nekad iepriekš nebija lodējis, izdevās aizpildīt šo ierīci!

Visvieglāk ir vispirms veikt detaļas priekšpusē, pēc tam aizmugurē un pabeigt ar caurumiem. To darot, PCB nesvārstīsies, lodējot vissarežģītākās sastāvdaļas. Pēdējais lodējamais komponents ir Bluetooth modulis.

Visas sastāvdaļas var pielodēt, izņemot 2 banānu domkrati, kurus mēs uzstādīsim nākamajā darbībā!

4. solis: korpuss un montāža

Korpuss un montāža
Korpuss un montāža
Korpuss un montāža
Korpuss un montāža
Korpuss un montāža
Korpuss un montāža

Kad PCB ir izgatavots, mēs varam pāriet uz lietu. Es īpaši izveidoju PCB ap alumīnija 20x50x80mm korpusu (https://www.aliexpress.com/item/Aluminium-PCB-Instr…), tāpēc nav ieteicams izmantot citu korpusu. Tomēr vienmēr varat izdrukāt lietu ar vienādiem izmēriem 3D formātā.

Pirmais solis ir sagatavot gala paneli. Mums būs jāizurbj daži caurumi banānu domkratiņiem. Es to darīju ar rokām, bet, ja jums ir piekļuve CNC, tas būtu precīzāks risinājums. Ievietojiet banānu domkrati šajos caurumos un lodējiet tos uz PCB.

Ir laba ideja tagad pievienot dažus zīda spilventiņus un turēt tos vietā ar nelielu pilienu superlīmes. Tie nodrošinās siltuma pārnesi starp LT3080 un LT1370 un korpusu. Neaizmirstiet tos!

Tagad mēs varam koncentrēties uz priekšējo paneli, kas tikai pieskrūvē vietā. Kad abi paneļi ir savās vietās, tagad mēs varam ievietot komplektu korpusā un to visu aizvērt. Šajā brīdī aparatūra ir pabeigta, tagad atliek tikai ar programmatūru iepūst tajā dzīvību!

5. darbība: Arduino kods

Arduino kods
Arduino kods

Šī projekta smadzenes ir ATMEGA32U4, kuru mēs programmēsim ar Arduino IDE. Šajā sadaļā es apskatīšu koda pamatdarbību, sīkāku informāciju var atrast kā komentārus koda iekšpusē.

Kods pamatā tiek veikts, veicot šādas darbības:

  1. Nosūtiet datus uz lietotni
  2. Lasiet datus no lietotnes
  3. Izmēriet spriegumu
  4. Izmēriet strāvu
  5. Aptaujas poga

USB pārslodzi apstrādā pārtraukuma pakalpojumu rutīna, lai tā būtu pēc iespējas atsaucīgāka.

Pirms mikroshēmas var ieprogrammēt, izmantojot USB, sāknēšanas ielādētājs ir jāsadedzina. Tas tiek darīts, izmantojot ISP/ICSP portu (3x2 vīriešu galvenes), izmantojot ISP programmētāju. Iespējas ir AVRISPMK2, USBTINY ISP vai arduino kā ISP. Pārliecinieties, vai tāfele saņem enerģiju, un nospiediet pogu “ierakstīt sāknēšanas ielādētāju”.

Tagad kodu var augšupielādēt uz tāfeles, izmantojot USB C portu (jo mikroshēmai ir sāknēšanas ielādētājs). Padome: Arduino mikro programmētājs: AVR ISP / AVRISP MKII Tagad mēs varam apskatīt mijiedarbību starp Arduino un datoru.

6. darbība: Android lietotne

Android lietotne
Android lietotne

Tagad mums ir pilnībā funkcionāls barošanas avots, bet pagaidām nav iespējas to kontrolēt. Ļoti kaitinoši. Tāpēc mēs izveidosim Android lietotni, lai kontrolētu barošanas avotu, izmantojot Bluetooth.

Lietotne ir veidota, izmantojot MIT lietotņu izgudrotāju programmu. Visus failus var iekļaut, lai klonētu un modificētu projektu. Vispirms savā tālrunī lejupielādējiet pavadošo lietotni MIT AI2. Pēc tam importējiet.aia failu AI vietnē. Tas arī ļauj lejupielādēt lietotni savā tālrunī, izvēloties "Veidot> Lietotne (norādiet QR kodu.apk)"

Lai izmantotu lietotni, sarakstā atlasiet Bluetooth ierīci: tā tiks parādīta kā HC-05 modulis. Kad ir izveidots savienojums, var mainīt visus iestatījumus un nolasīt barošanas avota izeju.

7. solis: Java kods

Java kods
Java kods

Lai reģistrētu datus un kontrolētu strāvas padevi, izmantojot datoru, es izveidoju java lietojumprogrammu. Tas ļauj mums viegli kontrolēt dēli, izmantojot GUI. Tāpat kā ar Arduino kodu, es neiedziļināšos visās detaļās, bet sniegšu pārskatu.

Mēs sākam, izveidojot logu ar pogām, teksta laukiem utt.; pamata GUI lietas.

Tagad nāk jautrā daļa: pievienojot USB portus, kuriem izmantoju jSerialComm bibliotēku. Kad ports ir atlasīts, java klausās visus ienākošos datus. Mēs varam arī nosūtīt datus uz ierīci.

Turklāt visi ienākošie dati tiek saglabāti csv failā vēlākai datu apstrādei.

Palaižot.jar failu, vispirms nolaižamajā izvēlnē jāizvēlas pareizais ports. Pēc savienojuma sāks ienākt dati, un mēs varam nosūtīt savus iestatījumus uz barošanas avotu.

Lai gan programma ir diezgan vienkārša, var būt ļoti noderīgi to kontrolēt, izmantojot datoru un reģistrēt tās datus.

8. darbība

Attēls
Attēls
Attēls
Attēls
Attēls
Attēls

Pēc visa šī darba mums tagad ir pilnībā funkcionāls barošanas avots!

Tagad mēs varam baudīt pašu gatavotu barošanas avotu, kas noderēs, strādājot pie citiem satriecošiem projektiem! Un pats galvenais: ceļā esam iemācījušies daudzas lietas.

Ja jums patika šis projekts, lūdzu, balsojiet par mani kabatas izmēra un mikrokontrolleru konkursā, es to ļoti novērtētu!

Ieteicams: