ラベル マルチコプター の投稿を表示しています。 すべての投稿を表示
ラベル マルチコプター の投稿を表示しています。 すべての投稿を表示

2012年8月1日水曜日

CJ系列 MPU6050の載ったコントローラ

このMultiWiiコントローラがebayにも出てきました。なぜかPirate Flight Contollerという名前になっています。写真をよく見ると問題のFTDIコネクタあたりのピンの数が異なります。配線ミスが直っているといいのですが。
私の持っているほうは機体に積んで順調に飛んでいます。

def.hのセンサーの設定は以下としています。これはMultiWii V2.1ですがV2.0ではMPU6050のacc_1Gの値に512が入るようにSensors.inoも編集します。MPU6050はrev.C とDの間でこの値が変わったようです。ACCをキャリブレーションして512が入ればok。
 #if defined(CJ_BMP085)  
  #define MPU6050  
  #define HMC5883  
  #define BMP085  
  #define ACC_ORIENTATION(X, Y, Z) {accADC[ROLL] = X; accADC[PITCH] = Y; accADC[YAW] = Z;}  
  #define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = -Y; gyroADC[PITCH] = X; gyroADC[YAW] = -Z;}  
  #define MAG_ORIENTATION(X, Y, Z) {magADC[ROLL] = -X; magADC[PITCH] = -Y; magADC[YAW] = -Z;}  
  #undef MPU6050_I2C_AUX_MASTER // MAG connected to the AUX I2C bus of MPU6050  
  #undef INTERNAL_I2C_PULLUPS  
 #endif  

以前記事にしたマルチコプター用のESCの書き換えですが、書き換えたものを購入できる販売店もあります。Hobby Lobbyのような老舗もあれば最近ではRCTimerが販売を始めていますね。このレスポンスの速いESCを使うと特に出力を落としての降下が暴れずスムーズにできます。
simonkのファームウェアも版が進んでブートローダが用意されサーボコネクタからの更新ができるようになっています。つまり一度書き換えればあとはAVRライターは不要になる。在庫がなくなったので久しぶりにまとめて書き換えるつもありです。

週末に友人のKKボードで飛んでいたクアッドにMultiWiiを積み替えたのですがESCのキャリブレーションに苦労しますね。何かわかりやすい方法ないかなぁ。


2012年7月18日水曜日

MPU6050の載ったコントローラ

FTDIにつないでもGUIにつながらなかったコントローラのなぞが解けました。GUIでどのバージョンを試しても通信している気配がない、Arduino IDEでも書き込めない。でも電源は入っており何かのMultiWiiのバージョンが動作しているようなLEDの点灯でした。

何のことはない、FTDIコネクタのRXとTXのピンが逆になっている。逆につないだら問題なく2.0が書き込まれて動いているのが確認できました。普通こんなミスはありえない、よく気がつけたものです。ボードのつくりは綺麗なのですがデバッグしなかったか。このまま売っているということは気がつかずに製造しちゃったのでしょうね。

MultiWii 2.1が出たのでセンサーの定義を書き換えて書き込んでみます。MPU6050のACCって512が1Gなのですね。MultiWii 2.1では定義のところが手を入れやすくなっていました。週末には飛ばせるかな?


2012年7月16日月曜日

KK2 フライトコントローラ

kapteinkuk氏が新しく設計したKK2コントローラをやっと機体に積んでみました。6/21にHobbyKingで発売になり数時間で売り切れた際買うことができていました。液晶が載って$30以下は安い、特に今回はBuddy Codeが使えるうちに買えたので$18.54とお買い得。
テスト用に4..7を書き込んだKKボードの機体を載せていた機体で積み替え。MultiWiiと同じ向きが前なので斜めのKKボードとマウントが違うのが面倒。特にこのDJIコピーの樹脂フレームはこの向きにボードを載せるためのマウント穴が開いていないのでとっても面倒。プラナットを接着して固定しました。

KKボードはPI制御をしている4.7を書き込んでしばらく飛ばしましたが70度くらいの急旋回をするとヨー軸がよれてしまったり、フルスロットルを入れた急上昇もまっすぐあがらなかったり。MultiWiiに比べるとどうも不満が残りました。

このKK2ボードの情報はkapteinkuk氏のスレッドにまとまっています。特に最初のポストにQAがまとめられてきているので助かります。
マニュアルにしたがって配線するだけで積み替えはすぐにできます。最初のバージョンでは普通のPPM受信機しかサポートされておらず、AUX1を含めて5本の配線です。電源を入れてメニューからX構成を選ぶだけなので楽です。
飛ばしてみるとP値が高すぎ、エルロンとピッチ方向は150がデフォルトでしたが60程度まで下げてました。最初に飛ばした日が強風だったせいもありますが。製品デフォルトのP値はかなり高めです。これはkapteinkuk氏もsimonkファームウェアを書き込んだレスポンスの早いESCを使った生徒のこと。この機体には普通のHobbyWing SkyWalker ESCが載っているのでしょうがないです。
落ち着くとKKよりは安定して振り回せます。やっぱり風の強い今日はループとかやっていたら姿勢崩してクラッシュ。

フライトコントローラばかり増えてきます。安くなったのでebayから購入してみたMPU6050のブレイクアウトボード。Arduino Pro MiniにつないでみたらI2Cエラーがいっぱい。RCGroupsで教わって外付けに4k7オームのプルアップをSCL/SDAにつけて解決。小さいコントローラが作れそうです。


人に頼んで入手した中国製のMultiWiiコントローラも届きましたが資料がない。左のITG3205+BMA180の載った格安ボードはMultiWii 2.0が書き込まれておりGUIにはすぐつながりました。ピンにまったくヒントもないのでMPUからたどって見当をつけます。右のMPU6050+HMC5884+BMP085のはまったく不明。

2012年6月22日金曜日

マルチコプターのコントローラ

先日のATMEGA 2560 + 10DOFはうまくGUIにつながって動作確認できています。このIMUはLLCは載っていないので、5V給電、内部プルアップをはずしてSDA, SCLをつなぐことで大丈夫なようです。sketchで #define INTERNAL_I2C_PULLUPSをコメントアウトしておけばよいのかな? 計ってみると内部プルアップはコメントしてもしなくてもSDA, SCLに3.3Vレベルが出ており、GUIにはうまくつながっています。そういうものなのでしょうか? I2Cラインが見れるいいスコープがほしい。。

前に紹介したマルチコプターに適したESCであるXP-12Aが国内でも買えるようになりました。ファームウェアを書き換えなくてもレスポンスが速く、16kHz PWMができる優れもの。RC e-techが入れてくれたようです。もっと大きいサイズのも入っています。

KKボードのRalf Bakke氏が設計した新しいKK 2,0コントローラが出ましたね。HobbyKingから$29.99で発売され、あっという間に売り切れ。
ATmega 324PAというI/Oの数が多いMPUを外部20MHzクロックで動かしています。おそらくアナログ接続の3軸ジxャイロ(IDG650 と ISZ650だそうです。)と3軸加速度センサーを搭載。不安定な8MHz内部クロックで動いているKKに比べて高速で安定した外部20MHzクロックなので、より安定したフライトができるのではないかと思います。少なくともトリムはずれないはず。
小さなCOG液晶が載っており、4つのボタンでメニューを操作してすべての設定をPC無しで行えるようになっています。電圧設定が可能な電池電圧チェッカーブザーも搭載。
基板ごとにポットの回転方向が違ったりジャイロの向きが違ったりというKKに比べて迷うところも少なくなり、設定もしやすいのではないでしょうか。一度アップデートしてからオープンソースにするということです。ソースはやっぱりアセンブラだとか。

フライトコントローラはまだいろいろ出てきます。MultiWiiではITG3205+BMA180を搭載したこれが気になっています。少なくともTaobaoを見ている限りはCrius Liteよりさらに安い。(GoodLuckBuyではなぜか高目に出ましたが。)

2012年6月17日日曜日

Crius MWCのデータシート

Crius MultiWiiボードはメーカーから何も資料が出てきていません。RCGroupsでAtx_Heli氏がまとめられた初心者ガイドがあるくらいです。最近patrick99氏がデータシートとして仕様に関する情報をまとめられました。
よく見たらA6、A7というATMEGA 328にはあってもArduino Pro Miniでは配線されていないポートなんかも出ているのですね。MultiWiiはPro Miniがベースなので使用していない。調べたらQuadrino のような他の専用コントローラでもこのポートが出ているものがありますね。使えるのかな。

Taobaoを見ていると他にもMultiWiiボードが出てきています。写真で見る限りCriusよりしっかりとパターンが引かれているものもあります。Criusも偽物?が出ているような話もあるし、Crius自身からも40mm x 40mmのmini版が出たみたい。ITG320xジャイロだけのシンプルなものでいいから安価・コンパクトで安定したのがないかなぁ。


中国の人たちのボードをおこす素早さには驚き。MultiWiiのコードの進化に合わせてGPSやらも出てきています。ATMEGA 2560に10DOF付きのボードまでCrius SEとあまり変わらない価格で買えてしまいました。IMUはFreeIMU 0.3.5BMPそのまま。資料が無いので電源入れるだけでも煙が出ないか心配。


32 ビット STM32のボードもちらほら出てきています。ある程度広まったFree Flightが製造中止になり入手できなくなったのどれが広まるかまだわかりません。コンパイルするツールをそろえるにも苦労があるのでArduinoのように簡単にはいきません。

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月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モードは何に使うのでしょうね? 無風のときしか使い道が無いような。



2012年4月23日月曜日

Crius LCD

もひとつCriusの話題を。特に2.0になって誰も使えない困ったCriusのLCD。結局LCDのファームを書き換える対策が出てきました。ATmega48が載っているのでISPピンを立てて書き換える力技。

私の場合、Crius LCDは使えない、SparkFunのSerial Enabled LCD Kitも微妙にちゃんと動いていないようでLCDには恵まれませんでした。(というかこのシリアルLCDでどのように表示されるのかがちゃんととわかっていなかった。multiwii.comのSoftwareのところのビデオの例とも表示が違うし。
面倒なので結局Note PC持ち込んでいます。BluetoothアダプタでWinGUIもワイアレスで動くようになったし。^^;

Crius SEにI2Cを追加

このBlogを置いているBloggerのインターフェイスが変わったので慣れるまでよくわからない。^^; Gmailと同じ感じでいいのかな?

マルチコプターの話題も書いていきます。Baroまで載った10DOFの格安MultiWiiコントローラCrius SE、multiwii フォーラムにI2Cの追加の仕方が解説されていました。MWC 2.0でサポートされつつあるGPSはATmega 328ではシリアルポートが足りないのでI2Cで繋ぐことになっています、が、Crius SEではI2Cが出ていなかったので接続するポイントです。

もっとも2.0ではさらにI2Cがシビアになったのでさらに何かつなぐと不安定になりそうで躊躇中。Crius SEは送料込みで$43.85、FTDIがついても$54とさらに安くなってうれしいのですが、とにかく設計が悪い。素人目にもパターンの細さが気になります。今まで買ったCrius Lite 5つのうち1つは電源を入れたら何かが焼け(馴染みのある焼けたESCのにおい。。)リセットがうまくできなくなりました。GoodLuckBuyは連絡がつけばすぐに交換品を送ってくれるのはありがたいですが。