找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 28461|回復: 50
收起左側

51單片機精確控制步進電機(有TB6600驅(qū)動)

  [復制鏈接]
ID:506152 發(fā)表于 2019-4-9 22:22 | 顯示全部樓層 |閱讀模式
作為一個小白,我想記錄一下自己的學習過程,也和大家交流學習一下。
設備:51單片機開發(fā)板、TB6600驅(qū)動器、57BYG250B步進電機(二相)、直流開關電源。直流電源給驅(qū)動器供電,單片機給驅(qū)動器輸入脈沖,驅(qū)動器驅(qū)動步進電機。程序使用定時器中斷精確控制電機轉(zhuǎn)動(不考慮失步)。比如我采用16倍細分,則需給驅(qū)動輸入3200個脈沖,驅(qū)動才會使電機轉(zhuǎn)一圈,下面程序中1秒發(fā)送200個脈沖,則相應的電機16秒轉(zhuǎn)一圈。(第一次搞不怎么會上傳,就傳圖片了)

單片機源程序如下:
捕獲1.PNG 捕獲2.PNG 捕獲3.PNG

驅(qū)動器

驅(qū)動器

電源

電源

步進電機

步進電機

評分

參與人數(shù) 2黑幣 +55 收起 理由
15773093259 + 5
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:493996 發(fā)表于 2019-4-27 12:32 | 顯示全部樓層
你實物效果實現(xiàn)了沒有
回復

使用道具 舉報

ID:375715 發(fā)表于 2019-4-27 19:35 來自手機 | 顯示全部樓層
謝謝分享
回復

使用道具 舉報

ID:375715 發(fā)表于 2019-4-28 10:25 來自手機 | 顯示全部樓層
謝謝分享
回復

使用道具 舉報

ID:506152 發(fā)表于 2019-4-28 19:27 | 顯示全部樓層
577174566 發(fā)表于 2019-4-27 12:32
你實物效果實現(xiàn)了沒有

實現(xiàn)了
回復

使用道具 舉報

ID:431514 發(fā)表于 2019-4-29 07:24 | 顯示全部樓層
謝謝分享
回復

使用道具 舉報

ID:99612 發(fā)表于 2019-4-29 20:31 | 顯示全部樓層
0.02ms x250是什么意思?
回復

使用道具 舉報

ID:506152 發(fā)表于 2019-4-29 23:20 | 顯示全部樓層
5314039 發(fā)表于 2019-4-29 20:31
0.02ms x250是什么意思?

這個可以忽略,我當時是想詳細算一下定時器時間的,注釋忘記修改了。這里想表達的意思是每個脈沖周期是5ms,頻率是200hz,1秒輸出200個脈沖。0.02ms*250=5ms,就當是個數(shù)學等式了。
回復

使用道具 舉報

ID:531986 發(fā)表于 2019-5-10 16:13 | 顯示全部樓層
麻煩問一下那個ENA,DIR,PUL六根線怎么接的啊
回復

使用道具 舉報

ID:506152 發(fā)表于 2019-5-12 10:21 | 顯示全部樓層
17851000590 發(fā)表于 2019-5-10 16:13
麻煩問一下那個ENA,DIR,PUL六根線怎么接的啊

你看驅(qū)動器的說明書,ENA,DIR,是控制是否脫機控制和轉(zhuǎn)向,你可以共陰極連接,PUL是脈沖輸入端,可以連到單片機上你發(fā)出脈沖的引腳。
回復

使用道具 舉報

ID:530889 發(fā)表于 2019-5-12 14:25 | 顯示全部樓層
17851000590 發(fā)表于 2019-5-10 16:13
麻煩問一下那個ENA,DIR,PUL六根線怎么接的啊

共陰或者共陽連接,上面標注的正負號就是有效電平。
比如你共陽接,那PUL+,DIR+,ENA+接開發(fā)板5V接口,剩下三個符號接口接開發(fā)板三個IO口。這時候你只要對應IO口輸出低電平,那該功能就是打開的,輸出高電平該功能就是關閉的。
回復

使用道具 舉報

