




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上單片機(jī)大作業(yè)“基于單片機(jī)的藍(lán)牙遙控小車(chē)” 姓名: 班級(jí):通信工程卓越2014-1 學(xué)號(hào): 在班編號(hào):專(zhuān)心-專(zhuān)注-專(zhuān)業(yè)基于單片機(jī)的藍(lán)牙遙控小車(chē)目錄第一章 緒論1.1 研究背景和意義智能化無(wú)處不在。各種智能化設(shè)備在不同的領(lǐng)域中發(fā)揮著自己的特長(zhǎng),而在家用方面的智能有著相當(dāng)重要的意義。本次所設(shè)計(jì)的智能小車(chē)系統(tǒng)包含著對(duì)周?chē)h(huán)境的檢測(cè)、舵機(jī)控制以及短距離無(wú)線遙控等的功能,它需要實(shí)現(xiàn)微控制器、多傳感器技術(shù)、藍(lán)牙遙控、機(jī)械結(jié)構(gòu)原理、數(shù)字邏輯、自動(dòng)控制等各學(xué)科技術(shù)內(nèi)容的滲透融合。智能小車(chē)通過(guò)其上部搭載的89C52芯片作為核心控制器,通過(guò)多種傳感器來(lái)獲取周?chē)h(huán)境信息并將采集到的信息輸送給
2、CPU,然后由CPU來(lái)給各個(gè)部分下達(dá)相對(duì)應(yīng)的指令。智能小車(chē)不僅價(jià)格低廉,而且甚至能夠擔(dān)任人類(lèi)難以從事的任務(wù),它在工業(yè)、農(nóng)業(yè)以及社會(huì)生產(chǎn)生活等許多領(lǐng)域都起到了重要作用。本次課題設(shè)計(jì)中所采用到的短距離無(wú)線遙控、單片機(jī)控制原理、多傳感器技術(shù)、自動(dòng)避障技術(shù)等等?,F(xiàn)在在工業(yè)制造、農(nóng)業(yè)生產(chǎn)、國(guó)家安全、軍事武器,醫(yī)療保健、太空探測(cè)等許多領(lǐng)域都日益發(fā)揮著其作用,在軍事偵察、反恐、防暴、防核化等高危任務(wù)方面、環(huán)境污染檢測(cè)方面和在惡劣環(huán)境中均有著非常好的發(fā)展前景,從這些方面可知本課題研究意義非凡。第二章 系統(tǒng)框架及軟硬件結(jié)構(gòu)設(shè)計(jì)2.1 系統(tǒng)要求在綜合考量了單片機(jī)的使用性能、成本和時(shí)間等問(wèn)題,本次課題主要旨在實(shí)現(xiàn)以
3、下性能指標(biāo):1) 根據(jù)力學(xué)結(jié)構(gòu)完成小車(chē)整體框架的搭建,穩(wěn)固其整體重心;2) 完成底層運(yùn)動(dòng)系統(tǒng)的搭建,保證小車(chē)能夠正常行進(jìn);3) 完成小車(chē)自主避障功能,能夠在簡(jiǎn)單地形避開(kāi)障礙物;4) 完成小車(chē)的簡(jiǎn)單路徑規(guī)劃;5) 完成手機(jī)遙控功能,通過(guò)手機(jī)控制底層小車(chē)的工作方式。整體小車(chē)車(chē)身采用深圳歐鵬公司設(shè)計(jì)生產(chǎn)的金屬框架,通過(guò)自己的設(shè)計(jì)和搭建,完成底層硬件系統(tǒng)的搭載,再通過(guò)上層安卓手機(jī)APP遙控,通過(guò)無(wú)線藍(lán)牙通信協(xié)議,實(shí)現(xiàn)小車(chē)能夠遵從指令實(shí)現(xiàn)在室內(nèi)的自主避障的巡航功能與手機(jī)遙控功能,整體電路圖如圖所示圖2-1 系統(tǒng)整體電路設(shè)計(jì)2.2 系統(tǒng)整體算法流程整個(gè)系統(tǒng)的算法結(jié)構(gòu)具體流程如圖2-1所示。圖2-2 系統(tǒng)整
4、體算法流程圖2.3 總體任務(wù)設(shè)計(jì)小車(chē)總體任務(wù)分配如下圖2-2所示。按鍵1前進(jìn)按鍵2后退按鍵3左轉(zhuǎn)按鍵4右轉(zhuǎn)按鍵5第一檔按鍵6第二檔按鍵7第三檔按鍵8停止藍(lán)牙遙控按鍵任務(wù)選擇STC89C52圖2-3 小車(chē)任務(wù)分配2.4 整體硬件結(jié)構(gòu)設(shè)計(jì)智能小車(chē)系統(tǒng)整體硬件結(jié)構(gòu)以89C51單片機(jī)為中心主要分為以下幾個(gè)部分:1) 運(yùn)動(dòng)結(jié)構(gòu),即舵機(jī)模塊是整個(gè)系統(tǒng)的基礎(chǔ),通過(guò)對(duì)舵機(jī)性能參數(shù)的測(cè)定對(duì)舵機(jī)進(jìn)行標(biāo)定、控速;2) 供電結(jié)構(gòu),采用分壓式供電。由于各,模塊對(duì)電壓的要求不同,所以需要通過(guò)分壓以適應(yīng)不同模塊對(duì)電壓的需求。其中舵機(jī)需要8v電壓的供應(yīng),而單片機(jī)、傳感器、藍(lán)牙等模塊則需要較低一點(diǎn)的電壓5v供電;3) 無(wú)線通信
5、結(jié)構(gòu),通過(guò)對(duì)藍(lán)牙模塊與單片機(jī)通信電路的設(shè)計(jì)與單片機(jī)串口功能的調(diào)試,做到小車(chē)與手機(jī)的無(wú)線通信。小車(chē)實(shí)物圖如下圖2-3所示。圖2-4 小車(chē)實(shí)物圖2.5 整體軟件結(jié)構(gòu)設(shè)計(jì)當(dāng)啟動(dòng)電源系統(tǒng)初始化完成后,小車(chē)進(jìn)入等待的任務(wù)模式,等待上層安卓終端手機(jī)的APP客戶端發(fā)送任務(wù)指令。小車(chē)接收到上層手機(jī)發(fā)送的小車(chē)行進(jìn)方向的指令后相對(duì)應(yīng)的前進(jìn)(forward)、后退(backward)、左轉(zhuǎn)(left)、右轉(zhuǎn)(right)、停止(stop)等。第三章 模塊的詳細(xì)設(shè)計(jì)3.1 L293D電機(jī)驅(qū)動(dòng)模塊3.1.1模塊介紹L293D采用16引腳DIP封裝,其內(nèi)部集成了雙極型H-橋電路,所有的開(kāi)量都做成n型。這種雙極型脈沖調(diào)寬方
6、式具有很多優(yōu)點(diǎn),如電流連續(xù);電機(jī)可四角限運(yùn)行;電機(jī)停止時(shí)有微振電流,起到“動(dòng)力潤(rùn)滑”作用,消除正反向時(shí)的靜摩擦死區(qū):低速平穩(wěn)性好等。L293D通過(guò)內(nèi)部邏輯生成使能信號(hào)。H-橋電路的輸入量可以用來(lái)設(shè)置馬達(dá)轉(zhuǎn)動(dòng)方向,使能信號(hào)可以用于脈寬調(diào)整(PWM)。另外,L293D將2個(gè)H-橋電路集成到1片芯片上,這就意味著用1片芯片可以同時(shí)控制2個(gè)電機(jī)。每1個(gè)電機(jī)需要3個(gè)控制信號(hào)EN12、IN1、IN2,其中EN12是使能信號(hào),IN1、IN2為電機(jī)轉(zhuǎn)動(dòng)方向控制信號(hào),IN1、IN2分別為1,0時(shí),電機(jī)正轉(zhuǎn),反之,電機(jī)反轉(zhuǎn)。選用一路PWM連接EN12引腳,通過(guò)調(diào)整PWM的占空比可以調(diào)整電機(jī)的轉(zhuǎn)速。選擇一路I/O口
7、,經(jīng)反向器74HC14分別接IN1和IN2引腳,控制電機(jī)的正反轉(zhuǎn)。實(shí)物圖如下圖3-1所示。圖3-1 模塊實(shí)物圖3.1.2 PWM脈沖控制原理所謂PWM就是脈寬調(diào)制器,通過(guò)調(diào)制器給電機(jī)提供一個(gè)具有一定頻率的脈沖寬度可調(diào)的脈沖電。脈沖寬度越大即占空比越大,提供給電機(jī)的平均電壓越大,電機(jī)轉(zhuǎn)速就高。反之脈沖寬度越小,則占空比越越小。提供給電機(jī)的平均電壓越小,電機(jī)轉(zhuǎn)速就低。PWM不管是高電平還是低電平時(shí)電機(jī)都是轉(zhuǎn)動(dòng)的,電機(jī)的轉(zhuǎn)速取決于平均電壓。 3.1.3 脈沖控制代碼void T0_time() interrupt 1 /定時(shí)器1中斷程序PWMCnt1+;PWMCnt2+;if(PWMCnt1 >
8、;= 200)PWMCnt1 = 1;if(PWMCnt1 <= cntPWM1)/230PWM1 = 1;elsePWM1 = 0;if(PWMCnt2 >= 200)PWMCnt2 = 1;if(PWMCnt1 <= cntPWM2)/230PWM2 = 1; elsePWM2 = 0; TH0 = (65536 - 50) / 256;TL0 = (65536 - 50) % 256;3.2 HC05藍(lán)牙模塊3.2.1 模塊簡(jiǎn)介HC-05藍(lán)牙無(wú)線通信模塊有兩種工作方式,一個(gè)是命令響應(yīng)工作模式,另一個(gè)是自動(dòng)連接工作模式。在命令響應(yīng)工作模式下,使用者通過(guò)向模塊發(fā)送AT工作指
9、令來(lái)對(duì)模塊的控制參數(shù)進(jìn)行設(shè)定和下達(dá)控制指令。而在自動(dòng)連接工作模式下, 模塊又有三種工作模式,分別為主機(jī)(Master)、從機(jī)(Slave)和回環(huán)(Loopback)三種工作模式,選定工作模式后,模塊就自動(dòng)按照提前設(shè)定好的方式進(jìn)行數(shù)據(jù)傳輸。通過(guò)調(diào)節(jié)模塊外部引腳的輸入電平來(lái)動(dòng)態(tài)轉(zhuǎn)換模塊的工作狀態(tài)。模塊實(shí)物圖如圖3-5所示。圖3-2 HC05實(shí)物圖3.2.2 藍(lán)牙串口程序說(shuō)明void usart_receive(void) interrupt 4 /串口中斷程序 if(RI = 1)/收到字符 RI = 0;/軟件清零 bluetoothdata = SBUF;/讀取數(shù)據(jù) if(TI = 1)/發(fā)送
10、數(shù)據(jù) TI = 0;/清零 3.2.3 模塊引腳說(shuō)明模塊引腳說(shuō)明及電路原理圖如下圖3-6、3-7所示。圖3-3 模塊引腳說(shuō)明圖3-4 HC05原理圖3.3 USB轉(zhuǎn)TTL模塊本次課題需要通過(guò)使用串口調(diào)試軟件使得上位機(jī)與底層小車(chē)進(jìn)行通信達(dá)到調(diào)試小車(chē)的目的,但是目前筆記本電腦因?yàn)榭臻g的限制和其他方面考慮的原因都沒(méi)有串口,所以需要使用到這一個(gè)USB轉(zhuǎn)串口模塊。模塊與單片機(jī)需要按下圖3-8所示相連接。HC05藍(lán)牙模塊單片機(jī)圖3-5 USB轉(zhuǎn)TTL模塊與單片機(jī)的連接示意圖圖3-6 USB轉(zhuǎn)TTL串口模塊實(shí)物圖。第四章 系統(tǒng)功能設(shè)計(jì)與實(shí)現(xiàn)4.1 安卓手機(jī)藍(lán)牙遙控的設(shè)計(jì)與實(shí)現(xiàn)4.1.1 設(shè)計(jì)基本思路遙控功能
11、的實(shí)現(xiàn)基于藍(lán)牙通信協(xié)議的建立,需要從依次實(shí)現(xiàn)以下幾個(gè)步驟:1) 檢測(cè)HC05藍(lán)牙模塊是否能夠正常工作,將藍(lán)牙模塊按要求接上5v或3.3v電壓,等待一段時(shí)間后,使用安卓終端搜索,查看藍(lán)牙模塊是否能夠被搜索并與其相連接;2) 單片機(jī)串口能否正常通信,編寫(xiě)好串口通信程序并將其燒錄字單片機(jī)中,將單片機(jī)通過(guò)開(kāi)發(fā)板與電腦串口連接,打開(kāi)電腦端串口調(diào)試工具查看是否能夠正常通信;3) 查看藍(lán)牙模塊是否能夠正常發(fā)送和接收數(shù)據(jù),將藍(lán)牙模塊通過(guò)USB轉(zhuǎn)TTL模塊與電腦USB口相連,打開(kāi)電腦串口調(diào)試助手。安裝好手機(jī)APP,與藍(lán)牙模塊連接好后,使用手機(jī)端APP查看是否能夠正常發(fā)送和接收數(shù)據(jù);4) 將藍(lán)牙模塊的串口與智能小
12、車(chē)上的單片機(jī)串口相連,并編寫(xiě)好遙控選擇功能代碼,使用手機(jī)發(fā)送數(shù)據(jù),查看智能小車(chē)能否執(zhí)行相應(yīng)的的指令。下圖為電腦端的串口調(diào)試助手。圖4-1 串口調(diào)試工具4.1.2 遙控任務(wù)分配通過(guò)無(wú)線藍(lán)牙通信的實(shí)現(xiàn),上層安卓終端主要可以實(shí)現(xiàn)以下小車(chē)的行進(jìn)方向,進(jìn)入的工作模式等,具體功能如下表所示。表4-2 藍(lán)牙遙控按鍵及選擇功能表按鍵FBSLR123功能前進(jìn)后退停止左轉(zhuǎn)右轉(zhuǎn)第一檔第二檔第三檔4.2.3 藍(lán)牙遙控操作流程藍(lán)牙遙控操作流程示意圖如下。圖4-3 藍(lán)牙遙控流程圖首先將智能小車(chē)正常上電工作,待小車(chē)初始化完成后,打開(kāi)安卓終端的APP進(jìn)行連接,連接成功后即可選擇功能??砂碼void鍵進(jìn)入自主避障模式,如需進(jìn)入
13、遙控模式則僅需按back鍵返回上一層。圖4-4 藍(lán)牙模塊連接示意圖 圖4-5 安卓終端APP界面 第五章 軟硬件調(diào)試5.1 硬件調(diào)試硬件調(diào)試采用從整體到部分的考量方法。1) 智能小車(chē)整體框架的搭建,確保各模塊能夠搭載在其上面而相互沒(méi)有影響;2) 完成整體電源電路、工作電路的設(shè)計(jì),保證各模塊之間供電正常使用和與單片機(jī)之間的合理連接;3) 燒錄測(cè)試程序,保證單片機(jī)能夠正常進(jìn)行燒錄和擦除程序,同時(shí)還需要測(cè)試其串口功能,實(shí)現(xiàn)單片機(jī)與手機(jī)之間的正常通信;4) 小車(chē)底層運(yùn)動(dòng)系統(tǒng)的完成,測(cè)試舵機(jī)的基本性能,保證其能正常工作;5) 對(duì)HC05藍(lán)牙模塊進(jìn)行基本性能測(cè)試,保證其在正常工作電壓下能夠正常工作。再通過(guò)
14、上位機(jī)的測(cè)試,確保其能夠正常的收發(fā)數(shù)據(jù)。5.2 軟件調(diào)試1) 通過(guò)編寫(xiě)代碼實(shí)現(xiàn)對(duì)底層小車(chē)的驅(qū)動(dòng),包括舵機(jī)參數(shù)的測(cè)定,電機(jī)的標(biāo)定,對(duì)電機(jī)進(jìn)行速度調(diào)控,實(shí)現(xiàn)小車(chē)的方向控制;2) 避障算法的設(shè)計(jì),通過(guò)考量3個(gè)傳感器將出現(xiàn)的8種情況(000、001、010、011、100、101、110、111),考慮每一種情況出現(xiàn)時(shí)的應(yīng)對(duì)方式,設(shè)計(jì)出較為合理的避障算法,并將傳感器采集的數(shù)據(jù)與舵機(jī)控制結(jié)合起來(lái),實(shí)現(xiàn)智能小車(chē)的避障功能;3) 藍(lán)牙模塊與單片機(jī)、上位機(jī)、上層安卓終端的正常通信。先使用上位機(jī)端的串口調(diào)試工具測(cè)試藍(lán)牙模塊是否能夠正常與上位機(jī)之間進(jìn)行正常通信,然后編寫(xiě)串口調(diào)試代碼燒錄至單片機(jī),使用手機(jī)發(fā)送數(shù)據(jù)確
15、保單片機(jī)能夠接收指令并命令小車(chē)作出相應(yīng)反應(yīng);4) 選擇功能算法設(shè)計(jì),設(shè)計(jì)出簡(jiǎn)潔合理的算法,使得小車(chē)在初始化完成后操作者使用APP能夠選擇相應(yīng)功能,進(jìn)入自主避障模式或者是手機(jī)的藍(lán)牙遙控模式;5) 將舵機(jī)驅(qū)動(dòng)代碼、小車(chē)避障算法和選擇功能算法有機(jī)結(jié)合起來(lái),使得小車(chē)的功能完善,各個(gè)模塊能夠獨(dú)立工作完成各自任務(wù),并且有效率的執(zhí)行小車(chē)的工作。代碼#include <reg52.h>sbit PWM1 = P20;/PWM波產(chǎn)生的端口sbit PWM2 = P21;sbit motor_control_1 = P27;/左輪控制sbit motor_control_2 = P26;/sbit m
16、otor_control_3 = P25;sbit motor_control_4 = P24;/unsigned int PWMCnt1 = 0;unsigned int cntPWM1 = 60;unsigned int PWMCnt2 = 0;unsigned int cntPWM2 = 60;unsigned char bluetoothdata;void initial_myself();void initial_interrupt();void usart_service(void);void delay_long(unsigned int time);void go_forwar
17、d(void);/void stop();void turn_right();void turn_left();void back();void main() initial_myself(); delay_long(100); initial_interrupt();stop(); while(1) usart_service(); void usart_service()switch(bluetoothdata)case 'f':go_forward();delay_long(100);SBUF = 'f'/返回?cái)?shù)據(jù)到手機(jī)bluetoothdata =
18、39;a'break;case 's':stop();delay_long(100);SBUF = 's'bluetoothdata = 'a'break;case 'r':turn_right();delay_long(100);SBUF = 'r'bluetoothdata = 'a'break;case 'l':turn_left();delay_long(100);SBUF = 'l'bluetoothdata = 'a'break;c
19、ase 'b':back();delay_long(100);SBUF = 'b'bluetoothdata = 'a'break;case '1':cntPWM1 = 60;cntPWM2 = 60;delay_long(100);SBUF = '1'bluetoothdata = 'a'break;case '2':cntPWM1 = 100;cntPWM2 = 100;delay_long(100);SBUF = '2'bluetoothdata = '
20、a'break;case '3':cntPWM1 = 140;cntPWM2 = 140;delay_long(100);SBUF = '3'bluetoothdata = 'a'break;void usart_receive(void) interrupt 4 /串口中斷程序 if(RI = 1)/收到字符 RI = 0;/軟件清零 bluetoothdata = SBUF;/讀取數(shù)據(jù) if(TI = 1)/發(fā)送數(shù)據(jù) TI = 0;/清零 void T0_time() interrupt 1 /定時(shí)器1中斷程序PWMCnt1+;PWM
21、Cnt2+;if(PWMCnt1 >= 200)PWMCnt1 = 1;if(PWMCnt1 <= cntPWM1)/230PWM1 = 1;elsePWM1 = 0;if(PWMCnt2 >= 200)PWMCnt2 = 1;if(PWMCnt1 <= cntPWM2)/230PWM2 = 1; elsePWM2 = 0; TH0 = (65536 - 50) / 256;TL0 = (65536 - 50) % 256;void initial_myself() TMOD = 0x01;/ TH0 = (65536 - 50) / 256;/定時(shí)50微秒 TL0 =
22、 (65536 - 50) % 256; / SCON = 0x50; TMOD = 0x21; TH1 = TL1 = 0xfd;/設(shè)置波特率9600 IP = 0x10;/設(shè)置串口中斷為高優(yōu)先級(jí)void initial_interrupt() EA = 1;/ 開(kāi)總中斷 ES = 1;/ 開(kāi)串口中斷 ET0 = 1;/開(kāi)定時(shí)器0中斷? TR0 = 1;/開(kāi)定時(shí)器0 TR1 = 1;/ 開(kāi)定時(shí)器1void delay_long(unsigned int time) unsigned int i; unsigned int j; for(i = 0 ; i < time ; i+) for(j = 0; j <
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 大班人際交往活動(dòng)方案
- 大班幼兒計(jì)劃活動(dòng)方案
- 夜市公益助農(nóng)活動(dòng)方案
- 大學(xué)元旦班級(jí)活動(dòng)創(chuàng)意活動(dòng)方案
- 地?cái)倱Q購(gòu)活動(dòng)方案
- 地產(chǎn)圈層活動(dòng)活動(dòng)方案
- 基金公司激勵(lì)活動(dòng)方案
- 墨爾本闖關(guān)活動(dòng)方案
- 2025-2030中國(guó)稀土永磁材料全球競(jìng)爭(zhēng)格局及下游應(yīng)用拓展與投資戰(zhàn)略規(guī)劃
- 大學(xué)周邊活動(dòng)方案
- 火鍋店領(lǐng)班的崗位職責(zé)和工作流程
- 二人合伙協(xié)議書(shū)(電子版)
- 上門(mén)廚師項(xiàng)目商業(yè)計(jì)劃書(shū)
- 第35屆中國(guó)化學(xué)奧林匹克(初賽競(jìng)賽)試題及參考答案
- 許可證有效期內(nèi)輻射安全和防護(hù)工作總結(jié)
- 四川省中小流域暴雨洪水計(jì)算表格(尾礦庫(kù)洪水計(jì)算)
- 山東大學(xué)齊魯醫(yī)學(xué)院
- 椅子部件圖紙
- 街道綜合協(xié)管員筆試題
- 入庫(kù)單(標(biāo)準(zhǔn)范本)
- GB/T 4744-2013紡織品防水性能的檢測(cè)和評(píng)價(jià)靜水壓法
評(píng)論
0/150
提交評(píng)論