丁佳樂 黎順 康郢芮 黃恒一



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