VESC
オープンソースのブラシレスモータドライバ
めっちゃ高性能
オープンソースということもあって開発も活発
絶対にリバースエンジニアリングするマン
回路図はKiCadで公開されているのでだいたい把握した。
MakefileプロジェクトとしてEclipse CDTにインポートしてビルドまで完了.
環境にはEclipse CDT+GNU MCU Ecliipse pluginを使用,VSCodeでもいい
リバースエンジニアリング
SPIがソフトウェア実装だった,つらい
VESC6.4
このバージョンからパッケージが変わってこんな感じで売られている.
VESC 6.4
V6の回路図はこのフォーラムにPDFで転がってる
http://www.vesc-project.com/node/165
電流の計測がHW4.10まではTIのゲートドライバ「DRV8302」に内蔵されているシャントアンプを用いており,2シャント方式であった.
HW6.4ではAnalogDevicesの電流検出アンプAD8418を用いた3シャント方式となっている模様,ローサイドではなくモータの相に入っている.
エンコーダとの接続
位置(角度制御)するならセンサは欲しい.
動作検証に使ったエンコーダ
- AS5048A
ams性の磁気エンコーダ(as5048a,as5047P)との接続図
My VESC with AS5047 sensor setupより
磁気エンコーダ | VESC(P1) |
---|---|
SCK | HALL1 |
MISO | HALL2 |
MOSI | VCC |
CS | HALL3 |
ブレーキの挙動について
回生ブレーキと短絡ブレーキの割合を調整できる(マジか
「Motor Current Max Brake」モータのブレーキ電流の最大値(ロータを減速するるトルクの最大値?)
「Battery Current Max Regen」モータ→VESC→バッテリに戻る電流の最大値(回生電流)
よって,短絡ブレーキの総電流は
$$
short-circuit braking current \\
= total braking current-regenerative braking current \\
(=Motor Current Max Brake-Battery Current Max Regen)
$$