Cuprins:

Sursă de alimentare cu comutator de înaltă tensiune (SMPS) / convertor Boost pentru tuburi Nixie: 6 pași
Sursă de alimentare cu comutator de înaltă tensiune (SMPS) / convertor Boost pentru tuburi Nixie: 6 pași

Video: Sursă de alimentare cu comutator de înaltă tensiune (SMPS) / convertor Boost pentru tuburi Nixie: 6 pași

Video: Sursă de alimentare cu comutator de înaltă tensiune (SMPS) / convertor Boost pentru tuburi Nixie: 6 pași
Video: Cum se modifica o sursa SMPS de PC? Tensiune mai mare sau mai mica, cu sau fara convertor DC-DC 2024, Iunie
Anonim
Sursă de alimentare cu comutator de înaltă tensiune (SMPS) / convertor Boost pentru tuburi Nixie
Sursă de alimentare cu comutator de înaltă tensiune (SMPS) / convertor Boost pentru tuburi Nixie

Acest SMPS crește tensiunea scăzută (5-20 volți) la tensiunea înaltă necesară pentru acționarea tuburilor nixie (170-200 volți). Fiți avertizat: chiar dacă acest mic circuit poate fi acționat pe baterii / musturi de perete de joasă tensiune, ieșirea este mai mult decât suficientă pentru a vă ucide!

Proiectul include: Foaie de calcul Helper EagleCAD CCT & PCB files MikroBasic Firmware Source

Pasul 1: Cum funcționează?

Cum functioneazã?
Cum functioneazã?

