




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、51單片機控制四相步進電機接觸單片機快兩年了,不過只是非常業(yè)余的興趣,實踐卻不多,到現(xiàn)在還算是個初學者吧。這幾天給自己的任務就是搞定步進電機的單片機控制。以前曾看過有關(guān)步進電機原理和控制的資料,畢竟自己沒有做過,對其具體原理還不是很清楚。今天從淘寶網(wǎng)買了一個EPSON的UMX-1型步進電機,此步進電機為雙極性四相,接線共有六根,外形如下圖所示:拿到步進電機,根據(jù)以前看書對四相步進電機的了解,我對它進行了初步的測試,就是將5伏電源的正端接上最邊上兩根褐色的線,然后用5伏電源的地線分別和另外四根線(紅、蘭、白、橙)依次接觸,發(fā)現(xiàn)每接觸一下,步進電機便轉(zhuǎn)動一個角度,來回五次,電機剛好轉(zhuǎn)一圈,說明此步
2、進電機的步進角度為360/(4×5)18度。地線與四線接觸的順序相反,電機的轉(zhuǎn)向也相反。如果用單片機來控制此步進電機,則只需分別依次給四線一定時間的脈沖電流,電機便可連續(xù)轉(zhuǎn)動起來。通過改變脈沖電流的時間間隔,就可以實現(xiàn)對轉(zhuǎn)速的控制;通過改變給四線脈沖電流的順序,則可實現(xiàn)對轉(zhuǎn)向的控制。所以,設計了如下電路圖:制作的實物圖如下:C51程序代碼為:代碼一#include <AT89X51.h> static unsigned int count;static unsigned int endcount;void delay();void main(void) co
3、unt = 0; P1_0 = 0; P1_1 = 0; P1_2 = 0; P1_3 = 0; EA = 1; /允許CPU中斷 TMOD = 0x11; /設定時器0和1為16位模式1 ET0 = 1; /定
4、時器0中斷允許TH0 = 0xFC; TL0 = 0x18; /設定時每隔1ms中斷一次 TR0 = 1; /開始計數(shù)startrun: P1_3 = 0; P1_0 = 1; delay(); P1_0 = 0; P1_1 = 1; delay(); P1_1 = 0;
5、; P1_2 = 1; delay(); P1_2 = 0; P1_3 = 1; delay(); goto startrun; /定時器0中斷處理void timeint(void) interrupt 1 TH0=0xFC; TL0=0x18; /設定時每隔1ms中斷一次 count+;void delay() endcount=2; count=0; dowhile(count<endcount);將上面的程序編譯,用ISP下載線下載至單片機運行,
6、步進電機便轉(zhuǎn)動起來了,初步告捷!不過,上面的程序還只是實現(xiàn)了步進電機的初步控制,速度和方向的控制還不夠靈活,另外,由于沒有利用步進電機內(nèi)線圈之間的“中間狀態(tài)”,步進電機的步進角度為18度。所以,我將程序代碼改進了一下,如下:代碼二#include <AT89X51.h> static unsigned int count;static int step_index;void delay(unsigned int endcount);void gorun(bit turn, unsigned int speedlevel);void main(void) count =
7、 0; step_index = 0; P1_0 = 0; P1_1 = 0; P1_2 = 0; P1_3 = 0; EA = 1; /允許CPU中斷 TMOD = 0x11; /設定時器0和1為16位模式1 ET0 = 1;
8、0; /定時器0中斷允許TH0 = 0xFE; TL0 = 0x0C; /設定時每隔0.5ms中斷一次 TR0 = 1; /開始計數(shù) do gorun(1,60); while(1); /定時器0中斷處理void timeint(void) interrupt 1 TH0=0xFE; TL0=0x0C; /設定時每隔0.5ms中斷一次 count+;
9、void delay(unsigned int endcount) count=0; dowhile(count<endcount);void gorun(bit turn,unsigned int speedlevel) switch(step_index) case 0: P1_0 = 1; P1_1 = 0; P1_2 = 0; P1_3 = 0;
10、0; break; case 1: P1_0 = 1; P1_1 = 1; P1_2 = 0; P1_3 = 0; break; case 2: P1_0 = 0; P1_1 = 1; P1_2 = 0; P1_3 = 0;
11、160; break; case 3: P1_0 = 0; P1_1 = 1; P1_2 = 1; P1_3 = 0; break; case 4: P1_0 = 0; P1_1 = 0; P1_2 = 1; P1_3 = 0;
12、 break; case 5: P1_0 = 0; P1_1 = 0; P1_2 = 1; P1_3 = 1; break; case 6: P1_0 = 0; P1_1 = 0; P1_2 = 0; P1_3 = 1;
13、0; break; case 7: P1_0 = 1; P1_1 = 0; P1_2 = 0; P1_3 = 1; delay(speedlevel); if (turn=0) step_index+; if (step_index>7) s
14、tep_index=0; else step_index-; if (step_index<0) step_index=7; 改進的代碼能實現(xiàn)速度和方向的控制,而且,通過step_index靜態(tài)全局變量能“記住”步進電機的步進位置,下次調(diào)用 gorun()函數(shù)時則可直接從上次步進位置繼續(xù)轉(zhuǎn)動,從而實現(xiàn)精確步進;另外,由于利用了步進電機內(nèi)線圈之間的“中間狀態(tài)”,步進角度減
15、小了一半,只為9度,低速運轉(zhuǎn)也相對穩(wěn)定一些了。但是,在代碼二中,步進電機的運轉(zhuǎn)控制是在主函數(shù)中,如果程序還需執(zhí)行其它任務,則有可能使步進電機的運轉(zhuǎn)收到影響,另外還有其它方面的不便,總之不是很完美的控制。所以我又將代碼再次改進:代碼三#include <AT89X51.h> static unsigned int count; /計數(shù)static int step_index; /步進索引數(shù),值為07static bit turn; /步進電機轉(zhuǎn)動方向static bit stop_flag; /步進電機停止標志static int s
16、peedlevel; /步進電機轉(zhuǎn)速參數(shù),數(shù)值越大速度越慢,最小值為1,速度最快static int spcount; /步進電機轉(zhuǎn)速參數(shù)計數(shù)void delay(unsigned int endcount); /延時函數(shù),延時為endcount*0.5毫秒void gorun(); /步進電機控制步進函數(shù)void main(void) count = 0; step_index = 0; spcount
17、 = 0; stop_flag = 0;P1_0 = 0; P1_1 = 0; P1_2 = 0; P1_3 = 0;EA = 1; /允許CPU中斷 TMOD = 0x11; /設定時器0和1為16位模式1 ET0 = 1; /定時器0中斷允許TH0 = 0
18、xFE; TL0 = 0x0C; /設定時每隔0.5ms中斷一次 TR0 = 1; /開始計數(shù) turn = 0;speedlevel = 2; delay(10000); speedlevel = 1; do speedlevel = 2; delay(10000); speedlevel = 1;
19、 delay(10000); stop_flag=1; delay(10000); stop_flag=0; while(1); /定時器0中斷處理 void timeint(void) interrupt 1 TH0=0xFE; TL0=0x0C; /設定時每隔0.5ms中斷一次 count+; spcount-; if(spcount<=0) &
20、#160; spcount = speedlevel; gorun(); void delay(unsigned int endcount) count=0; dowhile(count<endcount);void gorun() if (stop_flag=1) P1_0 = 0; P1_1 = 0; P1_2 = 0; P1_3 =
21、 0; return; switch(step_index) case 0: /0 P1_0 = 1; P1_1 = 0; P1_2 = 0; P1_3 = 0; break; case 1: /0、1 P1_0 = 1; P1_1 = 1;
22、60; P1_2 = 0; P1_3 = 0; break; case 2: /1 P1_0 = 0; P1_1 = 1; P1_2 = 0; P1_3 = 0; break; case 3: /1、2 P1_0 = 0; P1
23、_1 = 1; P1_2 = 1; P1_3 = 0; break; case 4: /2 P1_0 = 0; P1_1 = 0; P1_2 = 1; P1_3 = 0; break; case 5: /2、3 P1_0 = 0;
24、; P1_1 = 0; P1_2 = 1; P1_3 = 1; break; case 6: /3 P1_0 = 0; P1_1 = 0; P1_2 = 0; P1_3 = 1; break; case 7: /3、0 P1_0
25、 = 1; P1_1 = 0; P1_2 = 0; P1_3 = 1; if (turn=0) step_index+; if (step_index>7) step_index=0; else step_index-;
26、60; if (step_index<0) step_index=7; 在代碼三中,我將步進電機的運轉(zhuǎn)控制放在時間中斷函數(shù)之中,這樣主函數(shù)就能很方便的加入其它任務的執(zhí)行,而對步進電機的運轉(zhuǎn)不產(chǎn)生影響。在此代碼中,不但實現(xiàn)了步進電機的轉(zhuǎn)速和轉(zhuǎn)向的控制,另外還加了一個停止的功能,呵呵,這肯定是需要的。步進電機從靜止到高速轉(zhuǎn)動需要一個加速的過程,否則電機很容易被“卡住”,代碼一、二實現(xiàn)加速不是很方便,而在代碼三中,加速則很容易了。在此代碼中,當轉(zhuǎn)速參數(shù)speedlevel
27、為2時,可以算出,此時步進電機的轉(zhuǎn)速為1500RPM,而當轉(zhuǎn)速參數(shù)speedlevel 1時,轉(zhuǎn)速為3000RPM。當步進電機停止,如果直接將speedlevel 設為1,此時步進電機將被“卡住”,而如果先把speedlevel 設為2,讓電機以1500RPM的轉(zhuǎn)速轉(zhuǎn)起來,幾秒種后,再把speedlevel 設為1,此時電機就能以3000RPM的轉(zhuǎn)速高速轉(zhuǎn)動,這就是“加速”的效果。在此電路中,考慮到電流的緣故,我用的NPN三極管是S8050,它的電流最大可達1500mA,而在實際運轉(zhuǎn)中,我用萬用表測了一下,當轉(zhuǎn)速為1500RPM時,步進電機的電流只有90mA左右,電機發(fā)熱量較小,當轉(zhuǎn)速為60R
28、PM時,步進電機的電流為200mA左右,電機發(fā)熱量較大,所以NPN三極管也可以選用9013,對于電機發(fā)熱量大的問題,可加一個10歐到20歐的限流電阻,不過這樣步進電機的功率將會變小。51單片機驅(qū)動步進電機電路及程序在這里介紹一下用51單片機驅(qū)動步進電機的方法。 這款步進電機的驅(qū)動電壓12V,步進角為 7.5度 . 一圈 360 度 , 需要 48 個脈沖完成! 該步進電機有6根引線,排列次序如下:1:紅色、2:紅色、3:橙色、4:棕色、5:黃色、6:黑色。采用51驅(qū)動ULN2003的方法進行驅(qū)動。 ULN2003的驅(qū)動直接用單片機系統(tǒng)的5V電壓,可能力矩不是很大
29、,大家可自行加大驅(qū)動電壓到12V。 *;*步進電機的驅(qū)動*; DESIGN BY BENLADN911 FOSC = 12MHz 2005.05.19;-; 步進電機的驅(qū)動信號必須為脈沖信號! 轉(zhuǎn)動的速度和脈沖的頻率成正比!; 本步進電機步進角為 7.5度 . 一圈 360 度 , 需要 48 個脈沖完成!;-; A組線圈對應 P2.4; B組線圈對應 P2.5; C組線圈對應 P2.6; D組線圈對應 P2.7; 正轉(zhuǎn)次序: AB組-BC組-CD組-DA組 (即一個脈沖,正轉(zhuǎn) 7.5 度);-;-正轉(zhuǎn)- OR
30、G 0000H LJMP MAINORG 0100HMAIN:MOV R3,#144 正轉(zhuǎn) 3 圈共 144 脈沖START:MOV R0,#00HSTART1:MOV P2,#00HMOV A,R0MOV DPTR,#TABLEMOVC A,A+DPTRJZ START 對 A 的判斷,當 A = 0 時則轉(zhuǎn)到 STARTMOV P2,ALCALL DELAYINC R0DJNZ R3,START1MOV P2,#00HLCALL DELAY1;-反轉(zhuǎn)-MOV R3,#144 反轉(zhuǎn)一圈共 144 個脈沖STA
31、RT2:MOV P2,#00HMOV R0,#05START3:MOV A,R0MOV DPTR,#TABLEMOVC A,A+DPTRJZ START2MOV P2,ACALL DELAYINC R0DJNZ R3,START3MOV P2,#00HLCALL DELAY1LJMP MAINDELAY: MOV R7,#40 步進電機的轉(zhuǎn)速M3: MOV R6,#248 DJNZ R6,$ DJNZ R7,M3 RETDELAY1: MOV R4,#20 2S 延時子程序DEL2: MOV
32、 R3,#200DEL3: MOV R2,#250 DJNZ R2,$ DJNZ R3,DEL3 DJNZ
33、; R4,DEL2 RETTABLE:DB 30H,60H,0C0H,90H 正轉(zhuǎn)表DB 00 正轉(zhuǎn)結(jié)束DB 30H,90H,0C0H,60H 反轉(zhuǎn)表DB 00 反轉(zhuǎn)結(jié)束END主題: 單片機控制步進電機驅(qū)動器工作原理 步進電機在控制系統(tǒng)中具有廣泛的應用。它可以把脈沖信號轉(zhuǎn)換成角位移,并且可用作電磁制動輪、電磁差分器、或角位移發(fā)生器等。有時從一些舊設備上拆下的步進電機(這種電機一般沒有損壞)要改作它用,一般需
34、自己設計驅(qū)動器。本文介紹的就是為從一日本產(chǎn)舊式打印機上拆下的步進電機而設計的驅(qū)動器。 本文先介紹該步進電機的工作原理,然后介紹了其驅(qū)動器的軟、硬件設計。 1. 步進電機的工作原理 該步進電機為一四相步進電機,采用單極性直流電源供電。只要對步進電機的各相繞組按合適的時序通電,就能使步進電機步進轉(zhuǎn)動。圖1是該四相反應式步進電機工作原理示意圖 圖1 四相步進電機步進示意圖 開始時,開關(guān)SB接通電源,SA、SC、SD斷開,B相磁極和轉(zhuǎn)子0、3號齒對齊,同時,轉(zhuǎn)子的1、4號齒就和C、D
35、相繞組磁極產(chǎn)生錯齒,2、5號齒就和D、A相繞組磁極產(chǎn)生錯齒。 當開關(guān)SC接通電源,SB、SA、SD斷開時,由于C相繞組的磁力線和1、4號齒之間磁力線的作用,使轉(zhuǎn)子轉(zhuǎn)動,1、4號齒和C相繞組的磁極對齊。而0、3號齒和A、B相繞組產(chǎn)生錯齒,2、5號齒就和A、D相繞組磁極產(chǎn)生錯齒。依次類推,A、B、C、D四相繞組輪流供電,則轉(zhuǎn)子會沿著A、B、C、D方向轉(zhuǎn)動。 四相步進電機按照通電順序的不同,可分為單四拍、雙四拍、八拍三種工作方式。單四拍與雙四拍的步距角相等,但單四拍的轉(zhuǎn)動力矩小。八拍工作方式的步距角是單四拍與雙四拍的一半,因此,
36、八拍工作方式既可以保持較高的轉(zhuǎn)動力矩又可以提高控制精度。 單四拍、雙四拍與八拍工作方式的電源通電時序與波形分別如圖2.a、b、c所示: a. 單四拍
37、; b. 雙四拍
38、60; c八拍圖2.步進電機工作時序波形圖2.基于AT89C2051的步進電機驅(qū)動器系統(tǒng)電路原理步進電機驅(qū)動器系統(tǒng)電路原理如圖3: 圖3 步進電機驅(qū)動器系統(tǒng)電路原理圖 AT89C2051將控制脈沖從P1口的P1.4P1.7輸出,經(jīng)74LS14反相后進入9014,經(jīng)9014放大后控制光電開關(guān),光電隔離后,由功率管TIP122將脈沖信號進行電壓和電流放大,驅(qū)動步進電機的各相繞組。使步進電機隨著不同的脈沖信號分別作正轉(zhuǎn)、反轉(zhuǎn)、加速、減速和停止等動
39、作。圖中L1為步進電機的一相繞組。AT89C2051選用頻率22MHz的晶振,選用較高晶振的目的是為了在方式2下盡量減小AT89C2051對上位機脈沖信號周期的影響。 圖3中的RL1RL4為繞組內(nèi)阻,50電阻是一外接電阻,起限流作用,也是一個改善回路時間常數(shù)的元件。D1D4為續(xù)流二極管,使電機繞組產(chǎn)生的反電動勢通過續(xù)流二極管(D1D4)而衰減掉,從而保護了功率管TIP122不受損壞。 在50外接電阻上并聯(lián)一個200F電容,可以改善注入步進電機繞組的電流脈沖前沿,提高了步進電機的高頻性能。與續(xù)流二極管串聯(lián)的200電阻可減小回
40、路的放電時間常數(shù),使繞組中電流脈沖的后沿變陡,電流下降時間變小,也起到提高高頻工作性能的作用。3.軟件設計該驅(qū)動器根據(jù)撥碼開關(guān)KX、KY的不同組合有三種工作方式供選擇:方式1為中斷方式:P3.5(INT1)為步進脈沖輸入端,P3.7為正反轉(zhuǎn)脈沖輸入端。上位機(PC機或單片機)與驅(qū)動器僅以2條線相連。方式2為串行通訊方式:上位機(PC機或單片機)將控制命令發(fā)送給驅(qū)動器,驅(qū)動器根據(jù)控制命令自行完成有關(guān)控制過程。方式3為撥碼開關(guān)控制方式:通過K1K5的不同組合,直接控制步進電機。當上電或按下復位鍵KR后,AT89C2051先檢測撥碼開關(guān)KX、KY的狀態(tài),根據(jù)KX、KY 的不同組合,進入不同的工作方式
41、。以下給出方式1的程序流程框圖與源程序。在程序的編制中,要特別注意步進電機在換向時的處理。為使步進電機在換向時能平滑過渡,不至于產(chǎn)生錯步,應在每一步中設置標志位。其中20H單元的各位為步進電機正轉(zhuǎn)標志位;21H單元各位為反轉(zhuǎn)標志位。在正轉(zhuǎn)時,不僅給正轉(zhuǎn)標志位賦值,也同時給反轉(zhuǎn)標志位賦值;在反轉(zhuǎn)時也如此。這樣,當步進電機換向時,就可以上一次的位置作為起點反向運動,避免了電機換向時產(chǎn)生錯步。 圖4 方式1程序框圖方式1源程序: MOV 20H,#00H
42、160; ;20H單元置初值,電機正轉(zhuǎn)位置指針 MOV 21H,#00H ;21H單元置初值,電機反轉(zhuǎn)位置指針 MOV
43、P1,#0C0H ;P1口置初值,防止電機上電短路 MOV TMOD,#60H ;T1計數(shù)器置初值,開中斷 MOV
44、60; TL1,#0FFH MOV TH1,#0FFH SETB ET1 SETB EA SETB TR1 SJMP
45、160; $;*計數(shù)器1中斷程序*IT1P: JB P3.7,FAN ;電機正、反轉(zhuǎn)指針;*電機正轉(zhuǎn)* JB
46、 00H,LOOP0 JB 01H,LOOP1 JB
47、0; 02H,LOOP2 JB 03H,LOOP3 JB 04H,LOOP4
48、0; JB 05H,LOOP5 JB 06H,LOOP6
49、160; JB 07H,LOOP7LOOP0: MOV P1,#0D0H MOV 2
50、0H,#02H MOV 21H,#40H AJMP QUITLOOP1: MOV
51、160; P1,#090H MOV 20H,#04H MOV 21H,#
52、20H AJMP QUITLOOP2: MOV P1,#0B0H MOV
53、 20H,#08H MOV 21H,#10H AJMP QUITLOOP3:
54、0; MOV P1,#030H MOV 20H,#10H MOV
55、0; 21H,#08H AJMP QUITLOOP4: MOV P1,#070H
56、160; MOV 20H,#20H MOV 21H,#04H AJMP &
57、#160; QUITLOOP5: MOV P1,#060H MOV 20H,#40H
58、 MOV 21H,#02H AJMP QUITLOOP6: MOV P1,#0E0H
59、 MOV 20H,#80H MOV 21H,#01H
60、0; AJMP QUITLOOP7: MOV P1,#0C0H MOV 20H,#01H
61、0; MOV 21H,#80H AJMP QUIT;*電機反轉(zhuǎn)*FAN: JB
62、60; 08H,LOOQ0 JB 09H,LOOQ1 JB &
63、#160; 0AH,LOOQ2 JB 0BH,LOOQ3 JB 0CH,LOOQ4 &
64、#160; JB 0DH,LOOQ5 JB 0EH,LOOQ6
65、; JB 0FH,LOOQ7LOOQ0: MOV P1,#0A0H MOV
66、; 21H,#02H MOV 20H,#40H AJMP QUITLOOQ1: MOV
67、; P1,#0E0H MOV 21H,#04H MOV 20
68、H,#20H AJMP QUITLOOQ2: MOV P1,#0C0H MOV
69、60; 21H,#08H MOV 20H,#10H AJMP QUITLOOQ3:&
70、#160; MOV P1,#0D0H MOV 21H,#10H MOV &
71、#160; 20H,#08H AJMP QUITLOOQ4: MOV P1,#050H
72、; MOV 21H,#20H MOV 20H,#04H AJMP
73、0; QUITLOOQ5: MOV P1,#070H MOV 21H,#40H
74、60; MOV 20H,#02H AJMP QUITLOOQ6: MOV P1,#030H
75、60; MOV 21H,#80H MOV 20H,#01H &
76、#160; AJMP QUITLOOQ7: MOV P1,#0B0H MOV 21H,#01H &
77、#160; MOV 20H,#80HQUIT: RETI END4.結(jié)論 該驅(qū)動器經(jīng)實驗驗證能驅(qū)動0.5N.m的步進電機。將驅(qū)動部分的電阻、電容及續(xù)流二極管
78、的有關(guān)參數(shù)加以調(diào)整,可驅(qū)動1.2N.m的步進電機。該驅(qū)動器電路簡單可靠,結(jié)構(gòu)緊湊,對于I/O口線與單片機資源緊張的系統(tǒng)來說特別適用。步進電機的選用計算方法步進電機是一種能將數(shù)字輸入脈沖轉(zhuǎn)換成旋轉(zhuǎn)或直線增量運動的電磁執(zhí)行元件。每輸入一個脈沖電機轉(zhuǎn)軸步進一個步距角增量 步進電機是一種能將數(shù)字輸入脈沖轉(zhuǎn)換成旋轉(zhuǎn)或直線增量運動的電磁執(zhí)行元件。每輸入一個脈沖電機轉(zhuǎn)軸步進一個步距角增量。電機總的回轉(zhuǎn)角與輸入脈沖數(shù)成正比例,相應的轉(zhuǎn)速取決于輸入脈沖頻率。 步進電機是機電一體化產(chǎn)品中關(guān)鍵部件之一,通常被用作定位控制和定速控制。步進電機慣量低、定位精度高、無累積誤差、控制簡單等特點。廣泛應用于機電一體化產(chǎn)品中,
79、如:數(shù)控機床、包裝機械、計算機外圍設備、復印機、傳真機等。 選擇步進電機時,首先要保證步進電機的輸出功率大于負載所需的功率。而在選用功率步進電機時,首先要計算機械系統(tǒng)的負載轉(zhuǎn)矩,電機的矩頻特性能滿足機械負載并有一定的余量保證其運行可靠。在實際工作過程中,各種頻率下的負載力矩必須在矩頻特性曲線的范圍內(nèi)。一般地說最大靜力矩Mjmax大的電機,負載力矩大。 選擇步進電機時,應使步距角和機械系統(tǒng)匹配,這樣可以得到機床所需的脈沖當量。在機械傳動過程中為了使得有更小的脈沖當量,一是可以改變絲桿的導程,二是可以通過步進電機的細分驅(qū)動來完成。但細分只能改變其分辨率,不改變其精度。精度是由電機的固有特性所決定。
80、 選擇功率步進電機時,應當估算機械負載的負載慣量和機床要求的啟動頻率,使之與步進電機的慣性頻率特性相匹配還有一定的余量,使之最高速連續(xù)工作頻率能滿足機床快速移動的需要。 選擇步進電機需要進行以下計算: (1)計算齒輪的減速比 根據(jù)所要求脈沖當量,齒輪減速比i計算如下: i=(.S)/(360.) (1-1) 式中 -步進電機的步距角(o/脈沖) S -絲桿螺距(mm) -(mm/脈沖) (2)計算工作臺,絲桿以及齒輪折算至電機軸上的慣量Jt。 Jt=J1+(1/i2)(J2+Js)+W/g(S/2)2 (1-2) 式中Jt -折算至電機軸上的慣量(Kg.cm.s2) J1、J2 -齒輪慣量(K
81、g.cm.s2) Js -絲桿慣量(Kg.cm.s2) W-工作臺重量(N) S -絲桿螺距(cm) (3)計算電機輸出的總力矩M M=Ma+Mf+Mt (1-3) Ma=(Jm+Jt).n/T×1.02×102 (1-4) 式中Ma -電機啟動加速力矩(N.m) Jm、Jt-電機自身慣量與負載慣量(Kg.cm.s2) n-電機所需達到的轉(zhuǎn)速(r/min) T-電機升速時間(s) Mf=(u.W.s)/(2i)×102 (1-5) Mf-導軌摩擦折算至電機的轉(zhuǎn)矩(N.m) u-摩擦系數(shù) -傳遞效率 Mt=(Pt.s)/(2i)×102 (1-6) Mt-
82、切削力折算至電機力矩(N.m) Pt-最大切削力(N) (4)負載起動頻率估算。數(shù)控系統(tǒng)控制電機的啟動頻率與負載轉(zhuǎn)矩和慣量有很大關(guān)系,其估算公式為 fq=fq0(1-(Mf+Mt)/Ml)÷(1+Jt/Jm) 1/2 (1-7) 式中fq-帶載起動頻率(Hz) fq0-空載起動頻率 Ml-起動頻率下由矩頻特性決定的電機輸出力矩(N.m) 若負載參數(shù)無法精確確定,則可按fq=1/2fq0進行估算. (5)運行的最高頻率與升速時間的計算。由于電機的輸出力矩隨著頻率的升高而下降,因此在最高頻率 時,由矩頻特性的輸出力矩應能驅(qū)動負載,并留有足夠的余量。 (6)負載力矩和最大靜力矩Mmax。負
83、載力矩可按式(1-5)和式(1-6)計算,電機在最大進給速度時,由矩頻特性決定的電機輸出力矩要大于Mf與Mt之和,并留有余量。一般來說,Mf與Mt之和應小于(0.2 0.4)Mmax.基于單片機的步進電機開環(huán)控制系統(tǒng)設計Research on the Driver and Control System of the Step Motor摘要: 本文研究開發(fā)了一種步進電機驅(qū)動器及其控制系統(tǒng)。該系統(tǒng)以PC機作為上位機,以單片機作為下位機,可使上位機能夠可靠地將經(jīng)過處理的控制指令和參數(shù)發(fā)送到下位機,保證下位機能夠準確、及時地發(fā)出控制信號,通過驅(qū)動器驅(qū)動步進電機工作。同時,上位機檢測下位機的各種狀態(tài)信
84、號,進行診斷和處理。關(guān)鍵字: 步進電機;控制系統(tǒng);驅(qū)動器;通信電路Abstract: A high performance control system of stepping motor has been developed. The system adopts the PC as master computer and the single-chip as slave computer. Control instructions and parameter have been delivered from the master computer to slave computer depe
85、ndently and smoothly in order to guarantee the work that can be accurately and promptly done. Besides, the host computer collects various kinds of state signal that the slave computer feedbacks to diagnose and manipulate. Keywords: Step Motor; Control System; Driver; Communication Circuit1 引言步進電機又稱脈
86、沖電動機,是數(shù)字控制的一種執(zhí)行元件。它是隨著計算機控制系統(tǒng)發(fā)展而發(fā)展起來,利用電脈沖信號進行控制,將電脈沖信號轉(zhuǎn)換成相應的角位移或者線位移的電動機。對于步進電機控制系統(tǒng),運動控制器就像是它的中樞神經(jīng)系統(tǒng),指揮著它的每個動作。本文以步進電機為控制對象,繼承傳統(tǒng)步進電機控制的優(yōu)點,研制高性能步進電機驅(qū)動器及控制系統(tǒng)。2 系統(tǒng)總體設計 圖1 控制器總體結(jié)構(gòu)圖步進電機控制器是步進電機控制系統(tǒng)重要部分,控制器接收上位機發(fā)送的指令,并根據(jù)指令向各步進電機發(fā)出控制信號,各個電機的驅(qū)動器則將控制信號轉(zhuǎn)變成直接驅(qū)動步進電機的電信號,實現(xiàn)步進電機的控制。采用PC機的控制系統(tǒng),其軟硬件資源豐富,柔性極強。
87、圖1為控制器總體結(jié)構(gòu)圖。單片機的種類是很多的,有PIC系列、Motorola系列、Intel系列8051類單片機等。各個系列的單片機各有所長,在處理速度、穩(wěn)定性、I/O能力、功耗、功能齊全、價格等方面各有優(yōu)劣。這些種類繁多的單片機家族,給我們單片機的選擇提供了很大的余地。Intel公司生產(chǎn)的51系列單片機具有功能強大、價格低廉、體積小、開發(fā)工具易操作等特點,在市場中占有很大的份額,是一種比較通用且經(jīng)濟實惠的產(chǎn)品。因而本系統(tǒng)中選用了40管腳的51單片機ATMEL89C51作為主控芯片。3 硬件詳細設計3.1 通信電路設計通過EPP并行口可以簡單方便地設計出各種接口應用電路,其設計方法與總線方式更為接近,由于它所用的信號線十分有限,必須把數(shù)據(jù)的傳送分為兩個周期。EPP口的數(shù)據(jù)與地址分時
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 少兒趣味編程Scratch算法挑戰(zhàn)《順序查找法》(教案+源文件)
- 效果達成基于綠化裝修合同
- 產(chǎn)品試用活動推廣合同(2篇)
- 物業(yè)評估服務協(xié)議
- 各類展會外包協(xié)議
- 定金協(xié)議的法律責任
- 生鮮基礎知識
- 2025年電工中級職業(yè)技能考試真題卷:電氣工程概預算試題
- 2025年專升本藝術(shù)概論考試模擬題庫(藝術(shù)史論核心內(nèi)容解析)
- 2025年消防執(zhí)業(yè)資格考試題庫(消防應急救援行動指揮)高頻考點試題
- 2025年03月四川成都農(nóng)業(yè)科技中心公開招聘筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 農(nóng)村兄弟林地協(xié)議書
- 大學英語四級考試2024年6月真題(第1套)翻譯
- 2024年鄭州鐵路職業(yè)技術(shù)學院單招職業(yè)技能測試題庫必考題
- 2024北京房山區(qū)高一(下)期中數(shù)學試題及答案
- 【幼兒園繪本故事】神筆馬良
- 2025年03月國家機關(guān)事務管理局所屬事業(yè)單位公開招聘應屆畢業(yè)生14人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 信息安全等級保護管理辦法
- 《裝配式生物安全實驗室技術(shù)標準-》
- 體育熱身活動課件
- 2025年光大銀行校園招聘筆試參考題庫(帶答案)
評論
0/150
提交評論