丁佳樂 黎順 康郢芮 黃恒一
摘 要:設(shè)計(jì)一輛基于單片機(jī)的手機(jī)可控多功能智能小車,小車與手機(jī)采用無線傳輸技術(shù)通信。智能小車主要分為手機(jī)APP、控制器模塊、傳感器模塊、執(zhí)行器模塊以及報(bào)警模塊五個(gè)部分。傳感器模塊感知外部環(huán)境信息并把數(shù)據(jù)傳送至控制器,控制器接收并處理手機(jī)和傳感器傳過來的數(shù)據(jù),把傳感器的狀態(tài)信息發(fā)至上位機(jī),并根據(jù)指令控制執(zhí)行器驅(qū)動(dòng)小車做出相應(yīng)的行為。APP的功能是給下位機(jī)發(fā)送控制指令控制小車運(yùn)動(dòng),以及接收下位機(jī)上傳的傳感器信息并實(shí)時(shí)顯示,當(dāng)某個(gè)狀態(tài)到達(dá)限定值時(shí)啟動(dòng)相應(yīng)的報(bào)警。
關(guān)鍵詞:APP;智能控制;無線監(jiān)控;傳感技術(shù);上位機(jī);報(bào)警
中圖分類號(hào):TP39文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):2095-1302(2019)12-00-02
0 引 言
智能車的應(yīng)用非常廣泛,在工業(yè)制造、農(nóng)業(yè)生產(chǎn)、安全實(shí)驗(yàn)、環(huán)境探索和檢測,甚至是軍事偵察、外星探測等各方面都有應(yīng)用。在外星的探索上,19世紀(jì)美國在探索火星時(shí)發(fā)送了“機(jī)遇號(hào)”和“勇氣號(hào)”兩輛勘測小車,而我國在2013年探測月球時(shí)也發(fā)送了首顆勘測小車“玉兔”號(hào)[1]。
隨著車聯(lián)網(wǎng)、智能汽車的興起,亟待解決的問題越來越多,各種新技術(shù)應(yīng)運(yùn)而生。智能汽車作為人工智能的重要領(lǐng)域之一,已經(jīng)成為時(shí)代的熱點(diǎn)。未來智能汽車將是跨學(xué)科、跨領(lǐng)域的高新技術(shù)載體,甚至是某種意義上有靈魂、有生命的高度智慧體[2]。智能小車成本較低,而且應(yīng)用技術(shù)十分廣泛,包含微控制、無線通信、傳感器技術(shù)等,以智能小車作為智能汽車的模型,是探索智能汽車以及人工智能非常好的切入點(diǎn)。
1 小車整體設(shè)計(jì)
智能小車以單片機(jī)作為控制核心,下位機(jī)與Android手機(jī)終端通過藍(lán)牙無線傳輸技術(shù)實(shí)時(shí)通信。在小車手動(dòng)模式下,用戶通過手機(jī)發(fā)送指令信息,控制中心根據(jù)接收到的指令按照程序控制小車運(yùn)動(dòng),完成相應(yīng)的任務(wù)。手機(jī)終端能夠?qū)崟r(shí)接收控制器上傳的傳感器數(shù)據(jù)信息,分析處理后在屏幕上顯示相關(guān)信息,并根據(jù)程序設(shè)定做出相應(yīng)的安全提醒或危險(xiǎn)警報(bào)。
1.1 小車供電系統(tǒng)
電源是系統(tǒng)穩(wěn)定工作的前提。小車的主控系統(tǒng)、通信模塊、傳感器模塊以及其他模塊的工作電壓基本都為5 V,而驅(qū)動(dòng)直流電機(jī)需要12 V。因此電源采用三節(jié)3.7 V可充電的鋰電池,鋰電池相對于普通鋅-錳干電池的優(yōu)點(diǎn)是容量大、能提供更大的電流,電源更穩(wěn)定而且可快速充電。三節(jié)鋰電池電壓能夠達(dá)到11 V,足夠驅(qū)動(dòng)直流電機(jī),經(jīng)過降壓/穩(wěn)壓電路后得到穩(wěn)定的5 V電壓,為各芯片提供穩(wěn)定的工作環(huán)境。降壓/穩(wěn)壓電路的核心是三端穩(wěn)壓器LM7805,LM7805性能穩(wěn)定,輸出端能夠得到穩(wěn)定的5 V電壓,而且內(nèi)部電路還具有過壓、過流等保護(hù)功能。
1.2 小車主控系統(tǒng)
小車主控系統(tǒng)以STC89C52為核心。STC89C52是一種增強(qiáng)型51單片機(jī),不但性能更加穩(wěn)定,而且增大了ROM和RAM,提高了運(yùn)算速度。增強(qiáng)后的STC89C52具有8 KB FLASH存儲(chǔ)器、512 B RAM、32位I/O 口線、一個(gè)全雙工串行口,以及3個(gè)16位定時(shí)器/計(jì)數(shù)器和4個(gè)外部中斷。另外,STC89C52可設(shè)置節(jié)電模式,具有較強(qiáng)的抗干擾能力和低功耗[3]。因此不管是外設(shè)接口還是內(nèi)存或者運(yùn)算速度等,STC89C52都能滿足目前設(shè)計(jì)要求,而且STC89C52輕巧,控制端口簡單。
1.3 小車底層運(yùn)動(dòng)模塊
智能小車驅(qū)動(dòng)采用直流減速電機(jī),該電機(jī)轉(zhuǎn)速小、功耗低、調(diào)速性能較好、力矩大。為了減少對控制器和電源的干擾,在電機(jī)內(nèi)部增加環(huán)形壓敏電阻。L298N是專用的驅(qū)動(dòng)集成電路,芯片工作電壓為5 V,驅(qū)動(dòng)電機(jī)電壓為12 V。L298N可同時(shí)驅(qū)動(dòng)2個(gè)直流電機(jī),輸入端為TTL邏輯電平,可以直接連單片機(jī)的I/O口[4]。OUTl~4為四個(gè)輸出端,輸出電流為2 A左右,分別接兩個(gè)直流電機(jī)。L298N邏輯真值見表1所列。
1.4 溫度檢測
智能小車的溫度檢測采用TO-92封裝的DS18B20數(shù)字式溫度傳感器,這種傳感器體積小、控制方便、穩(wěn)定性好,而且DS18B20采用獨(dú)特的1-Wire通信,即僅采用一個(gè)數(shù)據(jù)線就可以與微控制器進(jìn)行通信。該技術(shù)將時(shí)鐘線、數(shù)據(jù)線、控制線甚至電源線合并成一根線,只要符合其通信協(xié)議標(biāo)準(zhǔn)就能進(jìn)行通信[5],所以電路十分簡單。DS18B20能夠檢測-55~125 ℃,并且可以由用戶自行配置9~12位分辨率,具有用戶可編程的非易失性,以及過溫與低溫觸發(fā)報(bào)警的報(bào)警功能,測量結(jié)果直接輸出數(shù)字溫度信號(hào)。同時(shí),一根總線上可以連接多個(gè)DS18B20,具有支持多點(diǎn)組網(wǎng)、實(shí)現(xiàn)多點(diǎn)測溫的功能。在本文設(shè)計(jì)中DS18B20主要用來檢測周圍的環(huán)境溫度。
1.5 超聲波測距
HC_SR04是常用的非接觸式超聲波距離測量模塊,工作電壓為3.3~5 V。HC_SR04的工作原理是觸發(fā)端Trig給10 μs以上的高電平信號(hào),HC-SR04內(nèi)部自動(dòng)發(fā)送8個(gè)40 kHz的方波,模塊自動(dòng)檢測是否有信號(hào)返回,如果有信號(hào)返回,模塊Echo端輸出一個(gè)時(shí)間為超聲波從發(fā)射到返回的高電平[6]。單片機(jī)通過定時(shí)器計(jì)算Echo端高電平的時(shí)間,根據(jù)定時(shí)器計(jì)算所得到的時(shí)間和所處環(huán)境聲音傳播的速度計(jì)算出當(dāng)前距離。
當(dāng)小車上的距離傳感器測得的距離到達(dá)障礙第一個(gè)限定值時(shí),小車上的危險(xiǎn)指示燈閃爍做出危險(xiǎn)警告;當(dāng)測得的距離到達(dá)第二個(gè)限定值時(shí),系統(tǒng)自動(dòng)采取緊急制動(dòng)措施[7]。終端也能夠自主分析接收到的數(shù)據(jù),根據(jù)不同的情況,手機(jī)屏幕顯示相關(guān)危險(xiǎn)信息內(nèi)容,并做相應(yīng)的語音提示。DS18B20測距及報(bào)警流程如圖1所示。
1.6 手機(jī)APP設(shè)計(jì)
手機(jī)軟件的開發(fā)相對來說是智能小車設(shè)計(jì)過程中的難點(diǎn),本文系統(tǒng)的APP通過第三方在線開發(fā)平臺(tái)MIT APP Inventor進(jìn)行設(shè)計(jì)。APP Inventor是Google公司開發(fā)的一款手機(jī)編程工具軟件,在智能家居與機(jī)器人控制領(lǐng)域都有非常廣泛的應(yīng)用。其最大優(yōu)勢是環(huán)境搭建方便,開發(fā)過程簡單[8],且上手容易,大大縮短了開發(fā)周期。
APP開發(fā)主要分為兩部分內(nèi)容。一是APP用戶界面的設(shè)計(jì)。用戶界面是用戶與系統(tǒng)信息交互的媒介,所以清晰、美觀的UI設(shè)計(jì)會(huì)讓人操作起來更加舒適。用戶界面設(shè)計(jì)即根據(jù)需求添加所需組件,根據(jù)組件性能設(shè)計(jì)組件的形狀、大小、顏色及背景等,然后按照軟件的功能與風(fēng)格要求設(shè)計(jì)界面布局。
另一部分是APP邏輯組件的設(shè)計(jì)。APP邏輯設(shè)計(jì)即編程,組件類似C語言中的封裝函數(shù),需要時(shí)直接調(diào)用。APP Inventor提供了較多邏輯控制事件、字符操作、條件事件等,邏輯設(shè)計(jì)即定義各個(gè)組件的行為及具體實(shí)現(xiàn)功能。首先按要求修改組件相應(yīng)參數(shù),然后按照組件要實(shí)現(xiàn)的功能添加相應(yīng)的邏輯控制、條件選擇、數(shù)據(jù)操作等事件定義組件的動(dòng)作流程[9]。APP主要模塊有通信連接、運(yùn)動(dòng)指令下達(dá)、傳感器信息顯示,到達(dá)限定值時(shí)危險(xiǎn)信息警報(bào)。最終完成的APP界面如圖2所示。
2 智能小車研究過程中的技術(shù)難點(diǎn)
智能小車APP需要接收傳感器的動(dòng)態(tài)數(shù)據(jù)并實(shí)時(shí)顯示。傳感器的數(shù)據(jù)一直更新,不能像單片機(jī)的While循環(huán)一樣一直接收數(shù)據(jù),若APP發(fā)一個(gè)控制碼過去接收一次數(shù)據(jù),則只能單次接收,而傳感器的數(shù)據(jù)是動(dòng)態(tài)的,要求實(shí)時(shí)更新,此種方式顯然達(dá)不到要求。筆者受到單片機(jī)串口中斷思想的啟發(fā),添加一個(gè)定時(shí)器,當(dāng)定時(shí)器啟動(dòng)時(shí)開始接收數(shù)據(jù),然而這樣雖然能夠?qū)崟r(shí)接收、顯示數(shù)據(jù),卻不能按字節(jié)提取某一個(gè)傳感器的數(shù)據(jù)分別顯示。最后在教師的指導(dǎo)下把接收到的文本轉(zhuǎn)換成Hex格式,實(shí)現(xiàn)了隨意按照設(shè)定字節(jié)數(shù)提取某一部分的數(shù)據(jù)。
3 結(jié) 語
本文設(shè)計(jì)的智能小車可以實(shí)現(xiàn)利用智能手機(jī)通過無線傳輸對小車進(jìn)行實(shí)時(shí)控制,智能車上搭載的傳感器能夠把數(shù)據(jù)上傳到手機(jī),通過手機(jī)可實(shí)時(shí)查看傳感器的檢測值,超過設(shè)定值時(shí)呈現(xiàn)對應(yīng)的報(bào)警信息。但由于目前通信采用的是短距離無線通信技術(shù),傳輸距離有限,未來擬改變通信方式,采用如GPRS等遠(yuǎn)距離無線通信,并增加攝像頭,實(shí)現(xiàn)手機(jī)實(shí)時(shí)監(jiān)控小車周圍情況[10]。另外,未來還可嘗試增加GPS定位功能,得到較精確的定位。
參 考 文 獻(xiàn)
[1]丁希侖,石旭堯,ROVETTA A,等.月球探測(車)機(jī)器人技術(shù)的發(fā)展與展望[J].機(jī)器人技術(shù)與應(yīng)用,2008(3):5-9.
[2]朱盛鐳.未來智能汽車產(chǎn)業(yè)發(fā)展趨勢[J].上海汽車,2015(8):1.
[3]黃勤.單片機(jī)原理及應(yīng)用[M].北京:清華大學(xué)出版社,2010:21-22.
[4]孫緒才. L298N在直流電機(jī)PWM調(diào)速系統(tǒng)中的應(yīng)用[J]. 濰坊學(xué)院學(xué)報(bào),2009,9(4):19-21.
[5]郭雷,李彬.1-Wire總線技術(shù)的通信特點(diǎn)及其應(yīng)用[J].自動(dòng)化技術(shù)與應(yīng)用,2008,27(9):95-97.
[6]李軍,申俊澤.超聲測距模塊HC-SR04的超聲波測距儀設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2011,11(10):77-78.
[7]武斌,王琦,袁文囿,等.超聲波倒車?yán)走_(dá)系統(tǒng)設(shè)計(jì)[J].科技創(chuàng)新與生產(chǎn)力,2017(12):110-113.
[8]王杰.基于Android與APP Inventor的移動(dòng)學(xué)習(xí)資源開發(fā)實(shí)踐與思考[J].廣東廣播電視大學(xué)學(xué)報(bào),2016,25(4):38-42.
[9]鄭劍春.APP Inventor 2與機(jī)器人程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2016.
[10]王春東,楊宏,宮良一.基于Android平臺(tái)的視頻監(jiān)控智能車設(shè)計(jì)[J].消防科學(xué)與技術(shù),2017,36(1):72-75.
物聯(lián)網(wǎng)技術(shù)2019年12期