Robofun 機器人論壇

標題: 步進馬達轉速控制問題 [打印本頁]

作者: log4518    時間: 2010-11-3 21:28
標題: 步進馬達轉速控制問題
使用L293D Quad Half-H Drivers 控制 4-Phase / 12 Volt Unipolar Stepper Motor \

以下為程式碼 (控制正轉,越來越快)
' {$STAMP BS2}
' {$PBASIC 2.5}
PotCW PIN 0 ' clockwise pot input
PotCCW PIN 1 ' counter-cw pot input
Coils VAR OUTB ' output to stepper coils
' -----[ Constants ]-------------------------------------------------------
NumSteps CON 4 ' use 4-step sequence
' -----[ Variables ]-------------------------------------------------------
idx VAR Byte ' loop counter
stpIdx VAR Nib ' step pointer
stpDelay VAR Byte ' delay for speed control
' -----[ EEPROM Data ]-----------------------------------------------------
' __
' ABAB
' -----
Step1 DATA %1100
Step2 DATA %0110
Step3 DATA %0011
Step4 DATA %1001
' -----[ Initialization ]--------------------------------------------------
Setup:
DIRB = %1111 ' make P4..P7 outputs
stpDelay = 1 ' set step delay

MAIN:
FOR idx = 1 TO 48 ' 1 rev forward
GOSUB Step_Fwd
PAUSE 80
NEXT
FOR idx = 1 TO 48 ' 1 rev forward
GOSUB Step_Fwd
PAUSE 60
NEXT
FOR idx = 1 TO 48 ' 1 rev forward
GOSUB Step_Fwd
PAUSE 40
NEXT
FOR idx = 1 TO 48 ' 1 rev forward
GOSUB Step_Fwd
PAUSE 20
NEXT
FOR idx = 1 TO 48 ' 1 rev forward
GOSUB Step_Fwd
PAUSE 5
NEXT
END

Step_Fwd:
stpIdx = stpIdx + 1 // NumSteps ' point to next step
GOTO Do_Step

Do_Step:
READ (Step1 + stpIdx), Coils ' output new coil data
PAUSE 10 ' pause between steps
RETURN



利用更改pause的數值來控制步進馬達
假如調太低 目進馬達會跟不到 造成在原地跳動的情形
請問該如何解決?


作者: vegewell    時間: 2010-11-4 14:20
這棵L293D Quad Half-H Drivers ic 不到一佰元
未免太便宜可能是舊型或簡單
請改用專門控制步進馬達的ic
如:
EDE1204 Bi-Polar Stepper Motor IC
一棵三佰多元
作者: vegewell    時間: 2010-11-4 14:28
Rockcliff 4-Axis Motor Driver
Only  $165. US
作者: Ken_Robo    時間: 2010-11-4 22:41
步進馬達有一定的工作頻率,
所以,請先確認你產生的頻率沒有超過他的規格。
另外,突然給予太快的頻率也會有此現象,
這時候需要一個加速的機制,讓馬達加速上去,才能達到想要的轉速。
作者: nichal    時間: 2010-11-6 13:35
請問每一步都要很準嗎?
如果把八步或十六步當成一步來走
而去延長每八步或每十六步的間隔時間
這樣做可以嗎?
一般來說
步進馬達因為有靜啟動的最低脈波數限制
所以低於靜啟動脈波數的話
就只能用這樣的偷吃步來解決
不然就要外加減速機構來彌補了
作者: mac1    時間: 2010-11-8 17:22
建議先將低速啟動的"定速" 先調好
速度太高或太低都不會轉,只會一直抖而已

低速且定速能夠轉了在開始作加速的部分...
實際速度請用示波器確認輸出的頻率為準, 用 delay 只能知道大概而已
作者: log4518    時間: 2010-11-15 15:29
請問每一步都要很準嗎?
如果把八步或十六步當成一步來走
而去延長每八步或每十六步的間隔時間
這樣做可 ...
nichal 發表於 2010-11-6 13:35



請問如何將 八步或十六步  當一步來走呢?
作者: nichal    時間: 2010-11-15 15:57
回復 7# log4518


因為步進馬達要轉起來一定要克服靜啟動脈波數
所以快速並連續驅動16步以克服靜啟動
(或直接把連續送16步當成1步來看)
然後去調整16步可以動起來的脈波速度
這樣每16步之間的延遲時間可視為停止鎖相狀態
如此就可以讓步進馬達以很慢的速度動起來
只是這樣一來步進馬達的解析度就變差了
作者: ligalike    時間: 2011-3-14 06:54
回復 2# vegewell


    請問一下,這位大大:
    這顆 EDE 1204 IC哪裡可以買得到阿?
    我找了好久都買不到,可否指示一下?
    謝謝
作者: vegewell    時間: 2011-3-14 16:26
本帖最後由 vegewell 於 2011-3-14 16:38 編輯

回復 9# ligalike

這是外國貨:
    http://www.sourceresearch.com/elab/ede1204.cfm
希望你知道怎麼買.
這個ic好像不錯,比較多人使用-->東芝 TB6560 AHQ
作者: g921002    時間: 2011-3-14 16:57
已經IC化的東西不要再費力去搞了。
http://goods.ruten.com.tw/item/show?21101136204315
http://goods.ruten.com.tw/item/show?21011111134039
買現成的都很棒
http://goods.ruten.com.tw/item/show?21007246214133
http://goods.ruten.com.tw/item/show?21103047951890




歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/) Powered by Discuz! X3.2