11月25日発売 書籍『Arduinoと3Dプリンタでロボットを作ろう』を出させて頂きました!

【Tiny Whoop】Eachine E011C Flying Santa Clausをacro(アクロ)化する手順【silver13/BoldClash-BWHOOP-B-03】

levelモードでの飛行も慣れてきたので、普段練習で使用しているEachine E011C Flying Santa Clausacro(アクロ)モードでも飛ばせるようにファームウェアの書き換えを行ってみました。

ドローンの飛行になれるまでは通常のlevelモードで飛ばし、慣れてくるとファームの書き換えでacroモードで飛ばすこともできるE011って、初心者の練習機としては非常に優秀な機体ですね!

ここでちょっと注意事項なんですが、Eachine E011には通常のバージョン(赤と青のレゴが乗ったバージョン)E011サンタクロースのレゴが乗ったE011Cというものが存在します。

今回のファームウェアの書き換えにあたりこのことをはじめて知ったのですが、この通常のE011とサンタバージョンのE011Cは少しFC(フライトコントローラー)のハード側のピンアサイン設定が違うようです。

最新のFC AlienWhoop ZER0などにも対応した『NotFastEnuf/E011-BWHOOP-H8-Silverware』ファームウェアを入れたかったのですが、1週間ほどソースをいろいろい変更し格闘してみましたが、こちらはサンタバージョンのE011Cではうまく飛んでくれませんでした。(飛ぶには飛ぶけどスロットルを入れると後ろ方向に飛んでいってしまう状態!)

【追記】NFE_SilverwareではProps Out構成に!

ようやく解決しました!
NFE_Silverwareを適応する場合のペラ構成は、Props Out構成にする必要があるようです!
詳しくはこちらをご覧下さい!

【TinyWhoop】Silverwareファームウェアの書き換え手順!(NFE_Silverware)

↑↑↑(修正完了)ちゃんと修正ができたらまたご紹介したいと思いますが、ここではサンタバージョンE011CのFCを使った『silver13/BoldClash-BWHOOP-B-03』ファームウェアの書き換えをご紹介します。

注意
(2018年8月8日現在)今回ファームウェアの書き換えに使用する『silver13/BoldClash-BWHOOP-B-03』は、サンタバージョンのE011Cには使用できますが、通常バージョンのE011で使用するには上記のピンアサインの設定変更等が必要となってきます。

E011Cのファームウェアの書き換えを行うには、事前準備が必要です。
以下のものを用意し、必要なソフトウェアを事前にインストールしておく必要があります。

Eachine E011C Flying Santa ClausにSilverwareを適用する手順!

準備1 用意するもの

①1.25ピッチの基板コネクタ

FC(フライトコントローラー)にファームウェア書き換え用のケーブルを直接ハンダ付けしてもいいのですが、後々ファームの書き換えをしやすくするため1.25ピッチ3ピンの基板コネクタをFCに取り付けておくのに使います。

②ST-LINK V2

ファームウェアを書き換える際、「ST-LINK V2」を使用しUSB経由でPCとFC(フライトコントローラー)を接続するのに使用します。

Eachine E011のAcro(アクロ)化に向けていろいろ考えてみる!

準備2 E011CのFCに基盤コネクタを取り付ける

上記の用意ができたら実際にファームウェアの書き換えができるようにFCを加工していきます。

まずは1.25ピッチ3ピンの基盤コネクタをE011CのFC(フライトコントローラー)に取り付けます。
直接ケーブルをハンダ付けしてもいいのですが、後々ファームの書き換えを行いやすくするためここでは基盤コネクタを取り付けておきます。

FCの上面にはFPV用のカメラが乗る予定なので、ここではFCの裏面に取り付けています。

使用するのは、E011CのFCにあるV+以外の端子(GNDSWCLKSWDIO)を使用します。

FCのGND端子・SWCLK端子・SWDIO端子に3ピンの基板コネクタをハンダ付けして完了です。

ST-LINK V2」との接続はこちらのケーブルを別で用意しました。

1.5mmピッチ(ST-LINK V2側)から1.25ピッチ(FCに取り付けた基板コネクタ側)に変換するケーブルで、これを使用すると「ST-LINK V2」側とE011CのFC側のピン配列を一致させることができる(黒と黄色のケーブルが入れ替わっている)ので、ケーブルの加工が必要なく便利です!

準備3 必要なソフトウェアをダウンロードする

ファームウェアの書き換えには以下のソフトウェア(Windows)が必要となります。
事前にダウンロードしてPCにインストールし使用できる状態にしておきましょう。

①STM32 ST-Link utility

STM32 ST-Link utility』は、上記の「ST-LINK V2」を使いFCのファームウェアを書き換える際に使用します。

②Keil uVision5

Keil uVision5』は、ファームウェアのソースを修正する際に使用します。

③silver13/BoldClash-BWHOOP-B-03

silver13/BoldClash-BWHOOP-B-03』は、FCに書き込むSilverwareファームウェアとなります。

FCに入っているファームウェアを消去する!

以上の準備ができたら早速、E011Cのファームウェアの書き換えを行っていきます。

まずは、E011CのFCに元からっている標準のファームウェアを消去します。

MEMO
この作業はファームウェアの書き換え時、はじめての場合だけ一度実行する必要があります
何をやっているかというと、元々入っているファームウェアには読み出し保護がされていて読み出しが出来ない状態になっています。
よって一度元からあるファームウェアを消去することにより、以後自由にSilverwareファームウェアを読み書きできる状態にしてあげます!
注意
このファームウェアの消去をした時点で、FCからファームが消去され新しくSilverwareファームを書き込まないと飛行出来ない状態になります。
一度ファームの消去を実行すると標準で入っていたファームには戻せないので注意が必要です!

それではFCに入っている標準のファームウェアを消去していきます。

「ST-LINK V2」とFCを接続する!

上記でE011CのFCに取り付けた基盤端子のGND・SWCLK・SWDIO端子を「ST-LINK V2」のGND・SWCLK・SWDIO端子に接続し、「ST-LINK V2」をPCのUSB端子に接続します。

FCにバッテリーを接続し「STM32 ST-Link utility」を起動する!

FCにバッテリーを接続し、上記で事前にダウンロードしておいた「STM32 ST-Link utility」を起動します。

「コンセントマーク」をクリックします。

はじめてFCに接続する場合(まだ元のファームウェアが残っている状態)、『Can not read memory!』このような警告が出ますが【OK】をクリックして先へ進みます。

次にメニューにある【Target】→【Option Bytes】を選択します。

【Read Out Protection】の中の【Level0】を選択し、【Apply】ボタンをクリックすればFCに元から入っているファームウェアを消去することができます。

ファームウェアの消去が完了したら、「コンセントにバツ印がついたマーク」をクリックし一旦FCとPCとの接続を解除しておきます。

注意
【Read Out Protection】の初期値は【Level1】となっていますが、ここでは必ず【Level0】を選択しましょう!

ファームウェアの書き換え!

次にファームウェアの書き換えを行っていきます。

事前にダウンロードしておいた「silver13/BoldClash-BWHOOP-B-03」フォルダを解凍してできた「BoldClash-BWHOOP-B-03-master」フォルダ内にある「silverware」フォルダを開き、「silverware.uvprojx」というファイルを開きます。

「Keil uVision5」が事前にインストールされているとこのような画面になると思います。
はじめて使用する際、必要なパックをインストールするよう表示されているはずなので、【OK】で次へ進みます。

「STMicroelectronics」を選択し必要なパック(Keil::STM32F1xx_DFP)をインストールします。

パックのインストールが完了すれば、ファームウェアのソースファイルが表示されます。
画面の左側でファイルを選択すると右側にソースが表示されます。

ソースの修正を行う

【config.h】ファイルを選択しファームウェアの設定を変更していきます。
(2018.08.08時点のソースを元にしています)

RATEの設定

07  // rate in deg/sec
08  // for acro mode
09  #define MAX_RATE 360.0
10  #define MAX_RATEYAW 360.0 

EXPOの設定

11  // use if your tx has no expo function
12  // 0.00 to 1.00 , 0 = no exp
13  // positive = less sensitive near center
14  #define ACRO_EXPO_XY 0.0
15  #define ACRO_EXPO_YAW 0.0

16

17

18

19  // max angle for level mode
20  #define LEVEL_MAX_ANGLE 70.0f
21  #define EXPO_XY 0.0
22  #define EXPO_YAW 0.0

levelモードの最大傾斜角を設定

19  // max angle for level mode
20  #define LEVEL_MAX_ANGLE 70.0f

トランスミッターの設定

79  // transmitter type
80  //#define USE_STOCK_TX
81  //#define USE_DEVO
82  #define USE_MULTI

angle/acroモードの切替設定
angleモードとacroモードの切替設定をします。
デフォルトの状態では、スティックジェスチャー(CH_AUX1)となっています。
DEVOでのチャンネル割当は、DEVO_CHAN_5 ~ DEVO_CHAN_10を使用します。
またマルチプロトコルモジュールでは、MULTI_CHAN_5 ~ MULTI_CHAN_10で割り当てます。

103  #define RATES CH_EXPERT

104

105  #define LEVELMODE CH_AUX1

106

107  #define STARTFLIP CH_OFF

108

109  #define LEDS_ON CH_ON

スロットルカーブの設定
ここではE011を使用するので、716モーターの行をコメントアウト(//を消す)します。
また、送信機(プロポ)側でスロットルカーブを設定する場合は「#define MOTOR_CURVE_NONE」の行をコメントアウト(//を消す)します。

142  // motor curve to use
143  // the pwm frequency has to be set independently
144  // 720motors – use 8khz and curve none.
145  //#define MOTOR_CURVE_NONE
146  //#define MOTOR_CURVE_6MM_490HZ
147  //#define MOTOR_CURVE_85MM_8KHZ
148  //#define MOTOR_CURVE_85MM_32KHZ
149  //#define BOLDCLASH_716MM_8K
150  #define BOLDCLASH_716MM_24K 

送信機(プロポ)のプロトコル設定
送信機のプロトコルを選択し、コメントアウト(//を消す)します。

176  #define RX_BAYANG_PROTOCOL_TELEMETRY
177 //#define RX_NRF24_BAYANG_TELEMETRY
178  //#define RX_BAYANG_BLE_APP
179  //#define RX_SBUS
180  //#define RX_SUMD

ソースの修正が完了したら『Build Target』ボタン(またはキーボードのF7キー)を押すとソースファイルのコンパイル(FCに書き込めるファイル)が作成されます。

MEMO
『BoldClash-BWHOOP-B-03-master』フォルダ⇒『Silverware』フォルダ⇒『Objects』フォルダ内にbwhoop.hexというファイルが作成されます。
(BoldClash-BWHOOP-B-03-master/Silverware/Objects/bwhoop.hex

エラー等がないことを確認できたら、いよいよFCに作成したSilverwareファームウェアを書き込みます。

FCに作成したSilverwareを書き込む

先ほど作成したSilverwareファームウェアをFCに書き込みます。
『ST-LINK V2』をPCとFCにつなげます。

『STM32 ST-Link utility』を立ち上げ「コンセントマーク」をクリックし接続します。
「Target」から「Program & Verify」を選択します。

ここでFCに書き込むファイルを選択します。

上記で作成された『BoldClash-BWHOOP-B-03-master』フォルダ⇒『Silverware』フォルダ⇒『Objects』フォルダ内のbwhoop.hexファイルを選択し、【Start】でFCのファームウェアを書き込みます。
(BoldClash-BWHOOP-B-03-master/Silverware/Objects/bwhoop.hex

以上でSilverwareファームウェアの書き換えは完了です!

動作確認

ファームウェアの書き換えが完了したら動作確認をしておきましょう!

ここでは左スロットル(mode2)で説明していきます。

モードの切替】スロットル(左スティック)が0の状態で
acroモード:右スティックを【左】【左】【下】
angle(level)モード:右スティックを【右】【右】【下】

加速度センサーのキャリブレーション】スロットル(左スティック)が0の状態で
右スティックを【下】【下】【下】


上記が確認できたらEachine E011Cのファームウェア書き換え作業は完了です!
今回はじめてファームウェアの書き換え作業(Silverware適用)を行ったので、設定等ほぼデフォルトの状態です。

もう少しSilverwareの勉強&飛行練習を繰り返し、いろいろカスタマイズしていきたいと思います。
ファームの書き換えでacroモードでの飛行も可能になるE011って初心者の練習機としては最適な機体ですね!

最後に今回のSilverwareファームウェア書き換えにあたり非常に参考にさせてもらったサイトを紹介します。
私のような初心者からすると2歩も3歩も先を進まれている方々なので毎回参考にさせてもらっています。

参考 Whoopの世界へ飛び込んじゃおう♪ Firm書換え編 【R010】drone4ブログ 参考 BoldClash BWHOOP B03 Pro レビュー (2):ファームウェア変更(silver13/BoldClash-BWHOOP-B-03)DRONEマニア

【追記】NFE_Silverwareを適応する場合はProps Out構成に!

今回、silver13/BoldClash-BWHOOP-B-03を使いましたがNFE_Silverwareを適応する場合はペラ&モーターの配置をProps Out構成にする必要があります!
こちらもご覧ください!

【TinyWhoop】Silverwareファームウェアの書き換え手順!(NFE_Silverware)

コメントを残す