Acest design se bazează pe Nota de aplicație Microchip TB053 cu mai multe modificări bazate pe experiența membrilor Neonixie-L (https://groups.yahoo.com/group/NEONIXIE-L/). Obțineți nota aplicației - este o citire frumoasă a doar câteva pagini: (https://ww1.microchip.com/downloads/en/AppNotes/91053b.pdf) Ilustrația de mai jos este extrasă din TB053. Acesta prezintă principiul de bază din spatele SMPS. Un microcontroler bazează un FET (Q1), permițând construirea unei încărcări în inductor L1. Când FET-ul este oprit, sarcina curge prin dioda D1 în condensatorul C1. Vvfb este un feedback divizor de tensiune care permite microcontrolerului să monitorizeze tensiunea înaltă și să activeze FET-ul după cum este necesar pentru a menține tensiunea dorită.

Pasul 2: Caracteristicile inductorului

Caracteristicile inductorului
Caracteristicile inductorului

Deși foarte drăguță, nota aplicației Microchip mi se pare puțin înapoi. Începe prin a determina puterea necesară, apoi alege un timp de încărcare a inductorului, fără grija inductoarelor disponibile. Mi s-a părut mai util să aleg un inductor și să proiectez aplicația în jurul acestuia. Inductoarele pe care le-am folosit sunt „C&D Technologies Inductors RADIAL LEAD 100uH” (Piesa Mouser 580-18R104C, 1,2 amp, 1,40 $), (Piesa Mouser 580-22R104C, 0,67 amplificator, 0,59 dolari). Am ales aceste inductoare deoarece sunt foarte mici, foarte ieftine, dar au puteri decente. Știm deja valoarea maximă continuă a bobinei noastre (0,67 amperi pentru 22R104C), dar trebuie să știm cât va dura încărcarea (timpul de creștere). În loc să folosim un timp de încărcare fix (a se vedea ecuația 6 din TB053) pentru a determina amplificatorii bobinei necesari, putem interoga ecuația 6 și rezolva timpul de creștere: (notă: ecuația 6 din TB053 este greșită, ar trebui să fie L, nu 2L) (Volți în / Inductor uH) * timp de creștere = Amperi de vârf-devine- (Inductor uH / Volți în) * Amperi de vârf = timp de creștere. 13.5uS Va dura 13.5 uS pentru a încărca complet bobina inductorului la 5 volți. Evident, această valoare va varia cu diferite tensiuni de alimentare. După cum sa menționat în TB053: "Curentul într-un inductor nu se poate modifica instantaneu. Când Q1 este oprit, curentul din L1 continuă să curgă prin D1 către condensatorul de stocare, C1 și sarcina, RL. Astfel, curentul din inductor scade liniar în timp de la curentul de vârf. "Putem determina cantitatea de timp necesară curentului pentru a curge din inductor folosind ecuația TB05 7. În practică acest timp este foarte scurt. Această ecuație este implementată în foaia de calcul inclusă, dar nu va fi discutată aici. Câtă putere putem obține dintr-un inductor de 0,67 amp? Puterea totală este determinată de următoarea ecuație (ecuația 5 tb053): Putere = (((timp de creștere) * (Volți în)2) / (2 * inductor uH))-utilizând valorile noastre anterioare găsim-1,68 wați = (13,5uS * 5 volți2) / (2 * 100uH)-convertiți wați în mA-mA = ((puteri de putere) / (ieșire volți)) * 1000-folosind o tensiune de ieșire de 180 găsim-9,31mA = (1,68 wați / 180 volți) * 1000 Putem obține maximum 9,31 mA de la această bobină cu o sursă de alimentare de 5 volți, ignorând toate ineficiențele și pierderile de comutare. O putere de ieșire mai mare poate fi obținută prin creșterea tensiunii de alimentare. Toate aceste calcule sunt implementate în "Tabelul 1: Calcule bobine pentru sursa de alimentare de înaltă tensiune" a foii de calcul incluse în acest instructable. Sunt introduse mai multe exemple de bobine.

Pasul 3: Conducerea SMPS cu un microcontroler

Conducerea SMPS cu un microcontroler
Conducerea SMPS cu un microcontroler

Acum, după ce am calculat timpul de creștere pentru bobina noastră, putem programa un microcontroler pentru a-l încărca suficient de mult pentru a ajunge la mA nominală. Unul dintre cele mai simple moduri de a face acest lucru este să utilizați modulatorul hardware al lățimii impulsurilor unui PIC. Modulația lățimii impulsurilor (PWM) are două variabile prezentate în figura de mai jos. În timpul ciclului de funcționare, PIC pornește FET-ul, împământându-l și permițând curentul în bobina inductorului (timpul de creștere). În restul perioadei, FET este oprit și curentul curge din inductor prin diodă către condensatori și sarcină (timp de cădere). Știm deja timpul de creștere necesar din calculele noastre anterioare: 13.5uS. TB053 sugerează ca timpul de creștere să fie de 75% din perioadă. Mi-am determinat valoarea perioadei înmulțind timpul de creștere cu 1.33: 17.9uS. Acest lucru este în concordanță cu sugestia din TB053 și asigură faptul că inductorul rămâne în modul discontinuu - descărcarea completă după fiecare încărcare. Este posibil să calculăm o perioadă mai exactă adăugând timpul de creștere calculat la timpul de cădere calculat, dar nu am încercat acest lucru. Acum putem determina valorile reale ale ciclului de funcționare și ale perioadei de intrare în microcontroler pentru a obține intervalele de timp dorite.. În manualul Microchip PIC Mid-range găsim următoarele ecuații (https://ww1.microchip.com/downloads/en/DeviceDoc/33023a.pdf):PWM Duty Cycle uS = (10 bit Duty Cycle Value) * (1 / Frecvența oscilatorului) * Prescaler Dacă setăm prescalerul la 1 și bătem această ecuație cu un stick de algebră, obținem: 10 bit Valoarea ciclului de funcționare = PWM Duty Cycle uS * Frecvența oscilatorului Înlocuiți ciclul de funcționare uS pentru timpul de creștere calculat și presupunem un oscilator de 8 Mhz frecvență: 107 = 13,5uS * 8Mhz107 este introdus în PIC pentru a obține un ciclu de funcționare de 13,5uS. Apoi, determinăm valoarea perioadei PWM. Din manualul Mid-Range obținem următoarea ecuație: perioada PWM uS = ((valoarea perioadei PWM) + 1) * 4 * (1 / frecvența oscilatorului) * (valoarea prescalei) Din nou, setăm prescalerul la 1 și hărțuim ecuația pentru valoarea perioadei PWM, oferindu-ne: valoarea perioadei PWM = ((Perioada PWM uS / (4 / Frecvența oscilatorului)) - 1) Înlocuirea perioadei uS pentru (1,33 * timpul de creștere) și presupunem o frecvență a oscilatorului de 8 Mhz: 35 = ((17.9 / (4/8)) - 1) 35 este introdus în PIC pentru a obține o perioadă de 17.9uS. Dar asteapta! Nu este perioada mai scurtă decât ciclul de funcționare? Nu - PIC-urile au un registru de ciclu de funcționare de 10 biți și un registru de perioadă de 8 biți. Există o rezoluție mai mare pentru valoarea ciclului de funcționare, astfel valoarea acestuia va fi uneori mai mare decât valoarea perioadei - în special la frecvențe înalte. Toate aceste calcule sunt implementate în „Tabelul 2. Calcule PWM” din foaia de calcul inclusă cu acest instructable. Sunt introduse mai multe exemple de bobine.

Pasul 4: Proiectare PCB

Design PCB
Design PCB
Design PCB
Design PCB

PCB și CCT sunt în format EagleCad. Ambele sunt incluse în arhiva ZIP.

M-am uitat la mai multe modele existente la realizarea acestui PCB. Iată notele mele referitoare la caracteristicile de proiectare importante: 1. Am urmat nota APP Microchip și am folosit un TC4427A pentru a conduce FET. Acest A) protejează microcontrolerul de tensiunile de retrocedare care ies de pe FET și B) poate conduce FET la tensiuni mai mari decât PIC pentru o comutare mai rapidă / mai dură cu o eficiență mai bună. 2. Distanța de la PWM a PIC la FET este minimizată. 3. FET, inductor, condensatori ambalate foarte bine. 4. Urmă de alimentare cu grăsime. 5. Teren bun între FET și punctul de conexiune de perete. Am ales microcontrolerul PIC 12F683 pentru acest proiect. Acesta este un PIC cu 8 pini cu PWM hardware, 4 convertoare analog-digitale, oscilator intern de 8 MHz și EEPROM de 256 octeți. Cel mai important, am avut unul de la un proiect anterior. Am folosit IRF740 FET datorită aprecierii sale ridicate pe lista Neonixie-L. Există 2 condensatoare pentru netezirea sursei de tensiune. Una este electrolitică (temperatură ridicată, 250 volți, 1 uF), cealaltă este o folie metalică (250 volți, 0,47uf). Acesta din urmă este mult mai mare și mai scump (0,50 USD față de 0,05 USD), dar este necesar pentru a obține o ieșire curată. Există două circuite de feedback de tensiune în acest design. Primul permite PIC să sesizeze tensiunea de ieșire și să aplice impulsuri pe FET după cum este necesar pentru a menține nivelul dorit. "Tabelul 3. Calculul rețelei de feedback de înaltă tensiune" poate fi utilizat pentru a determina valoarea de feedback corectă, având în vedere divizorul de tensiune cu 3 rezistențe și tensiunea de ieșire dorită. Reglarea fină se face cu rezistența de tundere 1k. Al doilea feedback măsoară tensiunea de alimentare, astfel încât PIC să poată determina timpul optim de creștere (și valorile perioadei / ciclului de funcționare). Din ecuațiile din pasul 1 am constatat că timpul de creștere a inductorului este dependent de tensiunea de alimentare. Este posibil să introduceți valori exacte din foaia de calcul în PIC, dar dacă sursa de alimentare este schimbată, valorile nu mai sunt optime. Dacă funcționează de la baterii, tensiunea va scădea pe măsură ce bateriile se descarcă, necesitând un timp de creștere mai lung. Soluția mea a fost să las PIC să calculeze toate acestea și să își stabilească propriile valori (vezi firmware-ul). Jumperul cu trei pini selectează sursa de alimentare pentru TC4427A și bobina inductorului. Este posibil să rulați atât de la regulatorul 7805 de 5 volți, dar se obține o eficiență mai bună și o ieșire mai mare cu o tensiune de alimentare mai mare. Atât TC4427a cât și IRF740 FET vor rezista până la ~ 20 de volți. Deoarece PIC se va calibra pentru orice tensiune de alimentare dată, este logic să le alimentați direct de la sursa de alimentare. Acest lucru este deosebit de important în funcționarea bateriei - nu este nevoie să pierdeți energie în 7805, doar alimentați inductorul direct din celule. LED-urile sunt opționale, dar la îndemână pentru depanarea problemelor. LED-ul „stânga” (galben în plăcile mele) indică faptul că feedback-ul HV se află sub punctul dorit, în timp ce LED-ul din dreapta (roșu în designul meu) indică faptul că s-a terminat. În practică, obțineți un efect PWM frumos, în care LED-urile luminează în intensitate față de sarcina curentă. Dacă LED-ul roșu se stinge (solid), indică faptul că, în ciuda efortului depus, PIC nu poate menține tensiunea de ieșire la nivelul dorit. Cu alte cuvinte, sarcina depășește puterea maximă SMPS. NU UITAȚI SĂRMILE DE JUMPER AFIȘATE ÎN ROȘU! Lista pieselor Valoarea piesei C1 1uF 250V C3 47uF 50V C4 47uF (50V) C5 0.1uF C6.1uf C7 4u7 (50V) C8 0.1uF C9 0.1uF C11 0.47uF / 250V D1 600V 250ns IC2 TC4427a IC5 7805 5volt regulator IC7 PIC 12F683 L1 (22R104C) LED1 LED2 Q1 IRF740 R1 120K R2 0.47K R3 1K Trimmer liniar R4 330 Ohm R5 100K R6 330 Ohm R7 10K SV1 3 Pin Header X2 3 Terminal cu șurub

Pasul 5: Firmware

Firmware
Firmware

Firmware-ul este scris în MikroBasic, compilatorul este gratuit pentru programe de până la 2K (https://www.mikroe.com/). Dacă aveți nevoie de un programator PIC, luați în considerare placa de programare JDM2 îmbunătățită postată și la instructables (https://www.instructables.com/ex/i/6D80A0F6DA311028931A001143E7E506/?ALLSTEPS). Operațiune de bază: 1. Când se aplică puterea, PIC pornește. 2. PIC întârzie 1 secundă pentru a permite stabilizarea tensiunilor. 3. PIC citește feedback-ul tensiunii de alimentare și calculează valorile optime ale ciclului de funcționare și perioadei. 4. PIC înregistrează valorile de citire ADC, ciclul de funcționare și perioada în EEPROM. Acest lucru permite depanarea unor probleme și ajută la diagnosticarea eșecurilor catastrofale. Adresa EEPROM 0 este indicatorul de scriere. Un jurnal de 4 octeți este salvat de fiecare dată când SMPS este (re) pornit. Primii 2 octeți sunt ADC ridicat / scăzut, al treilea octet este mai mic cu 8 biți din valoarea ciclului de funcționare, al patrulea octet este valoarea perioadei. Un total de 50 de calibrări (200 octeți) sunt înregistrate înainte ca indicatorul de scriere să se rostogolească și să înceapă din nou la adresa EEPROM 1. Cel mai recent jurnal va fi localizat la pointer-4. Acestea pot fi citite din cip folosind un programator PIC. Cei 55 de octeți superiori sunt lăsați liberi pentru îmbunătățiri viitoare (vezi îmbunătățiri). 5. PIC intră în buclă fără sfârșit - se măsoară valoarea de feedback de înaltă tensiune. Dacă este sub valoarea dorită, registrele ciclului de funcționare PWM sunt încărcate cu valoarea calculată - NOTĂ: cei doi biți inferiori sunt importanți și trebuie încărcați în CPP1CON 5: 4, cei 8 biți superiori intră în CRP1L. Dacă feedback-ul depășește valoarea dorită, PIC încarcă registrul ciclului de funcționare cu 0. Acesta este un sistem „pulse skip”. Am decis să treceți prin impuls din două motive: 1) la frecvențe atât de înalte, nu există o lățime mare de funcționare (0-107 în exemplul nostru, mult mai puțin la tensiuni de alimentare mai mari) și 2) este posibilă modularea frecvenței, și oferă mult mai mult spațiu pentru ajustare (35-255 în exemplul nostru), dar NUMAI TAXA ESTE DUBLĂ BUFERATĂ ÎN HARDWARE. Schimbarea frecvenței în timp ce PWM funcționează poate avea efecte „ciudate”. Utilizarea firmware-ului: Pentru a utiliza firmware-ul sunt necesari mai mulți pași de calibrare. Aceste valori trebuie să fie compilate în firmware. Unii pași sunt opționali, dar vă vor ajuta să profitați la maximum de sursa de alimentare. const v_ref as float = 5.1 'float const supply_ratio as float = 11.35' float const osc_freq as float = 8 'float const L_Ipeak as float = 67' float const fb_value as word = 290 'word Aceste valori pot fi găsite în partea de sus a cod firmware. Găsiți valorile și setați după cum urmează. v_ref Aceasta este referința de tensiune a ADC. Acest lucru este necesar pentru a determina tensiunea reală de alimentare care trebuie inclusă în ecuațiile descrise în pasul 1. Dacă PIC este rulat de la un regulator 7805 5 volt ne putem aștepta la aproximativ 5 volți. Cu ajutorul unui multimetru măsurați tensiunea dintre pinul de alimentare PIC (PIN1) și împământare la borna cu șurub. Valoarea mea exactă a fost de 5,1 volți. Introduceți această valoare aici. supply_ratio Divizorul de tensiune de alimentare este format dintr-un rezistor de 100K și 10K. Teoretic, feedback-ul ar trebui să fie egal cu tensiunea de alimentare împărțită la 11 (vezi Tabelul 5. Calculul rețelei de feedback al tensiunii de alimentare). În practică, rezistențele au diverse toleranțe și nu sunt valori exacte. Pentru a găsi raportul de feedback exact: 1. Măsurați tensiunea de alimentare între bornele cu șurub. 2. Măsurați tensiunea de feedback între pinul PIC 7 și masă la borna cu șurub. 3. Împărțiți Oferta V cu FB V pentru a obține un raport exact. De asemenea, puteți utiliza „Tabelul 6. Calibrarea feedback-ului de tensiune de alimentare”. osc_freq Pur și simplu frecvența oscilatorului. Folosesc oscilatorul intern 12F683 de 8Mhz, așa că introduc o valoare de 8. L_Ipeak Înmulțiți bobina inductor uH cu amperii maximi continui pentru a obține această valoare. În exemplu, 22r104C este o bobină de 100uH cu o valoare nominală de.67amps continuă. 100 *.67 = 67. Înmulțirea valorii aici elimină o variabilă în virgulă mobilă pe 32 de biți și calculul care altfel ar trebui făcut pe PIC. Această valoare este calculată în „Tabelul 1: Calcule bobină pentru sursa de alimentare de înaltă tensiune”. fb_value Aceasta este valoarea întreagă reală pe care PIC o va folosi pentru a determina dacă ieșirea de înaltă tensiune este peste sau sub nivelul dorit. Utilizați Tabelul 3 pentru a determina raportul dintre ieșirea HV și tensiunea de feedback atunci când dispozitivul de tuns liniar este în poziția centrală. Utilizarea valorii centrale oferă spațiul de reglare pe ambele părți. Apoi, introduceți acest raport și referința exactă a tensiunii în "Tabelul 4. Valoare setată ADC de înaltă tensiune de feedback" pentru a determina valoarea fb_value. După ce găsiți aceste valori, introduceți-le în cod și compilați. Ardeți HEX-ul la PIC și sunteți gata să plecați! REȚINEȚI: octetul EEPROM 0 este indicatorul de scriere jurnal. Setați-l la 1 pentru a începe înregistrarea la octetul 1 pe o imagine nouă. Datorită calibrării, FET și inductor nu ar trebui să se încălzească niciodată. Nici nu ar trebui să auzi un sunet de la bobina inductorului. Ambele condiții indică o eroare de calibrare. Verificați jurnalul de date din EEPROM pentru a vă ajuta să determinați unde ar putea fi problema dvs.

Pasul 6: Îmbunătățiri

Îmbunătățiri
Îmbunătățiri

Câteva lucruri ar putea fi îmbunătățite:

1. Puneți terminalul cu șurub mai aproape de FET pentru o cale mai bună la sol. 2. Îngrășați urmele de alimentare către condensatori și inductor. 3. Adăugați o referință stabilă de tensiune pentru a îmbunătăți funcționarea de la baterii și alimentarea cu tensiuni mai mici de 7 volți (unde ieșirea 7805 scade sub 5 volți). 4. Folosiți cei 55 de octeți EEPROM superiori pentru a înregistra un bit fascinant de date inutile - durata totală de rulare, evenimente de suprasarcină, sarcină minimă / maximă / medie. -ian instructables-at-whereisian-dot-com

Recomandat: