2014年4月6日日曜日

F-20AをSimonkファームウェアに書き換えてみた

Red Brick 20AをSimonkファームウェアに書き換えて調子がよかったので友人のHobby King 20A ESCもSimonkファームウェアに書き換えてみた。

5つあるのは予備がひとつ。安いし!

Simonkファームウェアの対応状況はこちらから確認できます。

Red Brick 20Aは熱縮チューブを切ってヒートシンクはがさないと書き換え端子が見えなかったけどこのESCは裏がしてちょっとカットするだけで書き換え端子が見えるらしい。
Red Brick 20Aは裏表がアルミ板で覆われていたけどこいつは裏面は基板そのまま。
これは書きかえ簡単そう。
いろんなサイトでむき出しの基板の画像が公開されていたのでそれを参考に端っこだけカットしてみた。案の定書き換え端子が出てきた!
これなら熱縮チューブの処理をしなくてもいいね!

5個だけ書き換えるのに冶具を作るのも面倒なので直接半田した。
MOSI MISO SCK GND VCC RESET
USBaspを使用しました。


書き換えツールはKKMulticopter Flashtoolを使用した。
controllerはatmega 8-based brushless ESC (8kb flash)を選択。
firmwareはF-20Aの場合はTP N-FETを選択。対応表を見ればどれを書き込めばいいのか書いてある。

あとは隣の緑色のボタンを押せば書き込み開始。
さくっと書き込み完了。

Simonkファームウェアだと余計な設定がなくて楽だなぁ
Throttoleのキャリブだけだし。


2014年4月4日金曜日

MicroWiiにBluetoothモジュールをつけてみた。

Atmega328のMultiWiiはFTDIをつなぐシリアルポートにそのままBluetoothモジュールを接続すればいいけど、Atmega32u4搭載のMultiWiiはUSBが直結されてるためそんなことができない。

Arduino Leonardにもシリアルポートが2つあってSerialとSerial1で使い分けられる。MicroWiiはArduino Leonard互換なので可能なはずである…
基板にもAUX2の隣にRXDとTXDのシルクがあるのでピンを半田付けしてみた。
ちなみにVCCとGNDとRXDはピンが半田付けされてるがTXDだけスルーホールになってた。
ピンを一本半田付けしてBluetoothモジュールをつないでみた
というわけで接続するとこんな感じになる。
とりあえず電源を入れてペアリングしてみる。ちなみにBluetoothモジュールはHC-06ってやつでボーレートは115200に設定してある。(デフォルトは9600)
ペアリングするとCOMポートが二つ認識されるけどMultiWiiのGUIツールで若い番号のほうに接続してみると普通に認識された!

ちなみにUSBとBluetooth両方でモニタリングすることが可能だった。
ちなみに特にMultiWiiのファームウェアで設定してない…

あっけなくつながってしまったけどこれでVivoTab Note8から簡単に設定が変更できて便利。




ついでにBAROセンサの電源ノイズ対策もしてみた。

このボードの気圧センサは値がだいぶ振れるので検索していると3.3Vの電源ラインにコンデンサを追加するとだいぶ改善するらしい。

というわけでつけてみた。
意外とこんなもんで値が振れにくくなった。
あとは光を通さないような黒っぽいスポンジをかぶせてBAROセンサの精度が上がるといいんだが…


2014年3月16日日曜日

クアッドコプターを組み立ててみた。 Part 4

ためしに飛んでみた。
今回はテストなのでケーブル類の抜き差しが楽なように基板を上の段に乗せてみた
ここで気がついたけど同じ3S2200mAhのバッテリーでも20Cと30Cで厚さが微妙に違う?

とりあえず地面においてバッテリーを取り付けると電源オン。
Disarmの状態になってる。

とりあえずジャイロのキャリブレーション。
MODE1なので右のスロットルを上げた状態で左のスティックを左下に倒す。
そうすると青色のLEDが少しの間点灯する。

いよいよ初飛行。
右のスロットルを下げた上体で左のスティックを右に倒す。
するとプロペラが回りだす。
あとはスロットルを上げると飛ぶ!

とりあえず浮いたのでレイアウトをちゃんとしてPID等の設定をしないとなぁ

クアッドコプターを組み立ててみた。 Part 3

MultiWiiとレシーバーを接続したらプロポから送られる信号のエンドポイントとトリムを設定。

ちなみに今回はEr9xに書き換え済みのTurnigy 9x(MODE 1)を使用した。

MicroWiiをUSBでPCに接続するとCOMポートとして認識されるので
MultiWiiConfを起動してそのCOMポートに接続してみる。
接続するとこのような画面に。

右上にあるバーはプロポを動かすと動くはず。まずはここの値を調整していく。
MultiWii側でいじるかプロポ側でいじるかはどちらでもよさそうだけど今回はプロポ側をいじった。

Er9xのマイナスボタンをちょい長押しするとメニューに入るのでマイナスボタンを何回かおして6ページ目のLIMITを開く。
ここでエンドポイントと中心を決めていくわけだけどとりあえず1ch~4chだけでいいと思うので真ん中を1500付近、最小を1050ぐらい、最大を1950ぐらいに設定する。±3ぐらいで前後するけど問題なさそう。

そんでもってTHROTTLEからYAWまでちゃんと1050-1500-1950になったら設定完了!
あとはESCをMultiWiiConfで表示されてるように接続するだけ。
とりあえずCLOSE COMMを押してからUSBケーブルを抜く。


ESCの接続先はMicroWiiは左上が6番、右上10番、左下5番、右下9番となっている。

回転方向も図のように合わせないといけない。
とりあえずESCを接続したらバッテリーをつないで回してみればいい。
バッテリーを接続する前にUSBケーブルが接続されてないことを確認。
バッテリーを接続するとESCが起動音を出したり出さなかったり。

とりあえずバッテリーをつないで起動するとMultiWiiはDisarm状態になる。
この状態だとプロポを操作してもモーターが回らない安全装置みたいなもの。

スロットルをいっぱいに下げた状態でYAW(左スティック)を右に切るとArm状態になってモーターが回り始める。
逆にYAWを左に切るとDisarmになってモーターが止まる。
特にDisarm操作は覚えておかないと墜落したときにモーターが止められなくてあせりそう。

とりあえずモーターを回して回転方向をあわせる。プロペラをはずしておくこと!
なんか今回使用したモーターは端子の根元あたりのケーブルが切れやすくて怖かった・・・
端子付近はあまり動かさないようにしよう。

回転方向をMultiWiiConfの図にあわせたら完成!

2014年3月15日土曜日

Turnigy 9xをEr9xに書き換えてみた。

Turnigy 9xにはAVRマイコンが使用されていてカスタムファームウェアがいろいろ出ているのでその中でも有名な?Er9xに書き換えてみた。

動作確認したらすぐ分解
ねじをはずすしてケーブルをはずすと二つに分かれます。

v2なので書き込み用パッドが全部出ているのでそれにケーブルを半田付け。
ピンアサインはネット上にごろごろ転がってる。
一回書き換えたらアップデートとかしなそうなのでとりあえずケーブルを直で半田して書き込みが終わったらはずすという手法でいくことに。

USBasp対応の書き込みツールが多いので今回はUSBaspを使用。
eePeっていうツールで簡単に書き込みできた。
このツールでEEPROMのデータも読み書きできるみたい。つまり設定をエクスポートしたりインポートしたりできる?

今回はファームウェアを書き込むためだけに使用した。

ファームウェア書き込み完了したらとりあえず元に戻す。
初回起動でEEPROMのデータがおかしいとか起こられるけどMENUキーを押して進めると勝手にフォーマットしてくれる模様。

無事書き込み完了!

クアッドコプターを組み立ててみた。 Part 2

前回はフレームを組み立てたので次はフライトコントローラーの準備をしてみようかと。
今回購入したのはホビキンのMicroWiiっていうフライトコントローラー。
Atmega32u4版のMultiWiiです。
レシーバーと接続するケーブルは付属しているけどUSB miniBケーブルは付属してません。

Atmega32u4なのでFTDIがいらない!直でUSBでつながる!
のは良いんだけれども、その分ブートローダーがoptibootよりデカイのでプログラミング容量が少し減ってます。Atmega328のボードよりなぜか安いし。

こいつらはArduinoベースなのでプログラムを書き込むにはArduino IDEが必要。
MicroWiiはArduino Leonardo互換なのでドライバもArduino IDEに一緒に入っている。

Arduino IDEをインストールしてMicroWiiをUSBでつなぐと自動でドライバがインストールされるはず。
されないときはArduino IDEのインストールしたフォルダのなかにDriverが入ってるので自分で指定してやる。

次にMultiWiiのファームウェアをダウンロード。
今回はMultiWii 2.3が最新だったのでそれを使用した。

解答してMultiWiiフォルダの中のMultiWii.inoを開くとArduino IDEが立ち上がって大量にタブが開く。
基本的にはconfig.hタブの中だけをいじるので全画面表示にするか、タブの一番右にある矢印を開いてconfig.hを開く。

基本的にはconfig.hの項目をコメントアウトを外していくことで、作るマルチコプターにあわせた設定ができる。

基本的にはmulticopterのタイプとボードのタイプを自分の使ってるボードに合わせてコメントアウトを外していけばいい。(#の前の//を消す)

とりあえず今回はXタイプのクアッドコプターなので
#define QUADX
のコメントアウトを外して

MicroWiiの説明書によるとボード設定は
#define FREEIMUv043
#define A32U4ALLPINS
の二つをコメントアウトを外すといいらしい。

さらにAUX2を使用するために
#define RCAUX2PIND17
のコメントアウトを外した。

とりあえずこの4点、最小限の設定をして書き込んでみた。
書き込む前にツール→ボードでArduino Leonardを選択しておく必要がある。

それで左上のマイコンボードに書き込むというボタンを押すととりあえず書き込まれる。

ちなみにこのボードの入力ピンはシルクがでたらめなので注意。
シルクは右からTHR ROLL PITCH YAW AUX1 AUX2ってなってるけど
実際のピン配置は THR YAW AUX1 PITCH ROLL AUX2 である。

レシーバーとつなぐとこんな感じ。このシルクにだまされてだいぶ悩んだよ…



2014年3月14日金曜日

クアッドコプターを組み立ててみた。 Part 1

というわけで先週あたりにホビキンで注文していたパーツ一式が届いた!
さすがサイズと重量ぎりぎりに詰め込んだだけある…
結構ぎりぎり詰まっていた。プロポの箱がでかい!

まずはF330フレームの組み立て。こいつはDJIのに思いっきり似ている・・・
フレーム組み立て用とモーター固定用のねじが付属している。
全部2mmの六角ドライバーで組み立てる。

とりあえず足の色はこんな組み合わせにしてみた。
前と後ろがわかりやすいように…


次にESCに端子を半田付け。
ESCはRed Brick 20A。モーター側に3.5mmコネクタのメスを半田付けしてスミチューブで絶縁した。
一応コネクタカバーもついてきたけどスミチューブのほうがスマートなので。
あとBECのピンも1個だけ残してほかの3つのは抜いてスミチューブで絶縁しておいた。
なんかもったいなくてカットできなかった…

後はモーターをねじ止めしてESCを固定するだけー
とりあえずハードは完成?
次はフライトコントローラーのセッティングかな。