資源描述:
《基于pwm的電機調(diào)速系統(tǒng)》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫。
1、WORD格式-可編輯基于PWM的電機調(diào)速系統(tǒng)實驗目的:1.學會并掌握可keil軟件的使用;2.學會并掌握protues軟件的使用;3.通過實驗鞏固單片機相關知識和檢驗自身動手能力實驗要求:掌握單片機相關知識,利用調(diào)PWM占空比的方式來控制直流電機的轉速,并且在led數(shù)碼管上顯示轉速。實驗設備和儀器:1.89c51單片機最小系統(tǒng)2.直流電機3.示波器實驗內(nèi)容:本次實驗設計是由小組五個成員共同完成基于PWM的電機調(diào)速系統(tǒng)并完成實物搭建和撰寫實驗報告。本次實驗小組共提供了兩個方案,方案一和方案二,兩個方案各自具有優(yōu)缺點,詳細內(nèi)容會在下面給出。方案一實驗步驟:1.利用protues畫電路圖,電路圖如圖
2、1所示:圖1:方案一電路圖2.根據(jù)電路圖編寫C語言代碼:代碼如下:#includesbitPWM=P2^7;專業(yè)知識--整理分享WORD格式-可編輯sbitCS3=P2^3;sbitCS2=P2^2;sbitCS1=P2^1;sbitCS0=P2^0;sbitkey1=P1^0;sbitkey2=P1^1;sbitkey3=P1^2;sbitkey4=P1^3;unsignedchartimer1;unsignedchartab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};voidTime1Config();vo
3、idmain(void){Time1Config();while(1){if(timer1>100)//PWM周期為100*0.5ms{timer1=0;}if(~key1){if(timer1<30)//改變30這個值可以改變直流電機的速度{PWM=1;}else{PWM=0;}CS0=0;CS1=0;CS2=1;CS3=0;P0=tab[3];P0=0xff;CS0=0;CS1=0;CS2=0;CS3=1;P0=tab[0];P0=0xff;}elseif(~key2){if(timer1<50){PWM=1;專業(yè)知識--整理分享WORD格式-可編輯}else{PWM=0;}CS0=0;C
4、S1=0;CS2=1;CS3=0;P0=tab[5];P0=0xff;CS0=0;CS1=0;CS2=0;CS3=1;P0=tab[0];P0=0xff;}elseif(~key3){if(timer1<80){PWM=1;}else{PWM=0;}CS0=0;CS1=0;CS2=1;CS3=0;P0=tab[8];P0=0xff;CS0=0;CS1=0;CS2=0;CS3=1;P0=tab[0];P0=0xff;}elseif(~key4){if(timer1<100){PWM=1;}else{PWM=0;}CS0=0;CS1=1;CS2=0;CS3=0;P0=tab[1];專業(yè)知識--整理
5、分享WORD格式-可編輯P0=0xff;CS0=0;CS1=0;CS2=1;CS3=0;P0=tab[0];P0=0xff;CS0=0;CS1=0;CS2=0;CS3=1;P0=tab[0];P0=0xff;}}}voidTime1Config(){TMOD
6、=0x10;//設置定時計數(shù)器工作方式1為定時器//--定時器賦初始值,12MHZ下定時0.5ms--//TH1=0xFE;TL1=0x0C;ET1=1;//開啟定時器1中斷EA=1;TR1=1;//開啟定時器}voidTime1(void)interrupt3//3為定時器1的中斷號{TH1=0xFE;//重新賦初值TL1=0x0C;t
7、imer1++;}3.實驗仿真,部分仿真結果如圖2圖3所示:專業(yè)知識--整理分享WORD格式-可編輯圖2:仿真結果圖(1)專業(yè)知識--整理分享WORD格式-可編輯圖3:仿真結果圖(2)專業(yè)知識--整理分享WORD格式-可編輯4.實物驗證結果如圖4所示:圖4:方案一實物驗證結果實物驗證可以明顯感覺到電機轉速的變化,由于每個開發(fā)板不同,相比仿真程序,對實物驗證程序進行了略微的修改,最終能達到要求。專業(yè)知識--整理分享WORD格式-可編輯方案二實驗步驟:1.利用protues畫電路圖,電路圖如圖5所示:圖5:方案二protues電路圖2.編寫C語言程序代碼:代碼如下:#include8、>#defineucharunsignedchar#defineuintunsignedintsbitkey1=P3^1;sbitCLOCK=P2^4;sbitST=P2^5;sbitEOC=P2^6;sbitOE=P2^7;sbitPWM=P3^7;uinttemp,temp1;sbitCS3=P2^3;sbitCS2=P2^2;sbitCS1=P2^1;sbitCS0=P2^0;ucharta