引言
結(jié)合電控技術(shù)、電氣技術(shù)構(gòu)建起機(jī)電一體化控制體系,并逐漸形成了獨(dú)立的、完整的技術(shù)體系成為一門獨(dú)立的應(yīng)用技術(shù)體系。對(duì)于汽車設(shè)計(jì)制造而言,汽車電子技術(shù)水平將直接影響整車性能,是汽車運(yùn)行安全性、舒適性以及動(dòng)力性能的決定性影響因素之一。電子控制這一先進(jìn)技術(shù)的科學(xué)應(yīng)用能夠顯著提升汽車發(fā)動(dòng)機(jī)等相關(guān)電力電子系統(tǒng)的控制質(zhì)量,從而實(shí)現(xiàn)更加安全、穩(wěn)定、舒適的行車環(huán)境,為車輛良好運(yùn)行提供充分有效的保障。
發(fā)展車倆防撞技術(shù),對(duì)于提高車倆智能化水平具有很大的積極意義。防撞技術(shù)的出現(xiàn)和發(fā)展不僅有效提升了汽車行駛的安全性,也為汽車工業(yè)智能化發(fā)展做出了巨大貢獻(xiàn)。為了降低碰撞風(fēng)險(xiǎn)提高汽車行駛安全水平,除駕駛?cè)艘曈X判斷之外,還需借助相關(guān)測(cè)距技術(shù)裝置對(duì)車身與其他物體之間的距離進(jìn)行實(shí)時(shí)測(cè)定與反饋。以此克服駕駛員疲勞駕駛、行為失當(dāng)導(dǎo)致的碰撞風(fēng)險(xiǎn),同時(shí)也提高緊急狀態(tài)下駕駛員的應(yīng)對(duì)水平。對(duì)于防撞技術(shù)而言,難點(diǎn)和重點(diǎn)環(huán)節(jié)在于車輛測(cè)距技術(shù)。
- ? 汽車倒車防撞測(cè)距報(bào)警系統(tǒng)方案設(shè)計(jì)
- 系統(tǒng)設(shè)計(jì)方案分析
倒車防撞測(cè)距報(bào)警系統(tǒng)的硬件設(shè)計(jì)部分主要由數(shù)據(jù)獲取和控制系統(tǒng)兩大部分組成。數(shù)據(jù)獲取部分需要完成對(duì)傳感器獲取的數(shù)據(jù)參數(shù)輸入到單片機(jī)中進(jìn)行分析操作;控制系統(tǒng)部分則是單片機(jī)對(duì)獲取到的數(shù)據(jù)分析之后和相應(yīng)的預(yù)設(shè)數(shù)據(jù)進(jìn)行對(duì)比從而做出相應(yīng)的控制操作。
1.1.1系統(tǒng)方案比較
方案一:基于激光特性的測(cè)距技術(shù)。該測(cè)距方法具體包含脈沖法、相位法等不同技術(shù)類型。脈沖測(cè)距法的研究基本技術(shù)原理是:由測(cè)距技術(shù)設(shè)備產(chǎn)生并發(fā)射出的激光,在目標(biāo)物體上就會(huì)對(duì)激光產(chǎn)生輻射,所發(fā)射激光由測(cè)距技術(shù)設(shè)備中的接受模塊負(fù)責(zé)接受被。然后根據(jù)激光發(fā)射與接收之間的時(shí)間差對(duì)其傳播時(shí)間進(jìn)行計(jì)算確定,然后結(jié)合激光傳播速度用速度時(shí)間位移方程對(duì)距離進(jìn)行計(jì)算;相位法測(cè)距法的技術(shù)原理為:以無線頻帶頻率為基礎(chǔ)在激光發(fā)射之前對(duì)其幅度進(jìn)行調(diào)制,然后對(duì)調(diào)制激光完成一次往返運(yùn)動(dòng)中所表現(xiàn)出的相位延遲進(jìn)行測(cè)量計(jì)算,然后結(jié)合激光波長(zhǎng)參數(shù)對(duì)相位延遲所對(duì)應(yīng)的運(yùn)動(dòng)距離進(jìn)行計(jì)算從而獲得所需測(cè)距結(jié)果。
方案二:基于超聲波特性的測(cè)距技術(shù)。該測(cè)距方法的技術(shù)原理為超聲波在介質(zhì)傳播過程中發(fā)生反射并返回發(fā)射點(diǎn)所需時(shí)間。然后結(jié)合超聲波的傳播速度借助時(shí)間速度距離公式對(duì)距離取值進(jìn)行計(jì)算。該測(cè)距技術(shù)的原理與雷達(dá)測(cè)距技術(shù)無顯著區(qū)別。當(dāng)超聲波由發(fā)射裝置發(fā)出之后,將以空氣為介質(zhì)進(jìn)行傳播,在遭遇障礙物后即發(fā)生反射然后反射波被接收裝置接收。在此基礎(chǔ)上對(duì)超聲波發(fā)出時(shí)間、接收時(shí)間之間的差值進(jìn)行計(jì)算,以便確定該傳播時(shí)間對(duì)應(yīng)的距離。超聲波的優(yōu)勢(shì)在于方向性強(qiáng)、能量消耗較慢、有效距離大、穿透性強(qiáng)等,能夠充分保證測(cè)距精度。
從以上兩種方案,方案二靈活性、可靠性比較強(qiáng),計(jì)算簡(jiǎn)單,容易做到實(shí)時(shí)控制,故采用了方案二。
-
- 系統(tǒng)硬件結(jié)構(gòu)框圖
圖1-1是系統(tǒng)硬件結(jié)構(gòu)框圖,主要為STC89C52單片機(jī)最小系統(tǒng),LCD1602顯示器集成電路,HC-SR04超聲波測(cè)距模塊,蜂鳴器報(bào)警集成電路和按鍵電路。由圖1-1可確定其功能模塊的具體設(shè)計(jì)情況與邏輯關(guān)聯(lián)。
接入5V直流穩(wěn)壓電流,按動(dòng)自鎖按鈕給硬件系統(tǒng)上電,首先由超聲波測(cè)距模塊測(cè)量距離,單片機(jī)將所測(cè)的距離數(shù)值處理之后顯示在LCD1602上。利用按鍵裝置調(diào)整報(bào)警距離上限,若測(cè)量距離小于預(yù)先設(shè)定值,蜂鳴器發(fā)聲報(bào)警、LED燈閃爍。
圖1-1系統(tǒng)硬件的結(jié)構(gòu)框圖
- ? 系統(tǒng)硬件電路設(shè)計(jì)
- STC89C52單片機(jī)
- STC89C52模塊的設(shè)計(jì)
- STC89C52單片機(jī)
STC89C52R是STC公司生產(chǎn)的一款低功耗、高性能的新型CMOS8位微控制器,STC89C52是一種帶八K字節(jié)閃爍可編程可檫除只讀存儲(chǔ)器的極低工作電壓,高性能COMOS8的微處理器,俗稱單片機(jī)。該器件采用ATMEL搞密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。同時(shí),在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。
圖2-1 STC89C52引腳圖
對(duì)于該單片機(jī)而言,其8位I/O接口的數(shù)量為4個(gè),對(duì)應(yīng)功能分別如下:
(1)P0口:該數(shù)據(jù)接口支持?jǐn)?shù)據(jù)雙向傳輸,是8 位漏極開路的雙向 I/O 口。在充當(dāng)輸出端口時(shí),每一位能夠分別滿足8個(gè)TTL邏輯電平的控制需求,因此能夠同時(shí)實(shí)現(xiàn)64個(gè)邏輯電平的控制功能。該接口在提供為“1”的特征值時(shí),接口作高電壓使用的狀態(tài)。但當(dāng)存取外部程序或數(shù)據(jù)存儲(chǔ)器時(shí),P0口被作為低 8 位地址/數(shù)據(jù)復(fù)用。在此模式下,P0口有內(nèi)部的上拉電阻。在flash 編程時(shí),P0口也能夠來接收指令字節(jié)。
(2)P1口:P1口是內(nèi)置了上拉電阻以及具體數(shù)據(jù)雙向交互功能的8位雙向 I/O口,能夠滿足4個(gè)TTL的驅(qū)動(dòng)控制需求。該接口可以通過 “1” 的內(nèi)部上拉電阻將端口拉高,代表著高電平狀態(tài),其功能將表現(xiàn)為數(shù)據(jù)輸入。此外,P1.0 、P1.2 依次可以作定時(shí)器/計(jì)量器的外部計(jì)算入口(P1.0/T2)和觸發(fā)入口(P1.1/T2EX)。
(3)P2口:P1口是內(nèi)置上拉電阻并具體數(shù)據(jù)雙向交互功能的8位雙向 I/O口,能夠滿足4個(gè)TTL的驅(qū)動(dòng)需求。該端口寫入“1” 內(nèi)部上拉電阻把端口拉高,其功能將表現(xiàn)為輸入接口。此時(shí),被外力所削弱的電容在內(nèi)部電壓的影響下,產(chǎn)生大電流。當(dāng)存取的外圍程序存儲(chǔ)器用十六位數(shù)地址讀寫外圍數(shù)據(jù)寄存器時(shí),P2口送出高八位地址。
(4)P3口:P3口同樣是內(nèi)置上拉電阻并具體數(shù)據(jù)雙向交互功能的8位雙向 I/O口,能夠滿足4個(gè)TTL的驅(qū)動(dòng)需求。該端口寫入“1” 內(nèi)部上拉電阻把端口拉高,將充當(dāng)輸入接口實(shí)現(xiàn)數(shù)據(jù)交互。此時(shí)會(huì)因內(nèi)部電阻的影響同時(shí)實(shí)現(xiàn)IIL電流輸出功能。
-
- 超聲波傳感器介紹
超聲波也是高頻聲音的一種,是人類聽覺接受范圍以外的音頻。從方向性較好,能量消耗較小和慢,傳播距離長(zhǎng)等優(yōu)點(diǎn)來看,可以像測(cè)距儀那樣用于測(cè)距計(jì)。利用超聲波測(cè)距和超聲波探測(cè)更易于進(jìn)行更快,簡(jiǎn)便,簡(jiǎn)單的計(jì)算和實(shí)時(shí)控制,因?yàn)闇y(cè)量的精度可以滿足工業(yè)實(shí)施的必要條件,被廣泛用于測(cè)量和控制系統(tǒng)的開發(fā)。
本設(shè)計(jì)中所選用的超聲波傳感器,是基于同頻率條件實(shí)現(xiàn)了電能向超聲波能量的轉(zhuǎn)換。現(xiàn)階段應(yīng)用水平相對(duì)較高的超聲波傳感器裝置主要分為電聲型、流體動(dòng)力型等不同類型。
壓電傳感器,是指使用水平相對(duì)較高的一種電聲型超聲波傳感器。該傳感器裝置實(shí)現(xiàn)了電能、聲能之間的轉(zhuǎn)換,在超聲波檢測(cè)技術(shù)中體現(xiàn)出了明顯的應(yīng)用優(yōu)越性。壓電晶片是該傳感器裝置的核心構(gòu)成要素,能夠在電脈沖的刺激下振動(dòng)而形成聲脈沖并向外發(fā)射,表現(xiàn)出典型的逆電壓效應(yīng)。晶片在超聲波的影響下而振動(dòng),振動(dòng)過程中所發(fā)生的形變則可與特定的電信號(hào)保持對(duì)應(yīng)關(guān)系,這就屬于典型的正壓電效應(yīng)特征。兩種效應(yīng)將分別作為超聲波發(fā)射與接收的技術(shù)基礎(chǔ)。而基于雙壓電陶瓷晶片的超聲波傳感器則因顯著的成本優(yōu)勢(shì)、耗材優(yōu)勢(shì)、性能優(yōu)勢(shì)在各類氣體、液體介質(zhì)條件下表現(xiàn)出更加顯著的應(yīng)用價(jià)值。壓電陶瓷晶片所承受的交流電在發(fā)生電壓方向、大小等變化時(shí),會(huì)在壓電效應(yīng)的作用下導(dǎo)致晶片出現(xiàn)機(jī)械形變特征,其形變的方向與程度就將與電壓方向、大小呈現(xiàn)出特定關(guān)聯(lián)。基于上述關(guān)聯(lián)可將電壓信號(hào)轉(zhuǎn)換為對(duì)應(yīng)的振動(dòng)信號(hào),然后形成超聲波以空氣為介質(zhì)進(jìn)行傳播。這種相互轉(zhuǎn)換的關(guān)系就將作為超聲波發(fā)射與接收的技術(shù)基礎(chǔ),具體實(shí)現(xiàn)的同頻率機(jī)械波與電信號(hào)之間的轉(zhuǎn)換。
圖2-2 時(shí)鐘電路設(shè)計(jì)圖
對(duì)于上述超聲波發(fā)生裝置而言,其技術(shù)基礎(chǔ)為壓電晶體諧振特性。該裝置的基本構(gòu)成為共振板(1個(gè))、壓電晶片(2個(gè))。裝置的內(nèi)部結(jié)構(gòu)詳見圖2-2。當(dāng)脈沖信號(hào)由兩極輸入時(shí),信號(hào)頻率將與晶片振蕩頻率相同,在共振作用下令共振板發(fā)生共振并實(shí)現(xiàn)了電信號(hào)向機(jī)械波的轉(zhuǎn)換并以超聲波的形式進(jìn)行傳播。在無外部電壓的影響下,超聲波到達(dá)共振板時(shí)也會(huì)引發(fā)后者的共振效應(yīng),令壓電晶片基于超聲波等頻率發(fā)生振動(dòng)形成相應(yīng)的電信號(hào)。以上即超聲波傳感器的技術(shù)基礎(chǔ)。
壓電陶瓷晶片有一個(gè)固定的諧振頻率,即中心頻率f0射超聲波時(shí),加在其上面的交變電壓的頻率要與它的固有諧振頻率一致。這就對(duì)傳感器靈敏度提出了相對(duì)較高的要求。為了滿足靈敏性要求,基于特定的壓電材料可對(duì)晶片尺寸進(jìn)行設(shè)置和調(diào)整進(jìn)而實(shí)現(xiàn)不同的諧振頻率,以此滿足不同超聲波傳感器的應(yīng)用需求。
本設(shè)計(jì)中所選擇的超聲波傳感器能夠在非接觸的條件下實(shí)現(xiàn)2~400cm的測(cè)距功能。該設(shè)備的測(cè)量結(jié)果精度高至3mm,具體由發(fā)射裝置、接收裝置、控制電路等主要元器件構(gòu)成。
超聲波時(shí)序圖2-3的基本條件為持續(xù)10us的脈沖信號(hào)。在該信號(hào)的觸發(fā)下模塊內(nèi)部發(fā)出8個(gè)檢測(cè)回波(頻率為40KHz)。當(dāng)檢測(cè)到回波信號(hào)時(shí),輸出回響信號(hào)。脈沖寬度與測(cè)量距離成正比。在確定返回波的基礎(chǔ)上進(jìn)行接收并計(jì)算確定其傳播時(shí)間,然后結(jié)合超聲波傳播速度對(duì)傳感器與目標(biāo)對(duì)象之間的距離進(jìn)行計(jì)算。為避免發(fā)射出去的信號(hào)對(duì)回響信號(hào)產(chǎn)生的負(fù)面影響,影響測(cè)量的精確度,測(cè)量周期建議在60ms以上。
下面是一些參數(shù)介紹,電氣參數(shù)如表2-1所示。
表2-1 電氣參數(shù)表
電氣參數(shù)表 |
電氣參數(shù) | HC-SR04超聲波模塊 |
工作電壓 | DC 5V |
工作電流 | 15mA |
工作頻率 | 40Hz |
最遠(yuǎn)射程 | 4m |
最近射程 | 2cm |
測(cè)量角度 | 15度 |
輸入觸發(fā)信號(hào) | 10us的TTL脈沖 |
輸出回響信號(hào) | 輸出TTL電平信號(hào),與射程成比例 |
規(guī)格尺寸 | 45*20*15mm |
圖2-3超聲波時(shí)序圖
為確保微機(jī)系統(tǒng)中電路穩(wěn)定可靠工作,復(fù)位電路是必不可少的一部分,其功能是為系統(tǒng)穩(wěn)定運(yùn)行提供有效保障。在上電構(gòu)成中,該電路將生成復(fù)位信號(hào),該信號(hào)將持續(xù)至系統(tǒng)電源穩(wěn)定。在確定電源穩(wěn)定之后還需設(shè)計(jì)一個(gè)合理的延遲時(shí)間方結(jié)算復(fù)位信號(hào),避免電源開關(guān)抖動(dòng)導(dǎo)致的系統(tǒng)沖擊。若復(fù)位引腳所表現(xiàn)出的高電平特征持續(xù)時(shí)間超過兩個(gè)機(jī)器周期時(shí),則表明復(fù)位功能啟動(dòng)。若RST始終表現(xiàn)出高電平特征,則單片機(jī)將持續(xù)開展復(fù)位動(dòng)作陷入死循環(huán)無法正常工作。所以,在設(shè)計(jì)復(fù)位電路時(shí),通常令其電容取值相對(duì)較大,從而適當(dāng)延長(zhǎng)復(fù)位時(shí)間,避免高電平持續(xù)時(shí)間不足導(dǎo)致的復(fù)位失效問題。在實(shí)際應(yīng)用中,上述電容的取值一般為10UF或22UF。
復(fù)位電路與電源相連的瞬間,電容將由極低電阻、無電狀態(tài)發(fā)生變化,其電壓在0.3s以內(nèi)的時(shí)間里將由0變化至4V左右。由此可知,復(fù)位引腳電位上升的同時(shí)也將實(shí)現(xiàn)復(fù)位功能;在完成復(fù)位動(dòng)作之后再次按下復(fù)位按鈕,則實(shí)現(xiàn)電容放電動(dòng)作,電容又一次回到0V,再次進(jìn)行復(fù)位動(dòng)作。電路圖如圖2-4。
圖2-4 復(fù)位電路
2.3.1晶振電路
單片機(jī)的正常運(yùn)行離不開晶振電路的支持。若振蕩器無法正常運(yùn)行,則系統(tǒng)也將處于無法運(yùn)行的狀態(tài);若振蕩器的運(yùn)行特征混亂,則必然導(dǎo)致程序混亂的問題影響系統(tǒng)正常運(yùn)行。振蕩器的基本構(gòu)成為晶振(1個(gè))、陶瓷電容(2個(gè)),晶振和瓷片電容是沒有正負(fù)極之分,連接到兩個(gè)瓷片電容的端部必須接地。其基本結(jié)構(gòu)詳見下圖2-5所示。
圖2-5 晶振電路
一般來說, 晶振與單片機(jī)采取并聯(lián)方式并基于諧振關(guān)系運(yùn)行。即晶振將作為諧振電容的構(gòu)成要素之一。在具體應(yīng)用中,晶振需要與相應(yīng)的負(fù)載電容配合使用,則可基于負(fù)載電容的容量對(duì)其頻率進(jìn)行計(jì)算確定,以此降低測(cè)量結(jié)果的誤差提供其準(zhǔn)確性。
CPU運(yùn)算周期即機(jī)器周期,一般可理解為系統(tǒng)由內(nèi)存讀取一個(gè)指令字節(jié)所需時(shí)間的最小值,也就是基于內(nèi)外線路或外部總線所實(shí)現(xiàn)的一次信息傳輸操作。機(jī)器周期通常等于12個(gè)時(shí)鐘周期。其他周期的概念內(nèi)涵具體如下:
指令周期(Instruction Cycle):處理器完整完成一次指令讀取、執(zhí)行操作所耗費(fèi)的時(shí)間;
總線周期(BUS Cycle):指完整的一個(gè)ROM或I/O端口使用的總時(shí)間。
時(shí)鐘周期(Clock Cycle):即節(jié)拍周期,與晶振頻率的乘積為1,即互為倒數(shù)關(guān)系,是處理器運(yùn)算的最基本時(shí)間單位。
對(duì)于上述周期概念而言,若干個(gè)總線周期構(gòu)成一個(gè)指令周期,而若干個(gè)時(shí)鐘周期則構(gòu)成一個(gè)總線周期。
負(fù)載電容=[(Cd*Cg)/(Cd+Cg)]+Cic+△C,其影響因素與內(nèi)部時(shí)鐘電路等效電容有關(guān)。
通常情況負(fù)載電容、等效電容的取值并無顯著區(qū)別。若存在顯著區(qū)別則將導(dǎo)致諧振失衡問題導(dǎo)致傳感器共振性能下降甚至消失。因此可通過并聯(lián)諧振的方式讓其脈沖更加平穩(wěn)與協(xié)調(diào)。
-
- 驅(qū)動(dòng)顯示電路及報(bào)警電路
本設(shè)計(jì)以1602液晶屏為顯示模塊的核心構(gòu)成。若測(cè)距結(jié)果小于安全閾值,則將通過LED與蜂鳴器實(shí)現(xiàn)聲光報(bào)警,提醒用戶及時(shí)進(jìn)行處理。在具體應(yīng)用中,可使用按鍵模塊對(duì)安全閾值進(jìn)行設(shè)置和調(diào)整。
2.4.11602液晶屏顯示電路
本系統(tǒng)顯示模塊具體由一個(gè)LCD1602液晶屏幕作為系統(tǒng)的顯示器,顯示器上主要顯示測(cè)量的距離。主要顯示的是測(cè)量的距離。LCD1602體積小、耗電量低,攜帶方便,成本低。它有16個(gè)管腳,具體顯示電路如圖2-6。
圖2-6 顯示電路
2.4.2 蜂鳴器和LED報(bào)警
蜂鳴器能夠基于電信號(hào)實(shí)現(xiàn)聲音輸出功能。該裝置的電源選擇直流電源,具體包含壓電式、電磁式等不同技術(shù)類型的產(chǎn)品。前者的基本構(gòu)成元器件為多諧振蕩裝置、阻抗匹配裝置、壓電蜂鳴片、共鳴箱、裝置外殼等。其中,多諧振蕩器件的基礎(chǔ)結(jié)構(gòu)一般是指晶體管、集成電路中的不同單元,可以根據(jù)外界電源壓力的不同進(jìn)行共振,給壓電蜂鳴片的振蕩增加了驅(qū)動(dòng)力從而產(chǎn)生一定的噪聲;它們的主要組成分別是震蕩器、電磁線圈、吸鐵石、振膜、殼體等。在上電后,溫度傳感器會(huì)產(chǎn)生聲音的輸出,當(dāng)使用電磁線圈后會(huì)產(chǎn)生一定的磁性,并配合磁鐵令振膜規(guī)律性振動(dòng)形成聲音。多諧振蕩器起振,輸出1.5~2.5kHZ的音頻信號(hào),阻抗匹配器推動(dòng)壓電蜂鳴片發(fā)聲。為了滿足蜂鳴器運(yùn)行的電流需求,需要配備相應(yīng)的放大電路對(duì)電流進(jìn)行放大處理以實(shí)現(xiàn)發(fā)聲效果。該裝置的技術(shù)原理如圖2-7所示。
發(fā)光二極管、電阻是LED電路的基本構(gòu)成要素。通常需配合1K電阻將LED工作電流控制在5~20ma的合理水平。
圖2-7 蜂鳴器驅(qū)動(dòng)電路
-
- HC-RS04超聲波測(cè)距原理
由上文分析論述可知,超聲波傳感器基于超聲波傳播與返回時(shí)間實(shí)現(xiàn)距離測(cè)定功能。在明確時(shí)間數(shù)據(jù)的基礎(chǔ)上,結(jié)合超聲波在空氣中的傳播速度對(duì)距離參數(shù)進(jìn)行計(jì)算。其具體的技術(shù)原理詳見圖2-8所示。實(shí)現(xiàn)思路:第一種,直接給trig高電平,然后讀取ECHO引腳是否為高電平,若為高電平,則開啟定時(shí)器,然后繼續(xù)檢測(cè)等待其為低電平的時(shí)候,獲取計(jì)數(shù)器值,然后進(jìn)行計(jì)算。第二種,開啟外部中斷,先將ECHO配置上升沿中斷,當(dāng)中斷來臨的時(shí)候,在中斷函數(shù)里面開啟定時(shí)器,再將其配置為下降沿中斷,等待下降沿中斷來臨的時(shí)候,獲取計(jì)數(shù)器值。
其實(shí)上面的兩種方法,其思路都是通過計(jì)算定時(shí)器的counter值,來計(jì)算距離。
第三種是讓定時(shí)器一路PWM控制觸發(fā)以及觸發(fā)周期,超聲波返回信號(hào)高電平時(shí)間用定時(shí)器通道捕捉功能獲取。
圖2-8 超聲波測(cè)距系統(tǒng)框圖
基于上述工作原理,超聲波將由發(fā)射裝置發(fā)出長(zhǎng)約6mm和頻率為40kHz的超聲波信號(hào)并經(jīng)目標(biāo)對(duì)象反射之后返回至傳感器接收裝置進(jìn)行識(shí)別和確定,在此基礎(chǔ)上可確定超聲波往返一次所需時(shí)間。該時(shí)間的1/2即超聲波在傳感器與目標(biāo)對(duì)象之間的傳播時(shí)間,進(jìn)而可計(jì)算相應(yīng)的距離數(shù)據(jù)。
-
- 按鍵設(shè)置電路
在本系統(tǒng)設(shè)計(jì)工作中選擇獨(dú)立鍵盤設(shè)計(jì)結(jié)構(gòu)。在該鍵盤模塊運(yùn)行過程中,具體通過I/O接口的電平特征對(duì)按鍵狀態(tài)進(jìn)行判斷,鍵盤兩端分別與I/O接口、接地相連。在程序正常運(yùn)行過程中,I/O接口將呈現(xiàn)出高電平特征。當(dāng)按下按鍵時(shí),對(duì)應(yīng)I/O接口的電平狀態(tài)將轉(zhuǎn)變?yōu)榈碗娖?,則恢復(fù)按鍵初始狀態(tài)時(shí)I/O接口的電平也將自動(dòng)恢復(fù)至高電平狀態(tài)。因此,僅需對(duì)I/O接口的電平特征進(jìn)行檢測(cè)即可確定按鍵動(dòng)作狀態(tài)。但是在具體應(yīng)用中需要考慮鍵盤去抖動(dòng)問題才能確保功能的穩(wěn)定性與可靠性。所需消除的抖動(dòng)干擾具體表現(xiàn)為機(jī)械抖動(dòng),即按鍵在按下過程中所形成的不穩(wěn)定電壓特征,是按鍵動(dòng)作不可避免的一個(gè)問題。通常情況下,機(jī)械抖動(dòng)的持續(xù)時(shí)間多位于10~200毫秒左右,雖然從人體感知的層面來看這一抖動(dòng)時(shí)間極為短暫,但是對(duì)于單片機(jī)時(shí)鐘周期而言則非常漫長(zhǎng)。因此可結(jié)合硬件或軟件去抖動(dòng)措施消除機(jī)械抖動(dòng)的不利影響,具體分別通過硬件電路或者延遲程序等方式實(shí)現(xiàn)去抖效果。本設(shè)計(jì)以延遲程序?yàn)楣ぞ邔?shí)現(xiàn)軟件去抖。即令I(lǐng)/O接口的信號(hào)檢測(cè)采集時(shí)間向后延遲,以確保其充分的持續(xù)時(shí)間之后方確認(rèn)按鍵動(dòng)作。
2.7 總體電路
利用單片機(jī)的接口進(jìn)行發(fā)射輸出來檢查超聲波的發(fā)出,同時(shí)不斷檢查外中斷口與INT0插針,一旦INT0插針的電平從高電平轉(zhuǎn)為低電平,即表示發(fā)出的超聲波已經(jīng)開始返回。利用數(shù)據(jù)對(duì)結(jié)果信息的分析可以獲取傳感器和障礙物間的差距,LCD1602實(shí)時(shí)顯示測(cè)量的數(shù)據(jù)結(jié)果。當(dāng)距離小于等于預(yù)先設(shè)定值時(shí),蜂鳴器報(bào)警。
- ? 系統(tǒng)程序的設(shè)計(jì)
本測(cè)距系統(tǒng)的軟件程序具體由主程序、顯示程序、報(bào)警程序、按鍵程序等子程序構(gòu)成。
-
- 主程序
主程序具體負(fù)責(zé)相關(guān)數(shù)據(jù)的處理和分析工作,并為各個(gè)功能模塊的正常運(yùn)行提供必要的程序指令支持和保障。該程序的技術(shù)流程詳見圖3-1所示。
圖3-1主流程圖
-
- 顯示數(shù)據(jù)子程序
顯示數(shù)據(jù)程序具體實(shí)現(xiàn)了測(cè)距結(jié)果的可視化顯示數(shù)據(jù)。將超聲波模塊所測(cè)量后的數(shù)據(jù)結(jié)果經(jīng)單片機(jī)處理后顯示在1602液晶屏上。其技術(shù)流程詳見下圖3-2。
圖3-2顯示數(shù)據(jù)子程序流程圖
-
- 報(bào)警子程序
報(bào)警程序則基于測(cè)距數(shù)據(jù)結(jié)果對(duì)蜂鳴器的動(dòng)作狀態(tài)進(jìn)行控制。在測(cè)距數(shù)據(jù)高于安全閾值時(shí)啟動(dòng)蜂鳴器實(shí)現(xiàn)報(bào)警功能。其技術(shù)流程詳見下圖3-3所示
圖3-3 報(bào)警子程序流程圖
-
-
- 系統(tǒng)調(diào)試
-
此次設(shè)計(jì)中,調(diào)試出現(xiàn)了兩個(gè)大的問題。將作品焊接完成后開始測(cè)試電路,使用串口下載器連接充電寶為整個(gè)系統(tǒng)硬件供電,提供的電源是+5V,用萬用表正負(fù)極測(cè)芯片的20,40管腳看是否為+5V,測(cè)液晶1602的1,2管腳看是否為+5V,檢測(cè)時(shí)防止因電壓過高而燒壞芯片,應(yīng)該將芯片拆下來?,F(xiàn)在作品的電路是通的,但是在測(cè)試功能是發(fā)現(xiàn)蜂鳴器不響,換芯片重新下載程序還是不能決絕這個(gè)問題,本人就懷疑是引腳的問題。用LED燈測(cè)試那個(gè)引腳,LED燈只發(fā)出微弱的燈光萬用表測(cè)量發(fā)現(xiàn)只有很小的輸出,更換引腳后確實(shí)實(shí)現(xiàn)了功能超過設(shè)定值時(shí)蜂鳴器發(fā)聲報(bào)警。
另一個(gè)問題是發(fā)現(xiàn)按下按鍵功能并不精確,然在經(jīng)過查找資料以及同學(xué)幫助之下,知道了系統(tǒng)之中有過多的按鍵,系統(tǒng)沒有正確檢測(cè)到該按鍵被使用,所以自己設(shè)計(jì)在每個(gè)按鍵的子程序之中加了一個(gè)消抖功能,這樣就可以解決按鍵沒有被檢測(cè)的問題。實(shí)物展示如圖4-1。
圖4-1 電路板實(shí)物圖
部分程序:
#include <reg52.h>
#include <intrins.h>
#include <stdio.h>
#define uchar unsigned char
#define uint? unsigned int
sfr ISP_DATA? = 0xe2;
sfr ISP_ADDRH = 0xe3;
sfr ISP_ADDRL = 0xe4;
sfr ISP_CMD?? = 0xe5;
sfr ISP_TRIG? = 0xe6;
sfr ISP_CONTR = 0xe7;
sbit LcdRs_P?? = P2^7;
sbit LcdRw_P?? = P2^6;
sbit LcdEn_P?? = P2^5;
sbit Trig_P??? = P2^2;
sbit Echo_P??? = P2^3;
sbit KeySet_P? = P3^2;
sbit KeyDown_P = P3^3;
sbit KeyUp_P?? = P3^4;
sbit Buzzer_P? = P2^1;
sbit Led_P???? = P2^0;
uint gAlarm;
// 單片機(jī)內(nèi)部EEPROM不使能
void ISP_Disable()
{
ISP_CONTR = 0;
//
LcdEn_P = 0;
}
// 1602液晶寫數(shù)據(jù)函數(shù),dat就是要寫入的命令
void LcdWriteData(uchar dat)