FlyduinoのKissは世界のトップパイロットの多くが利用しているFCです。
このFCに最適化されて造られたESCであるKiss24A Race Editionをあわせて利用するとそれはまたいい感じに飛行することができます。今回は、そのKiss FCとKiss ESCのファームウェアのアップデートと、最近話題になっている「D-shot」の方法について説明します。
Kiss ESC 24A Race edition
すでにKissの認知は広まっているので、国内外のレース用ドローンを取り扱っている店舗であればすぐに購入はできるはずです。一昔前の発売当初は、販売開始わずか1時間で売り切れ!ということもありましたが、だいぶ生産も落ち着き多くのショップで取り扱われています。
KissのESCにはいくつか種類がありますが、レースに利用するKiss ESCは「24AのRace Edition」を利用することだけ注意してください。30AのESCや18AのESCでは正常に動作しない可能性が高いです。以下は本家のリンクです。必要なドキュメントなどはおよそこちらのページにありますので、ご確認ください。
KISS ESC 2-5S 24A race edition – 32bit brushless motor ctrl
Kiss FC&ESCのアップデート
まず前提として、いくつか「ファームウェアのアップデート」の種類がありますので、確認です。
- FCのファームウェアのアップデート(Chrome Appから可能)
- ESCのファームウェアのバージョンアップ(Arduinoなどから書き込み)
- ESCのファームウェアのアップデート(Chrome Appから可能)
バージョンアップと書きましたが、早い段階で購入されたESCは「V1.01」です。
後のロットでは、「V1.02」や「V1.03」がありますが、この「V1.01」から「V1.02」にするには、上記に書いた「Arduinoから書き込み」する必要があります。もちろん、各
ESCごと!(大変!)
ESCの裏にバージョンが書かれたラベルが貼っていますので、バージョンの確認についてはそれを確認してください。(後から確認する方法は見つけれず)
では、以下では、V1.01のESCという前提でバージョンのアップデートを行っていきます。
すでにV1.02以上の場合は、以下は飛ばしてDshotの項目に移られてください。
Kiss ESCのV1.01からV1.02へのアップグレード
最初にいくつか参考リンクを用意します。英語がわかる方・Arduinoなどのマイコン系操作が可能な方なら比較的簡単にできるかと思います。
Tutorial: KISS 24A ESC Firmware Upgrade – Oscar Liang
https://youtu.be/KiUuG-RpxTo
https://youtu.be/Bz_-sjxOCvo
やり方が非常に面倒なのですが、V1.02、V1.03では相当な改修がなされており、パワーアップしています。初期のKissのバージョンは、Infinity Yaw(ちょっとクラッシュしただけで、Yawの回転が止まらず、あらぬ方向に飛んでいって致命的な墜落をしてしまう不具合)などかなり致命的な不具合もあるので、これを機にバージョンを大きくあげてしまいましょう!
バージョンアップに必要な準備と大まかな流れ
ESCとPCを接続するために、USBでUART接続ができるケーブル・モジュール(以下、シリアルコンバータ-)が必要です。以前OSDに利用していたものが壊れてしまったので、私は下記を新しく購入しました。
この「TX・RX・GND」の部分のみ使います。各ケーブルをESCの該当部分に直接はんだしてあげ、PCと接続させ、Arduinoを使ってシリアルナンバーを読み込ませ、それをもとにhexファイルを生成。そのhexファイルをESCに焼き込みます。細かい作業は下記で見ていきます。
その他、PCで利用するツールとして以下が必要です。リンク先から予めダウンロードしておきましょう。
Arduino – Software
FLASHER-STM32 – STM32 Flash loader demonstrator (UM0462) – STMicroelectronics – STMicroelectronics
FLASHER-STM32は、ページ最下部からメアド登録し、アドレス宛に送られるリンクからファイル取得できます。
PCとESCをシリアルコンバーターで接続する
接続方法は、以下です。
- シリアルコンバーターのTXをKISS ESCのRXに
- シリアルコンバーターのRXをKISS ESCのTXに
- シリアルコンバーターのGNDをKISS ESCのGNDに
電源は、通常通り、PDBなどから取るもよし、適当なLipoバッテリーから給電するでも可能です。
ArduinoでESCを認識させシリアルナンバーを取得する
準備ができたら、順番にESCをPCと接続していきます。(すべてのESCをやる必要があります。)
上述のESCが接続されたシリアルコンバーターをPCにUSB接続します。
その後、Arduinoを起動します。
起動したら、リポバッテリーを入れるなど電源を投入します。
ESCの青いランプが点滅し、電源が入ることを確認したら、Arduinoのツールメニューから「Serial Monitor」を選択します。
新しい画面が開くので、そこでbaudが115200になっていることを確認し、コマンド欄に info と入力しエンターします。
すると、上記のようにシリアルナンバーが記載された文字列が出て来るので、これらをメモ帳などに保存しておきましょう。
いったん、すべてのESCのinfo情報を収集し、次のステップに行きます。
取得したシリアルナンバーから、V1.02ファームウェアを作成する。
取得したシリアルナンバーを下記ページで入力し、hexファイルを作成します。
入力して「get hexfile」のボタンを押せば生成が始まります。
STM32 FlashloaderでESCをバージョンアップする【※Windowsでのみ行える】
上述したSTM32 flashloader demonstrator GUIを利用してESCのバージョンアップを行います。この作業はMacではできなかったため、WindowsPCを利用して行っています。
まず、準備として、ESCの裏側のbootloaderをショートさせます。GNDの裏側にBTと記載のある2つのパッドをハンダなどでショートさせます。準備ができたら、再度ESCとシリアルコンバーターを接続します。
まず、demonstrator GUIを起動する前に、リポバッテリーを接続します。でないと、正しくPortNameが認識されませんでした。その後、 demonstrator GUIを起動し、PortNameを任意のものに選択、BaudRateを57600にします。(写真はデフォルトの115200)
その後、プロテクションをはずし、次へ進みます。
次の画面でも、Nextに進むだけです。
下記画面が出てきたら、Download to deviceにチェックし、先程作成したhexファイルを読み込ませ、Global Eraseを選択し次へ進みます。
後は自動的に進捗が進みますので、Successが出てきたら無事終了です。
Bootloaderのパッドのショートを取り除き、ESCのバージョンアップは完了です。
Dshot
そもそもDshotとは、Oneshot125やMultishotといったESC通信プロトコルの種類で、Kissを提供するFlyduinoとBetaflightによってプロジェクト化されたものです。簡単にDshotの利点を説明すると、ノイズに強く、正確なESC信号、Oneshotよりも早く、キャリブレーションまで不要!といい事ずくめです。
より具体的に知りたい方はこちらのブログを参考にしてみてください。(英語)
DSHOT – The new kid on the block – blck.mn
What is DShot ESC Protocol – Oscar Liang
Dshot – Digital ESC Signal
日本語でも、参考になる情報がまとまっています。
Dshot簡単まとめ – dekunobuuのドローンとかFPVとか
KissのDshot化
Dshotの作業は比較的簡単です。しかし、バージョンが古いESC(V1.01)の場合は正しく動作しませんのでご注意ください。以下は参考リンクです。
Dshot, testing a new digital parallel ESC throttle signal – RC Groups
https://youtu.be/89-zwBgopjk
必要なファイルの取得と専用Chrome Appの取得
まず、上記でも記載したRC Groupのリンクから必要なファイルをダウンロードします。記事中段にZIPファイルがいくつかあるので、これらをダウンロードし、解凍しておきます。(ZIPのままでは使えないため)
そして、Chromeの拡張機能設定を開きます。以下のURLをChromeのアドレス欄に打ち込めば、開きます。
「chrome://extensions」
拡張機能設定画面に映ったら、「デベロッパーモード」にチェックを入れて、「パッケージ化されていない拡張機能を読み込む…」を選択し、先程RC Groupよりダウンロードした「KISSFC_GUI_Dshot_T8」を選択します。
これで、KISS FCの新しいアプリケーション(以下、KISSアプリ)が使えるようになりました。開くとバージョンが「V1.14」となっているはずです。
KISS FCのDshot用アップデート
まずは、FC側のアップデートを行います。
Bootボタンをおしながら(あるいはショートさせながら)、USB接続を行い、KISSアプリに認識させます。
正しく、Bootした状態で起動すると、通常のメニュー画面ではなく、Flash用(ファームウェア書き込み用)の画面になります。
Bootボタンは終わるまで押し続けますので離さないでください。
この時点でリポを用いた電源は投入しませんが、安全のため以降はすべて「プロペラをはずした状態で」行ってください。
ファイルは、RC Groupよりダウンロードした「KISSFC-1.03-RC30-8-Dshot-T107xx.hex」を選択します。
正しく、アップデートが始まれば、パーセンテージで進捗が現れます。失敗した場合は、正しくBootボタンが押せてない場合がほとんどせずので再挑戦してください。
アップデートはすぐに完了します。完了したら、Bootボタンを離して、USBを一旦抜き、接続し直してください。
KISS FCのアクティベート
次に、FCのアクティベートを行います。といっても、とても簡単で、接続した後に、保存をするだけです。
左下の部分が「not activate」から「Activate」に変わるのを確認しましょう。
KISS ESCのファームウェアアップデート
アクティベートがなされたら、Flasherタブに移動し、ESCのファームウェアを更新します。
この時点でもリポは指していません。
ファイルを選択したら、ようやくリポを差し込み電源投入します。(ESCは電源がないと認識できないので)
正しくESCが起動したら(ビープ音がなって青いLEDが光る)、書き込みを開始します。
このアップデートは2分少々かかります。途中少しモーターが動いたりしますので、「プロペラは絶対に外しておく」よう注意してください。
完了すると、COMPLETE画面が表示されます。電源を抜き、KISSアプリを一度閉じた上で、再度接続し直してください。(リポ電源は不要)
後は、Configurationタブで、各種設定を行いなおし、Dshot600を選択し、キャリブレーションなどを行ってください!
以上です!
実際にKiss Dshotを飛ばしてみましたが、気持ちいい飛びですね〜。パワーも正確性も上がっています。
ただ、Dshotにするまで、たくさんのESCを犠牲にしてしまいましたがっ!!!!