[問題] 步進馬達如何歸零

看板Mechanical (機械)作者 (鳳山下智久)時間8年前 (2017/10/13 10:19), 8年前編輯推噓5(5016)
留言21則, 8人參與, 8年前最新討論串1/3 (看更多)
目前現在用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://www.ptt.cc/bbs/Mechanical/M.1507861174.A.E53.htmlkennykobe:轉錄至看板 Electronics 10/13 10:52

10/13 13:07, 8年前 , 1F
歸零要有外部感測器,譬如光電開關。你可以先在馬達軸心上
10/13 13:07, 1F

10/13 13:07, 8年前 , 2F
做標記。轉完以後看標記有沒有在正確位置。沒有的話就是失
10/13 13:07, 2F

10/13 13:08, 8年前 , 3F
步。
10/13 13:08, 3F
有沒有辦法是透過程式來歸零呢??感覺這方法有點難懂 ※ 編輯: kennykobe (59.120.179.172), 10/13/2017 13:36:53

10/13 13:42, 8年前 , 4F
沒辦法 一定要靠外部歸零 看你用SENSOR 還是機械撞擊
10/13 13:42, 4F

10/13 13:43, 8年前 , 5F
通常每出去一次 回家一定要歸零一次 尤其跑久了附載增加
10/13 13:43, 5F

10/13 13:43, 8年前 , 6F
那種走鐘的事情會更明顯
10/13 13:43, 6F
如果只能透過外部儀器歸零,那有什麼網站有使用方法呢?感謝大大 ※ 編輯: kennykobe (59.120.179.172), 10/13/2017 14:36:03

10/13 16:15, 8年前 , 7F
我不太懂你的意思 通常一個位置感應器就好 或者
10/13 16:15, 7F

10/13 16:16, 8年前 , 8F
拿個牆壁給他撞 重點是 先讓孩子回家
10/13 16:16, 8F

10/13 16:17, 8年前 , 9F
因為位置確認是機構問題 你不可能靠程式解
10/13 16:17, 9F

10/13 19:27, 8年前 , 10F
另外你有透過放大電路來驅動馬達嗎?
10/13 19:27, 10F

10/13 19:36, 8年前 , 11F
沒回授值 脈波傳送都有可能丟掉了 靠外部感測器才是正道
10/13 19:36, 11F

10/13 21:55, 8年前 , 12F
你自己往前走 1 萬步看看 一定不會是一萬步
10/13 21:55, 12F

10/13 21:56, 8年前 , 13F
需要計步器來幫你計算
10/13 21:56, 13F

10/14 03:19, 8年前 , 14F
如果只有馬達,加encoder. 如果是轉linear motion,加switch.
10/14 03:19, 14F

10/14 09:06, 8年前 , 15F
需原點復歸
10/14 09:06, 15F

10/14 15:44, 8年前 , 16F
動越多,錯誤越多,所以機器會定時歸零
10/14 15:44, 16F

10/14 15:44, 8年前 , 17F
歸零的時機會,有時很機器啟動時,有時是運作一段時間後
10/14 15:44, 17F

10/14 15:46, 8年前 , 18F
ex:轉向頭燈,車子啟動時,會左右移到感測點,做歸零
10/14 15:46, 18F

10/14 15:46, 8年前 , 19F
ex:印表機啟動時會左右移到邊界,做歸零,印多張後也會
10/14 15:46, 19F

10/14 15:47, 8年前 , 20F
所以,如何歸零?找到零點,將計數器=0
10/14 15:47, 20F

10/16 00:13, 8年前 , 21F
如何知道歸零了 就是靠sensor feedback
10/16 00:13, 21F
文章代碼(AID): #1Pu2AsvJ (Mechanical)
文章代碼(AID): #1Pu2AsvJ (Mechanical)