BD6211のArefの制御信号をArduinoで作る
BD6211の速度制御は、回転方向を制御する制御端子でPWMにより行うことができます。この端子に加えるパルスは20kHzから100kHzの周波数となります。しかし、このモータ・コントローラの制御に使用を予定しているArduinoは、アナログ出力で出力されるPWMの基本周波数がおおよそ490Hzとなります。そのため、BD6211のPWMの制御信号としては周波数が低すぎて使えません。
そのため、BD6211の回転数の制御はBD6211のAref端子に可変の電圧を加えることにします。その可変の電圧としてArduinoのアナログ出力を利用します。
Arduinoのアナログ出力
まず、490Hzの基本周波数のデューティ比1/255から254/255まで変化させたパルスをLTspiceで作ってみます。LTspiceのBV(Arbitrary behavioral voltage source)と呼ばれる汎用の電圧源で作成した結果のうち、0.21/2 約10%のデューティ比のパルスのシミュレーション結果です。
次に示すのは、0.121/2の約60%のデューティ比のパルスのシミュレーション結果です。
積分回路を追加して、パルス幅を電圧値にする
このデューティ比が変化するパルスを2.2kΩの抵抗を通して1μFのコンデンサに接続すると、次に示すようにパルスのデューティ比に比例した直流電圧が得られます。
ただし、この設定の場合では、まだ完全に平坦にはならず出力にのこぎりの歯のような変動が残っています。
