立命館守山高校 Sci-tech部 Arduinoからシリアルで6CHMCBを操作は出来たが他が動かん

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Arduinoからシリアルで6CHMCBを操作は出来たが他が動かん

Arduinoから6CHMCBをI2Cで動かすと、他のI2C機器が動かなくなります。
これの原因ははっきりしませんが、いくつかの予想と実験の結果を下の方に書きました。
で、結局、6CHMCBを使うのか、それとも東芝のドライバICでドライバを組むのかを考える前に、6CHMCBのもうひとつの制御方法であるシリアルでの制御をやってみました。

なぜかというとArduinoMEGA2560が届いてテンションが上がったからです。
DSC_1189.jpg
ハードウエアのシリアルが4つもついててソフトウエアシリアル使わなくて良いので簡単にできました。
ArduinoUNOでもPCとの通信をするつもりがなければ出来るはずです。その場合Serial1じゃなくてSerialです。

void setup(){
Serial1.begin(19200);
}

void loop(){
Serial1.println("1F100");
}

以上。
CH1が100%前転方向に出力します。
驚くほど簡単でした。
なんじゃこりゃって感じでした。
ちなみに、CH2を後転方向に出力50の場合2R050にすれば良いです。
複数のモーターを同時に制御するには
1F010:2R030:3F050:4R070:5F090:6R100
みたいな感じにすればOKです。
CH1前10% CH2後30%といった感じです。
また、コロンは付けても付けなくてもOKだそうで。
全く問題無く動作しました。

で、6CHMCBをシリアルで接続した状態でI2Cで他の適当なセンサー(今回は方位センサ)を接続し、PCにシリアルで方位センサの値を送りつつモーター出力ができるか試してみました。
6CHMCBとArduinoは別電源で、どちらも十分な電圧と電流供給能力があります多分。
DSC_1187.jpg
微妙。
確率でArduinoがフリーズしましたが、フリーズするまでの間は正常にI2Cで所得したセンサーの値を転送できてました。フリーズはすぐに起こることもあればなかなか起こらないこともありました。

つまり、6CHMCB単体であれば動作は可能ですが、そこに何か他の機器をつなげると固まると。
6CHMCBと方位センサに命令を送るタイミングは100ms程離してるので命令が立て込んでるとかそういう訳では無いと思います。
やはり、ノイズが他の通信の妨害になっている可能性が高いと思います。

で、その6CHMCBのノイズの原因について
前回の記事でZEROさんが指摘された、ロジックICとFETのゲートの間に抵抗がないことに起因する突入電流ですが、この突入電流が原因であればモーターを取り付けなくてもArduinoはフリーズするはずということでしたが、Iモーター無しではフリーズはしませんでした。

ちょっと実験の条件が不十分だったので、もうちょっとやりますが、3連休明けになります。
I2Cで6CHMCB
シリアルで6CHMCB
I2Cで6CHMC 適当な値をシリアルでPCへ転送。
シリアルで6CHMCB 適当な値をシリアルでPCへ転送。
I2Cで6CHMCと方位センサ
シリアルで6CHMCB、I2Cで方位センサ
I2Cで6CHMCと方位センサ 方位センサの値をシリアルでPCへ転送。
シリアルで6CHMCB、I2Cで方位センサ 方位センサの値をシリアルでPCへ転送。

LEDの表示などで、どのタイミングでフリーズしてるのかも見極められると思います。

ただ、実際ハードウエア的な対策が面倒くさくなってきました。
パターン剥いて抵抗挟むぐらいいくらでもやりますが、かならずしもこれを使う必要があるわけではないですし
ロボットの方はTA8429HQで動かそうと思っています。
ダイセンモーターに対してどう考えてもオーバースペックですが、まぁ余裕を持つことは悪いことではないと思います。
後輩がもっと高出力なモーター使うかも知れませんし。


そういえば、こんな本買いました。
DSC_1188.jpg
Arduinoをはじめよう (Make:PROJECTS)
完全に初心者、それも、初めてマイコンに触るような人向けの本で、あまり技術的に踏み込んだ内容ではありませんでしたが、読み物としては面白かったです。初心に返って忘れがちな基本を思い出せました。
初心者が読めば、ある程度はArduinoを動かせるようになると思います。
後半のリファレンスはArduino 日本語リファレンスの内容と同じですが、紙のリファレンスは便利です。ちょっとWeb版より少ないですが…

Prototyping Lab ―「作りながら考える」ためのArduino実践レシピ (Make:PROJECTS)
Making Things Talk ―Arduinoで作る「会話」するモノたち (Make:PROJECTS)
この2冊が今欲しい。
面白そうな作例が載ってるみたいです。

コメントの投稿

非公開コメント

No title

ArduinoMEGA2560…値段ぱないです。
ぁ、けどTJ3より安いんですねw
自作ファイトです。

No title

モータードライバを作ることを考えるとTJ3以上になりますが…
ただ、ATMEGA2560が圧倒的に高性能で、何か作ろうと思ったときに簡単にできますし、お値段以上だと思います。少なくともTJ3よりは
自作頑張ります。
プロフィール

立命館守山高校 Sci-tech部

Author:立命館守山高校 Sci-tech部
立命館守山高校、Sci-tech(サイテック)部のブログです。
研究の途中結果や、日記、連絡事項などを載せていきます。

主な成績
ロボカップジュニアレスキューセカンダリ2010
世界大会5位

やってること
バイオディーゼル燃料を使ったバイオカートの制作
AR(拡張現実)の研究
クルーレスソーラーボート大会への出場
ロボカップジュニアへの出場
レールガン制作
など

リンク
過去ログ
最新記事
最新コメント
アクセスカウンタ
合計閲覧者数

現在の閲覧者数
カテゴリ
検索フォーム
アクセス解析
    ブロとも申請フォーム

    この人とブロともになる

    QRコード
    QR
    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。