




已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
課程設(shè)計(jì)報(bào)告設(shè)計(jì)題目: 遙控小車(chē) 基于51單片機(jī)的步進(jìn)電機(jī)調(diào)速系統(tǒng)學(xué) 院: 專(zhuān) 業(yè): 班 級(jí): 學(xué) 號(hào): 姓 名: 電子郵件: 時(shí) 間: 成 績(jī): 指導(dǎo)教師: 華 南 農(nóng) 業(yè) 大 學(xué)理 學(xué) 院 應(yīng) 用 物 理 系課 程 設(shè) 計(jì)(報(bào)告)任 務(wù) 書(shū)學(xué)生姓名 指導(dǎo)教師 職稱 學(xué)生學(xué)號(hào) 專(zhuān)業(yè) 電子信息科學(xué)與技術(shù) 題目 基于51單片機(jī)的步進(jìn)電機(jī)調(diào)速系統(tǒng)(遙控小車(chē))任務(wù)與要求1. 設(shè)計(jì)并制作電路,利用單片計(jì)控制步進(jìn)電機(jī)運(yùn)轉(zhuǎn)。2. 通過(guò)鍵盤(pán)可以不間斷地設(shè)定改變電機(jī)的轉(zhuǎn)速、轉(zhuǎn)向。3. 利用顯示器實(shí)時(shí)顯示轉(zhuǎn)速等參數(shù)。4. 擴(kuò)展功能:可設(shè)定轉(zhuǎn)動(dòng)步數(shù)。開(kāi)始日期 2014 年3 月 完成日期 2014 年3 月 1 引言步進(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ī)的遙控小車(chē)。采用STC89C51單片機(jī)作為控制核心,通過(guò)ULN2003A驅(qū)動(dòng)步進(jìn)機(jī)(28BYJ-48)轉(zhuǎn)動(dòng),由按鍵和顯示屏1602組成人機(jī)交互模塊,同時(shí)通過(guò)315M無(wú)線發(fā)射和接收模塊向單片機(jī)輸入控制信號(hào),將整個(gè)系統(tǒng)固定于簡(jiǎn)易小車(chē)上,最終實(shí)現(xiàn)小車(chē)測(cè)試和遠(yuǎn)程遙控功能。基本達(dá)到預(yù)定的設(shè)計(jì)要求以及功能的擴(kuò)展。2 系統(tǒng)的設(shè)計(jì)與理論分析2.1 系統(tǒng)總體設(shè)計(jì)2.2 理論分析本設(shè)計(jì)分為兩種工作模式:測(cè)試模式、遙控模式。在電路板上有一個(gè)帶鎖的開(kāi)關(guān)進(jìn)行設(shè)置。測(cè)試模式工作時(shí),通過(guò)控制小車(chē)上的按鍵進(jìn)行加速、減速、反轉(zhuǎn)、設(shè)置、步數(shù)增、步數(shù)減等按鍵,單片機(jī)掃描按鍵,通過(guò)軟件控制液晶模塊顯示對(duì)應(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ī)控制輸入脈沖的頻率來(lái)控制步進(jìn)機(jī)的轉(zhuǎn)速,單片機(jī)是通過(guò)程序查表對(duì)4個(gè)I/O口輸出脈沖,本次設(shè)計(jì)采用的是兩相四線減速步進(jìn)機(jī),步進(jìn)角為5.625,減速比為64:1,程序采用的是8拍查表,具有較好的扭矩。遙控模式工作時(shí),遙控部分五個(gè)按鍵分別輸入前、后、左、右、暫停,單片機(jī)掃描按鍵,通過(guò)無(wú)線發(fā)射模塊發(fā)射串行編碼,小車(chē)的無(wú)線接收模塊接收對(duì)應(yīng)的編碼,送至單片機(jī)進(jìn)行解碼,從而控制液晶模塊的顯示和步進(jìn)機(jī)模塊的工作,進(jìn)而完成功能。設(shè)定單通道無(wú)線收發(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接收程序通過(guò)觸發(fā)外部中斷1來(lái)接受信號(hào),當(dāng)P3.3口收到下降沿信號(hào)是即開(kāi)始接收數(shù)據(jù)。3 硬件系統(tǒng)設(shè)計(jì)3.1 總體電路圖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 測(cè)試按鍵模塊3.6 遙控器部分4 軟件系統(tǒng)設(shè)計(jì) 4.1 主函數(shù)4.2 遙控模式程序4.3 測(cè)試模式程序4.4 鍵盤(pán)掃描程序5 系統(tǒng)運(yùn)行情況分析打開(kāi)小車(chē)開(kāi)關(guān)后,按下“測(cè)試”按鍵,小車(chē)進(jìn)入測(cè)試模式。連續(xù)按 “加速”按鍵時(shí),小車(chē)輪子轉(zhuǎn)速明顯變快;連續(xù)按“減速”按鍵時(shí),小車(chē)輪子轉(zhuǎn)速逐漸變慢;按“反轉(zhuǎn)”按鍵輪子轉(zhuǎn)速反向。按“設(shè)置”按鍵會(huì)看到液晶顯示屏關(guān)標(biāo)閃爍,按“設(shè)置”鍵使光標(biāo)移動(dòng),按“+”、“-”設(shè)置小車(chē)速度和步數(shù),再一次按“設(shè)置”鍵,小車(chē)會(huì)依照這頂要求行駛。按“測(cè)試”按鍵使其彈起,測(cè)試小車(chē)進(jìn)入遙控模式工作時(shí),打開(kāi)遙控器,分別按下“前”、“后”、“左”、“右”,小車(chē)會(huì)依照對(duì)應(yīng)的方向行駛,按下“暫?!辨I時(shí),小車(chē)停止。由此,改系統(tǒng)基本達(dá)到設(shè)計(jì)要求及拓展功能的要求。不過(guò)因?yàn)楸驹O(shè)計(jì)采用的28BYJ-48步進(jìn)機(jī)為減速步進(jìn)機(jī),轉(zhuǎn)動(dòng)的上限值比較下,導(dǎo)致小車(chē)的行駛效果較慢,這個(gè)問(wèn)題可以通過(guò)課后改用其他型號(hào)計(jì)算機(jī)得以解決。6 總結(jié)與討論經(jīng)過(guò)四個(gè)星期的單片機(jī)課程設(shè)計(jì),終于完成了基于51單片機(jī)的步進(jìn)電機(jī)調(diào)速系統(tǒng)的設(shè)計(jì),基本達(dá)到設(shè)計(jì)要求。同時(shí)自己在該系統(tǒng)上擴(kuò)展無(wú)線收發(fā)模塊,將該系統(tǒng)拓展為遙控小車(chē)。在本次設(shè)計(jì)的過(guò)程中,我們組成員進(jìn)行了熱烈討論及反復(fù)的斟酌、修改。首先對(duì)需要用到的元器件的參數(shù)進(jìn)行充分的了解,然后在計(jì)算機(jī)上用Proteus進(jìn)行了與Keil軟件的聯(lián)動(dòng)仿真。確認(rèn)仿真正確看是硬件的焊接與調(diào)試。在實(shí)驗(yàn)過(guò)程中,我們也遇到了許多問(wèn)題,如步進(jìn)機(jī)轉(zhuǎn)動(dòng)不起來(lái)、液晶屏顯示亂碼等,但是經(jīng)過(guò)不斷的探索、思考、驗(yàn)證,我們最終克服了種種困難,解決了所遇到的問(wèn)題,成功地完成了這個(gè)課程設(shè)計(jì)。在這個(gè)過(guò)程中,除了學(xué)習(xí)到關(guān)于本次設(shè)計(jì)的一些專(zhuān)業(yè)知識(shí)、電路焊接實(shí)踐經(jīng)驗(yàn)外,同時(shí),大家的刻苦耐勞、團(tuán)隊(duì)合作的品質(zhì)也得到了充分的鍛煉。附1:實(shí)物圖:圖1 遙控小車(chē)圖2 遙控器附2:參考文獻(xiàn)1 李朝青. 單片機(jī)原理及接口技術(shù)M.第3版. 北京航空航天大學(xué)出版社, 2005.2 楊素行. 模擬電子技術(shù)基礎(chǔ)簡(jiǎn)明教程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無(wú)線收發(fā)模塊2簡(jiǎn)易小車(chē)1其它(開(kāi)關(guān)、電池)若干評(píng)語(yǔ): 成績(jī): 附:程序代碼:/*單片機(jī)課程設(shè)計(jì)C語(yǔ)言程序*題目:基于步進(jìn)機(jī)的小車(chē)成員:湯安琪、龐明轅、杜爍。日期:2014-3-1*/#include #define uchar unsigned char#define uint unsigned intsbit a = P10; /反向sbit b = P11; /減速sbit c = P12; /加速sbit d = P13; /開(kāi)關(guān)sbit f = P14; /設(shè)置sbit g = P15; /加sbit h = P16; /減sbit lcden = P37; /1602使能sbit lcdrs = P36; /1602寫(xiě)命令/數(shù)據(jù)選擇端sbit trans = P33; /射頻串行輸入端bit n,p;uint step,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 table4 = 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;x0;x-)for(y=10;y0;y-);void delay1(uint z) /10usuchar a,b,x; for(x=0;x0;b-) for(a=2;a0;a-);/*-LCD1602寫(xiě)命令程序 -*/void write_com(uchar com)lcdrs = 0;P0 = com;delay(5);lcden = 1;delay(5);lcden = 0;/*-LCD1602寫(xiě)數(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 = (dat-(dat/100)*100)/10;ge = dat%10;write_com(0x80+add);write_dat(0x30+bai);write_dat(0x30+shi);write_dat(0x30+ge);/*-小車(chē)速度計(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)time=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;i8;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;i35&t35&t5&t15&t5&t15&t5&t15&t25) /數(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; /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;/*-控制小車(chē)運(yùn)行程序(前后左右),運(yùn)行時(shí)顯示小車(chē)的實(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;q128;q+)for(i=0;i8;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;q128;q+)for(i=0;i8;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;q128;q+)for(i=0;i8;i+)P2 = table3i;delay1(time); speed_dis();display(7,count);if(e=0)uchar i,q;p=1;while(1)if(n=1)break;for(q=0;q128;q+)for(i=0;i8;i+)P2 = table2i;delay1(time); speed_dis();display(7,count); receive();/*-正轉(zhuǎn)程序-*/void forward()uint i,q;for(q=0;q512;q+)if(d=1|a=0)break;for(i=0;i8;i+)P2 = table4i;delay1(time); speed_dis();display(7,count); /*-反轉(zhuǎn)程序-*/void reverse()uint i,q;for(q=0;q512;q+)if(d=1|a=1)break;for(i=0;i8;i+)P2 = table3i;delay1(time); speed_dis();display(7,count); /*-小車(chē)停止?fàn)顟B(tài)下的測(cè)試程序功能:b增加步進(jìn)機(jī)脈沖周期 c減少步進(jìn)機(jī)脈沖周期, d為測(cè)試開(kāi)關(guān), a為反轉(zhuǎn)開(kāi)關(guān),運(yùn)行狀態(tài)實(shí)時(shí)顯示步進(jìn)機(jī)速度。-*/void testcar()if(flag1=0)if(d = 0)flag = 1; /測(cè)試狀態(tài)下,保證方向按鍵無(wú)效if(a=0)reverse();else forward();else display(7,0);flag = 0; /*-鍵盤(pán)掃描程序。功能:f為設(shè)置鍵,g為加鍵,h為減鍵,按下g鍵次數(shù):1:速度設(shè)置2:步數(shù)設(shè)置3:確認(rèn)按下g鍵對(duì)應(yīng)數(shù)+1按下h鍵對(duì)應(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);snum=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(setnum0)setnum=99;display(0x40+4,setnum+40);write_com(0xc0+6);if(snum=2)stepnum-;if(stepnum0)stepnum=99;display(0x40+13,stepn
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 初級(jí)護(hù)師考試考生必讀試題及答案
- 護(hù)士溝通技巧試題及答案分析
- 《腦卒中患者護(hù)理觀察》課件
- 醫(yī)學(xué)多學(xué)科診療制度
- 專(zhuān)業(yè)-財(cái)務(wù)分析技巧培訓(xùn)課件
- 《質(zhì)量管理演進(jìn)》課件
- 新質(zhì)生產(chǎn)力感悟心得
- 新教師年度思想工作總結(jié)模版
- 醫(yī)學(xué)副高評(píng)審匯報(bào)
- 預(yù)防醫(yī)學(xué)統(tǒng)計(jì)概述
- 《中國(guó)潰瘍性結(jié)腸炎診治指南(2023年)》解讀
- GB/T 2087-2001圓柱螺旋拉伸彈簧尺寸及參數(shù)(半圓鉤環(huán)型)
- GA/T 1567-2019城市道路交通隔離欄設(shè)置指南
- 數(shù)字貨幣MASK發(fā)行機(jī)制收益制度解讀課件
- 2023年BIM工程師繼續(xù)教育題庫(kù)含答案【b卷】
- 20章-過(guò)渡金屬(Ⅰ)-鈦釩鉻錳講解課件
- 吹膜機(jī)技術(shù)和使用說(shuō)明
- 幼兒園繪本故事:《小熊不刷牙》 課件
- 物質(zhì)安全數(shù)據(jù)表(MSDS)(車(chē)用尿素溶液)
- 清朝治理新疆地區(qū)系統(tǒng)性治理課件(16ppt+視頻)2022年新疆地方史讀本(中學(xué)版)
- 國(guó)家自然科學(xué)基金項(xiàng)目評(píng)審打分表.xls
評(píng)論
0/150
提交評(píng)論