Avtor: Brian Millier
E-pošta: bmillier1@gmail.com
2019_270_50
Nekaj let nazaj sem zasnoval napajalnik z več napetostmi, z velikim LCD-zaslonom na dotik, ki prikazuje napetosti, tokove in trenutne meje za vsakega od svojih 4 napajalnikov. Napajalnik je dobro deloval, vendar so bile komponente, ki sem jih uporabljal, nekoliko drage, zato se nisem trudil objaviti projekta v reviji Svet Elektronike. Pred kratkim sem se odločil, da bom poskusil še enkrat – v tem času sem poskušal zmanjšati stroške, hkrati pa zagotoviti več enakih funkcij.
Želel sem, da nov napajalnik zmore generirati 5 V in 3,3 V z zmogljivostjo vsaj 1 A. Želel sem si tudi spremenljive napetosti 0 do plus 12 V in 0 do minus 12 V, ki si sledijo, tj. en potenciometer bi istočasno nastavljal obe napetosti. Ta napajalnik bi tudi zmogel do 1A toka (odvisno od izhodne napetosti in velikosti uporabljenega hladilnika). Želel sem nastavljivo vrednost toka za vsakega od 4 napajalnikov in prikazati vse napetosti / tokove / tokovne mejne vrednosti na LCD-zaslonu.
Ta vsebina je samo za naročnike
Verjamem, da ima verjetno večina elektronskih navdušencev doma nekaj starih prenosnih računalnikov, na katerih se nabira prah. Ti prenosniki so skoraj vedno napajani z zunanjim napajalnikom. Ti »paketi moči« skoraj vedno zagotavljajo enosmerni napetost 18-20 V DC in trenutno zmorejo 4 A ali več. Zato sem se odločil za uporabo Dellovega napajalnika, ki sem ga imel kot glavni vir energije za projekt. Napajalnik zmore 20 V / 4,5 A ali 90 W skupaj. To je veliko cenejše od nakupa 4 posameznih modulov za napajanje in privede do precej manjšega prostora. Generiranje različnih izhodnih napetosti, navedenih zgoraj, iz tega zgolj 20 V vira, se je izkazalo za ne preveč težko.
Od samega začetka je bilo očitno, da bi bili potrebni stikalni regulatorji za generiranje 5 V in 3,3 V napetosti. Bilo bi preveč potratno, če bi uporabili znani linearni regulator s tremi priključki, kot je 7805, saj bi zapravili (20-5) * 1 A ali 15 W pri najvišjem izhodnem toku 1 A. Napajanje s 3,3 V bi bilo še slabše pri 16,7 W izgubljenih pri 1 A maksimalnem toku. To bi zahtevalo resno hladilno telo za vsakega od 3,3 in 5 V regulatorja.
Imel sem nekaj izkušenj z uporabo OKI-78SR stikalnega regulatorja podjetja Murata Power Solutions. Regulator je namenjen za direktno zamenjavo 7805 serije linearnih regulatorjev. Zagotavlja do 1,5 A toka pri 5 V izhodne napetosti, z vhodno napetostjo 7-36 V. Deluje pri približno 90-odstotni učinkovitosti, zato ne potrebuje nobenega hladilnika. Prav tako je zaščiten pred kratkim stikom (največ 1,5 A).
Obstaja podoben model, ki daje 3,3 V, z enakimi značilnostmi kot 5V model, le da je učinkovitost nekoliko nižja: približno 85%. Slika 1 prikazuje te regulatorje.
Ti dve majhni ohišji zagotavljata napajalnik 3,3 in 5 V iz 20 V napajalnika. Nastavljivo tokovno omejevanje in prikaz napetosti / toka zahtevajo malo dodatnega vezja, o katerem bomo razpravljali kasneje v članku.
Za pozitivno napajanje 0-12 V sem se odločil, da uporabim znani linearni regulator LM317AT. Na splošno, ko potrebujem +/- nastavljive vire napajanja, to potrebujem za napajanje analognih vezij. Za to redko potrebujem velike tokovne zmogljivosti. Linearni 3-pin regulator LM317AT se dobro ujema s tem namenom, saj lahko oskrbi do 1,5A. Če bi želeli imeti 1 V izhod, bi bilo veliko izgub, pri katerem koli znatnem toku bremena, kar bo sprejemljivo.
Zato sem namestil LM317AT v aluminijsko ohišje, ki deluje kot hladilno telo. Hlajenje, ki ga zagotavlja ohišje je dovoljšnje, da se z vročino spoprime s približno 10 W, tako da lahko izračunate, koliko toka zmore napajalnik pri kateri koli napetosti v območju od 0 do 12 V.
LM317AT ima zelo nizek izhodni šum (0,003% od Vout), kar je uporabno, če napaja analogno vezje. LM317AT je zasnovan tako, da prilagodi svojo izhodno napetost z enim spremenljivim uporom. V tem projektu uporabljam dvokanalni potenciometer 5k, ki hkrati nastavlja pozitivni in negativni regulator. Če ste natančno prebrali podatkovni list boste videli, da se njegova izhodna napetost lahko zmanjša na 1,25 V, ne pa nič V. Uporabil sem majhen trik, da bi to znižali na 0 V, kar bom podrobneje opisal v članku, ko bom opisal tokovno omejevanje.
Do zdaj boste opazili, da govorimo le o pozitivnem napajalniku, ki izhaja iz + 20 V in zahteva malo več dela, kar bom opisal v nadaljevanju.
MC34167 stikalni regulator
Obstaja praktično neomejena raznolikost stikalnih IC regulatorjev, ki so danes na voljo na trgu. Večina novih modelov je izdelana v SMD ohišjih, mnogi pa so zelo majhni. Obe lastnosti meni pomenita težavo pri namestitvi na vezje, kar je verjetno tudi problem za vas. Tako sem nekaj časa preživel brskajoč skozi podatkovne liste številnih različnih vezij, da bi našel nekaj primernega. Regulator MC34167, ki ga je naredilo podjetje ON Semiconductor, se je izkazal kot odlična izbira za to aplikacijo iz naslednjih razlogov:
- Enostavno ga je vezati kot inverterski regulator, ki ga potrebujemo za zagotavljanje negativne nastavljive napetosti za ta projekt.
- Nahaja se ohišju 5-pin TO-220, ki ga je mogoče enostavno namestiti na razvojno ploščo, ki sem jo uporabil. Na regulator je možno enostavno namestiti hladilno telo.
- Deluje v širokem vhodnem napetostnim razponom od 7,5 do 40 V, zato je 20 V močnostni napajalnik idealen.
- Vsebuje izhodni stikalni tranzistor, ki zdrži 5 A.
- V inverterskem načinu potrebujete le 3 upore, 3 kondenzatorje (vključno z velikim kondenzatorjem kapacitete 3300 µF), Schottky usmerniško diodo in 200 µH tuljavo.
- Je približno 80 % učinkovit, zato veliko hladilno telo ni potrebno.
- Je poceni – približno 3 USD.
Za ta projekt sem se odločil konfigurirati MC34167 da generira fiksno, negativno napetost 16,5 V. Nato sem ga vezal v 3-pin regulator LM337 (verzija LM317 za negativne napetosti), da bi zagotovil vir napetosti 0 do -12 V. Na ta način sem lahko dobil dva napajalnika, ki si »sledita«, preprosto z uporabo dvojnega 5k potenciometra. Tako LM317 kot LM337 lahko uravnavata le 1,25 voltov. Uporabil sem isti “trik”, ki sem ga omenil prej, da bi to negativno ponudbo podaljšala na nič voltov (več podrobnosti kasneje).
Odločil sem se naročiti Wurth 744115 200 µH tuljavi za to vezje. Vendar, če imate 16 mm feritni toroid pri roki (ki se uporablja v številnih napajalnikih računalnikov ATX itd.), lahko za 200 µH navijete 60 ovojev 1,2 mm žice na toroidu (Foto 2).
Če povzamem, sem uporabil 5 IC regulatorjev: 3 preklopne in 2 linearna, da bi zagotovili 4 vire napetosti, ki sem si jih želel.
Spremljanje / prikazovanje napetosti in tokov
Želel sem, da bi lahko spremljal porabo vsakega od štirih napajalnikov. Moral sem tudi videti napetost sledilnih 0 do 12 V napajalnikov. Spremljanje napetosti napajalnikov 3,3 V in 5 V ni bilo tako koristno, vendar so vezja, s katerimi sem končal z uporabo za ta namen, spremljali napetost in tok, tako da je bila napetost na voljo.
Najprej si oglejmo merjenje toka. Na splošno obstaja dva načina za to. Poglejte na sliko 1. Starejši, bolj uveljavljen način je, da se serijski nizkoohmski upor namesti zaporedno z enim od izhodnih vodov napajanja in se izmeri napetost na tem uporu. Če ta upor namestite zaporedno v GND ali skupnim vodnikom (tj. RS2), boste nato merili zelo majhen padec napetosti, vendar se bo nanašal glede na GND.
To majhno napetost je zelo enostavno ojačiti z operacijskim ojačevalnikom (pred pretvorbo v AD), ker je sofazna napetost enaka 0 V. V tem projektu so 4 napajalniki, ki se napajajo iz skupnega 20 V napajalnika, zato ni mogoče vezati zaporednih uporov v GND vejo, saj si vsi 4 napajalniki delijo skupno vozlišče.
Če pa upor za trenutno merjenje toka postavimo v pozitivno linijo (tj. RS1), bo majhen tokovni signal “jahal” na sofazni napetosti (do 12 V). To je težje izmeriti in na splošno potrebuje instrumentalni operacijski ojačevalnik, da ga natančno izmerimo. To je metoda, ki sem jo končno izbral za ta projekt, vendar pa si zgolj zaradi informacije oglejmo drugo možnost.
Allegro Microsystems izdeluje linijo tokovnih senzorjev, ki delujejo na principu Hallovega efekta. V bistvu izmerijo magnetno polje, ki ga proizvaja tok, ki teče skozi prevodnik. Magnetno polje je neposredno sorazmerno s tokom.
Prevodnik je lahko majhen prevodnik, vgrajen v Alegro čip, v primeru večjih tokov poteka linija na TIV pod čipom. Ta shema deluje dobro za srednje velike in visoke tokove, saj je proizvedeno magnetno polje precej veliko in ga je mogoče natančno izmeriti, saj v bistvu “preglasijo” vsa neželena magnetna polja, prisotna v okolju.
Problem sofazne napetosti, omenjene v prejšnjem odstavku izgine, saj čip meri le magnetno polje, zato je napetost na vodih, kjer merimo tok, nepomembna (do točke, običajno v območju 4+ kV). Merjenje toka iz negativnega napajanja prav tako ni problem za to vrsto senzorja (je pa to težava za zgoraj opisano metodo s serijskim uporom in ojačevalnikom).
Za tokove manjše kot 1A, kar je tisto, kar opisuje ta projekt, standardni Allegro senzorji s Hallovim efektom niso dovolj občutljivi. V tem primeru morate uporabiti tokovni senzor na osnovi Allegro GMR. GMR pomeni Giant Magneto-Resistive (veliko magnetno-uporovno): ta je 25x bolj občutljiv od običajnega senzorja s Hallovim efektom. Takšna vezja lahko merijo tokove ± 2,5A v polnem obsegu (Allegro vezja s Hallovim efektom imajo F.S. tokove od 16 A in navzgor).
Mislil sem, da bo Allegro vezje ACS70331, ki je na voljo s polnim obsegom ± 2,5A, popolnoma ustrezalo temu projektu. Potem sem preveril ohišje, v katerega je vgrajeno vezje. To je 3mm x 3mm QFN ohišje, s priključki na dnu čipa razporejenimi tako, da je v čip vgrajena sled za merjenje toka.
To ohišje je bilo zame premajhno, da bi ga lahko montiral na protipno ploščo, ki jo uporabljam. Medtem ko tehnični list ACS70331 govori o tem, da je na voljo tudi v 8-polnem SOIC ohišju, ga nisem mogel nikjer najti na zalogi. Če bi bila na voljo različica SOIC, bi to vezje uporabil – vsaj za negativno napajanje.
Namesto tega sem izbral INA219 podjetja Texas Instruments. To je dvosmerna naprava za spremljanje toka / napetosti z I2C vmesnikom. Lahko meri napetosti do 26 V. Izmeri tok z uporabo zunanjega tokovnega upora majhne vrednosti, ki se lahko serijsko veže z “vročim” priključkom napajanja, kar je potrebno zaradi zasnove tega projekta. INA219 vsebuje zelo natančen programirljiv ojačevalnik za zaznavanje toka. Ojačevalnik ima vgrajene natančne uparjene upore. Zato je zmožen meriti padec napetosti preko 0,1 Ohm šent upora, ki ga uporabljam v meritvah na visokih skupnih napetostiv do 26 V (samo 12 V v tem projektu).
Vezje vsebuje 12-bitni ADC, ki se uporablja za merjenje napetosti in toka. Vezje samodejno opravlja meritve toka in napetosti zaporedno. Gostiteljski mikrokontroler lahko neposredno prebere napetostne in tokovne registre, ne da bi se moral truditi nastaviti notranji ADC multiplekser na tokovne / napetostne nastavitve. INA219 izračuna tudi moč (iz napetostnih in tokovnih odčitkov), vendar se nisem odločil za uporabo te funkcije. INA219 stane le okoli 2 USD in se nahaja v SOIC-8, zato je bil primeren za ta projekt. Uporabil sem tri INA219-e za merjenje pozitivne veje nastavljivega, 5V in 3,3V napajalnika.
Merjenje napetosti / toka negativne nastavljive napetosti je bolj zapleteno. INA219 lahko meri dvosmerni tok, vendar mora biti sofazna napetost v kateri se nahaja šent upor, pozitivna. Tudi INA219 lahko meri napajalno napetost samo, če je pozitivna glede na GND pin vezja. V preteklosti sem z vezjem INA219 nadziral negativno napajanje tako, da sem jo napajal s “plavajočim” 5 V napajalnikom in z uporabo posebnega I2C izolacijskega čipa (Silicon Labs SI8602), ki omogoča, da se signali I2C pravilno nanašajo glede na GND mikrokontrolerja. Za ta projekt sem se odločil drugače.
Glede na shemo (slika 2B) si oglejte negativno nastavljivo napajanje, ki ga zagotavlja LM337. V negativnem (“vročem”) vodi je upor 0,1 Ω (R18). Padec napetosti na njemu bo sorazmeren s tokom, ki teče preko njega, sofazna napetost pa bo od 0 do minus 12 V. Ta padec napetosti merimo z INA128P instrumentalnim ojačevalnikom. INA128P napajata + 12 V in -16,5 V vira napetosti. Z minus 16,5 V virom lahko INA128P obvladuje (maksimalno) -12 V skupni napetostni način preko R18 senzorskega upora. Ojačenje INA219P je nastavljeno na 23,7 (z uporom vrednosti 2,2k). INA128P zagotavlja izhodno napetost od 0 do 2,37 V v obsegu toka 0 do 1 A, ki se lepo ujema s 3,3 V vrednostjo polnega obsega ADC v Teensy-LC, ki omogoča nekaj “prostora”. Upoštevajte, da sem uporabil D2, D3, da omejim izhodno napetost INA128P na 0 do 3,3 V razpon, saj bi sicer poškodovali MCU Teensy-LC, če bi prekoračili to napetostno območje na katerem koli I / O priključku. Analogni vhod Teensy A0 se uporablja za spremljanje te napetosti, program pa napaja napetost v pravilen obremenitveni tok.
Merjenje negativne nastavljive napajalne napetosti je nekoliko lažje: ne potrebujemo prefinjenega instrumentalnega ojačevalnika.
Namesto tega je uporabljen IC6, ki je skupni OP07 operacijski ojačevalnik in se uporablja v invertirajoči konfiguraciji z ojačenjem 0,147. S tem se 0 do minus 12 V napajalno območje pretvori v izhodno napetost od 0 do 1,734 V. Diode D4, D5 omejijo izhodno napetost OP07 na območje od 0 do 3,3 V.
Analogni vhod Teensy A1 se uporablja za spremljanje te napetosti, program pa skalira odčitavanje ADC-ja tako, da neposredno prikazuje napetost.
Tako INA128P kot OP07 uporabljata +12 V za napajanje V +. Za ta vezja je napetost +20 V iz napajalnika za prenosne računalnike previsoka, zato se uporablja D10, vezje Zener diode z 12 V.
Omejevanje toka
Ker uporabljam namizni napajalnik predvsem za napajanje novih vezij, ki jih preizkušam, je možnost napak in / ali kratkih stikov precej velika. Zato sem si želel neke vrste tokovno omejitve v napajalniku.
V večini primerov je idealna oblika omejevanja toka tista, v kateri bo napajalnik zaznal, če obstaja prevelik izhodni tok in bo zmanjšal njegovo izhodno napetost, da bi nivo toka dosegel prednastavljeno mejno vrednost toka. Poleg tega mora to stanje na nek način signalizirati – vklopiti LED ali z zvočnim alarmom.
Regulatorji s 3 priključki, ki se uporabljajo v vseh štirih napajalnikih v tem projektu, vsebujejo to vrsto omejevanja toka. Vendar pa je fiksiran na maksimalnem toku samega regulatorja, kar znaša 1,5 A za linearne regulatorje (LM317, LM337) in stikalne regulatorje (OKI-78SR, OKI-78SR3.3). To je v redu za zaščito regulatorjev samih, vendar pa je na splošno to previsoka vrednost, da bi zaščitili vse, kar bi se lahko priključilo na napajalnik.
Zato sem zasnoval spremenljivo tokovno vezje za vsakega od štirih napajalnikov. V vseh štirih primerih to deluje tako, da MCP Teensy-LC-ja primerja tok toka napajanja z nastavljeno mejno vrednostjo. Če je obremenitveni tok previsok, bo Teensy-LC izklopil ta vir napajanja in to prikazal na TFT zaslonu. Upoštevajte, da to ni idealna rešitev, ki je bila predstavljena prej, kjer napajalnik zmanjšuje izhodno napetost, dokler tok bremena ne pade pod mejno vrednost. To bi bilo težko doseči s fiksnimi 3-pin stikalnimi regulatorji, ki sem jih uporabil za napajalnike 3,3 in 5 V. Prav tako bi potrebovali nekoliko več vezja, da bi to dosegli na ± nastavljivem napajalniku. Vendar pa to opravlja svojo nalogo.
V primeru napajalnikov 3,3 / 5 V sem postavil P-kanalni MOSFET (FDD6685) serijsko s pozitivnim izhodom. To sta Q1, Q2 na sliki 2B. Ko na vrata FDD6685 pripeljemo GND, ga odpremo in tok steče. Ko se pojavi prekoračitev toka, bo Teensy-LC postavil 5V na vrata Q1 in ga izklopil. Podobno bo za 3,3 V napajalnik, če na vrata Q2 pripeljemo 3,3 V, kar ga izklopi. FDD6685 ima nizek RDS (vklop) 30 mΩ, tako da skoraj ni padca napetosti prek njega, ko je vklopljen.
Opazili boste, da Teensy-LC MCU zagotavlja le 3,3 V na njegovih digitalnih V / I priključkih za stanje logične 1. Toda Teensy-LC ima dodatno vezje na svojem IO17 priključku, da zagotovi 5 V logični nivo signala. Ta 5 V signal IO17 je na ločenem priključku na strani modula, ločen od 28 DIP priključkov in je uporabljen za ostale priključke modula. Ta 5 V logični priključek se uporablja za krmiljenje Q1, za omejevanja toka 5 V napajalnika.
Ta 5 V logični priključek je bil vključen v modul Teensy-LC predvsem za krmiljenje 5 V logičnega nivoja, ki ga potrebujejo LED trakovi WS2812 / NeoPixel, ki so trenutno zelo priljubljeni. Na srečo se njegova prisotnost lepo prilega temu projektu.
Da bi dosegli tokovno omejitev na ± nastavljivem napajalniku, se uporabi drugačno vezje. Tako LM317 in LM337 zagotavljata izhodno napetost, ki je 1,25 V višja od napetosti na svojem ADJ priključku. V tem projektu se izhodna napetost nastavi s nastavljanjem vrednosti VR2, R11 (R8 za negativno napajanje) pa imate fiksno vrednost 470 Ohmov. Za standardno konfiguracijo, kjer se VR2 veže na GND, se izhodna napetost določi z naslednjo enačbo:
Vout = 1.25 (1 + VR2/470)
VR2A in VR2B je dvojni 5k potenciometer. Ko je potenciometer v celoti obrnjen v levo (CCW), je njegova upornost 0Ω, tako da bo izhodna napetost 1,25 V. Ko je v celoti obrnjen v desno (CW), bo upornost potenciometra znašala 5k, izhodna napetost pa bi bila 14,5 V.
Za ta projekt sem želel, da nastavljiva napajalnika lahko nastavimo na 0V. Da bi to dosegli, sem skupni priključek vezal na -1,3 V za pozitivni napajalnik ter na + 1,3 V za negativni napajalnik. Te 1,3 V napetosti zagotavljajo upor in nekaj zaporedno vezanih 1N4148 (R35, D6, D7 in R15, D8, D9). S tem se premakne izhodno napetost navzdol za 1,3 V, kar omogoča, da napajalniki generirajo 0V (dejansko približno 100 mV pod 0 V).
Tokovno omejitev se doseže z dvojnim optičnim vmesnikom PS2501-2. Izhodni stopnji dveh foto tranzistorjev sta vezani preko VR2A in VR2B. Ko Teensy-LC zazna prekoračeno vrednost toka, postavi logično visok nivo, ki vklopi eno od LEDic v PS2501-2. To povzroči, da ustrezen foto-tranzistor popolnoma prevaja, tako da upornost VR2x znaša nič Ω. To zmanjša napajanje na 0 V. Vsak od napajalnikov (pozitivni in negativni) se spremlja in neodvisno izklopi, če obstaja prekoračena vrednost toka.
Uporabniški vmesnik in nadzor
V predhodnem namiznem napajalniku, ki sem ga zgradil, sem uporabljal Atmel ATmega328 mikrokontroler za nadzor in 4,3-palčni zaslon na dotik, zasnovan na grafičnem displeju FTDI FT800. Kljub veliki grafični FTDI knjižnici, ki je potrebna za prikaz zaslona na dotik, se celoten program lepo prilega v 32K Flash pomnilnika v ATmega328.
Zaslon na dotik FT800 pa stane več kot 100 USD. Tokrat sem hotel narediti projekt bolj dostopen, zato sem izbral 2,8-palčni zaslon na dotik TFT (s SPI vmesnikom in kontrolerjem ILI9341). Zaslon, ki sem ga uporabil, je prišel iz PJRC in je znašal 15 USD, vendar isti tip zaslona lahko najdete na eBayu, Alibabi itd.
Na prejšnjem napajalnem napajanju sem izvedel vse nastavitve / prilagoditve z uporabo samega zaslona na dotik. To je možno s 4,3-palčnim zaslonom in več različnimi prikaznimi stranmi. Vendar sem se počutil, da bi bilo preveč enostavno narediti napake pri vnosu z manjšim 2,8-palčnim zaslonom, razen če sem preklopil med različnimi “stranmi” zaslona, po eno za vsakega od 4 napajalnikov. Nisem mislil, da bi bilo to preveč praktično, zato sem se odločil, da se prikaže samo ena stran s prikazom in da vse vnose parametrov z rotacijskim dajalnikom dopolni z nekaj stikali.
Medtem ko sem že več kot desetletje uporabljal AVR mikrokontrolerje, uporabljam ARM že skoraj za vsak projekt. V tem primeru sem izbral Teensy-LC, ki je najcenejši član družine modulov Teensy (12 USD). Slika 3 prikazuje ta modul. Na voljo je v 28-polnem DIP ohišju in vključuje ugnezdeno programsko opremo za zagon, ki prenese z vgrajenim mikro-USB vmesnikom (to pomeni, da ni potreben ločen programator). Nekatere značilnosti Teensy-LC so:
- 63K Flash spomina (dvakrat več kot ATmega328, vendar ARM programi zavzamejo več programskega prostora kot AVR-ji za enak program).
- 8K RAM (proti 2K na Mega328)
- Trinajst 12-bit analognih vhodov
- En 12-bit DAC
- Sedem programabilnih timerjev, 10 PWM pins
- 1 USB, 3x serijski porti, 2x SPI, 2x I2C, 1x I2S avdio port.
- 48 MHz sistemski takt
MKL26Z64VFT4 ARM MCU na Teensy-LC je striktno treba napajati s 3,3 V, enako velja za logične signale. Napajamo ga lahko iz USB 5 V ali zunanjega 5 V napajalnika (preko Vin pin). Teensy-LC vsebuje vgrajen 3,3 V LDO regulator, ki napaja MCL26Z64VFT4 MCU. 5 V vir napajanja, ki ga uporabljajo tako Teensy-LC kot TFT-zaslon, dobavlja neodvisni stikalni regulator OKI-78SR, ki ga napaja napajalnik prenosnika z napetostjo + 20 V (IC7 na sliki 2A). Nisem hotel izkoristiti možnosti za napajanje krmilne / prikazovalne enote iz iste napajalne napetosti 5 V, s katero sem krmilil zunanje breme.
Slika 4 prikazuje vezje, ki je povezano z vsemi zunanjimi vezji, pred montažo v ohišje. MC34167 kot tudi regulatorji LM317 / 337 so nameščeni na spodnjem robu plošče (z začasnimi hladilniki, nameščenimi med preskušanjem). To jim omogoča, da se hladijo na aluminijastem ohišju Hammond 1455T1601. Hladilnika IC regulatorja nista izolirana od notranjega vezja, zato ju ni mogoče spojiti na maso ali na priključke drugih regulatorjev.
ZATO MORATE UPORABITI IZOLATOR
MED HLADILNIKOM REGULATORJA
IN OHIŠJEM TER UPORABITI PLASTIČNE VIJAKE.
Trije INA219 so nameščeni na adapterjih SOIC-DIP na sredini plošče. Teensy-LC je v zgornjem desnem kotu. Upoštevajte, da se oranžni kabel priključi na 5 V logično IO17 linijo, ki ni del 28-pin DIP ohišja, in zato ga je bilo tako potrebno priključiti na protoboard.
To vezje je treba zgraditi na Vektor 8001 razvojni plošči. Imel sem nekaj 8002 plošč pri roki, ki so imeli priključke na obeh straneh. Za ta projekt sem izkoristil eno od teh, vendar je bolje uporabiti 8001.
Programska oprema
Vsi člani družine Teensy uporabljajo procesorje Freescale (zdaj NXP) ARM. Podjetje PJRC, ki izdeluje te module, je napisalo “plug-in” za Arduino IDE, ki vam omogoča, da napišete Teensy programe v Arduino IDE, z uporabo Arduino poenostavljene sintakse “C”. Ta vtičnik se imenuje Teensyduino in ga je mogoče prenesti s spletne strani PJRC (povezava je na voljo v referencah na koncu članka). Izvorna Arduino koda je na voljo na spletni strani revije Svet Elektronike v oddelku za podporo članka.
Ko zaženete namestitveni program za Teensyduino plug-in, morate določiti mapo, v kateri je shranjen Arduino program. Ko je Teensyduino nameščen in ko odprete Arduino IDE, preverite meni Orodja – razvojna plošča, kjer boste videli poseben razdelek Teensyduino, ki vsebuje vse modele Teensy. Za ta projekt bi izbrali razvojno ploščo Teensy LC. Ko sem naredil ta projekt, sem uporabil Arduino različico 1.8.5 skupaj s Teensyduino različico 1.42 (obe najnovejši, stabilni različici, ki sta bili na voljo).
V meniju Tools-Optimize izberite “Faster” in Tools-USB Type, izberite Serial. Projekt dejansko ne uporablja USB serijskega porta za nič, vendar izvorna koda vsebuje veliko komentiranih “Println” ukazov, ki jih lahko znova omogočite in uporabite za odpravljanje težav, če je to potrebno. Za ta projekt potrebujemo dve zunanji knjižnici:
Adafruit_INA219 (vezja za zaznavanje toka/napetosti)
Adafruit ILI9341 (TFT displej)
Te knjižnice sem nekoliko spremenil, zato morate uporabiti različice, ki sem jih navedel (tudi na spletni strani za podporo S.E.). Spremenil sem knjižnico ILI9341 za SPI vodilo, ki deluje pri 12 MHz, namesto 8 MHz, da bi pospešil prikaz na TFT. Knjižnico INA219 sem spremenil za nastavitev INA219 za 16 V, 2 A namesto privzete 32 V, 2 A nastavitve v knjižnici. Ne vem, če je moja sprememba INA219 veliko pripomogla k merjenju, zato se lahko odločite za uporabo izvorne knjižnice programa Adafruit ILI9341.
Kot zanimivost navajam, da je programska koda za mojo predhodno napravo z ATmega328 in z enako funkcionalnostjo zasedla 28K, kar se je udobno naložilo v razpoložljivih 32K Flash spomina. Ta projekt, ki uporablja ARM procesor, je zahteval 57K od 63K. Ta podvojitev velikosti kode se je pojavila kljub temu, da nisem implementiral funkcij zaslona na dotik, ki jih vsebuje prvotni projekt. ARM MCU definitivno zahteva več Flash pomnilnika za izvedbo povprečnega projekta v primerjavi z 8-bitno AVR arhitekturo.
Delovanje
Ko napravo vklopimo, bo zaslon TFT prikazoval, kot vidimo na fotografiji 5. Štirje sedanji merilniki toka so na levi. Meritve napetosti za 4 napajalne enote so prikazane na desni. V primeru ± nastavljivih napajalnikov je prikazana napetost dejanska napetost na izhodnih priključkih.
To pomeni, da se, če se aktivira omejevalnik toka, na zaslonu prikaže te napetosti pri približno 0 V. V primeru 3,3 in 5 V logične napetosti, se to napetost odčita na izhodih regulatorja – pred FD6685 MOSFET močnostnimi stikali. Zato bodo še naprej zajemali izhodne napetosti regulatorja, čeprav je bilo breme odstranjeno. Obstaja še ena vizualna indikacija, da je prišlo do tega omejevanja toka, zato ta razlika pri prikazu napetosti ni preveč pomembna.
Pod napetostnim odsekom je trenutni mejni odsek. Vsako od štirih trenutnih omejitev nastavite tako, da pritisnete gumb za izbiro trenutne omejitve, dokler se vrstica “<-” ne poveže z želeno napetostjo. Potem nastavite rotacijski enkoder na želeni tok. Obstaja tudi položaj za nastavitev zajemanja toka polnega obsega za analogne tokovne prikaze tipa “kazalca”. To vam omogoča, da optimirate lestvico teh analognih “kazalčnih” merilnikov za obremenitev, ki jo pričakujete. Vendar pa lahko izberete le eno zajemanje za vse štiri napajalne enote. Ta omejitev je strogo posledica pomanjkanja večje površine zaslona na zaslonu TFT.
Ko obstaja pogoj trenutne omejitve toka, se polni rdeči krog postavi na območje, kjer je prikazana puščica za izbiro trenutne meje “<-“. Izenačen bo z napajanjem pri nastavljeni omejitvi toka, in če bo več virov omejenih, bo dodanih več rdečih krogov.
Obstaja stikalo “Load ON / OFF”, ki hkrati:
- Priključi 3,3 in 5 V regulatorje na izhodne sponke (z uporabo MOSFETOV FD6685)
- Odstrani kratko spojena dela potenciometra VR2 (preko optičnega sklopnika PS2501-2), kar omogoča nastavljivim napajalnikom, da dosežejo pravilno nastavitev napetosti.
- Odstrani zastavo tokovne omejitve v programu (če je postavljena) in odstrani rdeče kroge, ki označujejo pogoj. Z drugimi besedami, morate preklopiti izklopno stikalo in ga znova vklopiti, da počistite pogoje za omejitev toka.
Iz zgornje točke 2 je razvidno, da ni mogoče videti izhodnih napetosti, ki prihajajo iz ± nastavljivih napajalnikov, medtem ko nastavljate potenciometer, razen če je stikalo Load ON / OFF vključeno. Torej, morda boste želeli nastaviti potenciometer, preden vklopite svoje breme (in nastavite vse trenutne omejitve). Nato lahko stikalo Load ON / OFF izklopite, priklopite obremenitev in nato ponovno vklopite stikalo LOAD.
Čeprav tega nisem potreboval, lahko na primer priključite tudi USB-priklop Teensy-LC-a na računalnik, ki izvaja program emulacije terminalov. Enota pošlje vse trenutne odčitke za vse 4 napajalnike, vsakih nekaj sekund. To lahko uporabite za namene beleženja podatkov.
Reference:
Teensy LC MCU razvojna plošča:
- https://www.pjrc.com/store/teensylc.html
2.8” TFT displej:
- https://www.pjrc.com/store/display_ili9341_touch.html
Teensyduino Arduino Plug-in:
- https://www.pjrc.com/teensy/teensyduino.html
MC34167 stikalni regulator:
- http://www.onsemi.com/pub/Collateral/MC34167-D.PDF
INA219 I2C merilnik toka in napetosti:
- http://www.ti.com/lit/ds/symlink/ina219.pdf