TJ3Bがプログラム実行中に途中で止まってしまう問題について
1年程度使用しているTJ3Bが、プログラム動作中に急にランダムなタイミングで停止(リセット)してしまうようになりました。しかも同様の症状が2台。
最初はダウンロードしたプログラムのバグか何かかなと思っていましたが、バグの入りようのない簡単なプログラムでも発生。そして、新品のTJ3Bに基盤交換すると、同じプログラムでも停止せず動き続けるようです。全く原因不明で基盤交換しかないのかと思っていましたが、もしかして電源系に問題がでているのかと思いテストしてみました。
あえて、電源を拡張電源のみにしてテスト。すると、ライン検知して前進からバックに切り替えた際にほぼ100%の確率でプログラム停止の再現ができました。ランプが点滅しているのでリセットがかかったことがわかります。もともとはもっと改造されたロボットで起きていたので条件は違うとはいえ、おそらくこれと同じ現象が起きていた可能性があります。これの場合は確実にモーターを逆転する際に流れる大電流によるノイズ(電圧低下)が原因です。
対策として、5Vの電源回路にコンデンサを追加してみました。シンプルにセンサーの5VとGroundの間に100µFのコンデンサをつけました。
※追記(CN15のポートはマイコンの5Vとつながっていないので意味がありません、CN1~CN10の5VとGNDの間につないで試します。)
すると、何の問題もなく動き続けることが確認できました。
新品の基盤では起こらないようですので、使い続けることでコンデンサーが劣化してきてノイズに弱くなっているのかもしれません。ちょうど改造をガンガンしている時期なので、改造が原因かなと疑っていましたが、改造は関係なく純粋にマイコンがノイズにやられているだけでした。
同様の症状の場合はコンデンサーで5Vの電圧を安定させてあげるだけで改善する可能性があります。今回は100µFで試しましたが、これで十分なのかもっと大きいほうがいいのかはわかりません。ただ、安価に修理できることがわかりましたので今後は同じ問題で悩む必要はなさそうです。基盤買い替えかと覚悟していたので、これで修理できるのであれば予算的に助かります。
ちなみに別基盤のモータードライバを使うようになるとモーターの電源はTJ3Bと分離されるのでこの問題は起こらないと思いますので、主に2輪のうちの課題ですね。
技術情報一覧へ
最初はダウンロードしたプログラムのバグか何かかなと思っていましたが、バグの入りようのない簡単なプログラムでも発生。そして、新品のTJ3Bに基盤交換すると、同じプログラムでも停止せず動き続けるようです。全く原因不明で基盤交換しかないのかと思っていましたが、もしかして電源系に問題がでているのかと思いテストしてみました。
あえて、電源を拡張電源のみにしてテスト。すると、ライン検知して前進からバックに切り替えた際にほぼ100%の確率でプログラム停止の再現ができました。ランプが点滅しているのでリセットがかかったことがわかります。もともとはもっと改造されたロボットで起きていたので条件は違うとはいえ、おそらくこれと同じ現象が起きていた可能性があります。これの場合は確実にモーターを逆転する際に流れる大電流によるノイズ(電圧低下)が原因です。
対策として、5Vの電源回路にコンデンサを追加してみました。シンプルにセンサーの5VとGroundの間に100µFのコンデンサをつけました。
※追記(CN15のポートはマイコンの5Vとつながっていないので意味がありません、CN1~CN10の5VとGNDの間につないで試します。)
新品の基盤では起こらないようですので、使い続けることでコンデンサーが劣化してきてノイズに弱くなっているのかもしれません。ちょうど改造をガンガンしている時期なので、改造が原因かなと疑っていましたが、改造は関係なく純粋にマイコンがノイズにやられているだけでした。
同様の症状の場合はコンデンサーで5Vの電圧を安定させてあげるだけで改善する可能性があります。今回は100µFで試しましたが、これで十分なのかもっと大きいほうがいいのかはわかりません。ただ、安価に修理できることがわかりましたので今後は同じ問題で悩む必要はなさそうです。基盤買い替えかと覚悟していたので、これで修理できるのであれば予算的に助かります。
ちなみに別基盤のモータードライバを使うようになるとモーターの電源はTJ3Bと分離されるのでこの問題は起こらないと思いますので、主に2輪のうちの課題ですね。
技術情報一覧へ
質問がありましたので回答します。
返信削除ーーーーーー
同じ様な事が起きたので、修理しようと思います。
追加するコンデンサーの名前や売っている場所など教えていただけませんか?
ーーーーーー
回答
ーーーーーー
コンデンサーは特に指定はないのですが、容量がそこそこ大きなもの100μF(マイクロファラッド:貯められる電気の量の単位)以上のほうが安定するかと思います。あまり大きいとサイズも大きくなります。例えばこれぐらいでしょうか。
お店は行くのは大変なので、ネットショップがお勧めです。秋月電子通商は電子工作には定番のお店です。
http://akizukidenshi.com/catalog/g/gP-08426/
値段はこんな程度なのです。ただ、一個だけとか買うのは送料がもったいないですが、個人でも購入できます。参考にしてください。
お世話になります。
返信削除拡張電源に移行したところ同じ症状になり困っております。
現象としては右側のモーターの動きが変わると止まります。
対応として
①モーターの+,-間にコンデンサー(0.01μF)を追加
http://robot.konjiki.jp/RobotV4.html
→NG 右側のモーターの動きが変わると止まる
②右側のモーターの-端子とケースの間、+端子とケースの間に0.01μFをコンデンサをつける。
http://strawberry-linux.com/support/12030/1493404
→NG 症状変わらず
③拡張電源の5V,Groundの間にコンデンサを取り付け
→症状改善?一時よくなったのですがまた止まる事象が起こっています。今度は左側のモーター
の動きが変わると止まる
最終的に左側のモーターにも②の対応をする予定ですが何か根本的なものがありますでしょうか?拡張電源にしないと問題は起こらず拡張電源の種類を変えても同じ症状が起こってしまいます。基盤を交換というのはマイコンではなく本体そのものの交換という理解でよいでしょうか?
わかりにくい文で申し訳ございませんがよろしくお願いします。
すいません、コメントを完全に見落としていました。今更ですが回答します。
削除コンデンサを付ける位置が間違っているかもしれません。
「拡張電源の5V,Groundの間にコンデンサを」という点が気になりました。
増設した拡張電源は6V~7.2Vで、5V出力はないはずですので、どこにつけたのでしょうか。
また、TJ3BのCN15は電源出力用のポートでここを拡張電源(EXT POWERとあるので)と呼んでいる場合、ここはマイコンの5Vとつながっていないので、ここにコンデンサをつなげているとしたら効果はないです。CN1~CN10の5V-GND間につけないといけません。
ご確認ください。
TJ3Bの拡張電源からCPUに電源供給しないようにして、ノイズによる影響を避ける方法があります。
返信削除以下のサイトを参照して下さい。
http://robot.konjiki.jp/Denshi_V4.html
情報ありがとうございました。
削除