Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 8351|回復: 10
打印 上一主題 下一主題

步進馬達轉速控制問題

[複製鏈接]
跳轉到指定樓層
1#
發表於 2010-11-3 21:28:26 | 顯示全部樓層 回帖獎勵 |倒序瀏覽 |閱讀模式
使用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的數值來控制步進馬達
假如調太低 目進馬達會跟不到 造成在原地跳動的情形
請問該如何解決?

2#
 樓主| 發表於 2010-11-15 15:29:22 | 顯示全部樓層
請問每一步都要很準嗎?
如果把八步或十六步當成一步來走
而去延長每八步或每十六步的間隔時間
這樣做可 ...
nichal 發表於 2010-11-6 13:35



請問如何將 八步或十六步  當一步來走呢?
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-5-25 22:05 , Processed in 0.163556 second(s), 10 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表