




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 課程設(shè)計(jì)報(bào)告設(shè)計(jì)題目: 遙控小車 基于51單片機(jī)的步進(jìn)電機(jī)調(diào)速系統(tǒng)學(xué) 院: 專 業(yè): 班 級: 學(xué) 號: 姓 名: 電子郵件: 時(shí) 間: 成 績: 指導(dǎo)教師: 華 南 農(nóng) 業(yè) 大 學(xué)理 學(xué) 院 應(yīng) 用 物 理 系課 程 設(shè) 計(jì)(報(bào)告)任 務(wù) 書學(xué)生姓名 指導(dǎo)教師 職稱 學(xué)生學(xué)號 專業(yè) 電子信息科學(xué)與技術(shù) 題目 基于51單片機(jī)的步進(jìn)電機(jī)調(diào)速系統(tǒng)(遙控小車)任務(wù)與要求1. 設(shè)計(jì)并制作電路,利用單片計(jì)控制步進(jìn)電機(jī)運(yùn)轉(zhuǎn)。2. 通過鍵盤可以不間斷地設(shè)定改變電機(jī)的轉(zhuǎn)速、轉(zhuǎn)向。3. 利用顯示器實(shí)時(shí)顯示轉(zhuǎn)速等參數(shù)。4. 擴(kuò)展功能:可設(shè)定轉(zhuǎn)動(dòng)步數(shù)。開始日期 2014 年3 月 完成日期 2014 年3 月 1
2、 引言步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。目前,步進(jìn)機(jī)已經(jīng)廣泛應(yīng)用于領(lǐng)域,例如工業(yè)生產(chǎn)中的機(jī)械臂的控制,照明裝置和監(jiān)控?cái)z像機(jī)轉(zhuǎn)動(dòng)等。步進(jìn)機(jī)在裝置轉(zhuǎn)動(dòng)、精確位移方面有很重大的作用。本系統(tǒng)是基于STC89C51 單片機(jī)的遙控小車。采用STC89C51單片機(jī)作為控制核心,通過ULN2003A驅(qū)動(dòng)步進(jìn)機(jī)(28BYJ-48)轉(zhuǎn)動(dòng),由按鍵和顯示屏1602組成人機(jī)交互模塊,同時(shí)通過315M無線發(fā)射和接收模塊向單片機(jī)輸入控制信號,將整個(gè)系統(tǒng)固定于簡易小車上,最終實(shí)現(xiàn)小車測試和遠(yuǎn)程遙控功能。基本達(dá)到預(yù)定的設(shè)計(jì)要求以及功能的擴(kuò)展。2 系統(tǒng)的設(shè)計(jì)與理論分析2.1 系統(tǒng)總體設(shè)計(jì)2.2 理論分析本設(shè)計(jì)分為兩種
3、工作模式:測試模式、遙控模式。在電路板上有一個(gè)帶鎖的開關(guān)進(jìn)行設(shè)置。測試模式工作時(shí),通過控制小車上的按鍵進(jìn)行加速、減速、反轉(zhuǎn)、設(shè)置、步數(shù)增、步數(shù)減等按鍵,單片機(jī)掃描按鍵,通過軟件控制液晶模塊顯示對應(yīng)的轉(zhuǎn)速、設(shè)置的速度和步數(shù),同時(shí)控制步進(jìn)機(jī)模塊進(jìn)行相應(yīng)的轉(zhuǎn)動(dòng)。步進(jìn)機(jī)的是由ULN2003A達(dá)林頓管驅(qū)動(dòng),由單片機(jī)控制輸入脈沖的頻率來控制步進(jìn)機(jī)的轉(zhuǎn)速,單片機(jī)是通過程序查表對4個(gè)I/O口輸出脈沖,本次設(shè)計(jì)采用的是兩相四線減速步進(jìn)機(jī),步進(jìn)角為5.625°,減速比為64:1,程序采用的是8拍查表,具有較好的扭矩。遙控模式工作時(shí),遙控部分五個(gè)按鍵分別輸入前、后、左、右、暫停,單片機(jī)掃描按鍵,通過無線發(fā)
4、射模塊發(fā)射串行編碼,小車的無線接收模塊接收對應(yīng)的編碼,送至單片機(jī)進(jìn)行解碼,從而控制液晶模塊的顯示和步進(jìn)機(jī)模塊的工作,進(jìn)而完成功能。設(shè)定單通道無線收發(fā)模塊通信協(xié)議為:下降沿: 1ms的高電平,隨后500us的低電平。起始位: 4ms的高電平,隨后4ms的低電平。數(shù)據(jù)1: 2ms的高電平,隨后500us的低電平。數(shù)據(jù)0: 1ms的高電平,隨后500us的低電平。結(jié)束位:4ms的低電平。發(fā)送指令程序?yàn)椋合陆笛兀鹗嘉唬?個(gè)數(shù)據(jù)位,結(jié)束位發(fā)送編碼為:右轉(zhuǎn):000前進(jìn):001后退:010左轉(zhuǎn):011接收程序通過觸發(fā)外部中斷1來接受信號,當(dāng)P3.3口收到下降沿信號是即開始接收數(shù)據(jù)。3 硬件系統(tǒng)設(shè)計(jì)3.1
5、總體電路圖3.2 單片機(jī)最小系統(tǒng)3.3 步進(jìn)機(jī)模塊本次設(shè)計(jì)采用的是兩相四線減速步進(jìn)電機(jī),步進(jìn)角為5.625°,減速比為64:1 采用ULN2003達(dá)林頓管驅(qū)動(dòng)。3.4 液晶顯示模塊液晶顯示模塊采用LCD1602顯示屏。3.5 測試按鍵模塊3.6 遙控器部分4 軟件系統(tǒng)設(shè)計(jì) 4.1 主函數(shù)4.2 遙控模式程序4.3 測試模式程序4.4 鍵盤掃描程序5 系統(tǒng)運(yùn)行情況分析打開小車開關(guān)后,按下“測試”按鍵,小車進(jìn)入測試模式。連續(xù)按 “加速”按鍵時(shí),小車輪子轉(zhuǎn)速明顯變快;連續(xù)按“減速”按鍵時(shí),小車輪子轉(zhuǎn)速逐漸變慢;按“反轉(zhuǎn)”按鍵輪子轉(zhuǎn)速反向。按“設(shè)置”按鍵會(huì)看到液晶顯示屏關(guān)標(biāo)閃爍,按“設(shè)置”鍵
6、使光標(biāo)移動(dòng),按“+”、“-”設(shè)置小車速度和步數(shù),再一次按“設(shè)置”鍵,小車會(huì)依照這頂要求行駛。按“測試”按鍵使其彈起,測試小車進(jìn)入遙控模式工作時(shí),打開遙控器,分別按下“前”、“后”、“左”、“右”,小車會(huì)依照對應(yīng)的方向行駛,按下“暫停”鍵時(shí),小車停止。由此,改系統(tǒng)基本達(dá)到設(shè)計(jì)要求及拓展功能的要求。不過因?yàn)楸驹O(shè)計(jì)采用的28BYJ-48步進(jìn)機(jī)為減速步進(jìn)機(jī),轉(zhuǎn)動(dòng)的上限值比較下,導(dǎo)致小車的行駛效果較慢,這個(gè)問題可以通過課后改用其他型號計(jì)算機(jī)得以解決。6 總結(jié)與討論經(jīng)過四個(gè)星期的單片機(jī)課程設(shè)計(jì),終于完成了基于51單片機(jī)的步進(jìn)電機(jī)調(diào)速系統(tǒng)的設(shè)計(jì),基本達(dá)到設(shè)計(jì)要求。同時(shí)自己在該系統(tǒng)上擴(kuò)展無線收發(fā)模塊,將該系統(tǒng)
7、拓展為遙控小車。在本次設(shè)計(jì)的過程中,我們組成員進(jìn)行了熱烈討論及反復(fù)的斟酌、修改。首先對需要用到的元器件的參數(shù)進(jìn)行充分的了解,然后在計(jì)算機(jī)上用Proteus進(jìn)行了與Keil軟件的聯(lián)動(dòng)仿真。確認(rèn)仿真正確看是硬件的焊接與調(diào)試。在實(shí)驗(yàn)過程中,我們也遇到了許多問題,如步進(jìn)機(jī)轉(zhuǎn)動(dòng)不起來、液晶屏顯示亂碼等,但是經(jīng)過不斷的探索、思考、驗(yàn)證,我們最終克服了種種困難,解決了所遇到的問題,成功地完成了這個(gè)課程設(shè)計(jì)。在這個(gè)過程中,除了學(xué)習(xí)到關(guān)于本次設(shè)計(jì)的一些專業(yè)知識(shí)、電路焊接實(shí)踐經(jīng)驗(yàn)外,同時(shí),大家的刻苦耐勞、團(tuán)隊(duì)合作的品質(zhì)也得到了充分的鍛煉。附1:實(shí)物圖:圖1 遙控小車圖2 遙控器附2:參考文獻(xiàn)1 李朝青. 單片機(jī)原
8、理及接口技術(shù)M.第3版. 北京航空航天大學(xué)出版社, 2005.2 楊素行. 模擬電子技術(shù)基礎(chǔ)簡明教程M. 第三版. 高等教育出版社, 2006.附3:組內(nèi)分工:A.龐明轅:電路焊接、單片機(jī)編程、電路調(diào)試、輔助完成設(shè)計(jì)報(bào)告。B.杜爍:電路焊接、單片機(jī)編程、輔助方案改進(jìn)、輔助完成設(shè)計(jì)報(bào)告。C.湯安琪:電路焊接、數(shù)據(jù)采集、完成設(shè)計(jì)報(bào)告。附4:元器件清單表格元件數(shù)量STM89C51216022ULN2003A228BYJ-482315M無線收發(fā)模塊2簡易小車1其它(開關(guān)、電池)若干評語: 成績: 附:程序代碼:/*單片機(jī)課程設(shè)計(jì)C語言程序*題目:基于步進(jìn)機(jī)的小車成員:湯安琪、龐明轅、杜爍。日期:201
9、4-3-1*/#include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit a = P10; /反向sbit b = P11; /減速sbit c = P12; /加速sbit d = P13; /開關(guān)sbit f = P14; /設(shè)置sbit g = P15; /加sbit h = P16; /減sbit lcden = P37; /1602使能sbit lcdrs = P36; /1602寫命令/數(shù)據(jù)選擇端sbit trans = P33; /射頻串行輸入端bit n,p;uint step
10、,time,flag,flag1,num,snum,setnum,stepnum,count,temp,sum,t,e,j,k,m;uchar v0,v1,v2,count1,num1,temp1;uchar code table1 = 0x11,0x33,0x22,0x66,0x44,0xcc,0x88,0x99;/左uchar code table2 = 0x11,0x99,0x88,0xcc,0x44,0x66,0x22,0x33;/右uchar code table3 = 0x11,0x93,0x82,0xc6,0x44,0x6c,0x28,0x39;/后uchar code tabl
11、e4 = 0x11,0x39,0x28,0x6c,0x44,0xc6,0x82,0x93;/前uchar code table5 = "SPEED: 000 r/h"uchar code table6 = "SET:000 STEP:000"/*-延時(shí)程序 -*/void delay(uint z)uint x,y;for(x=z;x>0;x-)for(y=10;y>0;y-);void delay1(uint z) /10usuchar a,b,x; for(x=0;x<z;x+) for(b=1;b>0;b-) for(a=2
12、;a>0;a-);/*-LCD1602寫命令程序 -*/void write_com(uchar com)lcdrs = 0;P0 = com;delay(5);lcden = 1;delay(5);lcden = 0;/*-LCD1602寫數(shù)據(jù)程序 -*/void write_dat(uchar dat)lcdrs = 1;P0 = dat;delay(5);lcden = 1;delay(5);lcden = 0;/*-基于LCD1602的顯示程序-*/void display(uchar add,uchar dat)uint bai,shi,ge;bai = dat/100;shi
13、 = (dat-(dat/100)*100)/10;ge = dat%10;write_com(0x80+add);write_dat(0x30+bai);write_dat(0x30+shi);write_dat(0x30+ge);/*-小車速度計(jì)算程序-*/void speed_dis()double n;if(b = 0)delay(5);if(b=0)while(!b);time = time+10;if(time>=300)time=300; if(c = 0)delay(5);if(c=0)while(!c);time = time-10;if(time<=70)tim
14、e=70; n = 15*time/1024; count = 60*n;/*-步數(shù)執(zhí)行程序:進(jìn)入設(shè)置模式設(shè)置步數(shù),確認(rèn)后執(zhí)行。-*/void steprun()uint m;m=512*stepnum;while(m-)uchar i;for(i=0;i<8;i+)P2 = table4i;delay1(time);speed_dis();display(7,count);if(f=0)break;/*-轉(zhuǎn)速設(shè)置程序:進(jìn)入設(shè)置模式設(shè)置轉(zhuǎn)速確認(rèn)后執(zhí)行。-*/void setrun()while (1)uchar i;time=(setnum*1024/900);for(i=0;i<
15、8;i+)P2 = table4i;delay(time);if(f=0)break;/*-無線電接收解碼程序-*/void receive() if(n=1)while(trans=0);t=0;EX1=0;/在第一個(gè)下降沿關(guān)閉外部中斷while(trans=1);if(t>35&&t<45)t=0;while(trans=0);if(t>35&&t<45)t=0;while(trans=1);if(t>5&&t<15) /數(shù)據(jù)0v0=0;if(t>15&&t<25) /數(shù)據(jù)1v0
16、=4;while(trans=0);t=0;while(trans=1);if(t>5&&t<15) /數(shù)據(jù)0v1=0;if(t>15&&t<25) /數(shù)據(jù)1v1=2;while(trans=0);t=0;while(trans=1);if(t>5&&t<15) /數(shù)據(jù)0v2=0;if(t>15&&t<25) /數(shù)據(jù)1v2=1;while(trans=0);t=0;count1=v0+v1+v2;switch(count1)case 0:e=0;j=1;k=1;m=1;break;
17、/000case 1:e=1;j=0;k=1;m=1;break; /001case 2:e=1;j=1;k=0;m=1;break; /010case 3:e=1;j=1;k=1;m=0;break; /011case 4:e=1;j=1;k=1;m=1;p=0;break; /100 n=0;EX1=1;/*-控制小車運(yùn)行程序(前后左右),運(yùn)行時(shí)顯示小車的實(shí)時(shí)速度。-*/void run()if(flag=0&&flag1=0)if(j=0)uchar i,q;p=1;while(1)if(n=1)break;for(q=0;q<128;q+)for(i=0;i<
18、;8;i+)P2 = table4i;delay1(time); speed_dis();display(7,count);if(m=0)uchar i,q;p=1;while(1)if(n=1)break;for(q=0;q<128;q+)for(i=0;i<8;i+)P2 = table1i;delay1(time); speed_dis();display(7,count);if(k=0)uchar i,q;p=1;while(1)if(n=1)break;for(q=0;q<128;q+)for(i=0;i<8;i+)P2 = table3i;delay1(ti
19、me); speed_dis();display(7,count);if(e=0)uchar i,q;p=1;while(1)if(n=1)break;for(q=0;q<128;q+)for(i=0;i<8;i+)P2 = table2i;delay1(time); speed_dis();display(7,count); receive();/*-正轉(zhuǎn)程序-*/void forward()uint i,q;for(q=0;q<512;q+)if(d=1|a=0)break;for(i=0;i<8;i+)P2 = table4i;delay1(time); spee
20、d_dis();display(7,count); /*-反轉(zhuǎn)程序-*/void reverse()uint i,q;for(q=0;q<512;q+)if(d=1|a=1)break;for(i=0;i<8;i+)P2 = table3i;delay1(time); speed_dis();display(7,count); /*-小車停止?fàn)顟B(tài)下的測試程序功能:b增加步進(jìn)機(jī)脈沖周期 c減少步進(jìn)機(jī)脈沖周期, d為測試開關(guān), a為反轉(zhuǎn)開關(guān),運(yùn)行狀態(tài)實(shí)時(shí)顯示步進(jìn)機(jī)速度。-*/void testcar()if(flag1=0)if(d = 0)flag = 1; /測試狀態(tài)下,保證方向按
21、鍵無效if(a=0)reverse();else forward();else display(7,0);flag = 0; /*-鍵盤掃描程序。功能:f為設(shè)置鍵,g為加鍵,h為減鍵,按下g鍵次數(shù):1:速度設(shè)置2:步數(shù)設(shè)置3:確認(rèn)按下g鍵對應(yīng)數(shù)+1按下h鍵對應(yīng)數(shù)-1-*/void keyscan()if(f=0) delay(5);if(f=0)while(!f);snum+;flag1 = 1;if(snum=1)write_com(0xc6);write_com(0x0f);if(snum=2)write_com(0xc0+15);if(snum=3)write_com(0x0c);snu
22、m=0;flag1 = 0;time = setnum+40;display(7,time);write_com(0x0c);if(stepnum!=0)steprun();if(setnum!=0)setrun(); if(snum!=0)if(g=0)delay(5);if(g=0)while(!g);if(snum=1)setnum = setnum+10;if(setnum=99)setnum=0;display(0x40+4,setnum+40);write_com(0xc0+6);if(snum=2)stepnum+;if(stepnum=99)stepnum=0;display(0x40+13,stepnum);write_com(0xc0+15);if(h=0)delay(5);if(h=0)while(!h);if(snum=1)setnum = setnum-10;if(setnum<0)setnum=99;display(0x40+4,setnum+40);write_com(0xc0+6);if(snum=2)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司組織業(yè)余活動(dòng)方案
- 公司組合活動(dòng)策劃方案
- 公司活動(dòng)宣傳策劃方案
- 2025年心理學(xué)研究生入學(xué)考試試卷及答案
- 2025年全球化與國際關(guān)系研究生入學(xué)考試題及答案
- 2025年科學(xué)傳播專業(yè)研究生入學(xué)考試試題及答案
- 2025年礦業(yè)工程與安全管理考試題及答案
- 2025年翻譯與口譯專業(yè)資格考試試卷及答案
- 2024年度浙江省護(hù)師類之主管護(hù)師考前沖刺試卷B卷含答案
- 2024年度浙江省二級造價(jià)工程師之建設(shè)工程造價(jià)管理基礎(chǔ)知識(shí)模擬預(yù)測參考題庫及答案
- 新產(chǎn)品制造可行性及風(fēng)險(xiǎn)分析報(bào)告
- 電磁兼容中抗擾度試驗(yàn)教學(xué)課件
- 采購預(yù)付款合同
- 2023年瀘州市文化和旅游系統(tǒng)事業(yè)單位招聘筆試模擬試題及答案
- 醫(yī)療器械行業(yè)市場部人員崗位職責(zé)
- (中醫(yī)內(nèi)科)高級、副高級職稱考試模擬試題及答案
- 跌倒墜床原因分析預(yù)防措施
- 弱電施工安全技術(shù)交底
- DB21T 3354-2020 遼寧省綠色建筑設(shè)計(jì)標(biāo)準(zhǔn)
- 安全生產(chǎn)知識(shí)應(yīng)知應(yīng)會(huì)
- 體育器材采購設(shè)備清單
評論
0/150
提交評論