Inhaltsverzeichnis:

Hochspannungs-Schaltnetzteil (SMPS) / Boost-Konverter für Nixie-Röhren - Gunook
Hochspannungs-Schaltnetzteil (SMPS) / Boost-Konverter für Nixie-Röhren - Gunook

Video: Hochspannungs-Schaltnetzteil (SMPS) / Boost-Konverter für Nixie-Röhren - Gunook

Video: Hochspannungs-Schaltnetzteil (SMPS) / Boost-Konverter für Nixie-Röhren - Gunook
Video: Gleichspannungs-Schaltwandler, Step-Up- , Step-Down- , Buck-Boost-Konverter, Grundprinzip erklärt 2024, Juli
Anonim
Hochspannungs-Schaltnetzteil (SMPS)/Boost-Wandler für Nixie-Röhren
Hochspannungs-Schaltnetzteil (SMPS)/Boost-Wandler für Nixie-Röhren

Dieses SMPS erhöht die Niederspannung (5-20 Volt) auf die Hochspannung, die zum Antrieb von Nixie-Röhren (170-200 Volt) benötigt wird. Seien Sie gewarnt: Obwohl diese kleine Schaltung mit Batterien / Niederspannungs-Wandwürmern betrieben werden kann, ist die Leistung mehr als genug, um Sie zu töten!

Projekt beinhaltet: Helper Spreadsheet EagleCAD CCT & PCB Dateien MikroBasic Firmware Source

Schritt 1: Wie funktioniert es?

Wie funktioniert es?
Wie funktioniert es?

Dieses Design basiert auf der Microchip Application Note TB053 mit mehreren Modifikationen basierend auf den Erfahrungen der Neonixie-L-Mitglieder (https://groups.yahoo.com/group/NEONIXIE-L/). Holen Sie sich die App-Notiz - es ist eine nette Lektüre von nur wenigen Seiten: (https://ww1.microchip.com/downloads/en/AppNotes/91053b.pdf) Die Abbildung unten ist ein Auszug aus TB053. Es skizziert das Grundprinzip des SMPS. Ein Mikrocontroller erdet einen FET (Q1), wodurch sich eine Ladung in der Induktivität L1 aufbauen kann. Wenn der FET ausgeschaltet ist, fließt die Ladung durch die Diode D1 in den Kondensator C1. Vvfb ist ein Spannungsteiler-Feedback, das es dem Mikrocontroller ermöglicht, die Hochspannung zu überwachen und den FET nach Bedarf zu aktivieren, um die gewünschte Spannung aufrechtzuerhalten.

Schritt 2: Induktoreigenschaften

Induktor-Eigenschaften
Induktor-Eigenschaften

Obwohl sehr schön, erscheint mir die Microchip-App-Notiz ein wenig rückwärts. Es beginnt mit der Bestimmung der erforderlichen Leistung und wählt dann eine Induktor-Ladezeit ohne Rücksicht auf verfügbare Induktoren. Ich fand es sinnvoller, einen Induktor auszuwählen und die Anwendung darauf zu entwickeln. Die Induktoren, die ich verwendet habe, sind "C&D Technologies Inductors RADIAL LEAD 100uH" (Mouser-Teil 580-18R104C, 1,2 A, $ 1,40) (Mouser-Teil 580-22R104C, 0,67.). Ampere, $ 0,59). Ich habe mich für diese Induktivitäten entschieden, weil sie sehr klein und sehr billig sind und dennoch eine anständige Nennleistung haben. Anstiegszeit). Anstatt eine feste Ladezeit (siehe Gleichung 6 in TB053) zu verwenden, um die erforderlichen Spulenverstärker zu bestimmen, können wir Gleichung 6 abfragen und nach der Anstiegszeit auflösen: (Hinweis: Gleichung 6 in TB053 ist falsch, es sollte L sein, nicht 2L) (Volt in/Inductor uH)*rise_time=Peak Amps -becomes-(Inductor uH/Volts in) * Peak Amps = Anstiegszeit.-Bei Verwendung des 22R104C mit einer 5-Volt-Versorgung ergibt sich folgendes-(100/5)*0,67= 13,5 uSEs dauert 13,5 uS, um die Induktorspule bei 5 Volt vollständig aufzuladen. Dieser Wert variiert natürlich mit unterschiedlichen Versorgungsspannungen. Wie in TB053 erwähnt: "Der Strom in einer Induktivität kann sich nicht augenblicklich ändern. Wenn Q1 ausgeschaltet wird, fließt der Strom in L1 weiter durch D1 zum Speicherkondensator C1 und zur Last RL. Somit ist der Strom in der Induktivität nimmt mit der Zeit linear vom Spitzenstrom ab." Wir können die Zeit bestimmen, die der Strom benötigt, um aus der Induktivität zu fließen, indem wir TB05 Gleichung 7 verwenden. In der Praxis ist diese Zeit sehr kurz. Diese Gleichung ist in der mitgelieferten Tabelle implementiert, wird aber hier nicht diskutiert. Wie viel Leistung können wir aus einer 0,67-A-Induktivität herausholen? Die Gesamtleistung wird durch die folgende Gleichung (tb053 Gleichung 5) bestimmt: Leistung=(((Anstiegszeit)*(Volt in)2)/(2*Induktor uH))-unter Verwendung unserer vorherigen Werte finden wir-1,68 Watt = (13,5 uS * 5 Volt2)/(2*100uH)-Watt in mA-mA umwandeln = ((Leistung Watt)/(Ausgangsvolt))*1000-mit einer Ausgangsspannung von 180 finden wir -9,31mA = (1,68Watt/180Volt)*1000Wir können maximal 9,31 mA von diese Spule mit einer 5-Volt-Versorgung, wobei alle Ineffizienzen und Schaltverluste ignoriert werden. Eine größere Ausgangsleistung kann durch Erhöhen der Versorgungsspannung erreicht werden. Alle diese Berechnungen werden in "Tabelle 1: Spulenberechnungen für die Hochspannungsstromversorgung" der in dieser Anleitung enthaltenen Kalkulationstabelle implementiert. Es werden mehrere Beispielspulen eingetragen.

Schritt 3: Ansteuern des SMPS mit einem Mikrocontroller

Ansteuerung des SMPS mit einem Mikrocontroller
Ansteuerung des SMPS mit einem Mikrocontroller

Nachdem wir die Anstiegszeit für unsere Spule berechnet haben, können wir einen Mikrocontroller so programmieren, dass er gerade lange genug aufgeladen wird, um seinen Nenn-mA zu erreichen. Eine der einfachsten Möglichkeiten, dies zu tun, besteht darin, den Hardware-Pulsweitenmodulator eines PIC zu verwenden. Die Pulsweitenmodulation (PWM) hat zwei Variablen, die in der folgenden Abbildung dargestellt sind. Während des Arbeitszyklus schaltet der PIC den FET ein, erdet ihn und lässt Strom in die Induktorspule (Anstiegszeit). Während der restlichen Zeit ist der FET ausgeschaltet und Strom fließt aus der Induktivität durch die Diode zu den Kondensatoren und der Last (Abfallzeit). Die erforderliche Anstiegszeit kennen wir bereits aus unseren vorherigen Berechnungen: 13,5 us. TB053 schlägt vor, dass die Anstiegszeit 75 % der Periode beträgt. Ich habe meinen Periodenwert bestimmt, indem ich die Anstiegszeit mit 1,33: 17,9uS multipliziert habe. Dies entspricht dem Vorschlag in TB053 und stellt sicher, dass der Induktor im diskontinuierlichen Modus bleibt – nach jeder Ladung vollständig entladen. Es ist möglich, eine genauere Periode zu berechnen, indem Sie die berechnete Anstiegszeit zur berechneten Abfallzeit addieren, aber ich habe dies nicht versucht. Jetzt können wir die tatsächlichen Tastverhältnisse und Periodenwerte bestimmen, die in den Mikrocontroller eingegeben werden müssen, um die gewünschten Zeitintervalle zu erhalten. Im Microchip PIC Mid-Range-Handbuch finden wir die folgenden Gleichungen (https://ww1.microchip.com/downloads/en/DeviceDoc/33023a.pdf):PWM Duty Cycle uS =(10 Bit Duty Cycle Value) * (1 / Oszillatorfrequenz) * PrescalerWenn wir Prescaler auf 1 setzen und diese Gleichung mit einem Algebra-Stick schlagen, erhalten wir: 10 Bit Duty Cycle Value = PWM Duty Cycle uS * Oszillatorfrequenz Ersetzen Sie den Duty Cycle uS für die berechnete Anstiegszeit und nehmen Sie einen 8 MHz Oszillator an Frequenz:107 = 13.5uS * 8Mhz107 wird in den PIC eingegeben, um ein Tastverhältnis von 13.5uS zu erhalten. Als nächstes bestimmen wir den PWM-Periodenwert. Aus dem Mid-Range-Handbuch erhalten wir die folgende Gleichung: PWM-Periode uS = ((PWM-Periodenwert) + 1) * 4 * (1/Oszillatorfrequenz) * (Prescale-Wert) Wieder setzen wir Prescaler auf 1 und belästigen die Gleichung für PWM-Periodenwert, was uns ergibt: PWM-Periodenwert = ((PWM-Periode uS / (4 / Oszillatorfrequenz)) - 1) Ersetzen Sie die Periode uS für (1,33 * Anstiegszeit) und nehmen Sie eine 8-MHz-Oszillatorfrequenz an: 35 = ((17,9/(4/8))-1)35 wird in den PIC eingegeben, um eine Periode von 17,9uS zu erhalten. Aber warte! Ist die Periode nicht kürzer als das Tastverhältnis? Nein – PICs haben ein 10-Bit-Tastverhältnisregister und ein 8-Bit-Periodenregister. Es gibt mehr Auflösung für den Arbeitszykluswert, daher ist sein Wert manchmal größer als der Periodenwert - insbesondere bei hohen Frequenzen. Alle diese Berechnungen sind in "Tabelle 2. PWM-Berechnungen" der in dieser Anleitung enthaltenen Kalkulationstabelle implementiert. Es werden mehrere Beispielspulen eingetragen.

Schritt 4: PCB-Design

PCB-Design
PCB-Design
PCB-Design
PCB-Design

PCB & CCT sind im EagleCad-Format. Beide sind im ZIP-Archiv enthalten.

Ich habe mir mehrere vorhandene Designs bei der Herstellung dieser Platine angesehen. Hier sind meine Notizen zu: wichtige Designmerkmale: 1. Ich folgte dem Microchip APP-Hinweis und benutzte einen TC4427A, um den FET anzusteuern. Dies A) schützt den Mikrocontroller vor Rücklaufspannungen, die vom FET kommen, und B) kann den FET mit höheren Spannungen als der PIC ansteuern, um ein schnelleres / härteres Schalten mit besserer Effizienz zu erzielen. 2. Der Abstand von der PWM des PIC zum FET wird minimiert. 3. FET, Induktivität, Kondensatoren sehr dicht gepackt. 4. Fettversorgungsspur. 5. Gute Masse zwischen FET und Wall-Würze-Anschlusspunkt. Ich habe den Mikrocontroller PIC 12F683 für dieses Projekt gewählt. Dies ist ein 8-Pin-PIC mit Hardware-PWM, 4 Analog-Digital-Wandlern, einem internen 8-MHz-Oszillator und einem 256-Byte-EEPROM. Am wichtigsten war, dass ich einen von einem früheren Projekt hatte. Ich habe den IRF740 FET wegen seiner hohen Anerkennung auf der Neonixie-L-Liste verwendet. Es gibt 2 Kondensatoren, um die HV-Versorgung zu glätten. Einer ist ein Elektrolyt (Hochtemperatur, 250 Volt, 1uF), der andere ist ein Metallfilm (250 Volt, 0.47uf). Letzteres ist viel größer und teurer (0,50 US-Dollar gegenüber 0,05 US-Dollar), aber notwendig, um eine saubere Ausgabe zu erhalten. In diesem Design gibt es zwei Spannungsrückkopplungskreise. Der erste ermöglicht es dem PIC, die Ausgangsspannung zu erfassen und Impulse an den FET anzulegen, um den gewünschten Pegel aufrechtzuerhalten. "Tabelle3. Berechnungen des Hochspannungs-Rückkopplungsnetzwerks" kann verwendet werden, um den richtigen Rückkopplungswert anhand des Spannungsteilers mit 3 Widerständen und der gewünschten Ausgangsspannung zu bestimmen. Die Feinabstimmung erfolgt mit dem 1k Trimmerwiderstand. Die zweite Rückkopplung misst die Versorgungsspannung, damit der PIC die optimale Anstiegszeit (und Perioden-/Tastverhältniswerte) bestimmen kann. Aus den Gleichungen in Schritt 1 haben wir festgestellt, dass die Anstiegszeit der Induktivität von der Versorgungsspannung abhängt. Es ist möglich, exakte Werte aus der Tabellenkalkulation in Ihr PIC einzugeben, aber wenn die Stromversorgung geändert wird, sind die Werte nicht mehr optimal. Bei Batteriebetrieb nimmt die Spannung ab, da sich die Batterien entladen, was eine längere Anstiegszeit erfordert. Meine Lösung war, den PIC das alles berechnen zu lassen und seine eigenen Werte einzustellen (siehe Firmware). Der dreipolige Jumper wählt die Versorgungsquelle für den TC4427A und die Induktorspule. Es ist möglich, beides mit dem 7805 5-Volt-Regler zu betreiben, aber mit einer größeren Versorgungsspannung werden bessere Wirkungsgrade und eine höhere Leistung erreicht. Sowohl der TC4427a als auch der IRF740 FET halten bis zu ~20 Volt aus. Da der PIC für jede gegebene Versorgungsspannung kalibriert, ist es sinnvoll, diese direkt vom Netzteil zu speisen. Dies ist besonders im Batteriebetrieb wichtig - keine Energieverschwendung beim 7805, sondern nur die Induktivität direkt aus den Zellen speisen. Die LEDs sind optional, aber praktisch für die Fehlersuche. Die 'linke' LED (gelb in meinen Boards) zeigt an, dass das HV-Feedback unter dem gewünschten Punkt liegt, während die rechte LED (rot in meinem Design) anzeigt, dass es vorbei ist. In der Praxis erhält man einen schönen PWM-Effekt, bei dem die LEDs relativ zur aktuellen Last in der Intensität leuchten. Wenn die rote LED (durchgehend) erlischt, zeigt dies an, dass der PIC trotz aller Bemühungen die Ausgangsspannung nicht auf dem gewünschten Niveau halten kann. Mit anderen Worten, die Last überschreitet die maximale SMPS-Ausgangsleistung. VERGESSEN SIE NICHT DIE IN ROT ABGEBILDETEN JUMPER-DRAHT! Teileliste Teilewert 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 5-Volt-Regler IC7 PIC 12F683 L1 Induktor (22R104C) LED1 LED2 Q1 IRF740 R1 120K R2 0,47K R3 1K Lineartrimmer R4 330 Ohm R5 100K R6 330 Ohm R7 10K SV1 3 Stiftleiste X2 3 Schraubklemme

