アーカイブ : 2013年 3月
Crazyflie Nano Quadcopterが日本で飛ばせないなら作ってしまえと言うことで実験していましたので基本設計とかを考えてみます。手のひらにはのって欲しいのでそのあたりを基準に設計してみますと以下の様なモデルができあがりました。
基板の部分だけを、せっかくあるので3Dプリンタを使って印刷してみるとこんな感じになりました。
いろいろと検証していましたけれども、どうやら本格的に作れそうな気配となってきたので基本構成とかを考えてみることにします。今の処のあくまで想定で作ってみたのですが、LEDアレイ載せるのは厳しそうな予感がします。
本来は簡単にPPM信号でRCデータを入力しようと企んでいたのですが、LED-Arreyを搭載しようとした所どうしてもTLC5940を積みたくなり…。そうすると、タイマーが使えなくなり、同時に割り込みも使えなくなり、PPM入力が不安定なdelay関数やmicros()を使わないといけなくなってしまうためしょうがなく置き換のため検討。たかだか、LEDの点灯のために安定した送信が可能なタイマーを使ったPPM信号を捨ててmicros()関数とか使って飛行を不安定にしたくない。だとすると、BTのデータ受信時に使っているプログラム内でそのままデータをシリアル送信してあげたほうがはるかに効率が良かろうということでの検証です。
MultiWiiの2.1以降には「Multiwii serial protocol」などというものが実装されているようでこれを使ってのPC信号の入力が可能ですのでこれを使ってテストします。
信号の形式:$M>[data length]
[code][/code]
[data][checksum]
ヘッダコード:’$”M’
データの向き:'<‘ or ‘>’
データ長(data length):コマンドで送信するデータ長(8ビット1文字換算)
コード(code):指示コード(詳細は以下「Multiwii Serial Protocol Code」参照
データ(data):「データ長」で指定した数のパラメータ
チェックサム(checksum):データ長からデータ迄を順次XORした値の下位8ビット
※:コード(code)に関しては、MultiWiiプログラム内の「Serial.ino」に情報があるので参照
今回のテスト構成はシリアル通信でのコントロールが可能かを試すだけなのでBluetoothでのコントロールは考えずに簡単にします。
(ATMegaはシリアルデータを中継する途中でRCコントロールデータを追加送信します)
せっかくなのでワイヤレスでの機体状態の確認とか遠隔制御とかに使えるのでSPPプロトコルでの通信ができるかを確認しました。 「MultiWiiConf_2_0」から接続して機体状態を表示出来ればいいかなと思っていたのですが、なんだかんだで問題出まくりだったのです。
前回同様の構成で、検証に使ったのは「USB Host Shield 2.0 for Arduino」+「USB Host Library for Arduino」を使用。そして、接続先のMultiWii相当としたArdunioNanoをあててテストをしました。
■PCとのSPP接続の流れ
注意:プロトコルスタックはMicrosoft製の純正スタック
★接続完了画面
まあ、ここまででもなんだかんだで結構かかっていますけれども…。スタック周りのトラブルでなかなか接続できなかったりとか、ドライバが2重に入ってしまって正常に動かかなくなってしまったりとか大変でした。 ようやく接続できた後ですが、そこからはこれまで以上に茨の道だったりしました。
最近はもっぱらOpenSCADを使ってベース設計をした物をSketchUpにインポートして設計していることが多いです。
基板の設計というか外形設計をOpenSCADで行ってからEagleに取り込めれば便利なので試してみたところ結構手順が必要だったのでメモしておきたいと思います。まずは、OpenSCAD側で3DのデータはそのままではDXF形式で出力することが出来ません。そのため2Dデータに変換してから出力する必要があります。
動かしてみたら、
あとは、
■
さらに、
■タイミングベルトを比較
白いほうが今まで使っていたほうで灰色というかが新しいものです
卓上でプリントするにはいい機体ですね。
最後に最近使っているSlic3rのConfig.iniを置いておきますので参考までに…。
当分このまま使います、
Crazyflie Nano Quadcopterが日本で飛ばせないなら、
まずは、
■今回の構成はこちら
受信側:ArdunioMega(1280)+USB Host Shield 2.0 for Arduino
送信側:ワイヤレスコントローラ(DUALSHOCK 3)
「USB Host Shield 2.0」は「USB Host Library for Arduino」
▲PS3コントローラーの接続の流れ
比較的簡単に接続できてしまいました。
続きを読む