Indholdsfortegnelse:

Højspændingsafbrydertilstand Strømforsyning (SMPS)/boost -konverter til Nixie -rør: 6 trin
Højspændingsafbrydertilstand Strømforsyning (SMPS)/boost -konverter til Nixie -rør: 6 trin

Video: Højspændingsafbrydertilstand Strømforsyning (SMPS)/boost -konverter til Nixie -rør: 6 trin

Video: Højspændingsafbrydertilstand Strømforsyning (SMPS)/boost -konverter til Nixie -rør: 6 trin
Video: ИС дифференциального компаратора LM339 в качестве защиты по напряжению и току в блоке питания ATX 2024, Juli
Anonim
Højspændingsafbrydertilstand Strømforsyning (SMPS)/boostkonverter til Nixie -rør
Højspændingsafbrydertilstand Strømforsyning (SMPS)/boostkonverter til Nixie -rør

Denne SMPS øger lavspænding (5-20 volt) til den højspænding, der er nødvendig for at drive nixie-rør (170-200 volt). Vær advaret: selvom dette lille kredsløb kan betjenes på batterier/lavspændingsvægge, er output mere end nok til at dræbe dig!

Projektet omfatter: Helper Spreadsheet EagleCAD CCT & PCB filer MikroBasic Firmware Source

Trin 1: Hvordan fungerer det?

Hvordan virker det?
Hvordan virker det?

Dette design er baseret på Microchip Application Note TB053 med flere ændringer baseret på erfaringerne fra Neonixie-L-medlemmer (https://groups.yahoo.com/group/NEONIXIE-L/). Få appnoten - det er en god læsning på kun få sider: (https://ww1.microchip.com/downloads/da/AppNotes/91053b.pdf) Illustrationen herunder er uddrag af TB053. Det skitserer det grundlæggende princip bag SMPS. En mikrokontroller begrunder en FET (Q1), så en ladning kan indbygges i induktor L1. Når FET er slukket, strømmer ladningen gennem diode D1 til kondensator C1. Vvfb er en spændingsdeler -feedback, der gør det muligt for mikrokontrolleren at overvåge højspændingen og aktivere FET efter behov for at opretholde den ønskede spænding.

Trin 2: Induktorkarakteristika

Induktor Egenskaber
Induktor Egenskaber

Selvom det er meget flot, virker Microchip -appnoten lidt baglæns for mig. Det begynder med at bestemme den nødvendige effekt, og vælger derefter en induktoropladningstid uden bekymring for tilgængelige induktorer. Jeg fandt det mere nyttigt at vælge en induktor og designe applikationen omkring det. De induktorer, jeg brugte, er "C&D Technologies Inductors RADIAL LEAD 100uH" (Mouser-del 580-18R104C, 1,2 amp, $ 1,40), (Mouser-del 580-22R104C, 0,67 forstærker, $ 0,59). Jeg valgte disse induktorer, fordi de er meget små, meget billige, men alligevel har anstændige effektværdier. Vi kender allerede den maksimale kontinuerlige vurdering af vores spole (0,67 ampere for 22R104C), men vi skal vide, hvor lang tid det vil tage at oplade (tid til at stå op). I stedet for at bruge en fast ladetid (se ligning 6 i TB053) til at bestemme de nødvendige spoleforstærkere, kan vi forhøre ligning 6 og løse for stigningstid: (Bemærk: ligning 6 i TB053 er forkert, det skal være L, ikke 2L) (Volt i/Induktor uH)*stige_tid = Peak Ampere -bliver- (Induktor uH/Volt in)*Peak Amps = stigningstid.-ved hjælp af 22R104C med en 5 volt forsyning giver følgende- (100/5)*0,67 = 13,5uSDet vil tage 13,5 uS at oplade induktorspolen fuldt ud ved 5 volt. Denne værdi vil naturligvis variere med forskellige forsyningsspændinger. Som bemærket i TB053: "Strømmen i en induktor kan ikke ændre sig øjeblikkeligt. Når Q1 slukkes, fortsætter strømmen i L1 med at strømme gennem D1 til lagerkondensatoren, C1 og belastningen, RL. Således strømmen i induktoren falder lineært i tid fra spidsstrømmen. "Vi kan bestemme den tid, det tager strømmen at strømme ud af induktoren ved hjælp af TB05 -ligning 7. I praksis er denne tid meget kort. Denne ligning er implementeret i det medfølgende regneark, men vil ikke blive diskuteret her. Hvor meget strøm kan vi få ud af en 0,67 amp induktor? Total effekt bestemmes af følgende ligning (tb053 ligning 5): Effekt = (((stigningstid)*(volt i)2)/(2*Induktor uH))-ved hjælp af vores tidligere værdier finder vi-1,68 Watt = (13,5uS*5 volt2)/(2*100uH)-konverter watt til mA-mA = ((Power Watts)/(output volt))*1000-ved hjælp af en udgangsspænding på 180 finder vi-9,31mA = (1,68Watts/180volts)*1000We kan maksimalt få 9,31 mA fra denne spole med en 5 volt forsyning, der ignorerer alle ineffektiviteter og skiftetab. Større udgangseffekt kan opnås ved at øge forsyningsspændingen. Alle disse beregninger er implementeret i "Tabel 1: Spoleberegninger for højspændingsforsyning" i regnearket, der følger med denne instruktionsbog. Flere eksempelspoler indtastes.

Trin 3: Kørsel af SMPS med en mikrokontroller

Kørsel af SMPS med en mikrokontroller
Kørsel af SMPS med en mikrokontroller

Nu hvor vi har beregnet stigningstiden for vores spole, kan vi programmere en mikrokontroller til at oplade den lige længe nok til at nå dens nominelle mA. En af de nemmeste måder at gøre dette på er at bruge hardware -pulsbreddemodulatoren til en PIC. Pulsbreddemodulation (PWM) har to variabler, der er skitseret i nedenstående figur. Under driftscyklussen tænder PIC'en FET, jordforbindelse og tillader strøm i induktorspolen (stigningstid). I resten af perioden er FET slukket, og strømmen strømmer ud af induktoren gennem dioden til kondensatorerne og belastning (faldtid). Vi kender allerede den krævede stigningstid fra vores tidligere beregninger: 13,5uS. TB053 antyder, at stigningstiden er 75% af perioden. Jeg bestemte min periodeværdi ved at gange stigningstiden med 1,33: 17,9uS. Dette er i overensstemmelse med forslaget i TB053 og sikrer, at induktoren forbliver i diskontinuerlig tilstand - aflades helt efter hver opladning. Det er muligt at beregne en mere præcis periode ved at tilføje den beregnede stigningstid til den beregnede faldtid, men jeg har ikke forsøgt dette. Nu kan vi bestemme den faktiske driftscyklus og periodeværdier for at komme ind i mikrokontrolleren for at få de ønskede tidsintervaller. I Microchip PIC Mid-range manual finder 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 indstiller prescaler til 1 og slår denne ligning med en algebra stick får vi: 10 bit Duty Cycle Value = PWM Duty Cycle uS * Oscillator Frequency Erstat Duty Cycle us for beregnet stigningstid, og antag en 8 Mhz oscillator frekvens: 107 = 13.5uS * 8Mhz107 indtastes i PIC for at få en driftscyklus på 13.5uS. Dernæst bestemmer vi PWM -periodeværdien. Fra Mid-Range Manual får vi følgende ligning: PWM-periode uS = ((PWM-periodeværdi) + 1) * 4 * (1/oscillatorfrekvens) * (forskalningsværdi) Igen indstiller vi forcalkaler til 1 og chikanerer ligningen for PWM-periodeværdi, hvilket giver os: PWM-periodeværdi = ((PWM-periode uS/(4/Oscillatorfrekvens))-1) Substitutér periode uS for (1,33*stigningstid), og antag en 8 Mhz oscillatorfrekvens: 35 = ((17.9/(4/8))-1) 35 indtastes i PIC for at få en periode på 17.9uS. Men vent! Er perioden ikke kortere end driftscyklussen? Nej - PIC'er har et 10 bit driftscyklusregister og et 8 bit perioderegister. Der er mere opløsning for duty cycle -værdien, derfor vil dens værdi undertiden være større end periodens værdi - især ved høje frekvenser. Alle disse beregninger er implementeret i "Tabel 2. PWM -beregninger" i regnearket, der følger med denne instruerbare. Flere eksempelspoler indtastes.

Trin 4: PCB -design

PCB Design
PCB Design
PCB Design
PCB Design

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

Jeg kiggede på flere eksisterende designs, da jeg lavede dette printkort. Her er mine noter om: vigtige designegenskaber: 1. Jeg fulgte Microchip APP -noten og brugte en TC4427A til at køre FET. Denne A) beskytter mikrokontrolleren mod tilbageslagsspændinger, der kommer fra FET, og B) kan drive FET ved højere spændinger end PIC for hurtigere/hårdere omskiftning med bedre effektivitet. 2. Afstanden fra PIC for PIC til FET minimeres. 3. FET, induktor, kondensatorer pakket rigtig tæt. 4. Fedtforsyningsspor. 5. God jord mellem FET og tilslutningspunkt til vægurt. Jeg valgte PIC 12F683 mikrokontroller til dette projekt. Dette er en 8 -pin PIC med hardware PWM, 4 analoge til digitale omformere, 8Mhz intern oscillator og 256 byte EEPROM. Vigtigst af alt havde jeg en på haft fra et tidligere projekt. Jeg brugte IRF740 FET på grund af dens høje anerkendelse på Neonixie-L listen. Der er 2 kondensatorer til at udjævne HV -forsyningen. Den ene er en elektrolytisk (høj temperatur, 250 volt, 1uF), den anden er en metalfilm (250 volt, 0,47uf). Sidstnævnte er meget større og dyrere ($ 0,50 vs $ 0,05), men nødvendigt for at få et rent output. Der er to spændingsfeedback -kredsløb i dette design. Den første gør det muligt for PIC at registrere udgangsspændingen og anvende pulser til FET efter behov for at opretholde det ønskede niveau. "Tabel 3. Højspændingsfeedback -netværksberegninger" kan bruges til at bestemme den korrekte feedbackværdi givet 3 modstandsspændingsdeleren og den ønskede udgangsspænding. Finjustering udføres med 1k trimmermodstanden. Den anden feedback måler forsyningsspændingen, så PIC'en kan bestemme optimal stigningstid (og periode/driftscyklusværdier). Fra ligningerne i trin 1 fandt vi ud af, at induktorstigningstiden er afhængig af forsyningsspændingen. Det er muligt at indtaste nøjagtige værdier fra regnearket i din PIC, men hvis strømforsyningen ændres, er værdierne ikke længere optimale. Hvis der køres fra batterier, vil spændingen falde, da batterierne aflades, hvilket kræver en længere stigningstid. Min løsning var at lade PIC beregne alt dette og indstille sine egne værdier (se firmware). Den trebolte jumper vælger forsyningskilden til TC4427A og induktionsspolen. Det er muligt at køre både fra 7805 5 volt regulatoren, men bedre effektivitet og højere output opnås med en større forsyningsspænding. Både TC4427a og IRF740 FET tåler op til ~ 20 volt. Da PIC'en vil kalibrere for en given forsyningsspænding, er det fornuftigt at fodre disse direkte fra strømforsyningen. Dette er især vigtigt i batteridrift - det er ikke nødvendigt at spilde strøm i 7805, bare fodre induktoren direkte fra cellerne. Lysdioderne er valgfri, men praktisk til fejlfinding. Den 'venstre' LED (gul i mine tavler) angiver, at HV -feedback er under det ønskede punkt, mens den højre LED (rød i mit design) angiver, at den er slut. I praksis får du en flot PWM -effekt, hvor LED'erne lyser i intensitet i forhold til den aktuelle belastning. Hvis den røde LED slukker (fast), angiver det, at PIC trods sin bedste indsats ikke kan holde udgangsspændingen på det ønskede niveau. Med andre ord overstiger belastningen SMPS maksimale output. Glem ikke JUMPERWIRES VISET I RØDT! Partlist Delværdi 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 Pin Header X2 3 Skrueterminal

Trin 5: Firmware

Firmware
Firmware

Firmwaren er skrevet i MikroBasic, kompilatoren er gratis til programmer op til 2K (https://www.mikroe.com/). Hvis du har brug for en PIC -programmerer, kan du overveje mit forbedrede JDM2 -programmeringsbræt, der også er placeret på instructables (https://www.instructables.com/ex/i/6D80A0F6DA311028931A001143E7E506/?ALLSTEPS). Grundlæggende betjening: 1. Når strømmen tilsluttes, starter PIC'en. 2. PIC forsinkelser i 1 sekund for at tillade spændinger at stabilisere sig. 3. PIC læser forsyningsspændingsfeedback og beregner optimale driftscyklus- og periodeværdier. 4. PIC logger ADC -læsning, driftscyklus og periodeværdier til EEPROM. Dette tillader nogle fejlfinding og hjælper med at diagnosticere katastrofale fejl. EEPROM -adresse 0 er skrivemarkøren. En 4 byte log gemmes hver gang SMPS startes (gen). De første 2 bytes er ADC høj/lav, tredje byte er lavere 8 bit af driftscyklusværdi, fjerde byte er periodeværdien. I alt 50 kalibreringer (200 bytes) logges, før skrivemarkøren ruller og starter igen ved EEPROM-adresse 1. Den seneste log vil være placeret på pointer-4. Disse kan læses ud af chippen ved hjælp af en PIC -programmør. De øvre 55 bytes står tilbage til fremtidige forbedringer (se forbedringer). 5. PIC går ind i endeløs sløjfe - højspændingsfeedbackværdi måles. Hvis den er under den ønskede værdi, indlæses PWM -driftscyklusregistrene med den beregnede værdi - BEMÆRK: de to nederste bits er vigtige og skal indlæses i CPP1CON 5: 4, de øverste 8 bit går ind i CRP1L. Hvis tilbagemeldingen er over den ønskede værdi, indlæser PIC'en driftscyklusregistrene med 0. Dette er et "pulsspring" -system. Jeg besluttede mig for pulsspring af to grunde: 1) ved så høje frekvenser er der ikke meget pligtbredde at lege med (0-107 i vores eksempel, meget mindre ved højere forsyningsspændinger), og 2) frekvensmodulation er mulig, og giver meget mere plads til justering (35-255 i vores eksempel), men KUN Pligt er dobbeltbufferet i hardware. Ændring af frekvensen, mens PWM kører, kan have 'mærkelige' effekter. Brug af firmwaren: Flere kalibreringstrin er nødvendige for at bruge firmwaren. Disse værdier skal kompileres i firmwaren. Nogle trin er valgfri, men hjælper dig med at få mest muligt ud af din strømforsyning. 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 værdier findes øverst i firmwarekode. Find værdierne, og indstil som følger. v_ref Dette er spændingsreferencen for ADC'en. Dette er nødvendigt for at bestemme den faktiske forsyningsspænding, der skal inkluderes i ligningerne beskrevet i trin1. Hvis PIC'en køres fra en 7805 5volts regulator, kan vi forvente omkring 5 volt. Ved hjælp af et multimeter måles spændingen mellem PIC -strømstiften (PIN1) og jord ved skrueterminalen. Min nøjagtige værdi var 5,1 volt. Indtast denne værdi her. supply_ratio Forsyningsspændingsdeleren består af en 100K og 10K modstand. Teoretisk set skal feedbacken svare til forsyningsspændingen divideret med 11 (se tabel 5. Netværksberegninger for forsyningsspænding). I praksis har modstande forskellige tolerancer og er ikke nøjagtige værdier. For at finde det nøjagtige feedback -forhold: 1. Mål forsyningsspændingen mellem skrueterminalerne. 2. Mål feedback -spændingen mellem PIC -stift 7 og jord ved skrueterminalen. 3. Opdel Supply V med FB V for at få et nøjagtigt forhold. Du kan også bruge "Tabel 6. Kalibrering af feedback på forsyningsspænding". osc_freq Simpelthen oscillatorfrekvensen. Jeg bruger den 12F683 interne 8Mhz oscillator, så jeg indtaster en værdi på 8. L_Ipeak Multiplicer induktorspolen uH med de maksimale kontinuerlige ampere for at få denne værdi. I eksemplet er 22r104C en 100uH spole med en rating på.67 ampere kontinuerlig. 100*.67 = 67. Multiplicering af værdien her eliminerer en variabel på 32 bit floating point og beregning, der ellers skulle udføres på PIC. Denne værdi er beregnet i "Tabel 1: Spoleberegninger for højspændingsforsyning". fb_value Dette er den faktiske heltalværdi, som PIC'en vil bruge til at afgøre, om højspændingsudgangen er over eller under det ønskede niveau. Brug tabel 3 til at bestemme forholdet mellem HV -output og feedback -spænding, når den lineære trimmer er i midterpositionen. Brug af centerværdien giver justeringsrum på hver side. Indtast derefter dette forhold og din nøjagtige spændingsreference i "Tabel 4. ADC -indstillingsværdi for højspændingsfeedback" for at bestemme fb_værdien. Når du har fundet disse værdier, skal du indtaste dem i koden og kompilere. Brænd HEX til PIC, og du er klar til at gå! HUSK: EEPROM byte 0 er log -skrivemarkøren. Indstil den til 1 for at begynde at logge på byte 1 på et nyt billede. På grund af kalibreringen bør FET og induktoren aldrig blive varme. Du skal heller ikke høre en ringelyd fra induktionsspolen. Begge disse betingelser angiver en kalibreringsfejl. Tjek dataloggen i EEPROM for at finde ud af, hvor dit problem kan være.

Trin 6: Forbedringer

Forbedringer
Forbedringer

Et par ting kan forbedres:

1. Sæt skrueterminalen tættere på FET for bedre jordforbindelse. 2. Fed forsyningssporet til kondensatorerne og induktoren. 3. Tilføj en stabil spændingsreference for at forbedre driften fra batterier og forsyningsspændinger mindre end 7 volt (hvor output fra 7805 falder under 5 volt). 4. Brug de øverste 55 EEPROM -bytes til at logge fascinerende lidt ubrugelige data - samlet løbetid, overbelastningshændelser, min/max/gennemsnitlig belastning. -ianske instruktører-på-whereisian-dot-com

Anbefalede: