熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(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) ... |
正在學(xué)習(xí)中,感謝分享,正是需要的資料 |
開環(huán)的控制,不能說精確,只能說控制 |
請(qǐng)問樓主ENA和DIR怎么都沒有用到?還有一個(gè)疑問啊,停止是怎么操作?謝謝哈 |
鬼推磨 發(fā)表于 2020-2-3 16:33 ![]() 請(qǐng)問你接了實(shí)物沒 |
17851000590 發(fā)表于 2019-5-10 16:13 分陰極接法和陽極接法,陰極接時(shí),負(fù)端接單片機(jī),正端接5v電壓 |
請(qǐng)問你采用的共陽極還是共陰極接法 |
樓主用心良苦。讓我們練習(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 } |
資料可以分享一下么樓主 |
可不可以一個(gè)信號(hào)十個(gè)脈沖,最快一秒鐘40~50個(gè)信號(hào),最慢幾秒鐘一個(gè) |
可不可以一個(gè)信號(hào)十個(gè)脈沖,最快一秒鐘有四十個(gè)信號(hào),最慢一秒鐘一個(gè) |
本帖最后由 jjj012 于 2019-11-21 16:59 編輯 請(qǐng)問需要達(dá)到每分鐘7000轉(zhuǎn)程序應(yīng)該怎么修改呢 |
我也在學(xué)這個(gè),希望弄個(gè)繞線機(jī)的排線裝置。目標(biāo):繞線機(jī)轉(zhuǎn)動(dòng)一圈輸出1個(gè)脈沖到單片機(jī),單片機(jī)根據(jù)鍵盤輸入的漆包線直徑計(jì)算需要輸出的排線脈沖數(shù)到驅(qū)動(dòng)器。一直希望弄這個(gè)東東,卻被單片機(jī)程序卡卡了 |
請(qǐng)問一下以上代碼就可以實(shí)現(xiàn)正反轉(zhuǎn)了嗎 |
嘗試下樓主的程序, |
17851000590 發(fā)表于 2019-5-14 21:56 單片機(jī)IO口輸出大于20ma可以采用共陰接法,輸出不能保證20ma以上就只能采用共陽接法。這樣才能驅(qū)動(dòng)光耦導(dǎo)通 |
哈哈我哈哈 發(fā)表于 2019-6-28 20:19 因?yàn)橛械尿?qū)動(dòng)脈寬太大,電機(jī)會(huì)一直處于負(fù)載狀態(tài) |
ahjxszc 發(fā)表于 2019-5-12 22:05 加在DIR上一個(gè)反向電平 |
641656606 發(fā)表于 2019-5-29 13:21 頻率太快 |
我用STC15的硬件PWM寫帶緩沖控制556驅(qū)動(dòng)2000的細(xì)分空載工作在1000rpm,是快還是慢? |
謝謝分享 |
請(qǐng)問樓主,脈沖的需要控制占空比嗎?我覺得不需要吧,我只是想請(qǐng)問你控制占空比是為了什么,是為了改變什么呢? |
哈哈我哈哈 發(fā)表于 2019-6-25 09:55 正反轉(zhuǎn)直接該樓主代碼中的DIR值即可,(比如該1或0方向就是相反的) |
為什么要輸出占空比為0.7的PWM波呢 |
樓主能否發(fā)下你完整的程序,能使電機(jī)正轉(zhuǎn)反轉(zhuǎn)的。最近也在學(xué)這方面的東西,還不太懂,很是愁人。 |
![]() |
我采用的也是共陰極接法,為什么電機(jī)只響不轉(zhuǎn),同tb6600的藍(lán)燈閃爍正常,能指導(dǎo)一下么謝謝 |
17851000590 發(fā)表于 2019-5-16 21:43 單片機(jī)就是普通的單片機(jī)開發(fā)板,沒有加上拉電阻。 |
troy2 發(fā)表于 2019-5-15 08:50 如果線接的對(duì),這個(gè)能讓電機(jī)轉(zhuǎn)起來。其實(shí)用PWM=~PWM; delay();這樣的語句也能讓電機(jī)轉(zhuǎn),不過用定時(shí)器控制的話,電機(jī)走一圈的時(shí)間相對(duì)來說更精確。 |
是不是引腳要加上拉電阻 |
飛云 發(fā)表于 2019-5-16 11:29 0.7是隨便設(shè)的,占空比為0.6什么的都沒問題,主要是能給驅(qū)動(dòng)器脈沖就行了 |
17851000590 發(fā)表于 2019-5-14 21:56 我這個(gè)是共陰接線 |
您好,我想請(qǐng)教下,這里輸出的脈沖為何用的是占空比為0.7的PWM?可不可以是方波的?我最近也在做這個(gè)驅(qū)動(dòng),我用的是方波驅(qū)動(dòng),感覺電機(jī)的步進(jìn)有誤差 |
請(qǐng)教樓主,這是完整程序嗎? |
牛,學(xué)習(xí)了,感謝分享 |
Jachin98 發(fā)表于 2019-5-12 14:25 接好了,你的程序轉(zhuǎn)不起來 |
Jachin98 發(fā)表于 2019-5-12 14:25 謝謝樓主 |
可愛的樓主,ena.dir,pul,共陰還是共陽接線 |
ahjxszc 發(fā)表于 2019-5-12 22:05 就TB6600DIR給個(gè)相反的電平就反轉(zhuǎn)了,或者你把A+——A-——B+——B-順序反一下就好了叭 |
電機(jī)正反轉(zhuǎn)應(yīng)該怎么控制呢? |
感謝,最近也在用TB6600控制42步進(jìn)電機(jī),初學(xué)小白定時(shí)器還不會(huì)用,看你的感覺一下很清晰了 |
Powered by 單片機(jī)教程網(wǎng)