2012年5月23日水曜日

マルチコプター用のESCの書き換え

ESCのファームウェアを書き換えてレスポンスを速くし、マルチコプターの安定をよくするということができます。もともとドイツのquax氏が作成してHobbyWing 6Aなどで動かしていたブランチをsimonk氏がマルチコプター用に改良しているようですね。
RCGroupsのスレッド
OpenPilotでのRapidESCとしてのまとめ

FCからESCへのPWM入力から出力までの遅れを最小限にし、よりスムーズな制御をしようというものです。実際にこれに置き換えるとMultiWiiのP値をより高いものにできます。またモーターのPWM周波数も高くなるので8kHzの耳に障る音もなくなります。マルチコプターでは邪魔なオートカットも無し、スロットル範囲の設定も楽です。

普通のESCと比較してどれくらいレスポンスがよいかはこちらのビデオがよくわかります。



HobbyWingなどのメジャーなESCのMPUはSiLabに切り替わっているので書き換えられません。まだATMEL AVRベースのものがあるのでそれを選んで書き換えます。どのESCが書き換えできるか、またどのファームウェアを使うかは上のRapidESCのデータベースにまとめられています。
お勧めはHobbyKingのF20, F30のシリーズ。N FETを使っており外部クロックが省略されておらず安定して動きますし、なにより書き換えるためのパッドが付いているのでお勧め。今まで20, 30Aを12-16個ほど書き換えました。


書き換えるにはUSBASPアダプタを使います。パッドへの接続は適当なピンコネクタを曲げて形をそろえてアダプタを作ります。


パッドの場所がわかっているので、ESCの被服を一部剥いて露出させ、しっかりとアダプタを当てて書き換えます。書き換えのソフトもAVRDUDEでもいいのですがKK multicopter flashtoolもサポートをはじめたので楽です。書き換えのときの給電は5V受信機電源をESCの電源線につないでいます。ショートしたりファームを間違えて変な動きをしたときに焼いてしまうのを少しでも防ぐためです。



慣れれば流れ作業でひとつ1分で書き換えられます。どうしてもパッドへの接触が悪いので書き込みエラーが出たり、思わず余分なフューズ書き換えまで起きたりと注意は必要、書き込みのログの確認は必須です。もちろん手間をかけてきちんとハンダ付けしてから書き換えるほうが安心ですが。

書き換えなくてもレスポンスの速いESCもあります。ビデオの最後に出てきたXP12aというのがそれです。入手してクアッドのひとつに使っていますがいい感じです。マルチコプター用として500Hz ESCとかうたっているものはうそ。単に速いPWMでも誤動作しないだけでレスポンスが速いわけではないです。

先日作ったマルチコプターのキット、付属しているESCのマニュアルがないのでオートカットの設定さえできません。いつか墜落するので要交換です。

2012年5月18日金曜日

不良のMWC Crius Lite

2個目の不良のMWC Crius Lite、SEとあわせて6個買ったうちです。これの症状は友人の受信機でラダーの入力の認識が安定しない、モーターのひとつが暴走するというものでした。ラダーchの問題は自前の受信機で試したところうまく動いているようです。少なくともGUIではスムーズに動いていました。もうひとつの問題は特定のモーターが暴走するというもの。
D03の出力を見てみると波形が出ており、スティック操作にあわせてちゃんと動いているように見えます。
が、隣のD09ピンの出力を見てみると
あれ?出力電圧が違う。D03は2Vも出ていない。これではESCが誤動作しますねぇ。さあて、何が悪いのでしょう。


IOI mini Multiwii Board MCU + 10 DOF IMU

MultiWii Crius SEの回路設計の怪しさにめげて別の候補を探しています。単に線を引いただけに見える基板であり、今まで6個購入して1,2個不良という品質の低さに不安があります。
IOI Multiwii Flight Control Boardを購入してみました。通常の一辺5cmではなく4cmのボードです。マウント穴は35mm x 35mm。ITG3200, BMA180, HMC5883LにBMP085。
中国製でebayのこれのようですがトルコのBambucopterが安い送料で扱い始めています。
見た限りグラウンドもしっかり取った設計のようです。

発注後出荷を催促して2週間強で到着。右上のCriusと比べてコンパクトな基板に収まっています。Arduino 328ですが、FTDIはそのまま挿せず、リセット回路も省略されているようです。

次のフレームに積んでみることにします。
どうもレイアウトが悪い投稿ですね。。。

2012年5月2日水曜日

MultiWii ADXL345の改良

MultiWiiは多くのセンサーをサポートしていますが、どのインテグレーションも同じわけではありません。センサーによってはまだこなれていないものがあります。(そのほうが多い?)問題があったら直したい人が改良してくMultiWiiですから。

ジャイロはITG320xが定番、加速度センサーはBMA020、BMA180とかはよく使われており安定してるようです。安価なせいか最近見かけるADXL345は1.9のころから安定していませんでした。ノイズに弱いというか不規則に暴れてしまう。
Crius Liteがこれを使っていますがBMA180のCrius SEと違ってACCモードが安定しない。別にBMA020ブレイクアウトボードを追加したりしていました。2.0になってADXL345のコードは少し変わっているようですがまだACCの安定については問題があるとの話を読みます。

同じセンサーを積んだFree Flight FCは安定しすぎるほど安定しているのでこれはソフトの出来ということなのでしょう。こちらはこちらでいつもACCモードになっている仕掛けであり、一定以上傾くと強制的に戻るつくりなのでなのでアクロはできませんが。

2.0のADXL345については、こちらにその改良案がポストされています。浮動小数点でのLPFで1-2Hzでカット、GYR_CMPF_FACTORを上げてジャイロのウェイトを増やしたりなどなど。試してみる価値ありそうです。

しかし、ACCモードは何に使うのでしょうね? 無風のときしか使い道が無いような。