PCからArduinoまで5m+1mのUSBケーブルでつないでいたのだけど、これも問題だったらしい。
何が起こってるのかなと思って、USBオシロをつなぐためにArduino を電源付きのハブをつなぐと問題が緩和した。少なくともモジュール3つは動いている。ハブの電源を切ると問題が再発し、再現性がある。
http://www.sanwa.co.jp/product/syohin.asp?code=KB-USB-R205
ケーブルは電圧降下を補償するために100mA消費するらしいが、Arduino は100mAも使っていないはずなので電力は足りている。
- USB Extension Cable のみを使って Arduino Uno は自前で給電(DCプラグから)
という風にしても問題は解決しない。つまり単純に電力が足りていないわけではない。
4つ目のモジュールはLEDもフリッカーが顕著になった。これはICの電源が落ちている可能性が高い。
試すこと
とはいえ、PCとデバイスは5m近く離れているので、一旦ノートPCでテストしてみることにする。
そんなことを言っていると異臭が。またサーボが燃えたらしい。ここまでロバスト性が無いとこの先不安になる。16個動かすだけでこんなに苦労していて、100個などできるのだろうか?
4つ目のモジュールはLEDもフリッカーが顕著になった。これはICの電源が落ちている可能性が高い。
試すこと
- グリッチが起こる状況のINPUT,OUTPUTの電圧及びICの電圧をオシロで見る。波形がおかしければこれでわかる。
- コントローラ側のGNDに対するモジュールのGNDを見る。数百mV になっていると危ない。
- シリアル通信の速度を遅くしてみる:2つ目までうまくいって、3つ目でダメだということは、シリアル通信で詰まっている可能性もある。
- ノートPCでテスト:ケーブルが問題の場合
とはいえ、PCとデバイスは5m近く離れているので、一旦ノートPCでテストしてみることにする。
そんなことを言っていると異臭が。またサーボが燃えたらしい。ここまでロバスト性が無いとこの先不安になる。16個動かすだけでこんなに苦労していて、100個などできるのだろうか?
No comments:
Post a Comment