google-site-verification: google3bd66dd162ef54c7.html
fc2ブログ

ArduinoとESCを使ってセンサーレスBLDCモーターを駆動-その1

◆まえがき
このところブラシレスモーターをArduinoを使ってあれこれ動かしていますが、本格的にやるにはESCを使った方が簡単なことに気付きました。そんなことで、AliExpeessにオーダーしておいたのが先日届いたので早速動かしてみました。

◆購入したESC
ESC
容量30AのESCが送料入れて何と600円台でした。パワーFETや制御回路などを自分で集めて作ったら、とてもこんな値段では作れません。それに内蔵しているファームに相当のノウハウがあるのでどう考えても勝ち目はありません。(この商品のAliExpressのページ

・外観
ESC
コネクタは当方で付けた物です。

ESC裏面

◆テスト回路
ArduinoとESCでBLDCモーターの回路図
Arduinoを使ってパワーの設定と、回転数の表示が出来るようにしました。

ArduinoはESCから出ている5Vを使って動かしています。こうしておけば、ESCの電源投入と同時にサーボ信号の初期化が自動的に実行されて便利です。

・回転数検出回路の波形
波形
上から順に、モーター電圧波形、コンパレーター入力(U1 Pin3)、コンパレーター出力です。

モーター波形は運転状況により変化し、途中で大きくDC成分がズレたりします。そんな理由から、ESCによってはこの図の回路では回転数信号の取り出しがうまく行かない可能性があります。

あと、この回転数検出回路で取り出しているのはモーターのコイルの駆動波形であって、実際のローターの位置(位相)ではありません。もちろん両者は磁気的にロックされているので1周期以上ずれることはありませんが、瞬間的には進み/遅れがあるはずで、精密なタイミングを議論する時には注意が必要です。

・実際の回路
全体写真
このモーターはDVD-RWのスピンドルモーターです。

◆プログラム
20230630_BLDCmoterByESC_OLED.txt (BOM付きUTF-8)

回転数の検出にはピン割り込みを使っていますが、それ以外はやることをベタベタと書いただけなので判り易いと思います。

◆表示
・起動時
起動中の表示
起動時にESCにサーボのキャリブレーション信号を送っている間の4秒間はこの表示です。

MagRot/Rev.はモーターのシャフトが1回転するのに要する磁気的な回転数。(つまり極数の1/2の値)で、この例では6なので12極のモーターです。この値を使ってrpmの値を換算しています。(値はプログラムの変数 POLE_N で指定)

・定常運転時
運転中表示
運転中はrpmで表した回転数とモーターのパワーの設定値を示します。

◆運転中の様子(ツイッターの動画)
電源電圧12Vでモーター電流は0.5A程度でした。消費電力6Wですが、運転に伴い発生する風で冷却されるのでほとんど温度上昇はありませんでした。

◆まとめ
ESCを使うことでとても簡単にセンサレスのBLDCモーターを駆動することが出来ました。ドローンに使われているだけあって加速性能などが素晴らしいです。一方で起動トルクが小さいので、HDDのようにイナーシャが大きな負荷の場合は自力では起動することが出来ませんでした。(手で勢いを付けてやれば起動する)

DVDやHDDのスピンドルモーターはサイズが小さいのでパワーを出すには向いていない印象があります。しかし、ESCを使って運転すると高回転でもトルクに粘りがあり、けっこうな出力が出ている感じでした。モーター制御技術の勝利、って感じなんでしょうね。最近の家電などに多く使われる理由なんでしょう。
関連記事

コメントの投稿

管理者にだけ表示を許可する

カレンダー
11 | 2023/12 | 01
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31 - - - - - -
プロフィール

ラジオペンチ

Author:ラジオペンチ
電子工作を中心としたブログです。たまに近所(東京都稲城市)の話題など。60過ぎて視力や器用さの衰えを感じつつ日々挑戦!
コメントを入れる時にメールアドレスの記入は不要です。なお、非公開コメントは受け付けていません。
記事の内容のご利用は読者の自己責任でお願いします。

記事が気に入ったらクリックを!
最新記事
カテゴリ
最新コメント
リンク
FC2カウンター
検索フォーム
月別アーカイブ
RSSリンクの表示
QRコード
QRコード