作者kennykobe (鳳山下智久)
看板Electronics
標題Fw: [問題] 步進馬達如何歸零
時間Fri Oct 13 10:52:26 2017
※ [本文轉錄自 Mechanical 看板 #1Pu2AsvJ ]
作者: kennykobe (鳳山下智久) 看板: Mechanical
標題: [問題] 步進馬達如何歸零
時間: Fri Oct 13 10:19:31 2017
目前現在用Raspberry pi控制步進馬達來轉,不過目前遇到的問題是
4個步進馬達轉好幾百圈之後,每一個步進馬達停的位置都不一樣
不清楚是因為每一個步進馬達買來之後,原始的位置就不同
還是因為程式方面沒有做讓步進馬達歸零的動作,目前使用的步進馬達是5V步進馬達(4相
5線 28BYJ-48-5V)
程式碼如下:
def forward( steps ):
for i in range( steps ):
setStep(0, 1, 1, 0)
time.sleep(0.01)
setStep(1, 1, 0, 0)
time.sleep(0.01)
setStep(1, 0, 0, 1)
time.sleep(0.01)
setStep(0, 0, 1, 1)
time.sleep(0.01)
setStep(0, 1, 1, 0)
def backward( steps ):
for i in range( steps ):
setStep(0, 0, 1, 1)
time.sleep(0.01)
setStep(1, 0, 0, 1)
time.sleep(0.01)
setStep(1, 1, 0, 0)
time.sleep(0.01)
setStep(0, 1, 1, 0)
time.sleep(0.01)
setStep(0, 0, 1, 1)
def setStep(w1, w2, w3, w4):
GPIO.output(coil_A_1_pin, w1)
GPIO.output(coil_A_2_pin, w2)
GPIO.output(coil_B_1_pin, w3)
GPIO.output(coil_B_2_pin, w4)
setStep(0, 0, 0, 0)
forward(45)
backward(45)
請各位大大幫忙解惑了,感激不盡!!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.120.179.172
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Mechanical/M.1507861174.A.E53.html
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 轉錄者: kennykobe (59.120.179.172), 10/13/2017 10:52:26
1F:推 HiJimmy: 用示波器量一下 I/O時序 10/13 12:13
2F:→ Jhih8051: 要作得準應該需要掛encoder 10/13 15:43
3F:推 oisi: 驅動電流足夠嗎,是否換相速度太高造成失步 10/14 13:48
4F:→ Jhih8051: 推樓上的建議,可以先把速度降慢一點試試 10/14 16:41
5F:→ Jhih8051: 另外樓主這作法是開迴路控制,在不知道目前相位的情況下 10/14 16:45
6F:→ Jhih8051: ,有可能一開始的幾個換相都是錯的,因此也造成了相互間 10/14 16:45
7F:→ Jhih8051: 的位置差 10/14 16:45