ID:530889 發(fā)表于 2019-5-12 14:28 | 顯示全部樓層
感謝,最近也在用TB6600控制42步進電機,初學小白定時器還不會用,看你的感覺一下很清晰了
回復

使用道具 舉報

ID:536494 發(fā)表于 2019-5-12 22:05 | 顯示全部樓層
電機正反轉(zhuǎn)應該怎么控制呢?
回復

使用道具 舉報

ID:530889 發(fā)表于 2019-5-13 13:20 | 顯示全部樓層
ahjxszc 發(fā)表于 2019-5-12 22:05
電機正反轉(zhuǎn)應該怎么控制呢?

就TB6600DIR給個相反的電平就反轉(zhuǎn)了,或者你把A+——A-——B+——B-順序反一下就好了叭
回復

使用道具 舉報

ID:531986 發(fā)表于 2019-5-14 21:56 | 顯示全部樓層
可愛的樓主,ena.dir,pul,共陰還是共陽接線
回復

使用道具 舉報

ID:531986 發(fā)表于 2019-5-14 21:58 | 顯示全部樓層
Jachin98 發(fā)表于 2019-5-12 14:25
共陰或者共陽連接,上面標注的正負號就是有效電平。
比如你共陽接,那PUL+,DIR+,ENA+接開發(fā)板5V接口, ...

謝謝樓主
回復

使用道具 舉報

ID:531986 發(fā)表于 2019-5-14 22:09 | 顯示全部樓層
Jachin98 發(fā)表于 2019-5-12 14:25
共陰或者共陽連接,上面標注的正負號就是有效電平。
比如你共陽接,那PUL+,DIR+,ENA+接開發(fā)板5V接口, ...

接好了,你的程序轉(zhuǎn)不起來
回復

使用道具 舉報

ID:538517 發(fā)表于 2019-5-15 02:41 來自手機 | 顯示全部樓層
牛,學習了,感謝分享
回復

使用道具 舉報

ID:135915 發(fā)表于 2019-5-15 08:50 | 顯示全部樓層
請教樓主,這是完整程序嗎?
回復

使用道具 舉報

ID:506093 發(fā)表于 2019-5-16 11:29 | 顯示全部樓層
您好,我想請教下,這里輸出的脈沖為何用的是占空比為0.7的PWM?可不可以是方波的?我最近也在做這個驅(qū)動,我用的是方波驅(qū)動,感覺電機的步進有誤差
回復

使用道具 舉報

ID:506152 發(fā)表于 2019-5-16 20:18 | 顯示全部樓層
17851000590 發(fā)表于 2019-5-14 21:56
可愛的樓主,ena.dir,pul,共陰還是共陽接線

我這個是共陰接線
回復

使用道具 舉報

ID:506152 發(fā)表于 2019-5-16 20:20 | 顯示全部樓層
飛云 發(fā)表于 2019-5-16 11:29
您好,我想請教下,這里輸出的脈沖為何用的是占空比為0.7的PWM?可不可以是方波的?我最近也在做這個驅(qū)動, ...

0.7是隨便設的,占空比為0.6什么的都沒問題,主要是能給驅(qū)動器脈沖就行了
回復

使用道具 舉報

ID:531986 發(fā)表于 2019-5-16 21:43 | 顯示全部樓層
是不是引腳要加上拉電阻
回復

使用道具 舉報

ID:506152 發(fā)表于 2019-5-17 15:20 | 顯示全部樓層
troy2 發(fā)表于 2019-5-15 08:50
請教樓主,這是完整程序嗎?

如果線接的對,這個能讓電機轉(zhuǎn)起來。其實用PWM=~PWM; delay();這樣的語句也能讓電機轉(zhuǎn),不過用定時器控制的話,電機走一圈的時間相對來說更精確。
回復

使用道具 舉報

ID:506152 發(fā)表于 2019-5-17 15:22 | 顯示全部樓層
17851000590 發(fā)表于 2019-5-16 21:43
是不是引腳要加上拉電阻

單片機就是普通的單片機開發(fā)板,沒有加上拉電阻。
回復

使用道具 舉報

ID:522912 發(fā)表于 2019-5-29 13:21 | 顯示全部樓層
我采用的也是共陰極接法,為什么電機只響不轉(zhuǎn),同tb6600的藍燈閃爍正常,能指導一下么謝謝
回復

使用道具 舉報

ID:377842 發(fā)表于 2019-6-19 17:42 | 顯示全部樓層
同樣轉(zhuǎn)不了啊,到底是什么原因?
回復

使用道具 舉報

ID:371529 發(fā)表于 2019-6-25 09:55 | 顯示全部樓層
樓主能否發(fā)下你完整的程序,能使電機正轉(zhuǎn)反轉(zhuǎn)的。最近也在學這方面的東西,還不太懂,很是愁人。
回復

使用道具 舉報

ID:371529 發(fā)表于 2019-6-28 20:19 | 顯示全部樓層
為什么要輸出占空比為0.7的PWM波呢
回復

使用道具 舉報

ID:470571 發(fā)表于 2019-7-13 20:44 | 顯示全部樓層
哈哈我哈哈 發(fā)表于 2019-6-25 09:55
樓主能否發(fā)下你完整的程序,能使電機正轉(zhuǎn)反轉(zhuǎn)的。最近也在學這方面的東西,還不太懂,很是愁人。

正反轉(zhuǎn)直接該樓主代碼中的DIR值即可,(比如該1或0方向就是相反的)
回復

使用道具 舉報

ID:470571 發(fā)表于 2019-7-13 20:45 | 顯示全部樓層
請問樓主,脈沖的需要控制占空比嗎?我覺得不需要吧,我只是想請問你控制占空比是為了什么,是為了改變什么呢?
回復

使用道具 舉報

ID:523759 發(fā)表于 2019-7-19 12:30 | 顯示全部樓層
謝謝分享
回復

使用道具 舉報

ID:575976 發(fā)表于 2019-7-19 22:59 | 顯示全部樓層
我用STC15的硬件PWM寫帶緩沖控制556驅(qū)動2000的細分空載工作在1000rpm,是快還是慢?
回復

使用道具 舉報

ID:575976 發(fā)表于 2019-7-19 23:00 | 顯示全部樓層
641656606 發(fā)表于 2019-5-29 13:21
我采用的也是共陰極接法,為什么電機只響不轉(zhuǎn),同tb6600的藍燈閃爍正常,能指導一下么謝謝

頻率太快
回復

使用道具 舉報

ID:575976 發(fā)表于 2019-7-19 23:01 | 顯示全部樓層
ahjxszc 發(fā)表于 2019-5-12 22:05
電機正反轉(zhuǎn)應該怎么控制呢?

加在DIR上一個反向電平
回復

使用道具 舉報

ID:575976 發(fā)表于 2019-7-19 23:03 | 顯示全部樓層
哈哈我哈哈 發(fā)表于 2019-6-28 20:19
為什么要輸出占空比為0.7的PWM波呢

因為有的驅(qū)動脈寬太大,電機會一直處于負載狀態(tài)
回復

使用道具 舉報

ID:610895 發(fā)表于 2019-10-8 22:15 來自手機 | 顯示全部樓層
17851000590 發(fā)表于 2019-5-14 21:56
可愛的樓主,ena.dir,pul,共陰還是共陽接線

單片機IO口輸出大于20ma可以采用共陰接法,輸出不能保證20ma以上就只能采用共陽接法。這樣才能驅(qū)動光耦導通
回復

使用道具 舉報

ID:59423 發(fā)表于 2019-10-18 10:41 | 顯示全部樓層
嘗試下樓主的程序,
回復

使用道具 舉報

ID:629794 發(fā)表于 2019-10-26 15:40 | 顯示全部樓層
請問一下以上代碼就可以實現(xiàn)正反轉(zhuǎn)了嗎
回復

使用道具 舉報

ID:15372 發(fā)表于 2019-10-29 08:37 | 顯示全部樓層
我也在學這個,希望弄個繞線機的排線裝置。目標:繞線機轉(zhuǎn)動一圈輸出1個脈沖到單片機,單片機根據(jù)鍵盤輸入的漆包線直徑計算需要輸出的排線脈沖數(shù)到驅(qū)動器。一直希望弄這個東東,卻被單片機程序卡卡了
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

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