自作用データベース(ESC・VESCの紹介、その他編)

ESCとはモーターの出力をコントロールするアンプである。リモコンの入力に応じてパワーをコントロールする。

電動スケートボードの世界は急激な進歩を遂げ、3年前と現在では状況がかなり変わった。4つのウィールのうち、ひとつのウィールしか回らないシングルドライブは持ち運び重視の軽量ボードだけであり、基本的には後輪ふたつが回るデュアルドライブが当たり前になってきた。

3年前のESCはかなり危険な制御のものが多く、ちょっとリモコンのレバーをブレーキ寄りに軽く掛けただけで体が前に吹っ飛ぶほど雑な制御だった。これも2019年では洗練されてそのようなESCはほぼ絶滅した。

現在ではboosted boardやInboard M1 (Inboard社は倒産し、boosted社も2020.10時点ではboosted USAという別会社がアメリカ国内のみで在庫のみ販売している。)のような、メーカー独自のESCを搭載したものは微妙な立ち位置になってきた。ダブルキングピントラック、大容量バッテリーで独自路線を行くevolveも安泰ではないかもしれない。

いまは低価格でコントロール性に優れて安いESC、通称「ホビーウイングESC」が勢力を拡大している。WowgoOwnboardBackFireなどで扱っているESCがそれである。初めて買うボードならこのホビーウイングESC搭載マシンで充分だと思う。

2019年8月現在においては、ホビーウイングESCも各メーカーのカスタムが入っており、AT用や90mm用、100mm用、ハイパワー用、ベルトドライブ用、12s(50.4V)用など細かくバージョンが分かれている。メーカーの公式HPでESCが複数種類売っているのはそのためである。

2018年は、ほぼ90mmハブモーターウィール用に統一されていたが、2019年ではベルトドライブ270KV用などもあり、ESCもそのモデル専用にカスタムされているものが増えた。

VESC(ベスク)

VESCはベンジャミン・ヴェルダーというスウェーデンのエンジニアの方が開発したオープンソースのESCである。

ベンジャミンのESC、すなわちVESCである。

PCやスマートフォンを使って出力やスロットル曲線をユーザーの任意に変更できるという特徴を持つ。また色んな種類のモーターに合わせられる、3s〜12sまで小パワーから大パワーまで広範囲に対応出来るという柔軟性も併せ持つ。Storm core 100Dでは18sまで対応し、高電圧な新時代ESCとなっている。

これらを含め、オープンソースゆえに色んなメーカーからVESCが発売されており、それぞれ時代に合わせて進化してきた。

かつてはモーターひとつでVESCひとつ、デュアルドライブならVESCがふたつ必要だったが、今ではひとつのVESCでふたつのモーターを回せるようになっている。代表的なのはFOCBOX unity・Flipsky FSESC・Storm coreである。

なおVESCという名称は開発者のベンジャミン氏が登録商標しており、Trampaというメーカーのみが正式にその名称を使用できる。他メーカーが販売している物も内容的にはVESCだがVESCの名前では販売できない。かつては(旧)FOCBOXも登録商標される前はVESC Xという名称で販売していた。FlipskyもFSESCと名乗っている。

↑ TRAMPA VESC 6 PLUS

↑ FOCBOX unity

Dual FSESC6.6 Puls

↑ Meepo NSLのESCをVESC(Flipsky FSESC4.2 Plus)に載せ替えた記事。画像をクリックすればリンク先に飛びます。

こちらの記事にVESCへ載せ替え方が記載されています。これを見れば方法はほとんどわかるでしょう。英語がわからない人は翻訳機能を使いながら読みましょう。私も英語はわかりませんので翻訳に頼りきっています。

こちらはFOCBOX unityについて。

こちらはVESCについて。

VESC補足事項

VESCによって多少変わる部分もあるが、基本的には

COMM7ピン・HALL6ピン・CAN4ピン・SERVO3ピン

それぞれのコネクタがあり、これは規格化されている。それぞれのコネクタ内のピンの並びは共通である。

そしてそれぞれのコネクタには、知らないでは済まされない厄介な約束事がある。

それを以下に解説していく。

↑ これはFOCBOX Unityだが、厳密に言えばカスタムVESCということになる。つまりFOCBOX UnityもVESCの規格に則っているのだ。これを参考に説明していく。

CAN4ピン

VESC2機を繋げて連携させるためのコネクタ。シングルVESCなら2機を繋げて2WDにするため、FOCBOX Unityならふたつを連携させることで4WDになるのだ。

VESC同士をCANケーブルで繋いだ場合、片方はマスター(ID 0)、もう片方がスレーブ(ID 1)となり、その名の通りマスターは主、スレーブは従である。

(※ 2020年において、VESCのマスターとスレーブはID 0、ID 1とは限らなくなっている。IDのナンバーは適当な数値を割り当てられるが、結局マスターとスレーブの関係は変わらない。)

ただ、マスターの方が偉いとか優先順位が高いというわけでもなく、便宜上マスター、スレーブという言い方をしている。内容の理解としては同格の双子という感じだ。

主であるマスターが受信したリモコンの信号(スレーブに受信機を挿しても問題なく動作する)を、従であるスレーブ(またはマスター)にCANを通じてデータを渡すことにより同期して2WDまたは4WDとして動作する。

CANは4ピンだが、使うのは真ん中のCANL、CANHの2ピンだけである。端・端の2ピンは繋げてはいけない。繋げるとVESCが破損するという恐ろしい罠がある。

↑ Torque boardsで売ってる CANケーブル。よく見ると4ピンコネクタなのに、真ん中の2ピンしか使っていないのがおわかりだろうか?

いまはデュアルVESCが主流になっているので、CANを意識することはあまりないかもしれない。

COMM7ピン(UART)

ここにBluetoothのモジュールを繋げる。するとスマホとVESCが通信できるようになる。スマホアプリを通じて加速力やブレーキ加減を変更できたり、スピードやバッテリーの残量が分かったり、その時の出力が分かったり、とても便利な機能を付加することができる。また珍しいパターンではあるが、Flipsky VX2 ProなどのリモコンはこのUARTに受信機を挿す。

しかしこれにも厄介な約束事がある。7ピンではあるが、基本的に使うのは

3.3V(または5V)・GND・TX・RXの4ピンだけである。

↑ アマゾンで売ってる汎用のBluetoothモジュール、これは定番のDSD TECHのHM-10。Bluetoothのモジュールも色々あるが意外にもVESCとの相性がありこれが一番無難。

そしてさらにTXとRXは配線が入れ替わるのだ。TXとRXを繋ぎ、RXとTXを繋ぐ。

↑ つまりこのような配線になる。図の左がBluetoothモジュール、右がVESCのコネクタ。これはVESC4ベースでの事であり、VESC6ベースだとRX-RX、TX-TXである。これもまた厄介な話である。

そして、通信するための周波数がアプリによって異なるパターンまである。その周波数をボーレート(Baud rate)といい、USBでPCと接続して設定する。ボーレートは大抵9600、または115200である。

PC版のVESC TOOLの画面。左の青枠、APP SettingsからGeneralを選択。そこから赤枠の「PPM and UART」を選択しないと、そもそもこのBluetooth通信機能すら使えない。PPMはリモコン、UARTがBluetoothの通信機能だ。

↑ さらにボーレートの設定である。9600bps、もしくは115200bpsだ。

COMM7ピン(UART)補足

上記ではHM-10という汎用のBTモジュールを紹介したが、電動スケートボードのために作られた専用モジュールも存在する。それが「metr」というモジュールである。

https://metr.at/shop

これの利点はAndroid、iOS両対応であり基本的なVESCから、カスタムVESCであるFOCBOX unityまで幅広く使える、そしてTX-RX・RX-TXの相互入れ替えを気にせずそのままコネクタをUARTに挿せば良い。

↑ 左はアンテナ無し、右はアンテナ有り。基本的にはアンテナ無しでOK。アンテナ有りは電波の通りにくいカーボンデッキなどに使う。

↑ スマホでスピードやバッテリー残量、距離、出力など細かい情報がリアルタイムで閲覧できる。この画面はユーザーの好みにカスタマイズできる。さらに走行ログを記録できる。パワーやブレーキの調整もできる。VESC用のデータモニターとしては完璧と言える出来栄え。

もし購入したら「必ずアプリを使ってモジュールのファームウェアをアップデートしよう」

これをやらないと接続はされているのに、いつまでもデータを取得できない状態となり途方に暮れることになる。

HALL6ピン(ホールセンサー)

FOCモーターのセンサーケーブルを挿すコネクタだが、VESC側とモーター側でコネクタのサイズが合わないパターンが多い。VESC側は2mmピッチのJST-ph、モーター側が1.5mmピッチのJST-zhというのがよくあるパターンである。この場合は変換アダプターが必要。

これが変換アダプター。自作するにも面倒で、買うにもどこで売ってるのかイマイチわかりにくい、意外に厄介なシロモノである。FilpskyのFSESCを買うと付属品として同梱されている。変換アダプターを自作する手間を考えるとFlipskyから単品を買う方が効率的。

ピンの並びは上から

GND – H3 – H2 – H1 – TEMP – 5V

となっている。このうちGND(黒)、TEMP、5V(赤)の3つの位置は固定。H3〜H1は配線が入れ替わっても問題がない。GNDの黒ケーブル、5Vの赤ケーブルはほとんどどのメーカーも同じ色指定で位置も端-端だが、残りの4本はメーカーによって色が違う。赤の隣がTEMPだと判断しよう。色が違うだけで配置は同じだ。

これはFOCセンサー付きモーターを導入する際に必要な知識である。

たまにセンサー付きモーター側が5ピンコネクタの時がある。この時はTEMP(温度センサー)が無いケース。GNDに黒い線、5Vに赤い線、残りはH3〜H1を挿し(順不同)、TEMPを空ける繋ぎ方をすれば良い。FOCBOX Unityに限らず、どのVESCでも同じ事が言える。

上記の5ピンコネクタのモーターの話はESK8 Buildersのフォーラムでも度々質問にあがる内容である。

リモコン設定の罠

いろんなメーカーから電動スケートボードで使えるリモコンが販売されている。enertionのNano-X、FlipskyのVX1、MaytechのMTSKR1712など。

それらにはスピードモードを切り替えるためのスイッチやボタンなどがあるが、「基本的にそれをあまり使うことはない」

そして「常に最速のモードを適用するのが基本」である。Nano Xのスローモードはブレーキまで弱くなるので特におススメしかねる。

(Nano XはEnertionの経営不振とともに事実上消滅した。)

VESCでパワーを調整するのはあくまでスマホアプリによる電流の設定が基本である。とくにキャリブレーションをするときは必ずリモコンが最速のモードであることを確認した上で設定しよう。遅いモードのままキャリブレーションをすると正確な設定が適用されないうえにトラブルの原因になる。