2015年3月17日火曜日

小型クアッドコプタ CJMCUを組み立ててみた。

CJMCUにCleanflightファームを書き込んだし、DIYレシーバも完成したのでついに組み立て!

まぁ仮組みはしてたんだけど…
ちなみにCJMCUはファームが最初から入ってないっぽいのでモータをハンダづけする前に書き込んだほうがいいらしい。(いきなりモータが回ったり、はんだ付け後に返品受け付けてくれないかもしれないし)

モータの取り付け。
Hubsanのφ7モータを使用した。一応CWとCCWでケーブルの色分けがされてた。
ケーブルの色以外になんか違うのかな?

青赤のやつがCW、白黒のやつがCCWらしい。(袋に書いてあった)
赤、白がVCC、青、黒がGNDっぽいです。
CJMCUのMotor1、Motor3にCW、Motor2、Motor4にCCWをハンダづけしていきます。
モータの固定はホットボンドを使用。モータの固定までハンダでやっちゃうと交換大変そうだし…
ついでにケーブルもホットボンドで多少固めておくと断線しにくくていいかも。
バッテリのケーブルは充電ケーブルをカットして使用した。PCとの接続端子には逆指しが怖いのでJSTのHXコネクタを使用した。

お次はレシーバの取り付け。
今回は前回作成したのFlysky互換PPMレシーバを使用しましたー。
CJMCUでPWMのレシーバを使うと4chしか使えないのでモード切り替えできないしね…
さっそくCJMCUに組付け。
CJMCUと接続はPPMはPA0、VCCは3V3に接続する。レシーバのVCCをCJMCUのVCCに接続するとリポからの電圧がそのまま出力されてるのでレシーバが壊れるかもしれないので注意。

まずはペアリング。レシーバ側はPPMとGNDをショートさせた状態で電源を入れて、プロポのペアリングボタンを押しながら電源を入れる。
これでペアリングは完了。あとはヘリの電源を入れてプロポの電源を入れて少し待つとレシーバのLEDが明るく光る。

次はCleanflight側の設定。
デフォルトでは操作がめちゃくちゃになっているのでマッピングをし直す。
今回はTurnigy 9XのMode2を使用しているのでCLIから
map RETA1234
save
とコマンドを打つ。
これで再起動されてマッピングが正常になるはず。

バッテリはV930用の520mAhをポチってみた。
充電器付き、5本入りで20ドルという安さ…

分配ケーブルも付いてるんだけど、この充電器が1C充電っぽいので5つに分配したら超遅いでしょ…
iMaxで2C充電しました。

その間にV911のバッテリーで飛ばしてみた
プロペラもHubsan用を使用。V911の200mAhで2〜3分ぐらい飛びます。
このバッテリ軽くていいなー

このあと520mAhで飛ばしてみたけどこの固定方法だとバッテリがちょっとずれるとかなり流されてしまう。
このサイズだと300〜400mAhぐらいがちょうどいいのかも?

とりあえず今回はPIDデフォルトで飛ばしてみたけどいい感じに飛ぶー
PIDの設定しないとなぁ

2015年3月16日月曜日

小型クアッドコプタ用にFlySky互換レシーバを作ってみた。Attiny85版

というわけで前回FlySkyの互換レシーバを組み立ててみたけど、ESCから剥がしたAtmega8が壊れてたという…

SOP8のAttiny85が届いたので早速Attiny85版を作ってみた。
断然ハンダ付けが簡単である…
マイコンとXL7105ボード以外に使用した部品はSMDの青色LEDと2.2kオームと0.1uFのコンデンサのみ。CJMCUの3.3V出力に接続するのを前提としてるのでレギュレータなどは搭載しなかった。リポ直結の場合はダイオードやレギュレータを使わないとだめかも。(XL7105ボードに3.6V以上の電圧を供給してはいけないっぽい)

208milの書き込み用ソケットがなかったので組み立ててからHIDaspxでプログラムを書き込んだ。
・DIY FlySky RX ATTINY85/45
プログラムはこちらからいただいてきた。
ライタはHIDaspxを使用した。

Attiny85版はPPM出力のみなのでだいぶシンプル。バインドもPPMとGNDをショートして電源を入れるだけなのでVCCとGNDとPPMの三本線だけで完結できる。CJMCUのような小型ヘリには持って来いかも?
ちなみにTurnigy 9XとバインドするときはこのレシーバのPPMとGNDをショートしたままレシーバの電源を入れて、プロポのバインドボタンを押しながらプロポの電源をいれるだけみたい。
あとは普通に起動してバインドされてればLEDが明るく光る。
バインド後は電源を切っても記録されていた。

最後にケーブルをホットボンドで止めた。
さらにφ15のスミチューブで保護した。

あとはCJMCUに取り付けるだけ!

2015年3月7日土曜日

小型クアッドコプタ用にFlySky互換レシーバを作ってみた。

CJMCU用に軽いレシーバが欲しかったんだけどちょっとお高いしピンヘッダはずさないといけなかったりするのでなんかないかなぁ
って調べてたらFlySkyに使われてるA7105の無線モジュールとAVRマイコンで自作していた人がいた。
XL7105-SYモジュールはかなり小さいので表面実装タイプで作れば軽量化できそう。
Attiny85のPPMのみのバージョンと、PWMとPPM切り替えられるAtmega8バージョンがあるっぽい。
DIY FlySky RX ATTINY85/45
DIY "FlySky" TX/RX module

CJMCUはPWMが4chしかないのでPPMを使うとモード切り替え用のチャンネルが増えて便利かも?
今回はAtmega8の在庫があったのでまずはDIPで試してみた。
Atmega8版はArduinoを使用してるようなのでAtmega8に一緒に公開されていたブートローダーを書き込んだ。今回は内蔵クロックを使用。
CJMCUをPPM_RXに設定してPA0にPPM信号を突っ込んでみた。バインドはバインドジャンパをしながらプロポ側のボタンを押すだけで完了した。接続されるとLEDが不規則に点滅するけどどんな意味があるんだこれ…

とりあえずDIPでの試作ではうまく動いたのでTQFPのAtmega8LをXL7105-SYの裏側に貼り付けて作ってみた。
Arduinoでのプログラム書込みまでうまく言ったんだけどなんか動いてない模様…
もともとこのAtmega8Lも壊れたESCから外したものなのでマイコンが壊れ動かなくなってたのかなぁ…

とりあえずAtmega8のTQFPとAttiny85のSOP版をポチって到着待ちー

CJMCUの方はブートローダの書込みが終わってるのでとりあえず組み立てて見た。
いやー小さいねぇ

2015年3月6日金曜日

小型クアッドコプタ CJMCUにCleanflightを書き込む

この前注文した小型クアッドコプタの部品がやっと届いたのでまずはフライトコントローラ兼フレームのCJMCUにファームウェアを書き込むことに。
今回届いたボードはバージョン2のようで、Boot0のジャンパピンが搭載されていた。

このボードはシリアルポートしか搭載されてないので別途USB→TTLアダプタなどが必要っぽい。
とりあえずRX1,TX1,5V,GNDを変換ボードと接続。ボードのチャージスイッチはPOWにセットしておく。オンオフスイッチは関係なさそう。そしてBOOT0のジャンパピンは抜いておく。
そしてPCに接続すると電源LEDが点灯する。
Cleanflightの設定ツールをCrome ウェブストアからDLして起動
Firmware FlasherでCJMCUを選択してLoad Firmware[Online]ボタンを押す。
するとファームウェアのダウンロードが開始されて、少しすると変更履歴表示される。
この状態でファームウェアを書き込む準備ができたので、一番左上でシリアルポートを選択して、No reboot sequenceとFull Chip Eraseにチェックを入れて一番下までスクロールしてFlash Firmwareボタンを押す。
そんで一番上に緑色でSUCCESSFULと出たら完了!
あとはBOOT0ジャンパを接続してもう一回起動してみるとファームウェアが起動して青色LED(と赤色LED)が点灯するはず。
そんでCleanflightの設定ツールからConnectするとボードの設定や状態が確認できる。

ファームウェアのアップデートの際もBoot0ジャンパを外す必要はない模様。ファームウェアが完全に起動しなくなった時はBoot0ジャンパを取り外してもう一回焼いてやれば復活するかも。

次回はレシーバとモータの取り付けかな。