找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索

51單片機(jī)精確控制步進(jìn)電機(jī)(有TB6600驅(qū)動(dòng))

查看數(shù): 29168 | 評(píng)論數(shù): 50 | 收藏 14
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請(qǐng)稍候......
發(fā)布時(shí)間: 2019-4-9 22:22

正文摘要:

作為一個(gè)小白,我想記錄一下自己的學(xué)習(xí)過程,也和大家交流學(xué)習(xí)一下。 設(shè)備:51單片機(jī)開發(fā)板、TB6600驅(qū)動(dòng)器、57BYG250B步進(jìn)電機(jī)(二相)、直流開關(guān)電源。直流電源給驅(qū)動(dòng)器供電,單片機(jī)給驅(qū)動(dòng)器輸入脈沖,驅(qū)動(dòng)器驅(qū)動(dòng) ...

回復(fù)

ID:686387 發(fā)表于 2023-1-27 17:09
正在學(xué)習(xí)中,感謝分享,正是需要的資料
ID:1016796 發(fā)表于 2023-1-25 15:24
開環(huán)的控制,不能說精確,只能說控制
ID:582255 發(fā)表于 2023-1-16 22:32
請(qǐng)問樓主ENA和DIR怎么都沒有用到?還有一個(gè)疑問啊,停止是怎么操作?謝謝哈
ID:582255 發(fā)表于 2023-1-3 22:29
鬼推磨 發(fā)表于 2020-2-3 16:33
樓主用心良苦。讓我們練習(xí)打代碼出來。,不讓自己復(fù)制
。代碼我打好了:


請(qǐng)問你接了實(shí)物沒
ID:1005267 發(fā)表于 2022-2-15 15:45
17851000590 發(fā)表于 2019-5-10 16:13
麻煩問一下那個(gè)ENA,DIR,PUL六根線怎么接的啊

分陰極接法和陽極接法,陰極接時(shí),負(fù)端接單片機(jī),正端接5v電壓
ID:646536 發(fā)表于 2020-9-21 16:39
請(qǐng)問你采用的共陽極還是共陰極接法
ID:475031 發(fā)表于 2020-2-3 16:33
樓主用心良苦。讓我們練習(xí)打代碼出來。,不讓自己復(fù)制
。代碼我打好了:


#include <reg52.h>
unsigned char timerl;
sbit ENA=P2^2; //位定義ENA為P1.1, 控制步進(jìn)電機(jī)的使能
sbit DIR=P2^1; //位定義DIR為P1.0口,控制步進(jìn)電機(jī)轉(zhuǎn)向
sbit PWM=P2^0; //位定義PwM為P1.2,用來輸出PMw波


void system_Ini()
{
TMOD|= 0x11;
TH1 = 0xfe; //11.0592MHz 0. 5ms定時(shí)
TL1 = 0x33;
TR1 = 1; //啟動(dòng)T1定時(shí)器
IE =0x8A; //開r0,I1中斷,開總中斷
}


main()
{
system_Ini(); //調(diào)用子函數(shù)初始化定時(shí)器T1
while (1)
{
if (timerl>10)//原始是10
//此處10很關(guān)鍵,決定這一個(gè)脈沖的周期時(shí)間,此處o. 5ms*10=5ms
{
timerl=0; //輸出占空比為o.7的PwM波
}
if (timerl<3)
{
PWM=0;
}
else
{
PWM=1;
}
}
}
//[ t1 (0.5ms)中斷] 中斷中做PWM輸出1000/ (0. 02ms*250)
//--- 1000/ (0.02ms*250)=200Hz, 也就是1秒中輸出200個(gè)脈沖
void T1zd (void) interrupt 3 //開定時(shí)器1中斷
{
TH1 = 0xfe; //11.0592Hz,0. 5ms初始化定時(shí)器,讓定時(shí)器復(fù)位繼續(xù)定時(shí)
TL1 = 0x33;
timerl ++;
//計(jì)數(shù)+1
}
ID:683266 發(fā)表于 2020-1-10 11:52
資料可以分享一下么樓主
ID:411564 發(fā)表于 2019-12-16 13:57
可不可以一個(gè)信號(hào)十個(gè)脈沖,最快一秒鐘40~50個(gè)信號(hào),最慢幾秒鐘一個(gè)
ID:411564 發(fā)表于 2019-12-16 13:53
可不可以一個(gè)信號(hào)十個(gè)脈沖,最快一秒鐘有四十個(gè)信號(hào),最慢一秒鐘一個(gè)
ID:643296 發(fā)表于 2019-11-16 18:45
本帖最后由 jjj012 于 2019-11-21 16:59 編輯

請(qǐng)問需要達(dá)到每分鐘7000轉(zhuǎn)程序應(yīng)該怎么修改呢
ID:15372 發(fā)表于 2019-10-29 08:37
我也在學(xué)這個(gè),希望弄個(gè)繞線機(jī)的排線裝置。目標(biāo):繞線機(jī)轉(zhuǎn)動(dòng)一圈輸出1個(gè)脈沖到單片機(jī),單片機(jī)根據(jù)鍵盤輸入的漆包線直徑計(jì)算需要輸出的排線脈沖數(shù)到驅(qū)動(dòng)器。一直希望弄這個(gè)東東,卻被單片機(jī)程序卡卡了
ID:629794 發(fā)表于 2019-10-26 15:40
請(qǐng)問一下以上代碼就可以實(shí)現(xiàn)正反轉(zhuǎn)了嗎
ID:59423 發(fā)表于 2019-10-18 10:41
嘗試下樓主的程序,
ID:610895 發(fā)表于 2019-10-8 22:15
17851000590 發(fā)表于 2019-5-14 21:56
可愛的樓主,ena.dir,pul,共陰還是共陽接線

單片機(jī)IO口輸出大于20ma可以采用共陰接法,輸出不能保證20ma以上就只能采用共陽接法。這樣才能驅(qū)動(dòng)光耦導(dǎo)通
ID:575976 發(fā)表于 2019-7-19 23:03
哈哈我哈哈 發(fā)表于 2019-6-28 20:19
為什么要輸出占空比為0.7的PWM波呢

因?yàn)橛械尿?qū)動(dòng)脈寬太大,電機(jī)會(huì)一直處于負(fù)載狀態(tài)
ID:575976 發(fā)表于 2019-7-19 23:01
ahjxszc 發(fā)表于 2019-5-12 22:05
電機(jī)正反轉(zhuǎn)應(yīng)該怎么控制呢?

加在DIR上一個(gè)反向電平
ID:575976 發(fā)表于 2019-7-19 23:00
641656606 發(fā)表于 2019-5-29 13:21
我采用的也是共陰極接法,為什么電機(jī)只響不轉(zhuǎn),同tb6600的藍(lán)燈閃爍正常,能指導(dǎo)一下么謝謝

頻率太快
ID:575976 發(fā)表于 2019-7-19 22:59
我用STC15的硬件PWM寫帶緩沖控制556驅(qū)動(dòng)2000的細(xì)分空載工作在1000rpm,是快還是慢?
ID:523759 發(fā)表于 2019-7-19 12:30
謝謝分享
ID:470571 發(fā)表于 2019-7-13 20:45
請(qǐng)問樓主,脈沖的需要控制占空比嗎?我覺得不需要吧,我只是想請(qǐng)問你控制占空比是為了什么,是為了改變什么呢?
ID:470571 發(fā)表于 2019-7-13 20:44
哈哈我哈哈 發(fā)表于 2019-6-25 09:55
樓主能否發(fā)下你完整的程序,能使電機(jī)正轉(zhuǎn)反轉(zhuǎn)的。最近也在學(xué)這方面的東西,還不太懂,很是愁人。

正反轉(zhuǎn)直接該樓主代碼中的DIR值即可,(比如該1或0方向就是相反的)
ID:371529 發(fā)表于 2019-6-28 20:19
為什么要輸出占空比為0.7的PWM波呢
ID:371529 發(fā)表于 2019-6-25 09:55
樓主能否發(fā)下你完整的程序,能使電機(jī)正轉(zhuǎn)反轉(zhuǎn)的。最近也在學(xué)這方面的東西,還不太懂,很是愁人。
ID:377842 發(fā)表于 2019-6-19 17:42
同樣轉(zhuǎn)不了啊,到底是什么原因?
ID:522912 發(fā)表于 2019-5-29 13:21
我采用的也是共陰極接法,為什么電機(jī)只響不轉(zhuǎn),同tb6600的藍(lán)燈閃爍正常,能指導(dǎo)一下么謝謝
ID:506152 發(fā)表于 2019-5-17 15:22
17851000590 發(fā)表于 2019-5-16 21:43
是不是引腳要加上拉電阻

單片機(jī)就是普通的單片機(jī)開發(fā)板,沒有加上拉電阻。
ID:506152 發(fā)表于 2019-5-17 15:20
troy2 發(fā)表于 2019-5-15 08:50
請(qǐng)教樓主,這是完整程序嗎?

如果線接的對(duì),這個(gè)能讓電機(jī)轉(zhuǎn)起來。其實(shí)用PWM=~PWM; delay();這樣的語句也能讓電機(jī)轉(zhuǎn),不過用定時(shí)器控制的話,電機(jī)走一圈的時(shí)間相對(duì)來說更精確。
ID:531986 發(fā)表于 2019-5-16 21:43
是不是引腳要加上拉電阻
ID:506152 發(fā)表于 2019-5-16 20:20
飛云 發(fā)表于 2019-5-16 11:29
您好,我想請(qǐng)教下,這里輸出的脈沖為何用的是占空比為0.7的PWM?可不可以是方波的?我最近也在做這個(gè)驅(qū)動(dòng), ...

0.7是隨便設(shè)的,占空比為0.6什么的都沒問題,主要是能給驅(qū)動(dòng)器脈沖就行了
ID:506152 發(fā)表于 2019-5-16 20:18
17851000590 發(fā)表于 2019-5-14 21:56
可愛的樓主,ena.dir,pul,共陰還是共陽接線

我這個(gè)是共陰接線
ID:506093 發(fā)表于 2019-5-16 11:29
您好,我想請(qǐng)教下,這里輸出的脈沖為何用的是占空比為0.7的PWM?可不可以是方波的?我最近也在做這個(gè)驅(qū)動(dòng),我用的是方波驅(qū)動(dòng),感覺電機(jī)的步進(jìn)有誤差
ID:135915 發(fā)表于 2019-5-15 08:50
請(qǐng)教樓主,這是完整程序嗎?
ID:538517 發(fā)表于 2019-5-15 02:41
牛,學(xué)習(xí)了,感謝分享
ID:531986 發(fā)表于 2019-5-14 22:09
Jachin98 發(fā)表于 2019-5-12 14:25
共陰或者共陽連接,上面標(biāo)注的正負(fù)號(hào)就是有效電平。
比如你共陽接,那PUL+,DIR+,ENA+接開發(fā)板5V接口, ...

接好了,你的程序轉(zhuǎn)不起來
ID:531986 發(fā)表于 2019-5-14 21:58
Jachin98 發(fā)表于 2019-5-12 14:25
共陰或者共陽連接,上面標(biāo)注的正負(fù)號(hào)就是有效電平。
比如你共陽接,那PUL+,DIR+,ENA+接開發(fā)板5V接口, ...

謝謝樓主
ID:531986 發(fā)表于 2019-5-14 21:56
可愛的樓主,ena.dir,pul,共陰還是共陽接線
ID:530889 發(fā)表于 2019-5-13 13:20
ahjxszc 發(fā)表于 2019-5-12 22:05
電機(jī)正反轉(zhuǎn)應(yīng)該怎么控制呢?

就TB6600DIR給個(gè)相反的電平就反轉(zhuǎn)了,或者你把A+——A-——B+——B-順序反一下就好了叭
ID:536494 發(fā)表于 2019-5-12 22:05
電機(jī)正反轉(zhuǎn)應(yīng)該怎么控制呢?
ID:530889 發(fā)表于 2019-5-12 14:28
感謝,最近也在用TB6600控制42步進(jìn)電機(jī),初學(xué)小白定時(shí)器還不會(huì)用,看你的感覺一下很清晰了

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

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

快速回復(fù) 返回頂部 返回列表