
フライトコントローラーからの制御信号を受け取ってブラシレスモーターの回転数を制御するESC (Electric Speed Controller) にもファームウェアがインストールされており逐次アップデートが行われています。従来ESC用のファームウェアとしてはSimon Kが主流でしたが最近は性能に優れるBL Heliファームウェアが人気のようです。
【注意】この記事の内容は古くなっています。現在BLHeliを搭載した大半のESC製品はCleanflightを経由して設定やファームウェアの更新が可能となっていますので本エントリーに記載した手順ではなくCleanflightを経由した設定手順がおすすめです。
Cleanflightを経由した設定方法については以下のエントリーで記載しています。
ESCへのファームウェアのインストールや設定の変更等には専用のUSB Linkerと呼ばれる機器もしくはArduino Nanoを使用します。USB LinkerにはTurnigy USB Linker for AquaStar/Super Brain, Afro ESC USB Programming Tool, dys USB Linkerなどがあります。
ここではESCとしてdys BL20A、USB Linkerとしてdys USB Linkerの使用するものとして説明します。dys SN20AとBL20Aはハードウェアは同じものですがSN20AがSimonKがインストールされて出荷されているのに対してBL20AはBLHeliがインストールされた状態で出荷されています。今回はBL20Aなので最初からBLHeliが入っているのですが、最新のバージョンではないためインストールと同じ手順でファームウェアを更新します。
BLHeliのインストールや設定にはパソコン上で動作するBLheliSuiteというプログラムを使用します。2015年12月の時点ではBLheliSuiteはWindowsのみがサポートされています。またESCに対してUSBからシリアル接続するためのドライバーがパソコンにインストールされている必要があります。これはフライトコントローラーの接続に使用するものと同じですのですでにフライトコントローラーのインストール・設定等のためにインストール済みの方は新たにインストールする必要はありません。
ドライバーのインストールには以下のサイトにアクセスしWindows用のものをDownload VCPをクリックしてダウンロードします。
CP210x USB to UART Bridge VCP Drivers
https://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx
ダウンロードしたファイルをクリックして圧縮ファイルを解凍します。CP210xVCPInstaller_x64 を実行します。ドライバを有効にするためにOSを再起動します。
BLHeliSuiteのインストールは下記BLHeliSuiteのサイトから「Download BLHeliSuite (LINK)」をたどりWindows用のzipファイルをダウンロードします。ダウンロードしたzipファイルを解凍します。解凍したフォルダ内の BLHeliSuite.exe を実行します。
BLHeliSuite
https://blhelisuite.wordpress.com/
BLHeliSuiteが起動したらまずメニュー “Select ATMEL/SILABS Interface”
から対応するUSB Linkerを選択します。dys USB Linkerの場合は “ArduinoUSBLinker” を選択します。
User manual for USB LINK (dys USB Linkerマニュアル)
http://www.multirc.com/Shared/Manuals/DYS-USB-Linker-Manual.pdf
次に各ESCに対応したファームウェアを調べます。BLHeliSuiteのページ(https://blhelisuite.wordpress.com/)にある、Supported SiLabs ESC list、Supported Atmel ESC list から使用したいESCを探します。その説明の中に「It uses the “DYS_SN20A_..” code. 」といった記述がありますのでこの部分でファームウェアとしてどのコードを選択するかを確認しておきます。
次にESCをパソコンに接続します。ESCの設定の際はESCに電源を供給する必要があります。ESCの電源供給用の赤と黒のラインに3Sのバッテリーを接続します。私の場合は写真のような電源ケーブルを作成しクリップで給電するようにしています。
ESCからフライトコントローラーに接続する制御用のケーブルをUSB Linkerに接続します。この際黒をマイナス、白をシグナル(S)に接続し極性を間違えないようにします。また給電用のケーブルをバッテリーに接続します。この状態でUSB Linkerをパソコンに接続します。
BLHeliSuiteからESCに接続するには画面左下から接続に使用るポート番号を選択します。通常ポート1以外で「Silicon Labs CP210x USB to UART Bridge」が表示されるポートを選択肢から選びます。次にその右にある「Connect」をクリックし接続します。
BL20AなどすでにBL Heliが導入されているESCの場合は、先ほどのポート番号の上にある「Read Setup」をクリックし現在のESCの設定内容を表示します。左上にある「BLHeli Revision:」に現在のバージョンが表示されますので確認します。私の場合は14.0がインストールされていることが確認できます。
下部の「Flash BLHeli」と書かれたボタンをクリックすることでBLHeliのインストールまたは更新を行うことができます。画面にインストール可能なファームウェアとバージョンが表示されますので先に調べておいたファームウェアの種類とインストールしたいバージョンを選択し「OK」をクリックします。ここでは最新のバージョンである14.3を選択しています。インストールするファームウェアの確認画面が表示されますので問題がなければ「Yes 」をクリックするとファームウェアのインストールが開始されます。
BL Heliの更新の場合は現在の設定内容をESCに書き込むかとの確認画面が表示されますので「Yes」を選択します。これによってファームウェアの更新前の設定内容が更新後に引き継がれます。パラメータの変更を行った場合は「Write Setup」をクリックして変更内容をESCに反映します。
設定内容等を確認し問題がなければ画面下部の「Disconnect」をクリックしUSB Linkerをパソコンから外します。以上でESCへのBL Heliファームウェアのインストールは完了です。使用する全てのESCに対して同じ作業を行います。
【関連情報】
https://blhelisuite.wordpress.com/
https://www.mediafire.com/folder/dx6kfaasyo24l/BLHeliSuite
http://www.multirc.com/Shared/Manuals/DYS-USB-Linker-Manual.pdf
http://www.silabs.com/products/mcu/pages/usbtouartbridgevcpdrivers.aspxBLHeliSuite 14.3.0.1
https://blhelisuite.wordpress.com/BLHeliSuite 14.3.0.1
https://github.com/bitdump/BLHeli
http://blog.oscarliang.net/dys-bl20a-sn20a-mini-opto-esc-alternative-to-k/DYS SN20A & SN16A ESC Opto 2-4S FPV BLHeli – Flashing BLHeli – OneShot125/SimonK
https://www.youtube.com/watch?v=JoDaLjf5sNgHow to flash any ESC with BL Heli
https://www.youtube.com/watch?v=bbRs96HYtNY
https://www.youtube.com/watch?v=YWLk4qcQcvwBLHeli ESC Flashing via Naze32 with Beta Flight
https://www.youtube.com/watch?v=yH8mR9GKXxESN20A ESC How to Flash BLHeli ESC Linker/Arduino Nano
https://www.youtube.com/watch?v=PPzfNG9WVk4How to flash BlHeli and use Oneshot
https://www.youtube.com/watch?v=vGZIbO3J7MA
大変勉強になります、今後とも宜しくお願いします。
西川さま
コメントありがとうございます。お役に立ててるようで嬉しく思います。リクエストや質問などありましたら是非お聞かせください。
ちなみに最新のBL Heli Boot loaderが搭載されているESCは CleanFlight より設定や更新ができるようになりました。
ですのでBL Heliが最初から入っているESCについてはこのページのような作業は不要になります。
これについても新たに記事を書きたいと思います。
始めましてドローンを始めて半年ほどです。
分からない時に参考にさせて頂いてます。
モーターの回転方向をCleanfligh経由で設定したいのですが不安なので教えて下さい。
ESCは写真と同じDYSのESCを使用しフライトコントローラー(NAZE32 SP Racing F3)の設定はCleanflightでおこなっています。
手順としては下記の通りで良いのでしょうか?
1)BLHeliをインストール。
2)Read SetupボタンをクリックESCに接続をして設定を読み出し。
3)Motor DirectionのReverceを選択し回転方向を変更。
尚、変更データを保存するにはどうするのでしょうか?
宜しくお願い致します。
小菅さま
サイトをご覧いただきありがとうございます。
基本的な手順は以下のページにある通りです。
http://fpvdrone.jp/2016/05/blheli-cleanflight/
お書きいただいている手順で大丈夫かと思います。
データの保存は Read Setupの横にあるWrite Setupで書き込みが行われるかと思います。
お試しになってまた問題がありましたら是非お問い合わせください。