どんなうごき
ステッピングモーターは1ステップごとに一定角度をだけ回転させることができるモーター。これを使って、回転の角度や速度を決めたりできる。
つくりかた
用意するもの
- Raspberry Pi pico
- microUSBケーブル
- PC(WindowsかMac)
- ブレッドボード
- ブレッドボード用ケーブル
- ステッピングモーター
せつぞく
プログラム
from machine import Pin, PWM
import time
#RaspberryPiの動作確認:LED点灯(LED3回点滅)
led = Pin(25, Pin.OUT) #RaspberryPiにのっているLEDはGP25、出力設定にする。
led.value(0) #GP25をL出力
print('Program Start')
for i in range (6):
led.toggle() #toggleは H -> L ,L -> H
time.sleep(0.3) #0.3secのWait
#Pinの初期設定 (CMOS_OUT:Low)
Pin_IN1=Pin(18,Pin.OUT)
Pin_IN2=Pin(19,Pin.OUT)
Pin_IN3=Pin(20,Pin.OUT)
Pin_IN4=Pin(21,Pin.OUT)
Pin_IN1.value(0)
Pin_IN2.value(0)
Pin_IN3.value(0)
Pin_IN4.value(0)
#ステッピングモーター仕様
#ステッピング角:5.625*1/64。減速比:1/64 電圧:5V。
#ステッピングモーターのステップごとの設定
def SteppingMotor(Phase):
if Phase == 0:
Pin_IN1.value(0)
Pin_IN2.value(0)
Pin_IN3.value(0)
Pin_IN4.value(1)
elif Phase == 1:
Pin_IN1.value(0)
Pin_IN2.value(0)
Pin_IN3.value(1)
Pin_IN4.value(1)
elif Phase == 2:
Pin_IN1.value(0)
Pin_IN2.value(0)
Pin_IN3.value(1)
Pin_IN4.value(0)
elif Phase == 3:
Pin_IN1.value(0)
Pin_IN2.value(1)
Pin_IN3.value(1)
Pin_IN4.value(0)
elif Phase == 4:
Pin_IN1.value(0)
Pin_IN2.value(1)
Pin_IN3.value(0)
Pin_IN4.value(0)
elif Phase == 5:
Pin_IN1.value(1)
Pin_IN2.value(1)
Pin_IN3.value(0)
Pin_IN4.value(0)
elif Phase == 6:
Pin_IN1.value(1)
Pin_IN2.value(0)
Pin_IN3.value(0)
Pin_IN4.value(0)
elif Phase == 7:
Pin_IN1.value(1)
Pin_IN2.value(0)
Pin_IN3.value(0)
Pin_IN4.value(1)
def loop():
Phase = 0 #初期値
StepTime = 0.001 #StepPuls >1000plus/sec
Allow = 1 #時計回り=1,反時計回り=-1
while True:
SteppingMotor(Phase)
Phase=(Phase + Allow) % 8 #8で割ったあまりをPhaseに代入
time.sleep(StepTime) #StepTimeの間待つことで、回転速度を決める
#緊急停止のときの処理、使用したポートは入力にしておけば壊れにくい。
def destroy():
Pin_IN1.value(0)
Pin_IN2.value(0)
Pin_IN3.value(0)
Pin_IN4.value(0)
#プログラムスタート
if __name__ == '__main__': #プログラムスタート
try:
loop()
except KeyboardInterrupt: # Ctrl+C で中断処理
destroy()
できたもの
詳細説明
ステッピングモーターの仕組み
このモーター(下図左)とモータードライバーの仕様(下図右)
まずは、ステッピングモーターの動作原理です。
ステッピングモーターは磁石とコイルでできています。流れる電流によってコイルから磁力が発生し、モーターの磁石の向きが変わります。
例えば、Step①の場合、オレンジ4がHighになると0Vになる。赤5には常に5V流れているので、赤色の方向にコイルに電流が流れます。するとコイルからN極に磁界が発生するので、モーターの磁石はS極が向きます。
このコイルのN極、S極をうまく切り替えると、下図の様に8ステップで1周するような動きになります。このステッピングモーターでは1Stepごとに45°回転しています。
コメント
コメント一覧 (1件)
[…] ステッピングモーターであそぶ […]