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