カモメのはばたきを H8/36078とTB6612を使って
               PWM方式で制御しました


 田宮製の「はばたきカモメ工作セット」は、電池でモータを回してカモメをはばたせていたので「ギーコ・ギーコ」と単純にはばたいていました。
 余りにも単純な事と、これに使っているDCモータはいろいろな物を動かす力の源なので、回転速度が制御出来る省エネなPWM方式で動かしました。

●PWM方式制御のカモメのはばたき

 はばたいているカモメです。 はねが上下にはばたいています。
 
 手前の基板は、H8/36078Lを搭載したマイコン基板で3.3Vで動いています。
 後ろの右の基板は、モータ駆動のTB6612を搭載した基板で、ロジックは3.3V、モータ駆動電圧は5Vを可変3端子レギュレータで3V程度に
落として使用しています。
 後ろの左の「はばたきカモメ工作セット」は、電池を外し、代わりに、モータ駆動基板の出力を接続しています。




 静止状態のカモメです。羽が止まっています。



 

●カモメ駆動の波形

 TB6612の入出力の波形です。





 上は、入力で、3Vの50uS周期のパルスが入っています。

 下は、モータ駆動出力で、入力より少し遅れたスパイクが有る波形です。
 スパイクは、モータの逆起電力ですが、TB6612の内蔵ダイオードで
吸収されてかなり小さくなっています。













  デフォルトの中速回転の波形です。
  周期の半分の24uSに設定しています。


















  低速回転の波形です。
  周期の1/4の12uSです。


















  高速回転の波形です。
  周期の2/3の33uSです。




















●はばたきカモメPWM方式制御の仕組み

 次に様に、H8内蔵のタイマVでPWMの信号を作成します。又、タイマB1でスイッチのチャタリング除去のタイミングを作成します。



●タイマVでPWMの信号を作成
 タイマVには、時間を計数する一つのアップカウンタと二つの比較回路が有ります。
 アップカウンタは、内部発振の10MHzを4分周した2.5MHzをカウントします。
 A系の比較器でアップカウンタが125になるか監視します。125になればアップカウンタをリセットして50uSのPWM周期を作成する事と、PWM出力をONします。
 B系の比較器でアップカウンタが設定値になるか監視します。設定値になればPWM出力をOFFにしてPWMパルスを作ります。
 設定値は、モータの回転数を制御する値で、デフォルト値は中間の62です。スイッチ操作をモータ回転増減操作で設定値を変化させます。

 次の様な動きをします。





●PWM信号の周波数
 PWM周期は、50uSの20KHzに設定しましたが、設定に際していくらにしたら良いのかかなり悩みました。
 最初は、タイマVのアップカウンタに内部発振の10MHzを128分周した78KHzを入力して320HzのPWM周期を作成してました。
 いろいろ調べていると10KHz以上の周期で駆動すると有ったので10KHzにすると、音が静かに成りました。
 320Hzは、可聴周波数なのでPWM周期が聞こえているようです。 思い切って20KHzに設定しましたが、音は静かになて運動量は変わって無いように感じるのでこれにしました。


●回路構成
 マイコン基板とモータ駆動基板の回路図です。 
 マイコン基板は、10MHzの内部発信器と内蔵タイマを使ったので外付け部品は操作用とインタフェース用だけでシンプルになりました。
 




モータ駆動基板も、TB6612に必要な回路が全て含まれているのでこれもシンプルです。昔はSN74xxで回路を組んだんですが比べ等れないくらいらくですね。






●プログラム
 HEW4で作成したプルグラムリストを示します。割込は使わず、Main関数に全てを入れました。

 Main関数の流れは、
  ・タイマの初期設定
  ・ポートの初期設定
  ・タイマB1の20mS計数を監視してスイッチのチャタリングを除去する。
   スイッチ押下が有れば、PWMのパルス巾を増減します。







ホームへ戻る