ホームページ >バックエンド開発 >C++ >STMMCU を使用した電気集塵機コントローラー用の SPWM ase/ase インバーターの実装

STMMCU を使用した電気集塵機コントローラー用の SPWM ase/ase インバーターの実装

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-21 06:18:30953ブラウズ

少し前に、IF 電気集塵機コントローラーについて触れましたが、単相と三相の 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 コンデンサを備えた 2 段のローパス フィルタリング抵抗器を通過します。完全な正弦信号。

当初はSPWMで計算したデューティサイクル値をDMA経由でTIMERのCCRレジスタに自動設定し、半完了割り込みと完了割り込みでのDMAキャッシュの更新を実現したかったのですが、途中で周波数も変わる可能性があるためこれにより、DMA のデータ数が動的に変化し、SPWM 出力の正弦波信号の出力がインコヒーレントになり、高周波成分が生成されます。

最後に、三相 CCR レジスタの値は、TIMER の更新割り込みを通じて PWM 信号のサイクルごとに更新されます。

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。