DCモーターコントローラは、東芝製のTA7921Pを使用してます。
こちらに詳しく説明とサンプルがあります。
https://www.marutsu.co.jp/contents/shop/marutsu/mame/81.html
回転方向の制御に2線、回転速度の制御に1線を使用します。
ESP32側は、回転方向制御に1,0をそれぞれ出力してあげれば問題ありません。
回転制御は、アナログ出力はないのでPWM出力をアナログ出力とみなして制御します。
周波数は、500Hzから1kHzがいいようです。
デューティー比を0(0%)~1023(100%)まで変化させると擬似的にアナログ出力となります。
デューティー比は、0→1→10→100→500→1000と変化させた時のモータの動きです。
デューティ比0,1,10ではモーターは動きません。 PWM信号にLEDをつけてます。段々明るくなっている状況がわかると思います。
もう1個のモーターも配線を半田付けして、モーターコントローラと配線します。
反対側を見ながらコピーすればいいので簡単です。プログラムを反対側分も作成し、いざテスト。
うーん、新しく配線したモーターは、うんともすんとも動きません。反対側は問題なく回ってます。
再度、配線を見直しても間違ってません。
配線触ってると、モーター動き出しました。原因はここ。
モーターコントローラーのVCC線の剥き方が気持ち短くて、ブレッドボードと微妙に接触不良です。長めに剥いて配線しなおすと、左右同じように動くようになりました。
これで、左右のモータが動くようになりました。将来的な拡張を考えて左右個別にコントロール出来るようにしてあります。
あとは、これまでのセンサー読み出し、モーター駆動等の個別コードをまとめて、倒立できるようにプログラムの作成です。
基板に取り付けて、ようやく倒立実験です。GW中は楽しめそうです。
このコメントは投稿者によって削除されました。
返信削除構成要素はそろってきたようですね。まあ〜、これからが大変かも?
返信削除注文していたモータが届いたので、早速実験してみました。
https://youtu.be/coYSWYs3CAY
そうなんですよ。傾きと加速度をどのようにモーターに伝えるのかというのをmicropythonでどう書くのか妄想中です。
削除倒立失敗。失敗は成功のもとだよね?!?
返信削除https://www.youtube.com/watch?v=NgLknS8Pbow
パラメータとアルゴリズムの見直しですね。こちらも今日から組み立てです。
削除