Heim >Backend-Entwicklung >C++ >Implementieren Sie den SPWM-ase/ase-Wechselrichter für die Steuerung des Elektrofilters mit STMMCU

Implementieren Sie den SPWM-ase/ase-Wechselrichter für die Steuerung des Elektrofilters mit STMMCU

Patricia Arquette
Patricia ArquetteOriginal
2024-10-21 06:18:30955Durchsuche

Vor einiger Zeit habe ich den IF-Elektrofilter-Controller erwähnt, die einphasige und dreiphasige SPWM-Antriebszeit sorgfältig analysiert, das Schreiben des SPWM-Codes auf dem STM32F103-Prozessor abgeschlossen und die Signale und Wellenformen mit einem Oszilloskop getestet ein Logikanalysator.
TIMER1 und TIMER2 von STM32F103 unterstützen komplementäre PWM-Ausgänge, und ich habe CH1, CH2, CH3 von TIMER1 für den dreiphasigen Antrieb A, B, C gewählt;
Die Taktfrequenz des Prozessors beträgt 72 MHz und die Totzeit des komplementären PWM-Ausgangs wird durch den folgenden Code auf 4us eingestellt;
SPWM_PWM_TIMER->BDTR = 0x80C4.

Eine Halbzyklus-Sinusdatentabelle wird generiert und basierend auf der Frequenz des Sinussignals und dem Wert der Frequenz des PWM werden die Intervalle berechnet, in die die Periode des Sinussignals unterteilt werden muss Der Durchschnittswert aller Sinussignaldaten wird berechnet, und der Tastverhältniswert jedes Intervalls wird auf der Grundlage der maximalen Sinusdaten und der maximalen Tastverhältniswerte des PWM-Signals berechnet;

Wenn die Frequenz des SPWM 10 kHz und die Frequenz des Sinussignals 50 Hz beträgt, wird das ausgegebene SPWM-Signal durch zwei Stufen von Tiefpassfilterwiderständen mit einem 1-kΩ-Widerstand und einem 0,1-uF-Kondensator geleitet, und ich kann einen sehr großen Widerstand erkennen perfektes Sinussignal.

Zuerst wollte ich den von SPWM berechneten Arbeitszykluswert automatisch über DMA auf das CCR-Register von TIMER setzen und die Aktualisierung des DMA-Cache im Halb-Abschluss-Interrupt und im Abschluss-Interrupt realisieren, da sich die Frequenz jedoch auch währenddessen ändern kann Operation, die zu einer dynamischen Änderung der Datenanzahl im DMA führt, wodurch die Ausgabe des sinusförmigen Signals der SPWM-Ausgabe inkohärent wird und eine Hochfrequenzkomponente erzeugt wird.

Schließlich werden die dreiphasigen CCR-Registerwerte für jeden Zyklus des PWM-Signals durch den Aktualisierungsinterrupt von TIMER aktualisiert.

Implement the SPWM ase/ase inverter for electrostatic precipitator controller using STMMCU

Implement the SPWM ase/ase inverter for electrostatic precipitator controller using STMMCU

Implement the SPWM ase/ase inverter for electrostatic precipitator controller using STMMCU

Implement the SPWM ase/ase inverter for electrostatic precipitator controller using STMMCU

Implement the SPWM ase/ase inverter for electrostatic precipitator controller using STMMCU

Das obige ist der detaillierte Inhalt vonImplementieren Sie den SPWM-ase/ase-Wechselrichter für die Steuerung des Elektrofilters mit STMMCU. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn