基于單片機(jī)的WIFI智能小車設(shè)計(jì)_第1頁
基于單片機(jī)的WIFI智能小車設(shè)計(jì)_第2頁
基于單片機(jī)的WIFI智能小車設(shè)計(jì)_第3頁
基于單片機(jī)的WIFI智能小車設(shè)計(jì)_第4頁
基于單片機(jī)的WIFI智能小車設(shè)計(jì)_第5頁
已閱讀5頁,還剩48頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上基于單片機(jī)的WIFI智能小車設(shè)計(jì)摘 要WIFI智能小車由電機(jī)、小車車體、89C52控制芯片、WIFI收發(fā)模塊、電機(jī)驅(qū)動(dòng)、舵機(jī)、電源、攝像頭等主要部件以及燈光、蜂鳴器、電平轉(zhuǎn)換等輔助模塊構(gòu)成。WIFI智能小車?yán)霉P記本或手機(jī)等能連接無線路由器的終端智能設(shè)備連接到路由器,通過應(yīng)用軟件顯示路由器上攝像頭上采集到的視頻信號(hào),再通過這些智能的終端設(shè)備發(fā)送控制指令到無線路由器,通過無線路由器將指令傳送給單片機(jī)進(jìn)行處理。然后通過單片機(jī)控制電機(jī)驅(qū)動(dòng)驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng)、舵機(jī)轉(zhuǎn)動(dòng),從而實(shí)現(xiàn)控制小車的運(yùn)動(dòng)及視頻采集。關(guān)鍵詞:路由器;wifi;智能小車;89C52專心-專注-專業(yè)AbstractT

2、he intelligent WIFI car involved a motor, a body, the 89C52 control chip, a WIFI transfer module, motor drivers, a power supply, lights, a buzzer and a voltage converter. The intelligent WIFI car can use an intelligent terminal (such as a laptop or a mobile phone) to connect with the router and use

3、application software to display the video signal collected by the camera, then the intelligent terminal will send control commands which can be processed by the MCU though the routers. The MCU will control the turning of motors and realize the moving of the car and the video collection.Keywords:Rout

4、er;WIFI;intelligent car;89C52目 錄第1章 概述現(xiàn)在是一個(gè)智能化的時(shí)代,各種智能化設(shè)備正在逐步替代人為的操作。隨著汽車工業(yè)的迅速發(fā)展,關(guān)于智能汽車的研究也就越來越受人關(guān)注。全國電子大賽和省內(nèi)電子大賽幾乎每次都有智能小車這方面的題目,全國各高校也都很重視該題目的研究。設(shè)計(jì)的WIFI智能小車能夠?qū)嵶詣?dòng)尋跡、避障功能,可程控行駛速度、電腦手機(jī)WIFI連接控制行駛及其他的控制方式。本系統(tǒng)能實(shí)現(xiàn)對(duì)小車的運(yùn)動(dòng)狀態(tài)進(jìn)行實(shí)時(shí)控制。系統(tǒng)控制靈活、可靠,精度高,可滿足對(duì)系統(tǒng)的各項(xiàng)要求。本設(shè)計(jì)以89C52為控制核心,利用超聲波傳感器檢測(cè)道路上的障礙并測(cè)量小車與障礙之間的距離,小車通過紅外

5、傳感器能夠的自動(dòng)避障,通過改變PWM信號(hào)的占空比可以控制快慢速行駛,以及自動(dòng)停車,自動(dòng)尋跡等功能。通過對(duì)本小車研究,我們可以初步構(gòu)建智能汽車的模型與理論基礎(chǔ)。對(duì)于智能汽車的研究,國內(nèi)外都有很大的成就,谷歌的無人駕駛汽車,已經(jīng)能夠在高速公路上安全行駛數(shù)千公里,在高速行駛下都能有這么好的操控能力,無非是智能汽車領(lǐng)域的一座里程碑。對(duì)于智能泊車系統(tǒng),現(xiàn)在也已經(jīng)進(jìn)入了民用領(lǐng)域,很多車型也裝配了該系統(tǒng),有了他,汽車用超聲波傳感器掃描路面兩側(cè),通過比較停車的空間和車輛的長度,自動(dòng)尋找合適的停車位。找到合適位置后,駕駛者只需控制剎車,車輛自動(dòng)控制轉(zhuǎn)向操作,即可將車停進(jìn)停車位,并且液晶屏?xí)邢鄳?yīng)的顯示。本設(shè)計(jì)選

6、用的89C52單片機(jī)屬于MCS-51系列單片機(jī),由Intel公司開發(fā),其結(jié)構(gòu)是8048的延伸,改進(jìn)了8048的缺點(diǎn),具有指針、布爾代數(shù)運(yùn)算等指令,以及串行通信能力和5個(gè)中斷源。采用40引腳雙列直插式DIP。其內(nèi)部有128個(gè)RAM單元及4K的ROM。89C52有兩個(gè)16位定時(shí)計(jì)數(shù)器,兩個(gè)外中斷,三個(gè)定時(shí)計(jì)數(shù)中斷,及一個(gè)串行中斷,并有4個(gè)8位并行輸入口。89C52內(nèi)部有時(shí)鐘電路,但需要石英晶體和微調(diào)電容外接,本系統(tǒng)中采用22.1184MHz的晶振頻率。由于89C52的系統(tǒng)性能滿足系統(tǒng)數(shù)據(jù)采集及時(shí)間精度的要求,而且產(chǎn)品產(chǎn)量豐富來源廣,應(yīng)用也很成熟,故用來作為控制核心。新一代單片機(jī)為外部提供了相當(dāng)完善

7、的總線結(jié)構(gòu),為系統(tǒng)的擴(kuò)展與配置打下了良好的基礎(chǔ)。本設(shè)計(jì)主要研究內(nèi)容就是基于89C52設(shè)計(jì)一部WIFI智能小車,小車能夠?qū)崿F(xiàn)自動(dòng)循跡,自動(dòng)避障,超聲波測(cè)量距離。WIFI遙控的智能小車控制系統(tǒng),包括了對(duì)驅(qū)動(dòng)電路,紅外通訊以及無線視頻通信等的探索和研究。本項(xiàng)目文主要從小車設(shè)計(jì)方案的選取、硬件設(shè)計(jì)、軟件設(shè)計(jì)、測(cè)試結(jié)果方面進(jìn)行主要論述。我們?cè)诘?章主講單片機(jī)與路由器的設(shè)計(jì),包括了單片機(jī)最小系統(tǒng)的電路設(shè)計(jì)對(duì)路由器進(jìn)行刷機(jī)處理;整個(gè)小車的一個(gè)供電電源的設(shè)計(jì),需要通過電源給整個(gè)系統(tǒng)供12V、8V、5V等幾個(gè)電壓;電機(jī)的驅(qū)動(dòng)模塊,詳細(xì)的說明了電機(jī)驅(qū)動(dòng)的原理,視頻信號(hào)的采集;第4章程序的設(shè)計(jì)給出了程序整體的流程圖

8、及編寫思想;第5章調(diào)試簡述整機(jī)的每個(gè)模塊調(diào)試及方法。第2章 方案論證及選擇2.1 總體設(shè)計(jì)方案WIFI智能小車需要由WIFI模塊、電機(jī)驅(qū)動(dòng)模塊、核心控制模塊、攝像頭模塊等構(gòu)成。2.1.1 整機(jī)系統(tǒng)如圖2-1所示。路由器模塊89C52單片機(jī)電機(jī)驅(qū)動(dòng)模塊蜂鳴器電路照明電路攝像頭電腦控制終端電機(jī)圖2-1 系統(tǒng)結(jié)構(gòu)框圖項(xiàng)目系統(tǒng)包括路由器、單片機(jī)最小系統(tǒng)、電機(jī)驅(qū)動(dòng)電路、電機(jī)、電平轉(zhuǎn)換電路、電源電路、舵機(jī)、攝像頭、蜂鳴器電路、燈光電路等。路由器用于接收電腦等終端設(shè)備發(fā)送的指令和將攝像頭采集到的視頻信號(hào)傳送到電腦等終端設(shè)備;單片機(jī)最小系統(tǒng)是整個(gè)小車的控制核心,控制著各個(gè)模塊統(tǒng)一協(xié)調(diào)工作;電機(jī)驅(qū)動(dòng)電路用于驅(qū)動(dòng)

9、電機(jī)轉(zhuǎn)動(dòng),可以使電機(jī)產(chǎn)生正轉(zhuǎn)、反轉(zhuǎn),從而使車體產(chǎn)生前進(jìn)、后退、轉(zhuǎn)彎等動(dòng)作;電機(jī)的作用就是使整個(gè)車體運(yùn)動(dòng);電平轉(zhuǎn)換電路是將路由器輸出的3.3V串口電平轉(zhuǎn)換為單片機(jī)能判斷的高低電平;電源電路作用是為整個(gè)小車系統(tǒng)共電;舵機(jī)制作成云臺(tái),然后裝上攝像頭,使攝像頭可實(shí)現(xiàn)上下、水平方向180度旋轉(zhuǎn)調(diào)節(jié);攝像頭用于采集視頻信號(hào);蜂鳴器電路用于報(bào)警提示;照明電路為小車在夜間行駛提供照明。2.1.2 整機(jī)工作原理由電腦終端,通過WIFI無線網(wǎng)絡(luò)連接到路由器,再通過電腦應(yīng)用軟件,向路由器發(fā)送控制命令及數(shù)據(jù)。路由器接收到數(shù)據(jù)后通過內(nèi)部的串口發(fā)送軟件,將接收到的命令和數(shù)據(jù),通過路由器串口發(fā)送到89C52單片機(jī)的串口端,

10、單片機(jī)接收到這些命令后執(zhí)行相應(yīng)的指令,如:驅(qū)動(dòng)小車運(yùn)動(dòng)、舵機(jī)運(yùn)動(dòng)、蜂鳴器鳴叫、照明電路的開關(guān)等。視頻信號(hào),通過攝像頭采集之后通過路由器發(fā)送到電腦終端,并在其應(yīng)用軟件中顯示攝像頭采集到的視頻信號(hào)。2.2 系統(tǒng)方案的選擇與比較方案一:選擇網(wǎng)上已經(jīng)經(jīng)過改裝過的wifi小車專用的TPLINK WR703N無線路由器做為我們wifi小車的wifi連接模塊,使用MSP430g2553單片機(jī)作為wifi小車的控制芯片。自己再夠買元器件,自己搭接電源、驅(qū)動(dòng)電路及單片機(jī)最小系統(tǒng)。方案二:利用網(wǎng)上大家公認(rèn)做wifi小車較好的大亞db120-wg無線路由器,作為我們的wifi智能小車的wifi連接模塊,使用我們教學(xué)

11、用的51系列單片機(jī)89C52做為我們wifi智能小車的控制芯片。利用手里面現(xiàn)有的一些電源、驅(qū)動(dòng)等模塊等制作我們的wifi智能小車。方案選擇:基于我們對(duì)成本和制作性的考慮我們選取的是方案二。第3章 硬件電路設(shè)計(jì)3.1 DB120-WG無線路由器路由器如圖3-1:圖3-1 db120-wg路由器路由器內(nèi)部如圖3-2所示。圖3-2 路由器內(nèi)部結(jié)構(gòu)圖3.1.1 刷機(jī)固件介紹固件wifi-robots-openwrt-RG100A_DB120-cfe固件說明:1Ser2net 已設(shè)置開機(jī)啟動(dòng)2mjpg_streamer開機(jī)啟動(dòng)。攝像頭只有2種驅(qū)動(dòng),uvc和301,目前開機(jī)mjpg_streamer缺省啟

12、動(dòng)了301攝像頭,301攝像頭無需設(shè)置直接跳到第3步,uvc需要修改下即可ssh登陸后,vi etc/init.d/wificar,找到攝301像頭參數(shù)mjpg_streamer -b -i "input_uvc.so -r 640x480 -f 30" -o "output_http.so -p 8080 -w /web"修改為uvc參數(shù)mjpg_streamer -b -i "input_uvc.so -r 352x288 -f 15 -y" -o "output_http.so -p 8080 -w /web"

13、;然后在putty命令行下輸入chmod 777 /etc/init.d/wifirobot更改屬性輸入/etc/init.d/wificar enable 啟動(dòng)該配置文件 重啟路由器,301攝像頭設(shè)置完成。3支持Luci/web 管理,錯(cuò)誤設(shè)置后不能進(jìn)入的,可以長按復(fù)位鍵 回初始模式4網(wǎng)絡(luò)設(shè)置,目前是AP模式,IP:。3.1.2 刷機(jī)步驟1網(wǎng)線連接電腦和路由器的LAN1(靠近電源那個(gè)網(wǎng)口,升級(jí)只能使用此口,有的版本絲印不是LAN1,反正記住靠近電源的那個(gè)口即可),電腦IP設(shè)置為69/,;設(shè)置完成點(diǎn)擊網(wǎng)

14、絡(luò)鄰居,選擇屬性,選擇升級(jí)用的有線網(wǎng)口,右鍵點(diǎn)修復(fù)。2用USB TTL線接好路由的GND、RXD、TXD三條線(VCC電源千萬別接,會(huì)燒路由),打開putty,選好端口號(hào),端口號(hào)請(qǐng)查看電腦設(shè)備管理器,設(shè)置波特率為,點(diǎn)擊下面的Open。3路由器通電,接線且設(shè)置正確的話,putty窗口應(yīng)該出現(xiàn)路由器的信息,在通電3秒內(nèi),按下鍵盤的回車鍵,阻止路由器CFE啟動(dòng),這時(shí)候應(yīng)出現(xiàn)CFE>。4輸入小寫e a,e a之間有個(gè)回車鍵,然后再按下y,點(diǎn)擊回車,路由器開始擦除清除原系統(tǒng)固件。清除之后,路由會(huì)持續(xù)輸出很多命令行,且不會(huì)停止,我們不用管,關(guān)掉路由電源。5重新打開路由電源,和第四步一樣,通電3秒內(nèi)按

15、下回車鍵阻止CFE繼續(xù)啟動(dòng)打開瀏覽器,輸入,應(yīng)看到上傳固件的的選擇文件,putty窗口也會(huì)出現(xiàn)路由器升級(jí)進(jìn)度信息,此時(shí)千萬不要斷電,理論上此時(shí)斷電會(huì)刷壞路由器,升級(jí)完成后,耐心等待5分鐘,路由器會(huì)自動(dòng)重啟。6等待路由啟動(dòng)后,等待幾分鐘再次重啟一次路由,打開網(wǎng)頁,輸入密碼登陸進(jìn)入路由器的設(shè)置,將路由器的無線網(wǎng)絡(luò)開啟,只有這樣電腦等終端設(shè)備才能通過wifi信號(hào)和路由器連接。7用putty登陸路由,轉(zhuǎn)到/etc/init.d/目錄,可以看到一個(gè)ser2net.conf文件,打開它可以看到路由串口的配置信息,默認(rèn)配置的波特率是9600,8位數(shù)據(jù)位,1位停止位

16、,無校驗(yàn)位。完成之后需要設(shè)定mjpg-streamer和ser2net隨機(jī)啟動(dòng),不然沒法正常工作。8由于我使用的攝像頭是301芯片的,在電腦上顯示會(huì)花屏,所以還需要對(duì)腳本進(jìn)行修改,其操作步驟如下:具體步驟:A登陸路由器:telnet (IP地址根據(jù)你的路由器實(shí)際地址而定)。B編輯腳本/etc/init.d/wificar:# vi /etc/init.d/wificar (在START=80后面增加一行killall mjpg_streamer,修改后的腳本看下面內(nèi)容。)#!/bin/sh /etc/monSTART=80killall mjpg_streamersta

17、rt() mjpg_streamer -b -i "input_uvc.so -r 640x480 -f 15" -o "output_http.so p 8080 -w /web"# mjpg_streamer -b -i "input_uvc.so -r 352x288 -f 15 -y" -o "output_http.so -p 8080 -w /web"ser2netstop()killall mjpg_streamerkillall ser2netC保險(xiǎn)起見,修改wificar腳本權(quán)限。# chmod

18、-777D重啟路由器。# sync;sync;reboot9插上301芯片的攝像頭,在電腦上打開我們的一個(gè)wifi小車的控制界面軟件,選擇wifi控制模式,然后打開視頻,這時(shí)我們可以看到一個(gè)穩(wěn)定視頻信號(hào)通過路由器無線傳送到了我們的電腦終端,至此說明我們路由器刷機(jī)及其配置完成。3.2 單片機(jī)最小系統(tǒng)設(shè)計(jì)最小系統(tǒng)主控芯片是宏晶公司MCS-51系列單片機(jī)中的89C52。3.2.1 主控制芯片89C5289C52是宏晶公司MCS-51系列單片機(jī)中基本的產(chǎn)品,它采用ETC公司可靠的CHMOS工藝技術(shù)制造的高性能8位單片機(jī),屬于標(biāo)準(zhǔn)的MCS-51的HCMOS產(chǎn)品。它結(jié)合了HMOS的高速和高密度技術(shù)及CHM

19、OS的低功耗特征,它基于標(biāo)準(zhǔn)的MCS-51單片機(jī)體系結(jié)構(gòu)和指令系統(tǒng),屬于80C51增強(qiáng)型單片機(jī)版本,集成了時(shí)鐘輸出和向上或向下計(jì)數(shù)器等更多的功能,適合于類似馬達(dá)控制等應(yīng)用場(chǎng)合。89C52內(nèi)置8位、256字節(jié)內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM、8k片內(nèi)程序存儲(chǔ)器(ROM)32個(gè)雙向輸入/輸出(I/O)口、3個(gè)16位定時(shí)/計(jì)數(shù)器和5個(gè)兩級(jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)時(shí)鐘振蕩電路。此外,89C52還可工作于低功耗模式,可通過兩種選擇空閑和掉電模式。在空閑模式下凍結(jié)CPU而RAM、串行口和中斷系統(tǒng)維持其功能。掉電模式下,保存RAM數(shù)據(jù),時(shí)鐘振蕩停止,同時(shí)停止芯片內(nèi)其它功能。89C52有PDIP(40pin)

20、和PLCC(44pin)兩種封裝形式。主要功能特性:1標(biāo)準(zhǔn)MCS-51內(nèi)核和指令系統(tǒng)。232個(gè)雙向I/O口。33個(gè)16位可編程定時(shí)/計(jì)數(shù)器。4向上或向下定時(shí)計(jì)數(shù)器。56個(gè)中斷源。6全雙工串行通信口。7幀錯(cuò)誤偵測(cè)。8自動(dòng)地址識(shí)別。9空閑和掉電節(jié)省模式。10片內(nèi)8kROM(可擴(kuò)充64kB外部存儲(chǔ)器)。11256x8bit內(nèi)部RAM(可擴(kuò)充64kB外部存儲(chǔ)器)。12時(shí)鐘頻率3.5-12/24/33MHz。13改進(jìn)型快速編程脈沖算法。145.0V工作電壓。15布爾處理器。164層優(yōu)先級(jí)中斷結(jié)構(gòu)。17兼容TTL和CMOS邏輯電平。18PDIP(40)和PLCC(44)封裝形式。管腳說明:VCC:供電電壓

21、。GND:接地。P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。 P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位

22、雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸

23、入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口作為STC89C52的一些特殊功能口,管腳備選功能:P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 /INT0(外部中斷0) P3.3 /INT1(外部中斷1) P3.4 T0(記時(shí)器0外部輸入) P3.5 T1(記時(shí)器1外部輸入) P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通) P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通) RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程

24、期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。 /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。/EA / VPP:當(dāng)/EA保持低電平時(shí),則

25、在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。 振蕩電路:外接石英晶體或者陶瓷諧振器以及電容C1、C2接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。為了使裝置能夠被外部激活,XATL1應(yīng)該有效,而XTAL2應(yīng)該被懸空。由于輸入到內(nèi)部的時(shí)鐘信號(hào)電路通過了一個(gè)二分頻的信號(hào),外部信號(hào)的工作周期比沒有別的要求,但是最大值和最小值的

26、大小可以在數(shù)據(jù)表上觀察出來。 當(dāng)正常工作時(shí),外部振蕩器可以計(jì)算出XTAL1上的電容,最大可達(dá)到100pF。這是由于振蕩器電容和反饋電容之間的相互作用。當(dāng)外部信號(hào)是標(biāo)準(zhǔn)高電平或者低電平時(shí),電容不會(huì)超過20pF。空置模式:用戶的軟件都可以調(diào)用空置模式。當(dāng)單片機(jī)出于這種模式,耗能就會(huì)自然降低。特殊功能端和板子上的隨機(jī)存儲(chǔ)器在空置狀態(tài)保持各自的電平。但是處理器阻止裝置執(zhí)行指令??罩媚J綍?huì)被激活如果端口處于復(fù)位狀態(tài)或者中斷系統(tǒng)有效。 3.2.2 STC89C52RC單片機(jī)最小系統(tǒng)STC89C52RC單片機(jī)最小系統(tǒng)的基本工作電路包括電源電路、時(shí)鐘電路和復(fù)位電路。其組成方框圖如圖3-3所示。單片機(jī)電源電路時(shí)

27、鐘電路復(fù)位電路圖3-3 單片機(jī)最小系統(tǒng)組成方框圖1電源電路電源電路模塊為單片機(jī)最小系統(tǒng)和其他功能模塊提供標(biāo)準(zhǔn)的+5V電源電壓。2時(shí)鐘電路單片機(jī)的時(shí)鐘信號(hào)為單片機(jī)芯片內(nèi)部的各種操作提供時(shí)間基準(zhǔn),時(shí)鐘電路為單片機(jī)產(chǎn)生時(shí)鐘脈沖序列。作為單片機(jī)工作的時(shí)間基準(zhǔn),典型的晶體振蕩頻率為12MHz。MCS-51系列單片的時(shí)鐘信號(hào)可以由兩種方式產(chǎn)生:一種為內(nèi)部時(shí)鐘方式,利用芯片內(nèi)部的振蕩電路;另一種為外部時(shí)鐘方式。其兩種電路如圖3-4所示。(a)內(nèi)部時(shí)鐘方式 (b)外部時(shí)鐘方式圖3-4 單片機(jī)時(shí)鐘信號(hào)示意圖3復(fù)位電路單片機(jī)復(fù)位是使CPU和系統(tǒng)中的其他功能部件都恢復(fù)到一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作。當(dāng)在

28、MCS-51系列單片的RST引腳處引入高電平并保持2個(gè)機(jī)器周期,單片機(jī)內(nèi)部就執(zhí)行復(fù)位操作。單片機(jī)常見的復(fù)位電路有兩種基本形式:一種是上自動(dòng)電復(fù)位,另一種是手動(dòng)復(fù)位。其兩種電路方式如圖3-5(a)、(b)所示。由于STC89C52RC單片機(jī)芯片內(nèi)有時(shí)鐘振蕩電路,所以此系統(tǒng)單片機(jī)均采用內(nèi)部時(shí)鐘方式。只需在單片機(jī)的XTAL1和XTAL2引腳外接石英晶體和微調(diào)電容,就構(gòu)成了自激振蕩器并在單片機(jī)內(nèi)部產(chǎn)生時(shí)鐘信號(hào)脈沖信號(hào)。同時(shí),也采用手動(dòng)復(fù)位電路。其具體電路設(shè)計(jì)如圖3-6所示。(a)上電自動(dòng)復(fù)位 (b)手動(dòng)復(fù)位圖3-5 單片機(jī)復(fù)位電路示意圖在此圖中,C1、C2電容的作用的是穩(wěn)定頻率和快速起振,其值為530

29、pF,在此選擇30pF;晶振X1的振蕩頻率范圍在3.533MHz之間選擇,因?yàn)樾枰褂么ㄓ嵣婕安ㄌ芈?,所以在此選擇22.1184MHz。3.2.3 89C52單片機(jī)的使用本次設(shè)計(jì),使用到了89C52單片機(jī)的I/O口的輸入輸出功能、內(nèi)部定時(shí)器T0、T1、T2的使用及串口中斷、外部中斷。圖3-6 單片機(jī)最小系統(tǒng)電路圖89C52單片機(jī)的I/O口的輸入功能用于傳感器信號(hào)的輸入處理。通過單片機(jī)對(duì)外部傳感器的信號(hào)采集處理,從而對(duì)外部條件進(jìn)行判斷以確定小車下一步的運(yùn)行狀態(tài)。89C52單片機(jī)的I/O口信號(hào)輸出,主要是給驅(qū)動(dòng)模塊送控制信號(hào)用于控制電機(jī)的轉(zhuǎn)動(dòng)、給舵機(jī)送PWM控制信號(hào)控制舵機(jī)的偏轉(zhuǎn)以及控制開關(guān)蜂鳴

30、器、燈光等。單片機(jī)的內(nèi)部定時(shí)器的使用是用于產(chǎn)生PWM信號(hào),以及其他需要精確時(shí)間的地方。單片機(jī)的串口中斷,用于與路由器進(jìn)行的串口通訊,接收電腦終端發(fā)送的串口指令。單片機(jī)的外部中斷用于紅外信號(hào)的接收,然后通過解碼程序得到命令,從而控制小車的運(yùn)動(dòng)。3.3 電機(jī)驅(qū)動(dòng)電路電動(dòng)小車的驅(qū)動(dòng)不但要求電機(jī)驅(qū)動(dòng)系統(tǒng)具有高轉(zhuǎn)矩重量比、寬調(diào)速范圍、高可靠性,而且電機(jī)的轉(zhuǎn)矩-轉(zhuǎn)速特性受電源功率的影響,這就要求驅(qū)動(dòng)具有盡可能寬的高效率區(qū)。我們所使用的電機(jī)一般為直流電機(jī),主要用到永磁直流電機(jī)、伺服電機(jī)及步進(jìn)電機(jī)三種。直流電機(jī)的控制很簡單,性能出眾,直流電源也容易實(shí)現(xiàn)。我們使用的這種直流電機(jī)的驅(qū)動(dòng)及控制需要電機(jī)驅(qū)動(dòng)芯片進(jìn)行驅(qū)

31、動(dòng)。常用的電機(jī)驅(qū)動(dòng)芯片有L297/298,MC33886,ML4428等。3.3.1 電機(jī)驅(qū)動(dòng)模塊使用我們使用的L298N是ST公司生產(chǎn)的一種高電壓、大電流電機(jī)驅(qū)動(dòng)芯片。該芯片采用15腳封裝。主要特點(diǎn)是:工作電壓高,最高工作電壓可達(dá)46V;輸出電流大,瞬間峰值電流可達(dá)3A,持續(xù)工作電流為2A;額定功率25W。內(nèi)含兩個(gè)H橋的高電壓大電流全橋式驅(qū)動(dòng)器,可以用來驅(qū)動(dòng)直流電動(dòng)機(jī)和步進(jìn)電動(dòng)機(jī)、繼電器線圈等感性負(fù)載;采用標(biāo)準(zhǔn)邏輯電平信號(hào)控制;具有兩個(gè)使能控制端,在不受輸入信號(hào)影響的情況下允許或禁止器件工作有一個(gè)邏輯電源輸入端,使內(nèi)部邏輯電路部分在低電壓下工作;可以外接檢測(cè)電阻,將變化量反饋給控制電路。使用

32、L298N芯片驅(qū)動(dòng)電機(jī),該芯片可以驅(qū)動(dòng)一臺(tái)兩相步進(jìn)電機(jī)或四相步進(jìn)電機(jī),也可以驅(qū)動(dòng)兩臺(tái)直流電機(jī)。項(xiàng)目使用的是4個(gè)直流電機(jī),項(xiàng)目中使用了兩塊L298N電機(jī)驅(qū)動(dòng)來驅(qū)動(dòng)這四個(gè)直流電機(jī)的轉(zhuǎn)動(dòng)。其實(shí)物及引腳圖如下圖3-7所示。其中6和11引腳是它的使能端,一個(gè)使能端控制一個(gè)電機(jī),只有當(dāng)它們都是高電平的時(shí)候兩個(gè)電機(jī)才有可能工作,5、7、10、12是298的信號(hào)輸入端和單片機(jī)的IO口相連,2、3、13、14腳是輸出端,輸入5和7腳控制輸出2和3腳,輸入的10、12腳控制輸出的13、14腳。圖3-7 L298驅(qū)動(dòng)芯片實(shí)物及引腳圖3.3.2 驅(qū)動(dòng)原理及電路圖驅(qū)動(dòng)部分我們使用的是L298N驅(qū)動(dòng)芯片構(gòu)成的一個(gè)驅(qū)動(dòng)電路

33、模塊如圖3-8所示。圖3-8 驅(qū)動(dòng)實(shí)物圖3.3.3 驅(qū)動(dòng)模塊原理及電路原理圖電路原理圖如下圖3-9所示。圖3-9 L298驅(qū)動(dòng)模塊電路原理圖使用直流/步進(jìn)兩用驅(qū)動(dòng)器可以驅(qū)動(dòng)兩臺(tái)直流電機(jī)。分別為M1和M2。引腳A,B可用于輸入PWM脈寬調(diào)制信號(hào)對(duì)電機(jī)進(jìn)行調(diào)速控制。(如果無須調(diào)速可將兩引腳接5V,使電機(jī)工作在最高速狀態(tài),既將短接帽短接)實(shí)現(xiàn)電機(jī)正反轉(zhuǎn)就更容易了,輸入信號(hào)端IN1接高電平輸入端IN2接低電平,電機(jī)M1正轉(zhuǎn)。(如果信號(hào)端IN1接低電平,IN2接高電平,電機(jī)M1反轉(zhuǎn)。)控制另一臺(tái)電機(jī)是同樣的方式,輸入信號(hào)端IN3接高電平,輸入端IN4接低電平,電機(jī)M2正轉(zhuǎn)。(反之則反轉(zhuǎn)),PWM信號(hào)端A

34、控制M1調(diào)速,PWM信號(hào)端B控制M2調(diào)速。可參考下圖表3-1。表3-1電機(jī)驅(qū)動(dòng)狀態(tài)表電機(jī)旋轉(zhuǎn)方式控制端IN1控制端IN2控制端IN3控制端IN4輸入PWM信號(hào)改變脈寬可調(diào)速調(diào)速端A調(diào)速端BM1正轉(zhuǎn)高低/高/反轉(zhuǎn)低高/高/停止低低/高/M2正轉(zhuǎn)/高低/高反轉(zhuǎn)/低高/高停止低低/高3.4 攝像頭介紹本項(xiàng)目中攝像頭實(shí)現(xiàn)實(shí)時(shí)監(jiān)測(cè)小車周邊情況,使之成為一個(gè)無線可控移動(dòng)的視頻監(jiān)控器,也用于判斷小車當(dāng)前路況。3.4.1 攝像頭簡介攝像頭(CAMERA)又稱為電腦相機(jī)、電腦眼等,它作為一種視頻輸入設(shè)備,在過去被廣泛的運(yùn)用于視頻會(huì)議、遠(yuǎn)程醫(yī)療及實(shí)時(shí)監(jiān)控等方面。近年以來,隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,網(wǎng)絡(luò)速度的不斷提高,

35、再加上感光成像器件技術(shù)的成熟并大量用于攝像頭的制造上,這使得它的價(jià)格降到普通人可以承受的區(qū)間。普通的人也可以彼此通過攝像頭在網(wǎng)絡(luò)進(jìn)行有影像、有聲音的交談和溝通,另外,人們還可以將其用于當(dāng)前各種流行的數(shù)碼影像、影音處理。3.4.2 攝像頭的分類攝像頭分為數(shù)字?jǐn)z像頭和模擬攝像頭兩大類。模擬攝像頭可以將視頻采集設(shè)備產(chǎn)生的模擬視頻信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),進(jìn)而將其儲(chǔ)存在計(jì)算機(jī)里。模擬攝像頭捕捉到的視頻信號(hào)必須經(jīng)過特定的視頻捕捉卡將模擬信號(hào)轉(zhuǎn)換成數(shù)字模式,并加以壓縮后才可以轉(zhuǎn)換到計(jì)算機(jī)上運(yùn)用。數(shù)字?jǐn)z像頭可以直接捕捉影像,然后通過串、并口或者USB接口傳到計(jì)算機(jī)里。現(xiàn)在電腦市場(chǎng)上的攝像頭基本以數(shù)字?jǐn)z像頭為主,而

36、數(shù)字?jǐn)z像頭中又以使用新型數(shù)據(jù)傳輸接口的USB數(shù)字?jǐn)z像頭為主,目前市場(chǎng)上可見的大部分都是這種產(chǎn)品。除此之外還有一種與視頻采集卡配合使用的產(chǎn)品,但目前還不是主流。由于個(gè)人電腦的迅速普及,模擬攝像頭的整體成本較高等原因,USB接口的傳輸速度遠(yuǎn)遠(yuǎn)高于串口、并口的速度,因此現(xiàn)在市場(chǎng)熱點(diǎn)主要是USB接口的數(shù)字?jǐn)z像頭。以下主要是指USB接口的數(shù)字?jǐn)z像頭。3.4.3 攝像頭的工作原理攝像頭的工作原理大致為:景物通過鏡頭(LENS)生成的光學(xué)圖像投射到圖像傳感器表面上,然后轉(zhuǎn)為電信號(hào),經(jīng)過A/D(模數(shù)轉(zhuǎn)換)轉(zhuǎn)換后變?yōu)閿?shù)字圖像信號(hào),再送到數(shù)字信號(hào)處理芯片(DSP)中加工處理,再通過USB接口傳輸?shù)诫娔X中處理,通過

37、顯示器就可以看到圖像了。我們這里是將攝像頭連接在路由器的USB接口上,通過路由器上的攝像頭驅(qū)動(dòng)軟件使攝像頭工作,并由路由器通過WIFI將視頻信號(hào)發(fā)送出去。電腦等終端接收設(shè)備,接收到視頻信號(hào)后通過控制軟件的界面顯示圖像。3.4.4 攝像頭的主要結(jié)構(gòu)和組件從攝像頭的工作原理就可以列出攝像頭的主要結(jié)構(gòu)和組件:1主控芯片(詳情請(qǐng)參閱下面介紹)2感光芯片(詳情請(qǐng)參閱下面介紹)3鏡頭(詳情請(qǐng)參閱下面介紹)4電源。攝像頭內(nèi)部需要兩種工作電壓:3.3V和2.5V,因此好的攝像頭內(nèi)部電源也是保證攝像頭穩(wěn)定工作的一個(gè)因素。在本次wifi小車的制作中我們使用的天敏S606的攝像頭,如圖3-10所示。圖3-10 天敏

38、S606攝像頭3.5 舵機(jī)舵機(jī)如圖3-11所示。圖3-11 舵機(jī)舵機(jī)的輸入線共有三條,紅色中間,是電源線,一邊黑色的是地線,這輛根線給舵機(jī)提供最基本的能源保證,主要是電機(jī)的轉(zhuǎn)動(dòng)消耗。電源有兩種規(guī)格,一是4.8V,一是6.0V,分別對(duì)應(yīng)不同的轉(zhuǎn)矩標(biāo)準(zhǔn),即輸出力矩不同,6.0V對(duì)應(yīng)的要大一些,具體看應(yīng)用條件;另外一根線是控制信號(hào)線,F(xiàn)utaba的一般為白色,JR的一般為桔黃色。另外要注意一點(diǎn),SANWA的某些型號(hào)的舵機(jī)引線電源線在邊上而不是中間,需要辨認(rèn)。但記住紅色為電源,黑色為地線,一般不會(huì)有錯(cuò)。 3.5.1 舵機(jī)的控制舵機(jī)的控制信號(hào)為周期是20ms的脈寬調(diào)制(PWM)信號(hào),其中脈沖寬度從0.5

39、ms-2.5ms,相對(duì)應(yīng)舵盤的位置為0180度,呈線性變化。也就是說,給它提供一定的脈寬,它的輸出軸就會(huì)保持在一個(gè)相對(duì)應(yīng)的角度上,無論外界轉(zhuǎn)矩怎樣改變,直到給它提供一個(gè)另外寬度的脈沖信號(hào),它才會(huì)改變輸出角度到新的對(duì)應(yīng)的位置上。舵機(jī)內(nèi)部有一個(gè)基準(zhǔn)電路,產(chǎn)生周期20ms,寬度1.5ms的基準(zhǔn)信號(hào),有一個(gè)比較器,將外加的PWM信號(hào)與基準(zhǔn)信號(hào)相比較,判斷出方向和大小,從而產(chǎn)生電機(jī)的轉(zhuǎn)動(dòng)信號(hào)。由此可見,舵機(jī)是一種位置伺服的驅(qū)動(dòng)器,轉(zhuǎn)動(dòng)范圍不能超過180度,適用于那些需要角度不斷變化并可以保持的驅(qū)動(dòng)當(dāng)中。比方說機(jī)器人的關(guān)節(jié)、飛機(jī)的舵面等。3.5.2 舵機(jī)的作用在本次wifi小車中我們利用兩個(gè)舵機(jī)做成一個(gè)云

40、臺(tái)(如圖3-12),將攝像頭固定在云臺(tái)上,通過89C52單片機(jī)控制舵機(jī)旋轉(zhuǎn)一定的角度,把我們想要角度的圖像通過攝像頭傳送到電腦等終端設(shè)備。圖3-12 舵機(jī)云臺(tái)3.6 電源模塊單片機(jī)和舵機(jī)需要分別單獨(dú)供5V、6V的電源。本項(xiàng)目采用的是通過集成穩(wěn)壓芯片LM78XX系列構(gòu)成一個(gè)5v、6v的穩(wěn)壓模塊供電。LM78系列引腳及實(shí)物圖如圖3-13所示。3.6.1 LM78系列集成穩(wěn)壓芯片介紹中,常見的三端穩(wěn)壓集成電路有正電壓輸出的78××系列和負(fù)電壓輸出的79××系列。顧名思義,三端IC是指這種穩(wěn)壓用的EIC來組成穩(wěn)壓電源所需的外圍元件極少,電路內(nèi)部還有過流、過熱及調(diào)

41、整管的保護(hù)電路,使用起來可靠、方便,而且價(jià)格便宜。該系列集成穩(wěn)壓IC型號(hào)中的78或79后面的數(shù)字代表該三端集成穩(wěn)壓電路的輸出電壓,如7806表示輸出電壓為正6V,7909表示輸出電壓為負(fù)9V。因?yàn)槿斯潭煞€(wěn)壓電路的使用方便,電子制作中經(jīng)常采用。圖3-13 LM78系列穩(wěn)壓引腳及實(shí)物在實(shí)際應(yīng)用中,應(yīng)在EQWEWQW 三端集成穩(wěn)壓電路上安裝足夠大的散熱器(當(dāng)然小功率的條件下不用)。當(dāng)溫度過高時(shí),穩(wěn)壓性能將變差,甚至損壞。當(dāng)制作中需要一個(gè)能輸出1.5A以上電流的穩(wěn)壓電源,通常采用幾塊三端穩(wěn)壓電路并聯(lián)起來,使其最大輸出電流為N個(gè)1.5A,但應(yīng)用時(shí)需注意:并聯(lián)使用的集成穩(wěn)壓電路應(yīng)采用同一廠家、同一批

42、號(hào)的產(chǎn)品,以保證參數(shù)的一致。另外在輸出電流上留有一定的余量,以避免個(gè)別集成穩(wěn)壓電路失效時(shí)導(dǎo)致其他電路的連鎖燒毀。3.6.2 穩(wěn)壓電路78穩(wěn)壓電路原理圖如圖3-14所示。圖3-14 7805、06集成芯片穩(wěn)壓電路原理圖這是一個(gè)輸出正5V、6V直流電壓的穩(wěn)壓電源電路。IC采用集成穩(wěn)壓器7805、7806,其中電容分別為輸入端和輸出端濾波,LED和電阻R1構(gòu)成一個(gè)電源指示電路,具體參數(shù)如圖3-14所示。當(dāng)輸出電較大時(shí),7805應(yīng)配上散熱板。3.7 路由器及驅(qū)動(dòng)模塊供電模塊LM2596路由器需要一個(gè)12V/1A的電源;電機(jī)驅(qū)動(dòng)需要一個(gè)8V左右的電源。我們這里分別使用了兩個(gè)可調(diào)壓的LM2596電源模塊分

43、別調(diào)節(jié)到想要的電壓為路由器和電機(jī)驅(qū)動(dòng)供電。LM2596系列是生產(chǎn)的3A輸出降壓開關(guān)型集成穩(wěn)壓,它內(nèi)含固定頻率振蕩器(150KHZ),和基準(zhǔn)穩(wěn)壓器(1.23V),并具有完善的:電流限制、熱關(guān)斷電路等。利用該器件只需極少的外圍器件便可構(gòu)成高效穩(wěn)壓電路。提供有:3.3V、5V、12V及可調(diào)(-ADJ)等多個(gè)電壓檔次產(chǎn)品。 此外,該芯片還提供了工作狀態(tài)的外部控制引腳。圖3-15為LM2596芯片實(shí)物以及引腳示意圖。1為+VIN,2為out put,3為gnd,4為feed back,5為on/off。3.7.1 LM2596系列開關(guān)穩(wěn)壓集成電路的主要特性1最大輸出電流:3A 2最高輸入電壓:37V 3

44、輸出電壓:3.3V、5V、12V及(ADJ)等,最大輸出電壓37V4震蕩頻率:150KHZ 5轉(zhuǎn)換效率:75%88%(不同電壓輸出時(shí)的不同)6:-40+125 7工作模式:低功耗/正常兩種模式。可外部控制 8工作模式控制:TTL相容 9所需外部:僅四個(gè)(不可調(diào));六個(gè)(可調(diào)) 10器件保護(hù):熱關(guān)斷及電流限制 11封裝形式:5腳(TO-220(T);TO-263(S)3.7.2 LM2596構(gòu)成的可調(diào)壓電源模塊開關(guān)電源調(diào)節(jié)器是降壓型電源管理單片集成電路,能夠輸出3A的驅(qū)動(dòng)電流,同時(shí)具有很好的線性和負(fù)載調(diào)節(jié)特性??烧{(diào)節(jié)輸出小于37V的各種電壓。該器件內(nèi)部集成頻率補(bǔ)償和固定頻率發(fā)生器,開關(guān)頻率為15

45、0KHZ,與低頻開關(guān)調(diào)節(jié)器相比較,可以使用更小規(guī)格的濾波元件。由于該器件只需4個(gè)外接器件,可以使用通用的標(biāo)準(zhǔn)電感,這更優(yōu)化了LM2596的使用,極大地簡化了開關(guān)電源電路的設(shè)計(jì)。圖3-15 LM2596實(shí)物及引腳圖其中,。由于路由器耗電較大需要供12V/1A的電,我們通過調(diào)節(jié)LM2596的開關(guān)電源模塊電路為路由器供12V/1A的電源以及給耗電較大的電機(jī)供電。其電路圖3-16所示。可調(diào)壓LM2596電路原理圖如圖3-16所示。圖3-16 LM2596構(gòu)成的可調(diào)壓電源模塊電路圖3.8 燈光、蜂鳴器及電平轉(zhuǎn)換電路設(shè)計(jì)燈光、蜂鳴器及電平轉(zhuǎn)換電路都是通過三極管的開關(guān)作用實(shí)現(xiàn)的,如圖3-17、3-18、3-

46、19所示。燈光電路和蜂鳴器電路都是通過單片機(jī)引腳輸出高低電平到三極管的基極,使三極管導(dǎo)通或截止,從而控制LED的點(diǎn)亮熄滅,控制蜂鳴器的鳴叫。其中燈光電路中的電阻用于限流保護(hù)發(fā)光二極管。電平轉(zhuǎn)換電路中將5V轉(zhuǎn)化為3V是通過滑動(dòng)電阻器降壓實(shí)現(xiàn)的,將3V轉(zhuǎn)換為5V是通過3V的信號(hào)控制三極管的截止,導(dǎo)通進(jìn)行控制從而使三級(jí)管的發(fā)射極對(duì)應(yīng)輸出高低電平用于輸入單片機(jī)進(jìn)行處理。圖3-17 燈光控制電路圖3-18 蜂鳴器控制電路圖3-19 電平轉(zhuǎn)換電路第4章 系統(tǒng)程序設(shè)計(jì)4.1 系統(tǒng)程序簡介硬件平臺(tái)結(jié)構(gòu)一旦確定,大的功能框架即形成,軟件在硬件平臺(tái)上構(gòu)筑,完成各部分硬件的控制和協(xié)調(diào)工作。系統(tǒng)功能是由軟硬件共同實(shí)現(xiàn)

47、的,由于軟件的可伸縮性,最終實(shí)現(xiàn)的系統(tǒng)功能可強(qiáng)可弱,差別可能很大。因此,軟件是系統(tǒng)的靈魂。軟件采用模塊化設(shè)計(jì)方法,不僅易于編程和調(diào)試,也可減小軟件故障率和提高軟件的可靠性。我們的小車控制是通過89C52單片機(jī)控制驅(qū)動(dòng)電路和給舵機(jī)送控制信號(hào),然而這些控制信號(hào)的命令又是電腦等終端設(shè)備通過無線路由器串口傳送給單片機(jī)的,所以在程序中我們需要設(shè)計(jì)到串口的使用、定時(shí)器使用、I/O口的使用。4.2 程序流程圖智能WIFI小車的軟件編寫主要分為命令接收部分、命令執(zhí)行部分、以及具體的信號(hào)的采集和處理。4.2.1 主程序流程圖系統(tǒng)主程序模塊主要完成對(duì)系統(tǒng)中各模塊電路的初始化等工作,主要包括對(duì)定時(shí)器、串口中斷、外部

48、中斷的初始化,同時(shí)執(zhí)行電腦等終端設(shè)備所發(fā)送的命令,等待外部中斷以及根據(jù)所需要的功能進(jìn)行相應(yīng)操作。軟件總體設(shè)計(jì)及程序流程如下圖4-1所示。判斷串口接收的指令開始初始化I/O口初始化定時(shí)器T1、T2及串口中斷小車前進(jìn)小車后退小車左轉(zhuǎn)小車右轉(zhuǎn)小車停止蜂鳴器開蜂鳴器關(guān)小車燈開小車燈關(guān)小車尋跡小車避障舵機(jī)1轉(zhuǎn)舵機(jī)2轉(zhuǎn)小車加速小車減速圖4-1 主函數(shù)流程圖4.2.2 串口中斷子函數(shù)流程圖通過串口中斷,實(shí)現(xiàn)單片機(jī)和路由器進(jìn)行通訊。進(jìn)入中斷后關(guān)掉中斷,避免數(shù)據(jù)信號(hào)重復(fù)引起中斷。根據(jù)命令數(shù)據(jù)發(fā)送的規(guī)律,將命令解碼儲(chǔ)存在相應(yīng)的二維數(shù)組當(dāng)中,方便在主函數(shù)中調(diào)用。具體流程圖如下圖4-2所示。4.2.3 定時(shí)器2中斷子

49、函數(shù)流程圖通過定時(shí)器的初始值和循環(huán)次數(shù),確定出舵機(jī)PWM信號(hào)的20Ms的周期,通過控制高電平持續(xù)的中斷次數(shù),來確定具體的PWM信號(hào)。其流程圖如下圖4-3所示。結(jié)束指令類型或數(shù)據(jù)接收到結(jié)束命令NY串口中斷將IR歸零將接收到的數(shù)據(jù)命令賦給數(shù)組計(jì)數(shù)cont=0小車方向小車速度燈蜂鳴器舵機(jī)尋跡避障計(jì)數(shù)cont+圖4-2 串口中斷流程圖4.2.4 避障子函數(shù)流程圖根據(jù)傳感器探測(cè)到小車四周障礙物狀態(tài),從而確定驅(qū)動(dòng)幾個(gè)電機(jī)的旋轉(zhuǎn)方向,也就確定了小車的運(yùn)動(dòng)狀態(tài)。其流程圖如下圖4-4所示。4.2.5 尋跡函數(shù)流程圖根據(jù)傳感器掃黑線上的狀態(tài),從而確定驅(qū)動(dòng)幾個(gè)電機(jī)的旋轉(zhuǎn)方向,也就確定了小車的運(yùn)動(dòng)狀態(tài)。其流程圖如下圖

50、4-5所示。結(jié)束t1=200?t1=200?t1=io1?、?t2=io2?中斷標(biāo)志位清零定時(shí)中斷初始化T2t1、t2自加舵機(jī)1控制端歸零舵機(jī)2控制端歸零舵機(jī)1控制信號(hào)復(fù)位t1=0舵機(jī)2控制信號(hào)復(fù)位t1=0圖4-3 定時(shí)中斷函數(shù)流程圖判斷P2口狀態(tài)避障函數(shù)小車前進(jìn)小車后退小車左轉(zhuǎn)小車右轉(zhuǎn)小車停止圖4-4 避障子函數(shù)流程圖小車停止小車右轉(zhuǎn)小車左轉(zhuǎn)小車后退小車前進(jìn)判斷P0口狀態(tài)尋跡函數(shù)圖4-5 尋跡子函數(shù)流程圖第5章 制作與調(diào)試5.1 系統(tǒng)仿真隨著科技的發(fā)展,“計(jì)算機(jī)仿真技術(shù)”已成為許多設(shè)計(jì)部門重要的前期設(shè)計(jì)手段。它具有設(shè)計(jì)靈活,結(jié)果、過程統(tǒng)一的特點(diǎn)??墒乖O(shè)計(jì)時(shí)間大為縮短、耗資大為減少,也可降低工

51、程制造的風(fēng)險(xiǎn)。5.1.1 常用軟件介紹1Keil軟件Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。運(yùn)行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具

52、也會(huì)令你事半功倍。其軟件界面如圖5-1所示。圖5-1 Keil軟件界面圖2Proteus軟件Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)

53、軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即將增加Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯。其軟件界面如圖5-2所示。圖5-2 Proteus軟件界面5.1.2 仿真測(cè)試1系統(tǒng)初始化測(cè)試:主要完成對(duì)系統(tǒng)中各模塊電路的初始化等工作,如在Proteus里面對(duì)軟件的一些參數(shù)進(jìn)行調(diào)試。將Proteus里的單片機(jī)89C52的晶振設(shè)置為我們實(shí)物中使用的參數(shù)22.1184MHz,將T0、

54、T1和T2定時(shí)器開啟并使之從單片機(jī)的I/O口輸出,我們通過Proteus軟件里的示波器,就可看出我們?cè)O(shè)置的定時(shí)器初始值是否合適,如果不合適我們就能根據(jù)I/O口的波形,修改我們的參數(shù)直到合適為止。2分模塊對(duì)軟件進(jìn)行測(cè)試,在Proteus軟件中我們把我們的尋跡、避障模塊程序分別進(jìn)行調(diào)試,我將傳感器的狀態(tài)在軟件中用開關(guān)替代,在輸出I/O引腳上加上發(fā)光二極管,用觀察輸出狀態(tài)。這樣我們就可將外部的輸入狀態(tài)和輸出進(jìn)行對(duì)比,判斷出個(gè)模塊軟件的編寫是否正常。5.2 實(shí)物調(diào)試根據(jù)系統(tǒng)設(shè)計(jì)方案,此系統(tǒng)調(diào)試可分為硬件調(diào)試、軟件調(diào)試和軟硬件聯(lián)調(diào)三個(gè)部分。1硬件調(diào)試由于此設(shè)計(jì)實(shí)物的焊接、裝配工作量非常大,所以在電路安裝完成后,首先應(yīng)對(duì)系統(tǒng)進(jìn)行整體檢查,確認(rèn)電路無虛焊、短路、斷路等錯(cuò)誤,然后應(yīng)該對(duì)電路各功能模塊進(jìn)行分級(jí)調(diào)試,逐步實(shí)現(xiàn)系統(tǒng)的整體功能。2軟件調(diào)試此系統(tǒng)的軟件程序,均使用C語言編寫。首先選用單片機(jī)開發(fā)板作為程序調(diào)試的載體,逐步對(duì)各模塊子程序進(jìn)行調(diào)試,然后再將各子程序模塊進(jìn)行有機(jī)組合、聯(lián)調(diào),最終完成整個(gè)系統(tǒng)的軟件調(diào)試。3軟硬聯(lián)調(diào)系統(tǒng)軟硬件聯(lián)調(diào)的主要任務(wù)是檢測(cè)系統(tǒng)中各模塊的功能和效果,同時(shí)需要校正系統(tǒng)的相關(guān)數(shù)據(jù),按實(shí)際測(cè)量數(shù)據(jù)進(jìn)行調(diào)試,直至數(shù)據(jù)結(jié)果準(zhǔn)確為止。第章 結(jié)論通過本次WIFI智能小車的理論學(xué)習(xí)、論文編寫和實(shí)物的制作,進(jìn)一步的認(rèn)識(shí)到了自身存在

溫馨提示

  • 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)論