Opensource Brushless Gimbal ファームウエアの更新について
今回は、オープンソースのブラシレスジンバルのキットを買ったものの、付属のファームウエアが古い場合、どうやってアップデートするか。について。。。
いつものように無責任に書き散らしていますので、参考にとどめる程度でお願いします。ファームウエアのバージョンアップですが、
- ファームウエアが変わると、設定したパラメータに互換性がなくなり、PIDその他の設定を一からやり直しになる。
- どうにも上手くファームウエアが書き込めない。
の2点はどうしてもつきまといますので、使えなくなると困るという方はやらずに、最悪ダメになってもよいかな?とあらゆる意味で余裕がある時にやってみてください。
今回は、
- WindowsPCをお持ちな人。
- 旧ファームウエアで設定画面を開いて各種設定が出来る(=USBドライバが入っている)人。
を対象にお送りします。
また、現在Arduinoを使ったファームの書き込みで、avrdude: stk500_getsync (): not in sync: resp = 0x00に苦しんでいる方は、4.ファームウエアの書き込みが上手くいかない時の対処方法をご覧ください。
0.作業の前に
作業の前に、BruGiをPCに接続して、設定してあるパラメーターや、旧ファームウエアの設定画面を開いて各種設定を記録しておきましょう。
今回は、”古いファームウエアでは、設定画面を開いて設定が出来ること”を前提としていますので、オープンソースのブラシレスジンバルコントローラー(以下BruGiと略)用のUSBドライバ(FTDIのVirtual Comport Driver)は既にインストールされているということになります。今回必要な作業は、
- ファームウエアを実行形式にコンパイルしてBruGiに転送するソフト(Arduino IDE)のインストール。
- BruGiのファームウエアと設定ソフトのダウンロード。
- Arduino IDEを使用してのファームウエアの書き込み。
- ファームウエアの書き込みが上手くいかない時の対処方法。
- 設定ソフトの起動。
の5項目について説明します。
1.Arduino IDEのインストール
この動画を見てもらえばインストール出来るのではないかと思いますが、重要な点は、"すでにUSBドライバがインストールされているので、USBドライバはここではインストールしない"という所です。
今ちゃんとUSBドライバが動いてるのであれば、インストールしない方がよいかと。。。。
動画の中で出てきたリンクを以下に貼っておきます。
http://www.arduino.cc/ (Arduinoのダウンロード先)
http://arduino.googlecode.com/files/arduino-1.0.5-windows.exe (こちらをクリックすると、いきなりダウンロードを始めることが出来ます。)
2.BruGiファームウエアと設定ソフトのダウンロード
一番簡単な方法は、google codeのbrugiのダウウンロードページから、ダウンロードする方法です。
具体的には、
https://code.google.com/p/brushless-gimbal/downloads/list ここにアクセスして、最新のファイルを保存し、圧縮ファイルを展開してください。
適当な場所(デスクトップ等)にダウンロード
ダウンロードした圧縮ファイルを右クリック、全て展開(T)を選んで、、、
出てきたダイアログ右下の展開をクリック
展開の終わったフォルダがあることを確認したら、ダウンロード終了。
今後の為に、展開済のフォルダの中にあるフォルダをクリックして出てくる、"_BruGi"という名前のフォルダをデスクトップにコピーして貼り付けておいてください。
3.Arduino IDEを使用してのファームウエアの書き込み。
ここの作業はBruGiボードをコンピューターに接続して行います。
あらかじめ接続して、旧ファームウエアの設定画面でcomポートの何番を使って接続しているかを確認した後、作業に入ります。
Lipoの電源はどうするの?という話ですが、どっちでも書き込み自体は出来ます。ただし、ファームウエア更新中に、モーターがガクガク動いて危ないかも知れないので、メインの電源はボードに繋げないのをオススメします。
上の動画の手順どおり、無事書き込みが終わった方はおめでとうございます。貴方のBruGiボードは、無事ファームウエアのアップデートに成功しました。4は飛ばして5に進んでください。
4.ファームウエアの書き込みが上手くいかない時の対処方法
書き込みをスタートさせて、変なエラーが出る時の対処方法です。
上手くいかない理由としては、
- マイコンボードがちゃんと選択されていない。(Arduino Pro or Pro mini, (5V, 16 MHz) w/ ATmega328 が選択されていない。)
- comポートの番号が違う。
- USBドライバが調子よくない。
の3点がありがちな要因です。
1と2は何回も確認した。でも、avrdude: stk500_getsync (): not in sync: resp = 0x00なんてメッセージが出る場合、USBドライバの調子を疑ってみるのも悪くはないかもしれません。
BruGiがUSB周りでせつないのが、初めてBruGiをPCに接続した時、Windows7だと、コンピューターが自動的にドライバをインストールしてしまうことに原因があるようです。
この時、Windowsはインターネットを使って、自動的にドライバをインストールします。その時のドライバのバージョンが2.8.28.0というものを取ってきて、このバージョンのドライバは、あまり安定して動かないようです。(私のように特に問題なく動く場合もある。)
なので、バージョンが2.8.28.0のUSBドライバがインストールされていて、avrdude: stk500_getsync (): not in sync: resp = 0x00が頻発する場合、ドライバのバージョンを2.8.24.0に変更すると、症状が改善されることがあるようです。
2.8.28.0のままでも、まったく動作しないことはなく、調子がいいとたまに動いてしまうことも、我々が混乱してしまう原因の一つかも知れません。
動作がイマイチ(もしくはまったくダメ)の場合、デバイスマネージャーからドライバのバージョンを確認してみてください。
不幸にして、バージョンが2.8.28.0の場合。2.8.24.0を入れ直してみるのもいいかもしれません。
4-2.USBドライバ入れ直しの方法
ドライバを入れ直す為には(特にWindows7以降)一時、インターネット接続を切る必要があります。接続を切った後、復帰出来なくなっても困りますので、お近くにPCの知識を充分持った方がいるときに作業してください。
まあ、インターネット接続を切る方法なんて、有線LANなら、ケーブルを抜くとか、無線LANなら、PCを無線が入らない場所に移動して作業するだけなのですけど、、、
はじめに、以下のページを参考に、お使いのPCのWindowsが32bit版か64bit版か確かめます。
http://support.microsoft.com/kb/958406/ja
次にバージョン2.8.24.0ドライバをダウンロードします。自分のWindows(32bit,64bit)に合ったドライバをダウンロードしてください。
バージョン2.8.24.0のドライバはFTDI社にはもうないので、RCgroupsのリンクを貼っておきます。
デスクトップに保存したら、右クリックで圧縮ファイルを展開しておいてください。
その後の作業は上の動画の通りです。
無事USBドライバを入れ替えることが出来たら、3.Arduino IDEを使用してのファームウエアの書き込み を再度実行してみてください。
4-3.それでもダメな場合
うーん、一部のBruGiボードには、Atmega328Pを使わず、168を使ったボードがあるとの情報もありますので、書き込み時のマイコンボードを、Arduino Pro or Pro mini, (5V, 16 MHz) w/ ATmega168にしてみるとか、、、他のPCで試すとか、、、ダメだった経験がないので、申し訳ありません。。。。
5.設定ソフトの起動。
デスクトップにコピーした"_BruGi"フォルダの中に"GUI"というフォルダがあって、その中にあるGUIというフォルダのさらにその中に、ファイルが何個かあります。
その中のblg-tool.exeが設定用のソフトで、それを起動すれば設定ソフトが起動します。
あと、同じフォルダの中にGoPro用の設定画面の画像が3枚分(3枚ひと組)ありますので、参考にどうぞ。見た感じ、GoProで、ジンバル操作はスティックニュートラルで真ん中に戻るAbs(olute=絶対位置)モードになっている模様。
細かい設定については、またの機会としますが、
初めて設定する時は、
- ボード繋げても電源(LiPo)は繋げない。
- comポートを指定してconnectを押す。
- Defaultを押して設定をリセット。
- Saveを押して、その後Save to Flash(Save to Flashしないとボードの電源が切れた時にまたもとの設定に戻ってしまう。
- そこまでして、初めて電源(LiPo)を繋げる。
の順番をオススメします。いきなりジンバルのモーターがとんでもない動きになっても危ないので、、、、