ESP-WROOM-32Dを使ってミニ四駆🚗をWi-Fiラジコンに改造しよう計画🌷
~ミラの苦難の道のり~
【その7】「最後の頼みのモータードライバ『TA8428K』を使う」
【ここまでの道のり】
・ESP-WROOM-32DをスマホからWi-FiでLチカ
・ミニ四駆パーツの入手
・トランジスタでモーター制御【失敗】
・リレーを使ってモーターの正転と逆転を制御するしくみ作り
・リレーを安定してスイッチさせる
・リレーによるモーター制御装置を実装する☆第1弾【失敗】
・逆起電流って何よ!?
・リレーによるモーター制御装置☆第2弾
・☆第2弾実装🍊【失敗】
・モータードライバ 「BD6211F-E2」を使う。【失敗】(今ここ)
◆ うまくいかないぃぃ ..p_q..💦
これまで6回にもわたって紹介してきたミニ四駆ラジコン化計画ですが、未だに完成しません。トランジスタリレー失敗。リレー回路第1弾失敗。リレー回路第2弾失敗。モータードライバ第1弾失敗......。..pエーン💧
もうこれが最後の頼みの綱。
モーターを制御するのに一番簡単そうだなと思っていたけどあえて使わなかったモータードライバ。トランジスタやリレーでの困難な回路に果敢に挑戦するも見事に敗れ「やっぱり手伝って💗」状態のミラヒェンはモータードライバ「TA8428K」に頼ることになったのであった(←昔のアニメのあらすじ風に読んで)。
◆ モータードライバ「TA8428K」
大本命のモータードライバ。ブレッド上で動作確認すると、問題なく動作しました。モータードライバの1ピンと2ピンが通信線になっていて、ここにESP32のピンをつなぐ。今回のスケッチでは26ピンと27ピンを使います。
26ピンをON・OFFすれば、モーターが正転に回転・停止する。
27ピンをON・OFFすれば、モーターが反転に回転・停止する。
正転のONと反転のONをOFFにしないで切り替えるときには、負荷がかかってエラーが出ないように一瞬(0.1秒)停止する「メッシュ」プログラムも入れた。モータードライバには今まで泣かされてきた逆起電流を防止するためのダイオードも内蔵されてる。もう完璧ね。さあ、ミニ四駆に仮組みして走らせてみよう。
◆ ミニ四駆に仮組みして走行実験
うん。タイヤはちゃんと回転する。でも、うまく動かない。
単三乾電池2本だと重くて動かない。でもタイヤを浮かせて空転させるとちゃんと回転する。
配線を変えて単三乾電池4本つなぐとよろよろ走る。でも空転させたときに勢い余ってESP32側にエラーが出ちゃう。
逆起電流は防げてると思うのに、どうしてだろう?
最後の頼みの綱がうまくいかなくって泣きそうになっていたそんな私に、一筋の光明が差しました🌈
ヒントは何人かの方からいただいたコメントで、パスコンを入れるといいというもの。パスコンというのはバイパスコンデンサのことで、接触が安定しないような場所に入れるとノイズ電流を吸収してくれて動作を安定させられるというもの。でもどこにパスコンが必要なんだろう? と思っていたとき、発見したんです。
(怖い話風に読んで ↓)
それはESP32をパソコンにつないで、シリアルモニタでWi-Fiの接続状況を見ていたときでした。26・27ピンにLEDをつなげてたんだけど、横着してブレッドボードとかジャンパワイヤとか使わずに直接ピンにちょんちょん接触させてたの。そしたら出たんです。エラーが。
「キャー👻」(茶番ここまで)
どうしてだろうと何度も試してみたら、どうやら「ちょちょん」って素早く信号ピンとGNDピンに触れるとエラーが出るみたい。接触が悪いときなんかの挙動ね。
実はこの「ちょちょん」を利用してリセットをかける方法は、以前にArduboyというゲーム機を作ったときのトラブルシュートで使ったことがあったの。
自作Arduboyのトラブルシュートの記事→「ちょちょん」
そこで思い出したのがコメントにあったパスコンのこと。「ああ、そうか」って思ったわ。信号線でも接触が不安定だとエラーが出ちゃうんだ、だからバイパスコンデンサで安定させるんだ、って。
◆ バイパスコンデンサ
バイパスコンデンサとして使ったセラミックコンデンサはこんなもの。
写真は1μFのものだけど、実際に使ったのは0.1μFのもの。
きっと電池4本で空転させたときなんかに勢いが強くて接触不良が起きて、それでエラーが出ちゃってたんだと思う。
さっそく26・27ピンとGNDの間にパスコンをはんだ付けしてみると、電池4本でタイヤを空転させてもエラーが出なくなりました。
たー!
でも、でもね。
うまく走らない......。
だけどエラーが出なくなったおかげで走らない理由がはっきりしました。
それは......
重すぎたから
なんだかひんしゅくを買ってしまいそうな原因。今までは動かなくなったときにエラーが出てしまい、重くて動かないだけならエラーはでないはず、と思っていました。エラーの原因と、逆起電流と、過重量という別の原因が複数あったので問題が見えにくくなっていたんだと思うの。
これまでにも何回かうまく走ってたんだけど、それはESP32の電源に使っている宇宙卵(←宇宙卵リンク)を降ろしたときだったんだ。そのときも壁にぶつかってエラーが出ちゃったからなおさらよく分からなかった。
◆ 失敗は成功のもと
そんなわけでほとんどの問題が解決されてきました。
長かったなあ、ここまで。(まだ成功してないけど)
エラーの原因が分かったら、リレー回路もうまくいくかも。
でもその前に過重量問題を解決したいと思います。
次回、「ESP32ミニ四駆、ダイエットに挑戦!」 お楽しみに🐟
【ここまでの道のり】
・ESP-WROOM-32DをスマホからWi-FiでLチカ
・ミニ四駆パーツの入手
・トランジスタでモーター制御【失敗】
・リレーを使ってモーターの正転と逆転を制御するしくみ作り
・リレーを安定してスイッチさせる。
・リレーによるモーター制御装置を実装する☆第1弾【失敗】
・逆起電流って何よ!?
・リレーによるモーター制御装置☆第2弾
・☆第2弾実装🍊【失敗】
・モータードライバ 「BD6211F-E2」を使う。【失敗】
・モータードライバ「TA8428K」を使う。
・エラーの原因を発見!
・バイパスコンデンサをつなぐ。 (今ここ)
🚗 苦難の道のりは次回につづく 🚘
<お買い物コーナー>
🍎 白光さんのこて 🍌 これ欲しい.. 🍇 ミニ四駆