DCマウス研修(吸引編)(移行中) ブログ(移行中) 研修(移行中)

DCマウス研修(inukai編)[10] PWM設定・重心と直進性能

DCマウス研修(吸引編)(移行中)

こんにちは!
inukaiです。

前回Lチカが終わったので、ここからはペリフェラルの設定をしていきます。
今回はまずPWMから設定します。

製作中のマウスにおいてPWMを使う場所としては、左右のモータ、ブザー・吸引ファンの合計4つがあります。
制御用のマイコンにRX631を使用する場合、PWMを出力できる機能として、TPU(16bitタイマタイマパルスユニット)、MTU(マルチファンクションタイマパルスユニット)があります。
どちらの機能を使ってもよいのですが、MTUを使って実装することとしました。
なので、マイコンのMTIOCxxという端子を割り当てることになるわけです。

自分の回路図の場合は、PWMの割り当てのみ着目すると下記のようになります。

・モータ1 : MTIOC2B
・モータ2 : MTIOC3C
・吸引ファン:MTIOC0C
・ブザー : MTIOC4D

さて、PWMを出すファームを書こうと思い今一度ハードウェアマニュアルを見てみます。
PWM出力に関する部分を抜き出したものが下図になります。

PWMモード1を見てみると、モータ1 :用MTIOC2Bとブザー用MTIOC4Dが使えなかったのです・・・

というわけで、いったんブザーはあきらめ、どうしても必要なPWM1は別の端子から引いてきました。
(ブザーに割り当てているP31は、PPG(フログラマブルパルスジェネレーター)でPWMっぽいものは出せるそうなのですが、今回はブザーは後回しにします。)

ただブログ書いていて気が付いたのですが、PWMモード2でMTIOC2Bを駆動すればよかったのでは・・・

とりあえず、このように解決して無事PWM出力できました。

ひとまず左右で同じデューティー比でPWMを出力し走行した結果がこちらです。

DCマウス初走行 (重心後ろ)

なかなか真っすぐ走らないものだなぁという感じですね。

ここで、重心の話になるのですが、バッテリーを前においてはどうかという意見を社内でもらいました。
そこですぐにバッテリーを前に適当において走行をしてみました。

DCマウス初走行 (重心前)

バッテリーの位置を変えるだけで、前重心となり真っすぐ走れるようになりました!
これは制御しやすそうでうれしい結果です。

これからはエンコーダを読んで速度フィードバックを実装したりするわけですが、直進性がよいものができたのでほっとしました。

ではまた次回!

 

最後におまけ(撮影NG)

DCマウス初走行 (NG)

(動画撮影でボタンを押し間違えて後ろに走らせてしまいました・・・)

タイトルとURLをコピーしました