Innehållsförteckning:

Högspänningsbrytarläge Strömförsörjning (SMPS)/Boost -omvandlare för Nixie -rör: 6 steg
Högspänningsbrytarläge Strömförsörjning (SMPS)/Boost -omvandlare för Nixie -rör: 6 steg

Video: Högspänningsbrytarläge Strömförsörjning (SMPS)/Boost -omvandlare för Nixie -rör: 6 steg

Video: Högspänningsbrytarläge Strömförsörjning (SMPS)/Boost -omvandlare för Nixie -rör: 6 steg
Video: Преобразование источника питания SMPS в регулируемый по току и напряжению 2024, Juli
Anonim
Högspänningsbrytarläge Strömförsörjning (SMPS)/Boost -omvandlare för Nixie -rör
Högspänningsbrytarläge Strömförsörjning (SMPS)/Boost -omvandlare för Nixie -rör

Denna SMPS ökar lågspänningen (5-20 volt) till den högspänning som behövs för att driva nixie-rör (170-200 volt). Varnas: även om denna lilla krets kan drivas med batterier/lågspänningsväggar, är utgången mer än tillräckligt för att döda dig!

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

Steg 1: Hur fungerar det?

Hur fungerar det?
Hur fungerar det?

Denna design är baserad på Microchip Application Note TB053 med flera modifieringar baserade på Neonixie-L-medlemmars erfarenhet (https://groups.yahoo.com/group/NEONIXIE-L/). Hämta appanteckningen - det är en trevlig läsning på bara några sidor: (https://ww1.microchip.com/downloads/en/AppNotes/91053b.pdf) Illustrationen nedan är utdrag från TB053. Den beskriver den grundläggande principen bakom SMPS. En mikrokontroller grundar en FET (Q1), så att en laddning kan byggas in i induktor L1. När FET är avstängd strömmar laddningen genom diod D1 till kondensatorn C1. Vvfb är en spänningsdelningsåterkoppling som gör att mikrokontrollern kan övervaka högspänningen och aktivera FET efter behov för att bibehålla önskad spänning.

Steg 2: Induktoregenskaper

Induktors egenskaper
Induktors egenskaper

Även om det är väldigt trevligt, verkar Microchip -appnotan lite bakåt för mig. Den börjar med att bestämma den erforderliga effekten och väljer sedan en induktorladdningstid utan oro för tillgängliga induktorer. Jag tyckte det var mer användbart att välja en induktor och designa applikationen kring det. Induktorerna jag använde är "C&D Technologies Inductors RADIAL LEAD 100uH" (Mouser-del 580-18R104C, 1,2 amp, $ 1,40), (Mouser-del 580-22R104C, 0,67 förstärkare, $ 0,59). Jag valde dessa induktorer eftersom de är väldigt små, mycket billiga, men ändå har anständiga effektbetyg. Vi vet redan den maximala kontinuerliga effekten för vår spole (0,67 ampere för 22R104C), men vi måste veta hur lång tid det tar att ladda (stigtid). I stället för att använda en fast laddningstid (se ekvation 6 i TB053) för att bestämma de nödvändiga spolförstärkarna, kan vi förhöra ekvation 6 och lösa för stigningstid: (Obs: ekvation 6 i TB053 är fel, det ska vara L, inte 2L) (Volt i/induktor uH)*stiga_tid = toppförstärkare-blir- (induktor uH/volt in)*toppförstärkare = stigningstid. -Användning av 22R104C med 5 volts matning ger följande- (100/5)*0,67 = 13,5uSDet kommer att ta 13,5 uS för att ladda induktorspolen helt vid 5 volt. Uppenbarligen kommer detta värde att variera med olika matningsspänningar. Som nämnts i TB053: "Strömmen i en induktor kan inte ändras omedelbart. När Q1 är avstängd fortsätter strömmen i L1 att flöda genom D1 till lagringskondensatorn, C1, och belastningen, RL. Således kommer strömmen i induktorn minskar linjärt i tid från toppströmmen. "Vi kan bestämma hur lång tid det tar att strömmen flödar ut från induktorn med hjälp av TB05 -ekvation 7. I praktiken är denna tid mycket kort. Denna ekvation är implementerad i det medföljande kalkylbladet, men kommer inte att diskuteras här. Hur mycket effekt kan vi få ur en 0,67 amp induktor? Total effekt bestäms av följande ekvation (tb053 ekvation 5): Effekt = (((stigningstid)*(volt i)2)/(2*Induktor uH))-använda våra tidigare värden hittar vi-1,68 Watt = (13,5uS*5 volt2)/(2*100uH)-konvertera watt till mA-mA = ((Power Watts)/(output volt))*1000-med en utspänning på 180 hittar vi-9,31mA = (1,68Watts/180volts)*1000We kan få max 9,31 mA från denna spole med en 5 -voltsförsörjning, ignorerar all ineffektivitet och omkopplingsförluster. Större uteffekt kan uppnås genom att öka matningsspänningen. Alla dessa beräkningar är implementerade i "Tabell 1: Spolberäkningar för högspänningsförsörjning" i kalkylbladet som medföljer denna instruktion. Flera exempelspolar matas in.

Steg 3: Köra SMPS med en mikrokontroller

Köra SMPS med en mikrokontroller
Köra SMPS med en mikrokontroller

Nu när vi har beräknat stigningstiden för vår spole kan vi programmera en mikrokontroller för att ladda den tillräckligt länge för att nå dess nominella mA. Ett av de enklaste sätten att göra detta är att använda hårdvarupulsbreddsmodulatorn för en PIC. Pulsbreddsmodulering (PWM) har två variabler som beskrivs i figuren nedan. Under driftscykeln slår PIC på FET, jordar den och släpper in ström i induktorspolen (stigningstid). Under återstoden av perioden är FET avstängd och strömmen strömmar ut från induktorn genom dioden till kondensatorerna och belastning (falltid). Vi vet redan den nödvändiga stigningstiden från våra tidigare beräkningar: 13,5uS. TB053 föreslår att stigningstiden är 75% av perioden. Jag bestämde mitt periodvärde genom att multiplicera stigningstiden med 1,33: 17,9uS. Detta överensstämmer med förslaget i TB053 och säkerställer att induktorn stannar i diskontinuerligt läge - laddas ur helt efter varje laddning. Det är möjligt att beräkna en mer exakt period genom att lägga till den beräknade stigningstiden till den beräknade nedgångstiden, men jag har inte försökt med det här.. I Microchip PIC Mid-range manual hittar vi följande ekvationer (https://ww1.microchip.com/downloads/en/DeviceDoc/33023a.pdf):PWM Duty Cycle uS = (10 bit Duty Cycle Value) * (1 / oscillatorfrekvens) * Prescaler Om vi ställer in prescaler på 1 och slår denna ekvation med en algebra -pinne får vi: 10 bit Duty Cycle Value = PWM Duty Cycle uS * Oscillator Frequency Ersätt Duty Cycle us för beräknad stigningstid och anta en 8 Mhz oscillator frekvens: 107 = 13,5uS * 8Mhz107 matas in i PIC för att få en driftscykel på 13,5uS. Därefter bestämmer vi PWM -periodens värde. Från Mid-Range Manual får vi följande ekvation: PWM-period uS = ((PWM-periodvärde) + 1) * 4 * (1/oscillatorfrekvens) * (förskalningsvärde) Återigen sätter vi förskalare till 1 och trakasserar ekvationen för PWM-periodvärde, vilket ger oss: PWM-periodvärde = ((PWM-period uS/(4/oscillatorfrekvens))-1) Ersättningsperiod uS för (1,33*stigningstid), och anta en 8 Mhz oscillatorfrekvens: 35 = ((17.9/(4/8))-1) 35 anges i PIC för att få en period på 17.9uS. Men vänta! Är inte perioden kortare än arbetscykeln? Nej - PIC har ett 10 -bitars driftscykelregister och ett 8 -bitars periodregister. Det finns mer upplösning för arbetscykelvärdet, så dess värde kommer ibland att vara större än periodvärdet - särskilt vid höga frekvenser. Alla dessa beräkningar implementeras i "Tabell 2. PWM -beräkningar" i kalkylbladet som ingår i denna instruerbara. Flera exempelspolar matas in.

Steg 4: PCB -design

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

PCB och CCT är i EagleCad -format. Båda ingår i ZIP -arkivet.

Jag tittade på flera befintliga mönster när jag gjorde detta kretskort. Här är mina anteckningar om: viktiga designegenskaper: 1. Jag följde Microchip APP -noten och använde en TC4427A för att driva FET. Denna A) skyddar mikrokontrollen från flyback -spänningar som kommer från FET, och B) kan driva FET vid högre spänningar än PIC för snabbare/hårdare omkoppling med bättre effektivitet. 2. Avståndet från PWM för PIC till FET minimeras. 3. FET, induktor, kondensatorer packade riktigt tätt. 4. Fettförsörjningsspår. 5. God mark mellan FET och vägg-wort-anslutningspunkt. Jag valde PIC 12F683 mikrokontroller för detta projekt. Detta är en 8 -stifts PIC med hårdvara PWM, 4 analoga till digitala omvandlare, 8Mhz intern oscillator och 256 byte EEPROM. Viktigast av allt, jag hade en på hade från ett tidigare projekt. Jag använde IRF740 FET på grund av dess höga hyllning på Neonixie-L-listan. Det finns 2 kondensatorer för att jämna ut HV -matningen. Den ena är elektrolytisk (hög temperatur, 250 volt, 1uF), den andra är en metallfilm (250 volt, 0,47uf). Det senare är mycket större och dyrare ($ 0,50 vs $ 0,05), men nödvändigt för att få en ren produktion. Det finns två spänningsåterkopplingskretsar i denna design. Den första tillåter PIC att känna av utspänningen och applicera pulser på FET efter behov för att bibehålla önskad nivå. "Tabell 3. Högspänningsåterkopplingsnätverksberäkningar" kan användas för att bestämma det korrekta återkopplingsvärdet med tanke på 3 motståndsspänningsdelaren och önskad utspänning. Finjustering görs med 1k trimmermotståndet. Den andra återkopplingen mäter matningsspänningen så att PIC kan bestämma optimal stigningstid (och period/driftscykelvärden). Från ekvationerna i steg 1 fann vi att induktorns stigningstid är beroende av matningsspänningen. Det är möjligt att ange exakta värden från kalkylbladet i din PIC, men om strömförsörjningen ändras är värdena inte längre optimala. Om batterierna minskar kommer spänningen att minska när batterierna laddas ur vilket kräver en längre stigningstid. Min lösning var att låta PIC beräkna allt detta och ange sina egna värden (se firmware). Trestiftshopparen väljer matningskälla för TC4427A och induktorspole. Det är möjligt att köra både från 7805 5 volt regulatorn, men bättre effektivitet och högre effekt uppnås med en större matningsspänning. Både TC4427a och IRF740 FET tål upp till ~ 20 volt. Eftersom PIC kommer att kalibreras för en given matningsspänning är det vettigt att mata dessa direkt från strömförsörjningen. Detta är särskilt viktigt vid batteridrift - du behöver inte slösa ström i 7805, mata bara induktorn direkt från cellerna. Lysdioderna är valfria, men praktiska för felsökning. Den "vänstra" lysdioden (gul i mina brädor) indikerar att HV -feedback är under önskad punkt, medan den högra lysdioden (röd i min design) indikerar att den är över. I praktiken får du en fin PWM -effekt där lysdioderna lyser i intensitet i förhållande till den aktuella belastningen. Om den röda lysdioden släcks (fast) indikerar det att PIC trots sin bästa ansträngning inte kan hålla utspänningen på önskad nivå. Med andra ord överstiger belastningen SMPS maximala effekt. GLÖM INTE HÖFTETRÅDEN SOM VISAS I RÖDT! Partlist Delvärde 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 Linjär trimmer R4 330 Ohm R5 100K R6 330 Ohm R7 10K SV1 3 Pin Header X2 3 Skruvterminal

