Innholdsfortegnelse:

Høyspenningsbrytermodus Strømforsyning (SMPS)/Boost -omformer for Nixie -rør: 6 trinn
Høyspenningsbrytermodus Strømforsyning (SMPS)/Boost -omformer for Nixie -rør: 6 trinn

Video: Høyspenningsbrytermodus Strømforsyning (SMPS)/Boost -omformer for Nixie -rør: 6 trinn

Video: Høyspenningsbrytermodus Strømforsyning (SMPS)/Boost -omformer for Nixie -rør: 6 trinn
Video: Nixie Tube Operation - Self-Made 180V High Voltage Power Supply 2024, Juli
Anonim
High Voltage Switch Mode Power Supply (SMPS)/Boost Converter for Nixie Tubes
High Voltage Switch Mode Power Supply (SMPS)/Boost Converter for Nixie Tubes

Denne SMPS øker lavspenning (5-20 volt) til høyspenningen som trengs for å drive nixie-rør (170-200 volt). Vær advart: selv om denne lille kretsen kan drives på batterier/lavspenning vegg-worts, er utgangen mer enn nok til å drepe deg!

Prosjektet inkluderer: Helper Spreadsheet EagleCAD CCT & PCB -filer MikroBasic Firmware Source

Trinn 1: Hvordan fungerer det?

Hvordan virker det?
Hvordan virker det?

Denne designen er basert på Microchip Application Note TB053 med flere modifikasjoner basert på opplevelsen til Neonixie-L-medlemmer (https://groups.yahoo.com/group/NEONIXIE-L/). Få appnotatet - det er en fin lesning på bare noen få sider: (https://ww1.microchip.com/downloads/en/AppNotes/91053b.pdf) Illustrasjonen nedenfor er hentet fra TB053. Den skisserer det grunnleggende prinsippet bak SMPS. En mikrokontroller begrenser en FET (Q1), slik at en ladning kan bygge i induktor L1. Når FET er slått av, strømmer ladningen gjennom diode D1 til kondensatoren C1. Vvfb er en spenningsdeler -tilbakemelding som lar mikrokontrolleren overvåke høyspenningen og aktivere FET etter behov for å opprettholde ønsket spenning.

Trinn 2: Induktoregenskaper

Induktoregenskaper
Induktoregenskaper

Selv om det er veldig fint, virker Microchip -appnotatet litt bakover for meg. Den begynner med å bestemme nødvendig effekt, og velger deretter en induktorladetid uten bekymring for tilgjengelige induktorer. Jeg syntes det var mer nyttig å velge en induktor og designe applikasjonen rundt det. Induktorene jeg brukte er "C&D Technologies Inductors RADIAL LEAD 100uH" (Mouser-del 580-18R104C, 1,2 amp, $ 1,40), (Mouser-del 580-22R104C, 0,67 forsterker, $ 0,59). Jeg valgte disse induktorene fordi de er veldig små, veldig billige, men likevel har anstendig effektvurderinger. Vi vet allerede maks kontinuerlig karakter for spolen vår (0,67 ampere for 22R104C), men vi må vite hvor lang tid det vil ta å lade (stigetid). I stedet for å bruke en fast ladetid (se ligning 6 i TB053) for å bestemme de nødvendige spoleforsterkere, kan vi spørre ligning 6 og løse for stigningstid: (merk: ligning 6 i TB053 er feil, den skal være L, ikke 2L) (Volt i/Induktor uH)*stige_tid = Toppforsterkere -blir- (Induktor uH/Volt i)*Toppforsterkere = stigetid. -Bruk 22R104C med en 5 volt forsyning gir følgende- (100/5)*0,67 = 13,5uSDet vil ta 13,5 uS for å lade induktorspolen fullstendig ved 5 volt. Denne verdien vil åpenbart variere med forskjellige forsyningsspenninger. Som nevnt i TB053: "Strømmen i en induktor kan ikke endres øyeblikkelig. Når Q1 er slått av, fortsetter strømmen i L1 å strømme gjennom D1 til lagringskondensatoren, C1, og belastningen, RL. Dermed vil strømmen i induktoren reduseres lineært i tid fra toppstrømmen. "Vi kan bestemme hvor lang tid det tar å strømme ut av induktoren ved å bruke TB05 -ligning 7. I praksis er denne tiden veldig kort. Denne ligningen er implementert i det medfølgende regnearket, men vil ikke bli diskutert her. Hvor mye strøm kan vi få ut av en 0,67 amp induktor? Total effekt bestemmes av følgende ligning (tb053 ligning 5): Effekt = (((stigningstid)*(volt i)2)/(2*Induktor uH))-bruker vi våre tidligere verdier finner vi-1,68 Watt = (13,5uS*5 volt2)/(2*100uH)-konvertere watt til mA-mA = ((effekt watt)/(utgangsvolt))*1000 ved å bruke en utgangsspenning på 180 finner vi-9,31mA = (1,68Watt/180volt)*1000Vi kan få maks 9,31 mA fra denne spolen med en 5 volt forsyning, ignorerer all ineffektivitet og bytte tap. Større utgangseffekt kan oppnås ved å øke forsyningsspenningen. Alle disse beregningene er implementert i "Tabell 1: Spoleberegninger for høyspenningsstrømforsyning" i regnearket som følger med denne instruksen. Flere eksempelspoler er angitt.

Trinn 3: Kjør SMPS med en mikrokontroller

Kjøre SMPS med en mikrokontroller
Kjøre SMPS med en mikrokontroller

Nå som vi har beregnet økningstiden for spolen vår, kan vi programmere en mikrokontroller til å lade den akkurat lenge nok til å nå den nominelle mAen. En av de enkleste måtene å gjøre dette på er å bruke maskinvarepulsbreddemodulatoren til en PIC. Pulsbreddemodulering (PWM) har to variabler som er skissert i figuren nedenfor. Under driftssyklusen slår PIC på FET, jording den og slipper strøm inn i induktorspolen (stigetid). I løpet av resten av perioden er FET slått av og strømmen strømmer ut av induktoren gjennom dioden til kondensatorene og belastningen (falltid). Vi kjenner allerede den nødvendige stigningstiden fra våre tidligere beregninger: 13,5uS. TB053 antyder at stigningstiden er 75% av perioden. Jeg bestemte perioden min ved å multiplisere stigningstiden med 1,33: 17,9uS. Dette er i samsvar med forslaget i TB053 og sikrer at induktoren forblir i diskontinuerlig modus - utlades helt etter hver lading. Det er mulig å beregne en mer eksakt periode ved å legge den beregnede stigningstiden til den beregnede falltiden, men jeg har ikke forsøkt dette. Nå kan vi bestemme den faktiske driftssyklusen og periodeverdiene for å gå inn i mikrokontrolleren for å få de ønskede tidsintervallene.. I Microchip PIC Mid-range manual finner vi følgende ligninger (https://ww1.microchip.com/downloads/en/DeviceDoc/33023a.pdf):PWM Duty Cycle uS = (10 bit Duty Cycle Value) * (1 / oscillator Frequency) * Prescaler Hvis vi setter prescaler til 1 og slår denne ligningen med en algebra -pinne får vi: 10 bit Duty Cycle Value = PWM Duty Cycle uS * Oscillator Frequency Erstatt Duty Cycle usS for beregnet stigningstid, og anta en 8 Mhz oscillator frekvens: 107 = 13.5uS * 8Mhz107 legges inn i PIC for å få en driftssyklus på 13.5uS. Deretter bestemmer vi PWM -periodeverdien. Fra Mid-Range Manual får vi følgende ligning: PWM-periode uS = ((PWM-periodeverdi) + 1) * 4 * (1/oscillatorfrekvens) * (forhåndsskalaverdi) Igjen setter vi forhåndskalkulator til 1 og trakasserer ligningen for PWM-periodeverdi, og gir oss: PWM-periodeverdi = ((PWM-periode uS/(4/oscillatorfrekvens))-1) Erstatningsperiode uS for (1,33*stigetid), og anta en 8 Mhz oscillatorfrekvens: 35 = ((17.9/(4/8))-1) 35 legges inn i PIC for å få en periode på 17.9uS. Men vent! Er ikke perioden kortere enn arbeidssyklusen? Nei - PIC -er har et 10 -bits driftssyklusregister og et 8 -biters perioderegister. Det er mer oppløsning for driftssyklusverdien, og derfor vil verdien noen ganger være større enn periodeverdien - spesielt ved høye frekvenser. Alle disse beregningene er implementert i "Tabell 2. PWM -beregninger" i regnearket som følger med denne instruerbare. Flere eksempelspoler er angitt.

Trinn 4: PCB -design

PCB -design
PCB -design
PCB -design
PCB -design

PCB og CCT er i EagleCad -format. Begge er inkludert i ZIP -arkivet.

Jeg så på flere eksisterende design da jeg laget denne PCB. Her er notatene mine om: viktige designegenskaper: 1. Jeg fulgte Microchip APP -notatet og brukte en TC4427A for å kjøre FET. Denne A) beskytter mikrokontrolleren mot tilbakeslagsspenninger som kommer fra FET, og B) kan drive FET ved høyere spenninger enn PIC for raskere/hardere bytte med bedre effektivitet. 2. Avstanden fra PWM for PIC til FET er minimert. 3. FET, induktor, kondensatorer pakket veldig tett. 4. Fetttilførselsspor. 5. God grunn mellom FET og vegg-wort-tilkoblingspunkt. Jeg valgte PIC 12F683 mikrokontroller for dette prosjektet. Dette er en 8 -pinners PIC med maskinvare PWM, 4 analoge til digitale omformere, 8Mhz intern oscillator og 256 byte EEPROM. Viktigst av alt, jeg hadde en på fra et tidligere prosjekt. Jeg brukte IRF740 FET på grunn av den høye anerkjennelsen på Neonixie-L-listen. Det er 2 kondensatorer for å jevne HV -forsyningen. Den ene er en elektrolytisk (høy temperatur, 250 volt, 1uF), den andre er en metallfilm (250 volt, 0,47uf). Sistnevnte er mye større og dyrere ($ 0,50 vs $ 0,05), men nødvendig for å få en ren produksjon. Det er to spenningstilbakemeldingskretser i dette designet. Den første lar PIC -en kjenne utgangsspenningen og bruke pulser til FET etter behov for å opprettholde ønsket nivå. "Table3. High Voltage Feedback Network Calculations" kan brukes til å bestemme riktig tilbakemeldingsverdi gitt 3 motstandsspenningsdeleren og ønsket utgangsspenning. Finjustering utføres med 1k trimmermotstanden. Den andre tilbakemeldingen måler forsyningsspenningen slik at PIC kan bestemme optimal stigningstid (og periode/driftssyklusverdier). Fra ligningene i trinn 1 fant vi at induktorstigningstiden er avhengig av forsyningsspenningen. Det er mulig å angi eksakte verdier fra regnearket i PIC -en, men hvis strømforsyningen endres, er verdiene ikke lenger optimale. Hvis du går fra batterier, vil spenningen avta etter hvert som batteriene lades ut, noe som krever en lengre økningstid. Min løsning var å la PIC beregne alt dette og sette sine egne verdier (se fastvare). Trepinnshopperen velger forsyningskilde for TC4427A og induktorspole. Det er mulig å kjøre både fra 7805 5 volt regulatoren, men bedre effektivitet og høyere effekt oppnås med en større forsyningsspenning. Både TC4427a og IRF740 FET tåler opptil 20 volt. Siden PIC vil kalibrere for en gitt forsyningsspenning, er det fornuftig å mate disse direkte fra strømforsyningen. Dette er spesielt viktig i batteridrift - du trenger ikke å kaste bort strøm i 7805, bare mat induktoren direkte fra cellene. Lysdiodene er valgfrie, men praktiske for feilsøking. Den "venstre" LED -en (gul i tavlene mine) indikerer at HV -tilbakemeldingen er under ønsket punkt, mens den høyre LED -en (rød i mitt design) indikerer at den er over. I praksis får du en fin PWM -effekt der lysdiodene lyser i intensitet i forhold til gjeldende belastning. Hvis den røde lysdioden slås av (fast), indikerer det at PIC til tross for sin beste innsats ikke kan holde utgangsspenningen på ønsket nivå. Med andre ord overstiger belastningen SMPS maksimal utgang. GLEM IKKE Hoppertrådene vist i rødt! Partlist Delverdi 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 5volts regulator IC7 PIC 12F683 L1 (22R104C) LED1 LED2 Q1 IRF740 R1 120K R2 0.47K R3 1K Lineær trimmer R4 330 Ohm R5 100K R6 330 Ohm R7 10K SV1 3 -pins topp X2 3 Skruterminal

Trinn 5: Fastvare

Fastvare
Fastvare

Fastvaren er skrevet i MikroBasic, kompilatoren er gratis for programmer opptil 2K (https://www.mikroe.com/). Hvis du trenger en PIC -programmerer, bør du vurdere det forbedrede JDM2 -programmererkortet mitt som også er lagt ut på instructables (https://www.instructables.com/ex/i/6D80A0F6DA311028931A001143E7E506/?ALLSTEPS). Grunnleggende bruk: 1. Når strøm er på, starter PIC. 2. PIC forsinkelser i 1 sekund for å la spenninger stabilisere seg. 3. PIC leser tilbakemeldingen fra forsyningsspenningen og beregner optimale driftssyklus- og periodeverdier. 4. PIC logger ADC -lesing, driftssyklus og periodeverdier til EEPROM. Dette tillater litt feilsøking og hjelper til med å diagnostisere katastrofale feil. EEPROM -adresse 0 er skrivepekeren. En 4 byte logg lagres hver gang SMPS startes (på nytt). De to første bytene er ADC høy/lav, tredje byte er lavere 8 bits driftssyklusverdi, fjerde byte er periodeverdien. Totalt 50 kalibreringer (200 byte) logges før skrivepekeren ruller over og starter på nytt ved EEPROM-adresse 1. Den siste loggen vil bli plassert på peker-4. Disse kan leses ut av brikken ved hjelp av en PIC -programmerer. De øvre 55 byte er ledige for fremtidige forbedringer (se forbedringer). 5. PIC går inn i endeløs sløyfe - høyspennings tilbakemeldingsverdi måles. Hvis den er under ønsket verdi, lastes PWM -driftssyklusregistrene med den beregnede verdien - MERK: de to nederste bitene er viktige og må lastes inn i CPP1CON 5: 4, de øvre 8 bitene går inn i CRP1L. Hvis tilbakemeldingen er over ønsket verdi, laster PIC -platen syklusregistrene med 0. Dette er et "pulshopp" -system. Jeg bestemte meg for pulshopp av to grunner: 1) ved så høye frekvenser er det ikke mye pliktbredde å leke med (0-107 i vårt eksempel, mye mindre ved høyere forsyningsspenninger), og 2) frekvensmodulering er mulig, og gir mye mer rom for justering (35-255 i vårt eksempel), men KUN PAKT ER DUBBELT BUFFERT I MASKINEN. Å endre frekvensen mens PWM er i bruk kan ha 'merkelige' effekter. Bruke fastvaren: Flere kalibreringstrinn kreves for å bruke fastvaren. Disse verdiene må kompileres til fastvaren. Noen trinn er valgfrie, men hjelper deg med å få mest mulig ut av strømforsyningen. 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 Disse verdiene finnes øverst i fastvarekode. Finn verdiene og angi som følger. v_ref Dette er spenningsreferansen til ADC. Dette er nødvendig for å bestemme den faktiske forsyningsspenningen som skal inkluderes i ligningene beskrevet i trinn 1. Hvis PIC kjøres fra en 7805 5volts regulator kan vi forvente rundt 5 volt. Måle spenningen mellom PIC -strømpinnen (PIN1) og jordet ved skrueterminalen ved hjelp av et multimeter. Min eksakte verdi var 5,1 volt. Skriv inn denne verdien her. supply_ratio Forsyningsspenningsdeleren består av en 100K og 10K motstand. Teoretisk sett skal tilbakemeldingen være lik forsyningsspenningen dividert med 11 (se tabell 5. Nettverksberegninger for nettspenningsfeedback). I praksis har motstander forskjellige toleranser og er ikke eksakte verdier. For å finne det eksakte tilbakemeldingsforholdet: 1. Mål forsyningsspenningen mellom skrueterminalene. 2. Mål tilbakemeldingsspenningen mellom PIC -pinne 7 og jordet ved skrueterminalen. 3. Del Supply V med FB V for å få et eksakt forhold. Du kan også bruke "Tabell 6. Tilbakemelding for kalibrering av forsyningsspenning". osc_freq Bare oscillatorfrekvensen. Jeg bruker 12F683 intern 8Mhz oscillator, så jeg angir en verdi på 8. L_Ipeak Multipliser induktorspolen uH med maksimal kontinuerlig ampere for å få denne verdien. I eksemplet er 22r104C en 100uH spole med en karakter på 0,67 ampere kontinuerlig. 100*.67 = 67. Multiplisering av verdien her eliminerer en 32 -biters flytende punktvariabel og beregning som ellers måtte gjøres på PIC. Denne verdien er beregnet i "Tabell 1: Spoleberegninger for høyspent strømforsyning". fb_value Dette er den faktiske heltallverdien PIC vil bruke for å avgjøre om høyspenningseffekten er over eller under ønsket nivå. Bruk tabell 3 til å bestemme forholdet mellom HV -utgang og tilbakemeldingsspenning når den lineære trimmeren er i senterposisjon. Ved å bruke senterverdien får du justeringsrom på hver side. Deretter angir du dette forholdet og din eksakte spenningsreferanse i "Tabell 4. Høy spennings tilbakemelding ADC sett verdi" for å bestemme fb_verdi. Etter at du har funnet disse verdiene, skriver du dem inn i koden og kompilerer. Brenn HEX til PIC, og du er klar til å gå! HUSK: EEPROM byte 0 er loggpekeren. Sett den til 1 for å begynne å logge til byte 1 på et nytt bilde. På grunn av kalibreringen bør FET og induktoren aldri bli varme. Du skal heller ikke høre en ringelyd fra induktorspolen. Begge disse forholdene indikerer en kalibreringsfeil. Sjekk dataloggen i EEPROM for å finne ut hvor problemet kan være.

Trinn 6: Forbedringer

Forbedringer
Forbedringer

Et par ting kan forbedres:

1. Sett skrueterminalen nærmere FET for bedre bakkebane. 2. Fett tilførselssporet til kondensatorene og induktoren. 3. Legg til en stabil spenningsreferanse for å forbedre driften fra batterier og forsyningsspenninger mindre enn 7 volt (der utgangen til 7805 faller under 5 volt). 4. Bruk de øvre 55 EEPROM -byte for å logge fascinerende bit av ubrukelig data - total kjøretid, overbelastningshendelser, min/maks/gjennomsnittlig belastning. -ian instructables-at-whereisian-dot-com

Anbefalt: