BLHeli ESCのユーティリティを使ったキャリブレーション

ペリフェラル

ESCの種類

ドローンで使うESCですが、BLHeli系とSimonK系がメジャーな気がします。

たとえばOEMで販売されている次のESCですが、外観から見るとBlueRobotics用のESCとまるで部品配置まで同じです。そもそもESCまでBlueroboticsが製造するはずもありません。ラベルを張り替えているだけだと思います。

いろいろ調べるとBlueroboticsはESCにしかるべき設定をしたら、通常の(BLHeliのユーティリティを使わない)キャリブレーションでは中身が変更できないようにしているようです。

後述しますが、BLHeliのユーティリティでBlueroboticsのESCの設定は読み取れます。

BLHeliのユーティリティ

BLHeliのESCの設定変更はどうするのでしょうか?
巷の情報ではArdupilotの場合でもSERVO_BLH_AUTO=1とセットすることでフライトコントローラーのパススルー機能を使ってユーティリティは動作すると書いてあります
が、書いてあるとおりやってもまったくユーティリティは反応しません。(ネットの実例を探すとベータフライト、クリーンフライトでは問題なくできるようですが。)

Ardupilotにおける解決策の前に少しBLHeliのユーティリティについて説明します。

BLHeliが提供しているユーティリティは二種類あります。
BLHeliSuite16(BLHeli Suite_Sともいう)とBLHeliSuite32です。それぞれサポートするESCが違います。32系とS系があるようで、ラベルに書いてあります。S系が16のようです。
OEMが大量に出回っています。私はbi-directionできない品種にぶちあたったことがあります。

BLHeliSuite32の画面です。

 

BLHeliSuite16の画面です。S系はこちらなので、これからこの画面で話しを進めます。

BLHeliSuiteユーティリティの入手先はソースコードならGithub、バイナリーならこちら

幸いなことにBLHeliSuiteはフライトコントローラー経由以外に、なかなかおもしろい別の方法を提供しています。
それがArduinoなどを使う方法です。

Arduino Nano経由でユーティリティに接続

ここでは簡単そうなArduino Nano(の互換機)で試しました。なお、NanoはATMega 328搭載のものでないと駄目です。

まず、Arduinoの開発環境をarduino.ccから入手してインストールしてください。
それで「ファイル->スケッチ例->Basic->Blink でLチカプログラムがコンパイルアップロードできるか、確認してください。USB用デバイスドライバーがインストールされます。

話しはそこからです。Arduinoへの書き込みは意外にハードルが高く、私の場合、MacかLenovoのWindows11でないと書き込めず、HPのノートPCではできないです。

ファームの書き込み

(USB)–(Arduino Nano)–(BLHeli ESC)と接続します。
Arduino NanoのD3とESCの白い線、GNDとESCの黒い線を接続しています。

ユーティリティには各々Arduino Nanoを設定する画面があります。Arduino NanoをESCの設定ユーティリティにするためのファームウェアを書き込みます。

BLHeli Suite32の場合

 

BLHeli Suite16の場合

 

最初はESCに電源をつなぎません。Arduinoとのピン接続だけでOKです。

USBとArduinoを接続し、上記画面(とりあえず、いずれでもよい)の最下段のポート指定でArduinoのCOMポートを指定します。(Baudレートは115200です)
Suite16の場合、「Arduino 4way-interface」をクリックするとロードするファームのリストが出ます。”4wArduino_Nano_16_MULTIv20006.hex”を選択します。

PCとの接続

ESCとArduinoをリスタートするのですが、USBケーブルを抜きます。
ここでESCに電源をつなぎます。5VでもOKです。消費電流は0.04A程度と小さいので定電圧電源などでもOKです。
USBケーブルも繋げば、ArduinoもESCもリスタートしているはずです。

SuiteのメニュータブにSelect xxxxxx Interfaceとあります。そこをクリックして、Suite16の場合は(4way if)を選びます。

最下段のCOMポートを指定し、connectボタンを押すと繋がるはずです。

ここで現状を知るためには[Read Setup]を押せば今の設定が出てきます

Blue Robotics ESCの設定

そもそもなんでBLHeliのESCの設定をいじる必要があるかというと、通常のESCはマルチコプター用に設定されていて、スラスターのようなモーターをコントロールする設定になっていないからです。中立でストップ、前進、後進してほしいのです。

Blue RoboticsのESCの設定を読み込んでみました。

 

自分のESCもこれを参考に数値を決めました。あとはWrite Setupボタンを押せばBlueroboticsのESCと同じものができあがります。

 

 

 

 

 

タイトルとURLをコピーしました