2
0

はじめに

バイラテラル制御、ハプティクスの学習を目的として制作しました。その過程を記録します。

開発環境

  • macOS Sonoma 14.5 (Intel & Apple silicon)
  • PlatformIO Core 6.1.15
  • PlatformIO Home 3.4.4
  • Simple FOC 2.3.3
  • Visual Studio Code 1.90.2

パーツリスト

  • Arduino Uno R4 Minima
  • MARSPOWER Brushless Gimbal Motor 2208 80T
  • SimpleFOCMini V1.0 (DRV8313) (公式のものではなくAliexpressで売っている製品)
  • 磁気エンコーダ AS5600
  • YAHATA スペーサー 5x15 ニッケルめっき
  • バッテリー LiPo 3Cell 800mAh 65C

接続図

BLDC_SimpleFOC_AS5600.png

BLDCへ磁気エンコーダを固定

磁気エンコーダ用の磁石をジンバルモーターに接続します。
磁石はこんな感じだと思います。同じ形の磁石でも磁化方向はいろいろあるようですので、付属の磁石を使うか仕様をよく確認します。

mag_NS.png

  1. ジンバルモーターの下側、シャフトが1mmほど出っ張っています。ここがローターと一緒に回ります。回転するローターのことをベルと言うこともあります。
  2. シャフトの終端に磁気エンコーダが読み取るための磁石を固定します。
  3. シャフトと磁石を固定するジョイントを設置します。
  4. 外側に防磁のために鉄のリングで囲ってあげます。

mag1-4.png

防磁はホームセンターでスペーサーを買ってきて、2mmの高さになるように金鋸で切り出しました。

当初、防磁しないでモーターを動かしたところ、磁気エンコーダが値を読み取らなくなりました。

IMG_6689.jpg

ジョイントは3Dプリンタで作りました。こんな感じで接続しました。磁石と防磁リングはちょっと緩かったのですが、磁力でくっついてくれました。回転速度によっては接着したほうがいいかもしれません。

IMG_6669.jpg

モーターに台座をネジ止めします。磁石と磁気エンコーダを1mm弱くらいの距離で設置しました。できれば、AS5600をI2Cでステータス・レジスタ(0x0B)を読んで確認します。磁力が強すぎ(BIT3)・弱すぎ(BIT4)だとビットが立ちます。Bit5が立っていれば正常です。(詳細はマニュアルを参照してください。)

mag5-6.png

横から見るとこんな感じになります。 ネジが邪魔で磁石がちょっとしかみえませんね… ネジを非表示にして、チップを追加した画像に差し替えました。

bldc_cg2.png

組付け

CGだとこんな感じになります。

bldc_cg1.png

動きがわかるようにステーをつけてます。

IMG_6679.jpg

サイドビュー

IMG_6685.jpg

SimpleFOCMiniにピンヘッダーをつけ、それぞれケーブルで接続したところです。

IMG_6687.jpg

失敗談

当初、ドローン用ブラシレスモーターで動かそうとしていました。しかし、全く動きませんでした。

なぜ動かないか。ドローン用ブラシレスモーターは高速回転のためにホルマル線のターン数(巻数)を10〜20回くらいにしているようです。ターン数が少ないと高回転・低トルク・高電流になるそうです。SimpleFOCMiniはジンバルモーターを動かす目的なので、最大電流は3Aということで動かなかったわけです。

なおドローン用のESCは、高電流に耐えられるMOSFETが使われています。

そのあと購入した、今回使っているブラシレスモーターは、80ターンの低速・高トルクタイプです。

IMG_6691.jpg

おわりに

モジュールをつなぐところまでいきました。

次回、コーディングしていきます。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0