スイッチング作業を行うインバータ/ドライバ IC で BLDC モータを制御しています。ドライバーに 6 つの PWM 信号をすべて同じ周波数で提供する必要があります。5kHzから10kHzの間で、すべてのPWMピンが同じである限り、正確な周波数は実際には問題ではありません。
私は現在Arduino Unoを使用しています。特定のタイマー(0、1、2)と同じ周波数で各PWMピン(3、5、6、9、10、11)をプログラムする方法がわかりませんピンのクロック速度は異なります。
- ピン 5 と 6: timer0 によって制御、基本周波数 62500Hz
- ピン 9 と 10: timer1 によって制御、基本周波数 31250Hz
- ピン 11 および 3: timer2 によって制御され、基本周波数 31250Hz
timer1 と timer2 は問題なく、プリスケーラ値 8 (7812.5Hz) だけスケールダウンできます。timer0 を同じ周波数にする方法がわかりませんか?
http://playground.arduino.cc/Main/TimerPWMCheatsheet
回避策は比較的簡単だと確信しています。タイマ 0 の周波数をプリスケーラ値ではない数、たとえば 40 で割ることは可能ですか?
前もって感謝します。
パット。