首頁  >  文章  >  後端開發  >  使用 STMMCU 實現靜電除塵器控制器的 SPWM ase/ase 逆變器

使用 STMMCU 實現靜電除塵器控制器的 SPWM ase/ase 逆變器

Patricia Arquette
Patricia Arquette原創
2024-10-21 06:18:30843瀏覽

前段時間提到中頻靜電除塵器控制器,我仔細分析了單相和三相SPWM驅動時間,完成了STM32F103處理器上的SPWM程式碼編寫,並用示波器測試了訊號和波形,邏輯分析儀。
STM32F103的TIMER1和TIMER2支援互補的PWM輸出,我選擇TIMER1的CH1,CH2,CH3用於A,B,C三相驅動;
處理器的時脈頻率為72MHz,透過以下程式碼將互補PWM輸出的死區時間設定為4us;
SPWM_PWM_TIMER->BDTR = 0x80C4.

產生半週期正弦數據表,根據正弦信號的頻率和PWM頻率的值,計算出正弦信號週期需要劃分的區間,即計算每個正弦信號數據的平均值,並根據最大正弦數據和PWM信號的最大佔空比值計算每個區間的佔空比值;

當SPWM的頻率為10kHz,正弦訊號的頻率為50Hz時,輸出的SPWM訊號會經過兩級1kΩ電阻+0.1uF電容的低通濾波電阻,可以看到非常完美的正弦訊號。

一開始我想透過DMA自動將SPWM計算出的佔空比值設定到TIMER的CCR暫存器中,實現半完成中斷和完成中斷時DMA快取的更新,但因為在半完成中斷和完成中斷中頻率也可能發生變化操作,會導致DMA中資料數量的動態變化,使得SPWM輸出的正弦波訊號不連貫,產生高頻成分。

最後,透過TIMER的更新中斷,在PWM訊號的每個週期更新三相CCR暫存器的值。

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

以上是使用 STMMCU 實現靜電除塵器控制器的 SPWM ase/ase 逆變器的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn