步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì)與仿真_第1頁
步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì)與仿真_第2頁
步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì)與仿真_第3頁
步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì)與仿真_第4頁
步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì)與仿真_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、一、設(shè)計(jì)題目步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì)與仿真二、設(shè)計(jì)要求設(shè)計(jì)一個(gè)單片機(jī)四相步進(jìn)電機(jī)控制系統(tǒng),要求系統(tǒng)具有以下功能。(1)用K0-K2作為通電方式選擇鍵,K0為單四拍,K1為雙四拍,K2為四相八拍。(2)K3-K4作為啟動(dòng)和方向控制。(3)正轉(zhuǎn)時(shí)紅色指示燈亮,反轉(zhuǎn)時(shí)黃色指示燈亮,不轉(zhuǎn)時(shí)綠燈亮。(4)可通過鍵盤設(shè)定步進(jìn)電機(jī)步數(shù)給定值。(5)用三位LED數(shù)碼管顯示剩余工作步數(shù)三、系統(tǒng)總體框圖與原理說明通過鍵盤模塊設(shè)置步進(jìn)電機(jī)的工作模式、步數(shù)以及正反轉(zhuǎn),同時(shí)用數(shù)碼管模塊顯示 剩余工作步數(shù),用LED燈模塊顯示步進(jìn)電機(jī)的工作狀態(tài)。4*4鍵盤模塊:采用外部中斷的方式實(shí)時(shí)掃描鍵盤,判別按下的鍵,并執(zhí)行所按下 的鍵

2、相應(yīng)的操作,即輸入步數(shù)、選擇工作模式、正/反轉(zhuǎn)、調(diào)速以及啟動(dòng)/停止等,由于 鍵數(shù)的限制,把一些鍵功能復(fù)用。用線反轉(zhuǎn)法掃描鍵盤,即先在P2 口輸出0 xf0,二次 確認(rèn)有按鍵按下后,逐行輸出低電平,確認(rèn)按鍵所在的列,便可知道所按下的是哪個(gè)鍵, 再返回對(duì)應(yīng)的鍵值。數(shù)碼管顯示模塊:采用定時(shí)中斷的方式定時(shí)掃描一次顯示,從而實(shí)現(xiàn)數(shù)碼管的動(dòng)態(tài) 顯示,同時(shí)P0 口需外接上拉電阻。本設(shè)計(jì)采用共陰數(shù)碼管,故0到9的段碼為: 0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f四相步進(jìn)電機(jī)模塊:采用L298驅(qū)動(dòng)芯片驅(qū)動(dòng)電機(jī),同時(shí)P1 口驅(qū)動(dòng)能力不夠

3、,需外 接上拉電阻,通過四個(gè)LED燈接在P1.0到P1.3 口來觀察電機(jī)的拍子。據(jù)分析可得到, 四相單四拍:A-B-C-D ;四相雙四拍:AB-BC-CD-DA ;四相八拍: A-AB-B-BC-C-CD-D-DALED燈模塊:把紅黃綠三個(gè)燈接在P3 口上,在程序中通過置位復(fù)位來實(shí)現(xiàn)相應(yīng)狀 態(tài)的轉(zhuǎn)換。圖1為系統(tǒng)總體設(shè)計(jì)方框圖,由單片機(jī)AT89C51,L298驅(qū)動(dòng)芯片,四相步進(jìn)電機(jī),7 段LED數(shù)碼管等一些電路模塊組成。圖1系統(tǒng)總體框圖四、硬件電路圖此次我們所設(shè)計(jì)的是個(gè)步進(jìn)電機(jī)控制系統(tǒng),主要由單片機(jī)AT89C51、四相步進(jìn)電機(jī)、7段數(shù)碼管、LED燈、L298驅(qū)動(dòng)芯片及一些其他相關(guān)元件設(shè)計(jì)而成???/p>

4、以通過鍵盤來控制 系統(tǒng)的輸入步數(shù)、選擇工作模式、正/反轉(zhuǎn)、調(diào)速以及啟動(dòng)/停止工作。運(yùn)轉(zhuǎn)時(shí),用3位7 段數(shù)碼管來輸出生育工作步數(shù)。最后根據(jù)思路所設(shè)計(jì)出來的硬件電路圖如下。FXTAL1PDDH.Da PD.VAD1PniADZXTAL2pnziH.DiP.歡D*POiiADSPD.ADSpsdhePZ.Ii.HSpzzf.H.inPSEMP23A11ALEPZ.tiAlZEAP2SA13P2J9A1 +P2.7/A15P1BP3CTRXDP1.1P3.1iT:P1ZP32i,iinnFimPlZlINTIP1.+P3.*iTDP15P35T1P1.taPl.SliilF.P1.7P3.7/RDAP

5、D.137PO23SPD335PD.+ 4-PO5Z3PDJS32PO.?21P2LIZZP2.1Z3P222 4-P232SP2.+26P2Z?P2.6WP2.71DP3LI11P3.11ZP3213P3311P3.+15P316P3.617P3.T圖2系統(tǒng)的硬件電路圖ABC1D五、程序流程圖六、仿真說明上電后,電機(jī)步數(shù)為0,默認(rèn)為四相單四拍、正轉(zhuǎn)的工作模式,紅、綠燈亮,數(shù)碼 管顯示0,輸入步數(shù),數(shù)碼管顯示步數(shù),選擇工作模式,設(shè)置正/反轉(zhuǎn),相應(yīng)的指示燈亮, 并啟動(dòng)后,綠燈滅,電動(dòng)機(jī)開始按設(shè)定的模式工作,數(shù)碼管顯示剩余的工作步數(shù),運(yùn)行 時(shí),可通過加速和減速按鍵進(jìn)行電機(jī)的調(diào)速,按下停止按鍵后,電

6、機(jī)停止工作,數(shù)碼管 顯示停止時(shí)剩余的工作步數(shù),當(dāng)步數(shù)減到0后,電機(jī)停止工作,數(shù)碼管顯示0。七、心得體會(huì)在設(shè)計(jì)的過程中,學(xué)會(huì)了很多東西,熟悉了步進(jìn)電機(jī)控制系統(tǒng)的整體運(yùn)行過程和總體 布局,掌握了該硬件電路的設(shè)計(jì)方法,掌握了步進(jìn)電機(jī)控制系統(tǒng)程序的設(shè)計(jì)和調(diào)試,最大 的收獲便是學(xué)會(huì)了如何把C語言應(yīng)用于單片機(jī)得編程上,避免了匯編的低效率的缺點(diǎn)。附錄:程序清單 #include #include#define uchar unsigned char#define uint unsigned intuchar code disp = (0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0

7、 x7d,0 x07,0 x7f,0 x6f; /共陰數(shù)碼管顯示碼uchar code table1 = 0 x01,0 x02,0 x04,0 x08, 0 x08,0 x04,0 x02,0 x01; /單四拍uchar code table2 = 0 x03,0 x06,0 x0c,0 x09, 0 x09,0 x0c,0 x06,0 x03; /雙四拍uchar code table3 = 0 x01,0 x03,0 x02,0 x06,0 x04,0 x0c,0 x08,0 x09,0 x09,0 x08,0 x0c,0 x04,0 x06,0 x02,0 x03,0 x01; 四相

8、八拍uchar *p=NULL;/表指針uchar paishu=0,qibu=0,start=0;uint speed=100;/設(shè)置轉(zhuǎn)速uint dat1=0,count=0; /拍數(shù)sbit weg=P3”0;個(gè)位位選sbit wes=P3”1;十位位選sbit web=P3”3;百位位選sbit k31=P35;/正轉(zhuǎn)指示燈sbit k32=P36; /反轉(zhuǎn)指示燈sbit k4=P3”7; 停止指示燈 void init() ;void display_3(uint dat);void Delay1ms(unsigned int count);uchar keybscan(void);

9、uchar keyaction (void);/*1ms延時(shí)子程序*/void Delay1ms(unsigned int count) (unsigned int i,j;for(i=0;icount;i+)for(j=0;j100;j+);/*鍵盤掃描子程序*/uchar keybscan(void)(uchar scode,rcode;P2=0 xf0;if(P2&0 xf0)!=0 xf0)(Delay1ms(1);if(P2&0 xf0)!=0 xf0)(scode=0 xfe;while(scode&0 x10)!=0)(P2=scode;if(P2&0 xf0)!=0 xf0)(

10、rcode=(P2&0 xf0);return(scode+rcode);elsescode=(scode1)|0 x01;return(0 xfe); /*返回鍵碼子程序*/ uchar keyaction (void) (switch(keybscan()(return(#); break;return(0); break;return(1); break;return(2); break;return(3); break;/無按鍵則返回第一行第一列按鍵編碼第一行第二列按鍵編碼case 0 xfe :case 0 xde :case 0 xce :case 0 xae : case 0 x

11、6e :case0 xdd:return(4);break;case0 xcd:return(5);break;case0 xad:return(6);break;case0 x6d:return(7);break;case0 xdb:return(8);break;case0 xcb:return(9);break;case0 xab:return(10);break;case0 x6b:return(11);break;case0 xd7:return(12);break;case0 xc7:return(13);break;case0 xa7:return(14);break;case0

12、 x67:return(15);break; 第四行第四列按鍵編碼/*3位數(shù)顯示子程序*/void display_3(uint dat)(P0=0;P0=dispdat/100%10; /3 位web=0;Delay1ms(1);web=1;P0=0;P0=dispdat/10%10; /2 位wes=0;Delay1ms(1);wes=1;P0=0;P0=dispdat%10; /1 位weg=0;Delay1ms(1);weg=1;/*定時(shí)器0初始化子程序*/void init()(TMOD=0 x01;TH0=(65536-10000)/256;TL0=(65536-10000)%25

13、6;EA=1;ET0=1;TR0=1;/*定時(shí)器0中斷程序*/void timer0() interrupt 1(TH0=(65536-10000)/256; /每 10ms 掃描顯示TL0=(65536-10000)%256;display_3(count);/顯示剩余步數(shù)/*外部中斷0中斷程序*/int0()interrupt 0 using 0(EA=0; /關(guān)中斷if (start=0)(switch(keyaction()(case 0:( dat1=dat1*10+0; count二dat1; break;case 1:(dat1=dat1*10+1; count二dat1; br

14、eak;case 2:(dat1=dat1*10+2; count二dat1;break;case 3:(dat1=dat1*10+3; count二dat1;break;case 4:datl=dat1*10+4;count二datl;case 5:dat1=dat1*10+5;count二datl;case 6:dat1=dat1*10+6;count二dat1;case 7:dat1=dat1*10+7;count二dat1;case 8:dat1=dat1*10+8;count二dat1;case 9:dat1=dat1*10+9;count二dat1;case 10:p=&table

15、10;break; /單四拍break;break;break;break;break;break;case 11:p=&table20;break;/雙四拍case 12:p=&table30;break;/ 四相八拍case 13:qibu=0;if(p=(&table30)paishu=8;elsepaishu=4;k31=1;k32=0;break;/ 正轉(zhuǎn)case 14:if(p=(&table30)qibu=8;paishu=16;elseqibu=4;paishu=8;k31=0;k32=1;break; / 反轉(zhuǎn)case 15: start=1;k4=0;break;/啟動(dòng)標(biāo)志case #: break; / 無按鍵按下elseswitch (keyaction()(case 0: if (speed10) speed-=10;break; /加速 case 15:start=0;k4=1;break;EA=1; /開中斷void main()(uint i=0;p=&table10;qibu=0;paishu=4;k31=1;/默認(rèn)模式為單四拍,正轉(zhuǎn)k32=0;k4=1;init();

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論