Steg 5: Firmware

Firmware
Firmware

Firmware är skriven i MikroBasic, kompilatorn är gratis för program upp till 2K (https://www.mikroe.com/). Om du behöver en PIC -programmerare, överväga mitt förbättrade JDM2 -programmerarkort som också finns på instructables (https://www.instructables.com/ex/i/6D80A0F6DA311028931A001143E7E506/?ALLSTEPS). Grundläggande användning: 1. När strömförsörjningen startas startar PIC. 2. PIC förseningar i 1 sekund för att låta spänningar stabiliseras. 3. PIC läser matningsspänningsåterkopplingen och beräknar optimal driftcykel och periodvärden. 4. PIC loggar ADC -läsnings-, driftscykel- och periodvärden till EEPROM. Detta möjliggör viss felsökning och hjälper till att diagnostisera katastrofala fel. EEPROM -adressen 0 är skrivpekaren. En 4 bytes logg sparas varje gång SMPS startas (om). De första 2 byten är ADC hög/låg, tredje byte är lägre 8 bitar av arbetscykelvärde, fjärde byte är periodvärdet. Totalt 50 kalibreringar (200 byte) loggas innan skrivpekaren rullar över och börjar igen vid EEPROM-adress 1. Den senaste loggen kommer att finnas vid pekaren-4. Dessa kan läsas ur chipet med en PIC -programmerare. De övre 55 byten lämnas fria för framtida förbättringar (se förbättringar). 5. PIC går in i oändlig slinga - högspänningsåterkopplingsvärdet mäts. Om det är under det önskade värdet laddas PWM -driftscykelregistren med det beräknade värdet - OBS: de två nedre bitarna är viktiga och måste laddas in i CPP1CON 5: 4, de övre 8 bitarna går in i CRP1L. Om återkopplingen överstiger det önskade värdet, laddar PIC: n driftcykelregistren med 0. Detta är ett "pulshopp" -system. Jag bestämde mig för pulshopp av två skäl: 1) vid så höga frekvenser finns det inte mycket arbetsbredd att spela med (0-107 i vårt exempel, mycket mindre vid högre matningsspänningar), och 2) frekvensmodulering är möjlig, och ger mycket mer utrymme för justering (35-255 i vårt exempel), men ENDAST PAKT ÄR DUBBELT BUFFERAT I HARDWARE. Att ändra frekvensen medan PWM fungerar kan ha "konstiga" effekter. Använda firmware: Flera kalibreringssteg krävs för att använda firmware. Dessa värden måste sammanställas i firmware. Vissa steg är valfria, men hjälper dig att få ut det mesta av din strömförsörjning. 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 Dessa värden finns högst upp i firmware -kod. Hitta värdena och ställ in enligt följande. v_ref Detta är ADC: s spänningsreferens. Detta behövs för att bestämma den faktiska matningsspänningen som ska inkluderas i ekvationerna som beskrivs i steg 1. Om PIC körs från en 7805 5volts regulator kan vi förvänta oss cirka 5 volt. Mät spänningen mellan PIC -strömstiften (PIN1) och jordad vid skruvterminalen med hjälp av en multimeter. Mitt exakta värde var 5,1 volt. Ange detta värde här. supply_ratio Nätspänningsdelaren består av ett 100K och 10K motstånd. Teoretiskt bör återkopplingen vara lika med matningsspänningen dividerad med 11 (se tabell 5. Nätverksberäkningar för matningsspänning). I praktiken har motstånd olika toleranser och är inte exakta värden. För att hitta det exakta återkopplingsförhållandet: 1. Mät matningsspänningen mellan skruvplintarna. 2. Mät återkopplingsspänningen mellan PIC -stift 7 och jord på skruvterminalen. 3. Dela Supply V med FB V för att få ett exakt förhållande. Du kan också använda "Tabell 6. Kalibrering av återkoppling av matningsspänning". osc_freq Helt enkelt oscillatorfrekvensen. Jag använder den 12F683 interna 8Mhz -oscillatorn, så jag anger värdet 8. L_Ipeak Multiplicera induktorspolen uH med maximala kontinuerliga ampere för att få detta värde. I exemplet är 22r104C en 100uH spole med en rating på.67amp kontinuerlig. 100*.67 = 67. Genom att multiplicera värdet här elimineras en 32 -bitars flytande punktvariabel och beräkning som annars skulle behöva göras på PIC. Detta värde beräknas i "Tabell 1: Spolberäkningar för högspänningsförsörjning". fb_value Detta är det faktiska heltalsvärdet som PIC kommer att använda för att avgöra om högspänningsutmatningen är över eller under önskad nivå. Använd tabell 3 för att bestämma förhållandet mellan HV -utgången och återkopplingsspänningen när den linjära trimmern är i mittläget. Genom att använda mittvärdet får du justeringsrum på båda sidor. Ange sedan detta förhållande och din exakta spänningsreferens i "Tabell 4. Högspänningsåterkoppling ADC -inställt värde" för att bestämma fb_värdet. När du har hittat dessa värden anger du dem i koden och kompilerar. Bränn HEX till PIC och du är redo att gå! KOM ihåg: EEPROM byte 0 är loggpekaren. Ställ in den på 1 för att börja logga till byte 1 på en ny bild. På grund av kalibreringen bör FET och induktorn aldrig bli varma. Du bör inte heller höra ett ringsignal från induktorspolen. Båda dessa villkor indikerar ett kalibreringsfel. Kontrollera dataloggen i EEPROM för att avgöra var ditt problem kan vara.

Steg 6: Förbättringar

Förbättringar
Förbättringar

Ett par saker kan förbättras:

1. Sätt skruvterminalen närmare FET för bättre markväg. 2. Fett matningsspåret till kondensatorerna och induktorn. 3. Lägg till en stabil spänningsreferens för att förbättra driften från batterier och matningsspänningar mindre än 7 volt (där utgången från 7805 sjunker under 5 volt). 4. Använd de övre 55 EEPROM -byten för att logga fascinerande lite värdelös data - total körtid, överbelastningshändelser, min/max/genomsnittlig belastning. -ian instruktioner-på-whereisian-dot-com

Rekommenderad: