ArduinoでセンサーレスDCモーターを廻す-その2
◆まえがき
先日、ArduinoでセンサーレスDCモーターを廻すという記事でHDDのスピンドルのBLDCモーターを廻しましたが、プログラムを改良したので紹介します。
◆回路図と外観
前の記事とほとんど同じですが再掲しておきます。
◆プログラム
現時点の最新バージョンです。速度の調整比率が時間に対して一定になるように修正しました。
Arduino UNO(NANO)で動作確認済。拡張子を.inoに要変更。
下記は6Phase(磁気角で1回転)内で位相遅れを検出した回数によってフィードバック量を変えているバージョンです。アイディアが面白いので置いておきます。ただ、安定度がいまいちです。
動いている様子などは以前の記事をご覧ください。
◆ドリル研磨機
ディスクのプラッターにサンドペーパーを貼り付けて、ドリルの研磨が出来ないかやってみました。
59度に傾ける台です。
こんなふうにして使います。逃げ角を付けながらドリルを立てていって直角になったら離す感じで使えば上手くいくはずです。
いざとなったら実体顕微鏡で見ながら研磨することも可能です。
やってみた結果ですが、モーターの出力が小さいのでトルクによってゴリゴリと削るようなことは出来ませんでした。あらかじめディスクを高速回転させておき、蓄えられた回転エネルギーを利用することで何とか研磨出来ました。回転数が低下すると回転表示のLEDが消えるので、それを見ながら作業することになります。
そんなことでΦ4mmくらいのドリルの研磨が限界な感じです。ドリルのシンニングはディスクのエッジを利用して行いますが、修行不足もあってかなり難しいです。シンニングはミニルーターを使った方が良いかも知れません。
◆まとめ
Arduinoを使ってHDDのBLDCモーターを廻す実験はとりあえずこれで終了です。
この記事のプログラムでは誘起電圧の位相の検出は固定タイミング(通電期間の中央のタイミング)で行っているので、言わばON/OFF制御になっています。誘起電圧の位相を連続的な値として検出出来ればもっと細かい制御が可能になるはずです。また、PWMによるパワー制御もやっていません。そんなことで、この試みはまだまだ改良の余地はあるので、機会があれば挑戦してみたいと思います。
- 関連記事
-
- ArduinoとESCを使ってセンサーレスBLDCモーターを駆動-その2
- ArduinoとESCを使ってセンサーレスBLDCモーターを駆動-その1
- ArduinoでセンサーレスDCモーターを廻す-その2
- ArduinoでセンサーレスDCモーターを廻す
- DVDのスピンドルモーターを低速回転させる-続編