Schritt 5: Firmware

Firmware
Firmware

Die Firmware ist in MikroBasic geschrieben, der Compiler ist kostenlos für Programme bis 2K (https://www.mikroe.com/). Wenn Sie einen PIC-Programmierer benötigen, beachten Sie meine erweiterte JDM2-Programmierplatine, die auch unter instructables (https://www.instructables.com/ex/i/6D80A0F6DA311028931A001143E7E506/?ALLSTEPS) veröffentlicht wurde. Grundlegender Betrieb: 1. Wenn Strom angelegt wird, startet der PIC. 2. PIC verzögert um 1 Sekunde, damit sich die Spannungen stabilisieren können. 3. PIC liest die Rückkopplung der Versorgungsspannung und berechnet optimale Duty-Cycle- und Perioden-Werte. 4. PIC protokolliert die ADC-Messwerte, das Tastverhältnis und die Periodenwerte im EEPROM. Dies ermöglicht eine gewisse Fehlersuche und hilft bei der Diagnose katastrophaler Fehler. EEPROM-Adresse 0 ist der Schreibzeiger. Bei jedem (Neu-)Start des SMPS wird ein 4-Byte-Log gespeichert. Die ersten 2 Bytes sind ADC High/Low, das dritte Byte sind die unteren 8 Bit des Tastverhältnisses, das vierte Byte ist der Periodenwert. Es werden insgesamt 50 Kalibrierungen (200 Bytes) protokolliert, bevor der Schreibzeiger überrollt und wieder bei EEPROM-Adresse 1 beginnt. Das neueste Protokoll befindet sich bei Zeiger-4. Diese können mit einem PIC-Programmierer aus dem Chip ausgelesen werden. Die oberen 55 Byte bleiben für zukünftige Erweiterungen frei (siehe Verbesserungen). 5. PIC geht in Endlosschleife - Hochspannungs-Feedbackwert wird gemessen. Wenn er unter dem gewünschten Wert liegt, werden die PWM-Tastverhältnisregister mit dem berechneten Wert geladen - HINWEIS: die unteren beiden Bits sind wichtig und müssen in CPP1CON 5:4 geladen werden, die oberen 8 Bits gehen in CRP1L. Wenn das Feedback über dem gewünschten Wert liegt, lädt der PIC die Duty-Cycle-Register mit 0. Dies ist ein "Pulse-Skip"-System. Ich habe mich aus zwei Gründen für Pulssprung entschieden: 1) bei so hohen Frequenzen gibt es nicht viel Tastverhältnis (0-107 in unserem Beispiel, viel weniger bei höheren Versorgungsspannungen) und 2) Frequenzmodulation ist möglich, und bietet viel mehr Spielraum für Anpassungen (35-255 in unserem Beispiel), aber IN DER HARDWARE IST NUR DIE ZUSTÄNDIGKEIT DOPPELT GEPUFFERT. Das Ändern der Frequenz während des PWM-Betriebs kann „seltsame“Auswirkungen haben. Verwendung der Firmware: Zur Verwendung der Firmware sind mehrere Kalibrierungsschritte erforderlich. Diese Werte müssen in die Firmware kompiliert werden. Einige Schritte sind optional, helfen Ihnen aber dabei, das Beste aus Ihrem Netzteil herauszuholen. 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 Diese Werte stehen oben im Firmware-Code. Suchen Sie die Werte und stellen Sie sie wie folgt ein. v_ref Dies ist die Spannungsreferenz des ADC. Dies ist erforderlich, um die tatsächliche Versorgungsspannung zu bestimmen, die in die in Schritt 1 beschriebenen Gleichungen aufgenommen werden soll. Wenn der PIC von einem 7805 5-Volt-Regler betrieben wird, können wir mit etwa 5 Volt rechnen. Messen Sie mit einem Multimeter die Spannung zwischen dem PIC-Power-Pin (PIN1) und Masse an der Schraubklemme. Mein genauer Wert war 5,1 Volt. Geben Sie diesen Wert hier ein. supply_ratio Der Versorgungsspannungsteiler besteht aus einem 100K- und einem 10K-Widerstand. Theoretisch sollte die Rückmeldung gleich der Versorgungsspannung geteilt durch 11 sein (siehe Tabelle 5. Berechnungen des Versorgungsspannungs-Rückspeisenetzes). In der Praxis haben Widerstände verschiedene Toleranzen und sind keine genauen Werte. So ermitteln Sie das genaue Rückkopplungsverhältnis: 1. Messen Sie die Versorgungsspannung zwischen den Schraubklemmen. 2. Messen Sie die Rückkopplungsspannung zwischen PIC-Pin 7 und Masse an der Schraubklemme. 3. Divide Supply V durch FB V, um ein genaues Verhältnis zu erhalten. Sie können auch "Tabelle 6. Kalibrierung der Versorgungsspannung Feedback" verwenden. osc_freq Einfach die Oszillatorfrequenz. Ich verwende den internen 8-MHz-Oszillator 12F683, also gebe ich einen Wert von 8 ein. L_Ipeak Multiplizieren Sie die Induktorspule uH mit den maximalen Dauerstrom, um diesen Wert zu erhalten. Im Beispiel ist der 22r104C eine 100uH-Spule mit einer Nennleistung von 0,67 Ampere kontinuierlich. 100*.67=67. Das Multiplizieren des Wertes hier eliminiert eine 32-Bit-Gleitkommavariable und eine Berechnung, die ansonsten auf dem PIC durchgeführt werden müsste. Dieser Wert wird in "Tabelle 1: Spulenberechnungen für die Hochspannungsstromversorgung" berechnet. fb_value Dies ist der tatsächliche ganzzahlige Wert, den der PIC verwendet, um zu bestimmen, ob der Hochspannungsausgang über oder unter dem gewünschten Wert liegt. Verwenden Sie Tabelle 3, um das Verhältnis zwischen dem HV-Ausgang und der Rückkopplungsspannung zu bestimmen, wenn sich der Lineartrimmer in der Mittelposition befindet. Die Verwendung des Mittelwerts gibt auf beiden Seiten Anpassungsspielraum. Geben Sie als Nächstes dieses Verhältnis und Ihre genaue Spannungsreferenz in "Tabelle 4. Hochspannungs-Rückkopplungs-ADC-Sollwert" ein, um den fb_value zu bestimmen. Nachdem Sie diese Werte gefunden haben, geben Sie sie in den Code ein und kompilieren Sie. Brennen Sie das HEX auf den PIC und Sie können loslegen! Denken Sie daran: EEPROM-Byte 0 ist der Log-Schreibzeiger. Setzen Sie es auf 1, um mit der Protokollierung auf Byte 1 auf einem neuen Bild zu beginnen. Aufgrund der Kalibrierung sollten FET und Induktivität niemals warm werden. Sie sollten auch kein Klingeln von der Induktorspule hören. Beide Bedingungen weisen auf einen Kalibrierungsfehler hin. Überprüfen Sie das Datenprotokoll im EEPROM, um festzustellen, wo Ihr Problem liegen könnte.

Schritt 6: Verbesserungen

Verbesserungen
Verbesserungen

Ein paar Dinge könnten verbessert werden:

1. Setzen Sie die Schraubklemme näher an den FET, um einen besseren Erdungspfad zu erzielen. 2. Masten Sie die Versorgungsleitung zu den Kondensatoren und der Induktivität. 3. Fügen Sie eine stabile Spannungsreferenz hinzu, um den Betrieb mit Batterien und Versorgungsspannungen von weniger als 7 Volt zu verbessern (wo der Ausgang des 7805 unter 5 Volt fällt). 4. Verwenden Sie die oberen 55 EEPROM-Bytes, um faszinierende Bits nutzloser Daten zu protokollieren - Gesamtlaufzeit, Überlastungsereignisse, min/max/durchschnittliche Last. -ian instructables-at-whereisian-dot-com

Empfohlen: