前からやってみたかったESCの製作をしてみました。
以前FCを作ったので、加えてESCも作れるとドローンの主要パーツが揃う事になります。(あ、モーターは別ですね)
※略語の確認
FC :フライトコントローラー
マイコン基板にセンサーが載ったやつ。ドローンを制御する。
ESC:エレクトリック・スピード・コントローラー
ブラシレスモーターを回すドライバ。
ドローン系ESCの種類
今回もESCのファームウェアを1から作るような根性はないのでオープンソースの優秀なファームを使う予定です。
レース系ドローンでよく使われるESC用ファームにはBLHeliというのがあり、更にBLHeli内の分類、その他最近登場したファームも含めて整理してみました。
- BLHeli
AtmelやSiLabsのマイコンが対象ですがちょっと古いタイプでレースではあまり使われません。 - BLHeli_S
マニュアルによるとBLHeliのnext generationという事です。_Sが何を意味するのかは判りません。SiLabs製マイコンのみ対象でAtmelは対象外みたいですね。 - BLHeli_32
STM32マイコンを使った32bit版です。
RPM telemetry(回転数をFCに送信する機能)がありFC側でRPMフィルターという高度な処理ができるのですが、上の二つと違ってソースが公開されてないっぽいです。 - bluejay
これ最近知ったのですがBLHeli_Sの派生版で、SiLabsのマイコンが対象ですがRPM telemetryが使えます。 - AM32
これも先ほど知ったのですがSTM32を使ったオープンソースのファームウェアらしいです。
今回製作するESCはBLHeli_Sを対象にします。そして上手くいけば後にbluejayも試そうと思っています。
SiLabs製マイコンについて
という事でSiLabsのマイコンを使う事になりますが、このメーカーって馴染みが無いので調べてみました。
BLHeli_SでサポートしているのはEFM8BBxという8bitマイコンで、このCPUコアはインテル8051の命令セットとコンパチです。8051って随分昔に使った事があり懐かしいですね。たしか8080に周辺回路をつけてワンチップマイコン化した様なやつだったと思います。でもEFM8BBxは処理速度が大幅に向上しているそうです。
ところでBLHeli_Sのソースはアセンブラで書かれているんですね。80のアセンブラなんてすっかり忘れたなー。
BLHeli_Sのビルド
EFM8BBxの開発環境はSimplicity StudioというのがSiLabsのサイトからダウンロードできます。
そこで絶対必要というわけではない(ビルド済HEXファイルをダウンロードすればよいので)ですがBLHeli_Sをビルドしてみたいと思います。
Simplicity StudioにはWindows上で動くGUIな開発環境が付属していますがBLHeli_Sのビルドはコマンドラインからバッチファイルを実行します。
で、実行してみたところC8051開発ツールが評価版なのでサイズの制限でビルドできないっぽいメッセージが出ました。えー、お金いるの? どうやら内部で使っているKeliというコンパイラ/アセンブラのライセンスをARMから買うっぽいですね。
まぁBLHeli_Sのビルドは絶対ではないので一旦置いといて付属のサンプルからLチカプログラムを実行したところ、やはり同じメッセージが出て止まりました。
でもSimplicity Studioを使うならKeliのラインセンスは無料でもらえっぽいメッセージが出ているので表示に従ってラインセンスをもらうとビルドできてしまいました。
という事はBLHeli_Sもビルドできる様になったのかな・・・もう一度バッチを実行してみると確かにこちらも最後まで進み、無事HEXファイルが出来ていました。
ハードウェアの準備
何はともあれ実行してみる為のハードウェアが必要です。
EFM8BBxの評価ボードを調べると市販はされていますが5000円以上します。でもよく考えるとこのマイコンは沢山持っていますよね。
こんな感じで・・・
ジャンクのESC群。ここから摘出すればよいのです。ついでにパワーMOS FETをドライブするドライバIC(FORTIOR FD6288Q)も摘出できます。
なおドライバICのFD6288QはH側にN-MOSを使う場合に必要な電源電圧より数V高い電圧を発生してくれたり、H側とL側が同時にONして貫通電流でFETを壊す事故を回避してくれます。
という事で摘出しました。
・マイコン:EFM8BB21F16G x3個
・ドライバ:FD6288Q x3個
マイコンとドライバ、どちらも0.5mmピッチのQFNパッケージなのでそのままでは配線し辛く、引き出し基板が必要です。Ki-Cadで描いてFutionPCBに発注しました(送料込みで$16.4)。
引き出し基板が届いたら色々試していきたいと思います。
Pingback: ESCを作ってみる~その2~ | ほいほい堂blog