版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、機械制造基礎(chǔ)課程實踐報告機械工程學院機械電子工程 XX班指導老師:XXX2014年11月18日目 錄一系統(tǒng)總體設(shè)計3(一)設(shè)計目標及完成功能3(二)系統(tǒng)結(jié)構(gòu)設(shè)計3二詳細設(shè)計4(一)人員任務分配4(二)各子功能設(shè)計5串口通信設(shè)計8微控制器電機控制設(shè)計9電路設(shè)計11三使用說明11四測試11模式二進行測試:12附件一:模式電腦端程序(Matlab2014A版)13附件二:模式電腦端程序(Matlab2014A版)16附件三:微處理器電機控制程序(AT89C52RC Keil 編譯)19一系統(tǒng)總體設(shè)計(一)設(shè)計目標及完成功能設(shè)計搭建一個小型機電系統(tǒng)。由伺服電機、微處理器、無線圖傳模塊、藍牙模塊、圖像采
2、集器、個人電腦組成。在不同模式下實現(xiàn)如下功能:模式一,運動跟蹤:在電腦端實時顯示視頻采集器的視頻信息。對圖簽采集器視野范圍內(nèi)的物體運動進行捕捉??刂茍D像采集器對目標進行跟蹤,使目標保持在采集器視野中心。模式二,動態(tài)監(jiān)控:在電腦端實時顯示視頻采集器的視頻信息。在視頻瀏覽窗口,通過移動鼠標控制采集器采樣角度。(二)系統(tǒng)結(jié)構(gòu)設(shè)計1.信息流設(shè)計計算機單片機舵機視頻采集器無線圖傳藍牙圖 Error! Main Document Only.系統(tǒng)信息流2.各部分功能設(shè)計:計算機:信息綜合處理。1. 響應用戶要求。2. 接收無線圖像信號。3. 顯示圖像信息。4. 根據(jù)用戶不同要求和圖像信息計算控制數(shù)據(jù)。5.
3、發(fā)送控制信號。藍牙模塊:數(shù)據(jù)傳輸。1. 接收計算機控制信號。2. 將收到信號發(fā)送給單片機。單片機:信息處理與控制。1. 接收控制信息。2. 處理接收信息。3. 電平輸出,控制舵機運動。舵機:運動執(zhí)行。1. 執(zhí)行控制命令,調(diào)整圖像采集器空間狀態(tài)。視頻采集器:采集視頻信號。1. 采集器與舵機固定連接。2. 將采集的信號傳送至無線圖傳模塊。無線圖傳模塊:傳送圖像信息。1. 接收采樣信息。2. 傳送采樣信息至電腦端。二詳細設(shè)計(一)人員任務分配XXX:模式二電腦端程序編寫,項目報告匯總。XXX:微處理器串口程序編寫,幻燈片制作。XXX:模式一電腦端程序編寫、微處理器控制程序編寫,幻燈片制作。XXX:元
4、件安裝、固定,小組討論記錄。(二)各子功能設(shè)計模式一一、概述通過采集一定時間差的兩幀圖像,然后將其做差運算,將所得數(shù)據(jù)處理之后便可知道視野中有無運動物體二、具體實現(xiàn)Step1:捕獲圖像主要函數(shù):getsnapshot(vid)圖像a 圖像bStep2:將所得兩組數(shù)據(jù)作差Step3:二值化所得圖像,以便后續(xù)處理主要函數(shù):im2bw Step1:作差所得圖像 step2:二值化所得圖像Step4:對數(shù)據(jù)處理后,求出移動區(qū)域范圍及其質(zhì)心主要函數(shù):regionprops 最終所得結(jié)果模式二任務:1. 在制定窗口處于激活狀態(tài)時,獲得鼠標實時窗口坐標。2. 按照要求處理獲得坐標,生成發(fā)送數(shù)據(jù)。3. 按要求
5、發(fā)送生成數(shù)據(jù)至下一模塊。任務目的:支持實時控制監(jiān)視視角的功能,為后續(xù)控制伺服電機提供依據(jù)。環(huán)境:Matlab運行環(huán)境。實現(xiàn)原理:任務1.1. 創(chuàng)建Matlab 下的窗口,獲得句柄。2. 設(shè)置窗口大小及其他參數(shù)。3. 綁定鼠標移動事件,通過系統(tǒng)調(diào)用獲得鼠標坐標信息。任務2.1. 將獲得的坐標按比例縮放。任務3.1.將處理后數(shù)據(jù),延時發(fā)送。詳細:1. 任務二中,最大輸出值20,按比例縮放。2. 考慮參數(shù)的傳遞和系統(tǒng)性能,將坐標計算部分放置在定時處理中。3. 優(yōu)化用戶體驗,設(shè)置無效區(qū),在該區(qū)域內(nèi)的鼠標坐標無效,發(fā)送使電機停止的數(shù)據(jù)。4. 延遲發(fā)送控制數(shù)據(jù),降低系統(tǒng)負荷。5. 不能在鼠標事件處理例程中
6、進行延時操作。6. 使用定時事件代替延時操作。7. 設(shè)置窗口關(guān)閉事件例程,清理系統(tǒng)資源,增強健壯性。8. 對更新速度快的鼠標坐標資源用定向傳送代替global聲明,降低切換開銷。9. 鼠標事件分為 鼠標移動事件,鼠標點擊事件a) 鼠標移動事件:i. 獲得鼠標坐標。ii. 使用UserData屬性,定向傳送坐標。b) 鼠標點擊事件:i. 直接發(fā)送串口控制信號。ii. 考慮到使用頻率低,串口句柄由global標識符導入。10定時事件a)檢查坐標信息。b)若信息有效,進行比例縮放。C)若信息無效,進行置位。d)通過串口發(fā)送控制信息。11.窗口關(guān)閉事件a)獲取各資源句柄。b)清除各資源。C)退出程序。
7、圖 2 模式二電腦端流程圖串口通信設(shè)計要實現(xiàn)在線控制單片機,就需要與單片機相互傳輸數(shù)據(jù)。這樣就會用到通信。實現(xiàn)數(shù)據(jù)傳遞給單片機有串行通信,并行通信等,并行通信傳輸速度快,串行通信速度較慢,但是相對并行通信其傳輸成本較低。我選擇使用串行通信實現(xiàn)數(shù)據(jù)傳輸,整體過程是:首先編寫接收數(shù)據(jù)程序,將程序下載至單片機內(nèi)部,使得單片機可以接收數(shù)據(jù),且接收到數(shù)據(jù)后執(zhí)行一個操作(比如點亮一個LED燈,代表數(shù)據(jù)傳輸成功);然后通過串口助手,發(fā)送數(shù)據(jù)給單片機;觀察燈亮/滅。關(guān)于串口通信參數(shù)設(shè)置:串口通信必須要設(shè)置串口工作方式,設(shè)置哪個定時器產(chǎn)生波特率,設(shè)置定時器時鐘頻率、工作方式、初值,設(shè)置波特率是否翻倍。要實現(xiàn)數(shù)據(jù)
8、的傳輸,就要保證發(fā)送端和接收端波特率一致,晶振頻率一致才不會出錯。關(guān)于數(shù)據(jù)接收程序:采用中斷程序來接收數(shù)據(jù),這樣做的好處在于單片機不用一直處于等待接收數(shù)據(jù)狀態(tài),直到串口有數(shù)據(jù)進入時,中斷執(zhí)行接收數(shù)據(jù)程序,將接收到的數(shù)據(jù)存儲于變量中。微控制器電機控制設(shè)計a.矩形波的產(chǎn)生1由功能需要可知,單片機要產(chǎn)生兩路占空比分別可調(diào)、周期為20ms的矩形波信號。通過分析,可將20ms分為三部分,如下圖所示,用單片機定時器依次得到三個時間片,并在合適的時間片中將對應的I/O口(P10,P11)置相應的電平即可。Time2舵機1 P10:0Time3Time1舵機2 P11:20ms圖 Error! Main Do
9、cument Only.電機控制時序電平示意圖b.舵機速度控制為了實現(xiàn)向任意方向轉(zhuǎn)動,必須控制兩個舵機的速度大小,以合成任意方向的合速度。在相同的時間段內(nèi),兩個矩形波占空比的增加量不同,則舵機轉(zhuǎn)動的角度也會不同。將時間段縮小后,在宏觀的連續(xù)時間上看,兩個舵機的轉(zhuǎn)動速度也會不同?;诖怂悸?,設(shè)計算法,將從串口中得到的兩軸轉(zhuǎn)動速度量與上述增加量對應,便可實現(xiàn)上位機對轉(zhuǎn)動方向的控制。(注意,在上述時間段內(nèi)占空比的最大增加量應小于舵機全速轉(zhuǎn)動相同時間所對位置的占空比增量)3.激光及蜂鳴器的控制激光與蜂鳴器均由通訊協(xié)議中的第三個字節(jié)控制。激光:檢查每次接收的第三個字節(jié),當為1時,使控制激光的單片機引腳置
10、高電平,否則,置低電平。蜂鳴器:產(chǎn)生一定占空比和周期的矩形波,將此信號與接收數(shù)據(jù)的第三個字節(jié)求“與”運算,將結(jié)果對應到控制蜂鳴器的端口。電路設(shè)計三使用說明1.在matlab2014版環(huán)境下運行。2.運行DNMV.m3.根據(jù)界面提示使用。四測試模式一進行測試:1.實現(xiàn)基本功能。2.響應速度有待提高。模式二進行測試:1.反應速度與用戶體驗度合理。2.圖像顯示流暢。附件一:模式電腦端程序(Matlab2014A版)clcclose allclear vid c51=serial('COM3','BAUD',9600,'OutputBufferSize'
11、,3);vid = videoinput('winvideo',1);triggerconfig(vid,'manual');start(vid);h=strel('disk',10);pause(1);data2 = getsnapshot(vid);timeout=5;fopen(c51);while timeout tic data1 = getsnapshot(vid); % »ñȡͼÏñÊý¾Ý outim = i
12、mabsdiff(data1,data2); % Á½Ö¡Ïà¼õ BW=im2bw(outim,0.2); BW=bwareaopen(BW,50); BW=imclose(BW,h); BW=int8(BW); STATS = regionprops(BW,'BoundingBox','Centroid'); toc imshow(data1); hold on if isempty(STATS) plot(STATS(1).Centroid(:,1),STATS(1).Cent
13、roid(:,2),'r*'); rectangle('Position',STATS(1).BoundingBox,'LineWidth',2,'EdgeColor','b'); writedate=int8(0 0 1); fwrite(c51,writedate,'int8'); end hold off if sum(BW) timeout=timeout-1; a,b,c=size(outim); text(b/2,a/2,'colorred',num2str(timeou
14、t),'FontSize',a/2,'HorizontalAlignment','center'); writedate=int8(0 0 0); fwrite(c51,writedate,'int8'); pause(0.5); else timeout=4; end toc data2 = getsnapshot(vid); tocendfclose(c51); flushdata(vid,'all');delete(vid)clear vid附件二:模式電腦端程序(Matlab2014A版)h=figure(
15、'CloseRequestFcn',figure_close_handler,'WindowButtonMotionFcn',ButtonMotionFcn,'WindowButtonDownFcn',ButtonDown_handler);hold on;global II.p=640 480;. 50 50;pt=0 0; I.s_port=serial('COM3','BAUD',9600,'OutputBufferSize',3); set(h,'UserData',pt);
16、xlim(0 I.p(1,1);ylim(0 I.p(1,2);axis ij;winvideoinfo=imaqhwinfo('winvideo'); k=length(winvideoinfo.DeviceIDs);for i=1:k usb_candidancy(i+1)=winvideoinfo.DeviceIDsi;endusbvid=videoinput('winvideo',winvideoinfo.DeviceIDs1,winvideoinfo.DeviceInfo(1).SupportedFormats7);usbvidRes=get(usbv
17、id,'videoResolution');nBands=get(usbvid,'NumberOfBands');h_image=image(zeros(usbvidRes(2),usbvidRes(1),nBands);preview(usbvid,h_image);global timer_1timer_1=timer('Period',0.1,'BusyMode','queue','ExecutionMode','fixedRate');timer_1.TimerFcn=tim
18、er_handle,I,h;start(timer_1);function timer_handle(,I,h)global P;pt=get(h,'UserData');if(isempty(pt)|(sqrt(pt(1,1)-.5*I.p(1,1)2+(I.p(1,2)-pt(1,2)-.5*I.p(1,2)2)<I.p(2,1) P=0 0elsex=pt(1,1)-.5*I.p(1,1);y=(I.p(1,2)-pt(1,2)-.5*I.p(1,2);P=round(x y./15)endfunction ButtonMotionFcn(src,event)pt
19、= get(gca,'CurrentPoint');set(src,'UserData',pt(1,1) pt(1,2);function figure_close_handler(src,event)try global I global timer_1; stop(timer_1); delete(timer_1); fcose(I.s_port); delete(I.s_port);catchdelete(gcf); end附件三:微處理器電機控制程序(AT89C52RC Keil 編譯)#include "STC89C5xRC.H"s
20、bit pwm0 = P10;sbit pwm1 = P11;sbit laser= P12;sbit buzzer= P13;unsigned char delay1h=0XFA;unsigned char delay1l=0X9A;unsigned char delay2h=0XFF;unsigned char delay2l=0XFF;unsigned char delay3h=0XBD;unsigned char delay3l=0X66;int zkb0=1382;int zkb1=1382;char mark=1;signed char A3=0,0,0;char i=0;bit
21、tick=0;bit buzzer_mark=0;void timeINT()TMOD=0X01;TH0=delay1h;TL0=delay1l;ET0=1;TR0=1; /初始計數(shù)器、串口工作方式 void serialINT(void) /9600bps11.0592MHz PCON &= 0x7F;/波特率不倍速SCON = 0x50;/8位數(shù)據(jù),可變波特率AUXR &= 0xBF;/定時器1時鐘為Fosc/12,即12TAUXR &= 0xFE;/串口1選擇定時器1為波特率發(fā)生器TMOD &= 0x0F;/清除定時器1模式位TMOD |= 0x20;/設(shè)
22、定定時器1為8位自動重裝方式TL1 = 0xFD;/設(shè)定定時初值TH1 = 0xFD;/設(shè)定定時器重裝值ET1 = 0;/禁止定時器1中斷ES=1;TR1 = 1;/啟動定時器1void time1 () interrupt 1switch(mark)case 1:if(zkb0=zkb1)pwm0=0;pwm1=0;mark=3;TH0=delay3h;TL0=delay3l;else if(zkb0>zkb1)pwm1=0;elsepwm0=0;mark=2;TH0=delay2h;TL0=delay2l;buzzer=0;break;case 2:if(zkb0>zkb1)p
23、wm0=0;elsepwm1=0;mark=3;TH0=delay3h;TL0=delay3l;break;case 3:pwm0=1;pwm1=1;mark=1;TH0=delay1h;TL0=delay1l;tick=1;buzzer=buzzer_mark;break;default:break; /中斷接收數(shù)據(jù)存入數(shù)組Ai void receive(void) interrupt 4 Ai=SBUF;i+;if(i=3) i=0;if(A2)laser=1;buzzer_mark=1;elselaser=0;buzzer_mark=0;RI=0; void main()int sysm = 0;EA=1;timeINT();serialINT();laser=0;buzzer=0;while(1)if(tick)zkb0+=A0;if(zkb0>=1844)zkb0=1843;if(zkb0<=921)zkb0=922;if(zkb0>zkb1)delay2h=(65536-(zkb0-zkb1)/256;delay2l=(65536-(zkb0-zkb1)%256;delay3h=(65536-(18432-zkb0)/256;
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業(yè)用盤消毒裝置市場需求與消費特點分析
- 工業(yè)用洗碗機產(chǎn)業(yè)運行及前景預測報告
- 物業(yè)管理檔案管理制度
- 半導體制造機產(chǎn)業(yè)運行及前景預測報告
- 抗糖尿病制劑產(chǎn)業(yè)深度調(diào)研及未來發(fā)展現(xiàn)狀趨勢
- 公共藝術(shù)裝置照明施工方案
- 地鐵施工三軸攪拌樁止水帷幕施工方案
- 高層建筑變壓器安裝解決方案
- 新型玻璃鋼煙囪維護方案
- 制帽用帽舌產(chǎn)業(yè)規(guī)劃專項研究報告
- 2024-2030年聽力保護耳塞行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 3.4問題解決策略:歸納-2024-2025年北師大版《數(shù)學》七年級上冊
- 2024年貴州黔東南州直事業(yè)單位遴選工作人員42人歷年高頻難、易錯點500題模擬試題附帶答案詳解
- 2024年中國智慧養(yǎng)老行業(yè)市場現(xiàn)狀、發(fā)展概況、未來前景分析報告
- 臨建板房搬遷合同模板
- 少兒美術(shù)課件國家寶藏系列《鳳冠》
- 天翼云從業(yè)者認證考試題庫及答案
- 旅游景區(qū)的提升規(guī)劃方案
- 國家能源集團國神公司招聘筆試題庫2024
- 揚州樹人學校2024-2025七年級上學期9月月考數(shù)學試卷及答案
- 課件:七年級道德與法治上冊(統(tǒng)編版2024)-【新教材解讀】義務教育教材內(nèi)容解讀課件
評論
0/150
提交評論