はじめに
今まで、DCブラシ付きモーターか、ステッピングモーターぐらいしか使ったことがなかったのですが、安定した高速回転を求めてブラシレスモーターを購入しました。あまり情報がなかったので、オリエンタルモーター社製のブラシレスモーターを購入してRaspberry Piで動かしたのを書いておきます。
やったこと
- ブラシレスモーターとは(調査)
- Oriental motor社製のブラシレスモーターを購入
- Raspberry PiからPWM制御でブラシレスモーターの回転を制御
ブラシレスモーターとは
ブラシレスモーターの特徴はこちらのサイトに詳しく書かれています。→サーボライクな性能をインバータ並みの価格で?第3の選択肢、ブラシレスモーターとは
CDプレーヤーの回転軸などに使われているようです。
特徴
- ステッピングモーターと基本原理は同じ
- DCブラシ付きモーターとトルクは同じ
- 応答性が高い(ステッピングモーターはすぐ高速に動かすとかできない)
- 色んな速度で動かせる
- サーボモーターより安価(←重要)
- 制御基板(駆動回路)が必要
Oriental motor社製のブラシレスモーターを購入
ブラシレスモーターは制御基板が必要で、他の種類のモーターほど流通していないため、Oriental motorのサイトから購入します。もちろん1台から購入可能です。
スペックで絞り込むことで、オススメのモーターを教えてくれます。
今回は、BLHM450KCを選びました。
ここで最低限必要なのは、ブラシレスモーター、ドライバ、電源/入出力信号ケーブルです。接続ケーブルは1.5mの延長ケーブルなのでなくても大丈夫です。
他に、DC24Vを供給するためのACアダプタ→[参考までにamazonで選んだACアダプタ]
(https://www.amazon.co.jp/gp/product/B08CDBW8HY/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&th=1)
PWM入力をするためのRaspberry Pi (PWM波形が出せるものであれば Arduino などでも可)
も用意してください。
Raspberry PiからPWM制御でブラシレスモーターの回転を制御
デジタル制御基板の使い方はこちらにユーザーマニュアルが置いてあります。→オリエンタルモーター社サイトのマニュアル
13,14のピンをONにして、6,7にPWM入力を与えればモーターが回転します。
注意点は1ポイントだけ。
こちらの制御基板の入力信号は、ON:0〜0.5V(Lレベル)、OFF4〜5V(Hレベル)となっています。
そうすると0V指定で電源投入してしまうとすぐに動き出してしまって危ないのでは?と思うともちろんそうはなっておらず、0Vの状態で電源を入れると、制御基板上のアラートランプが11回赤点滅します。電源投入時には、Hレベルの状態(つまりOFF)になっていないと、動き出しません。一度OFFにしてから電源を投入し、そのあとONにすれば動作状態となります。
制御基板の6,7PINをRaspberry Piの出力PINに接続し、PWM波形を生成すると簡単に速度をコントロールできます。
- 6PIN : GND
- 7PIN : PWM (GPIO.PWM Out)
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
pin_id = 4
GPIO.setup(pin_id, GPIO.OUT)
pin = GPIO.PWM(pin_id, 100) #100Hz
pin.start(0)
pin.ChangeDutyCycle(30)
time.sleep(3)
pin.ChangeDutyCycle(50)
time.sleep(3)
pin.ChangeDutyCycle(100)
time.sleep(3)
pin.stop()
GPIO.cleanup()
あまり情報がなかったのですが、ユーザーマニュアル通りに繋げばPWM制御で比較的簡単にコントロールできますのでお試しください。