常 安,萬振凱
(天津工業(yè)大學(xué) 計算機科學(xué)與技術(shù)學(xué)院 信息化中心,天津 300387)
人工智能時代的來臨,使得大部分儀器設(shè)備走向自動化以及智能化,智能設(shè)備在生活中已隨處可見,并且已經(jīng)被越來越廣泛地應(yīng)用到生活生產(chǎn)中。隨著科技水平的提高,越來越多的傳感器被應(yīng)用到智能設(shè)備上,使設(shè)備可以像人一樣去感知周圍環(huán)境。單個傳感器的功能往往會有很大的局限性,只具備單一的感應(yīng)功能,不能夠滿足智能設(shè)備多功能的需求。因此,為滿足更多需求,需要在設(shè)備上安裝更多的傳感器。該設(shè)計基于HC-SR04、溫濕度、光照強度等傳感器,并用樹莓派作為控制設(shè)備,形成了具有多種功能的自感應(yīng)系統(tǒng)。
搭載該系統(tǒng)的智能小車可以很好地感知周圍環(huán)境,并根據(jù)環(huán)境特點作出相應(yīng)的行為。例如,當光線暗時,光照強度傳感器會將信息傳遞給控制設(shè)備并結(jié)合算法控制繼電器的開、閉,完成對燈光的控制。利用傳感器和L298N 的配合并根據(jù)土壤溫濕度判斷該地區(qū)是否可以進入,躲避地區(qū)障礙物,實現(xiàn)自感應(yīng)功能。
圖1 系統(tǒng)結(jié)構(gòu)圖Fig.1 System structure diagram
在實際工作中,有時需要進入一些危險或人力不容易達到的地方進行作業(yè),這時為了更好地完成工作需要智能小車的幫助[1]。在可見范圍內(nèi),小車可以通過操作人員控制,但當超出這個范圍時,智能小車[2]的自感應(yīng)功能就顯得非常重要了。
系統(tǒng)主要由以下幾個部分組成,分別是數(shù)據(jù)采集模塊、數(shù)據(jù)處理模塊、數(shù)據(jù)驅(qū)動模塊。
數(shù)據(jù)采集模塊主要負責周圍環(huán)境的感知,通過傳感器獲取需要的數(shù)據(jù)信息。隨后將這些信息傳遞給數(shù)據(jù)處理模塊(MCU),再根據(jù)系統(tǒng)算法數(shù)據(jù)驅(qū)動模塊給出行為上的反饋。系統(tǒng)結(jié)構(gòu)圖如圖1 所示。
樹莓派是一種微型電腦,起初是為了學(xué)習(xí)計算機編程教育而設(shè)計的[3]?,F(xiàn)在它除了具備編程教育功能以外,還為許多物聯(lián)網(wǎng)開發(fā)愛好者提供了一種選擇,使他們不僅僅局限在單片機上。相對于單片機而言,樹莓派更像一臺微型計算機,可以完成一定的計算任務(wù)。同時它還具有更多的GPIO 接口,方便更多功能的擴展以及多種傳感器之間的互聯(lián)。
選用樹莓派作為自感應(yīng)系統(tǒng)的控制設(shè)備,有以下幾點原因:第一點是它的小巧輕便,可以很好地安裝在智能設(shè)備上;第二點是它有40 個GPIO 接口,可以連接多個傳感器,方便系統(tǒng)后續(xù)功能的擴展;第三點是它具有獨立的處理器以及操作系統(tǒng),可以快速地處理來自各種傳感器反饋的數(shù)據(jù),并調(diào)用相關(guān)模塊使驅(qū)動模塊作出反應(yīng)。
圖2 L298N實物圖Fig.2 L298N Physical map
圖3 HC-SR04實物圖Fig.3 HC-SR04 Physical map
L298N 是專用驅(qū)動集成電路[4],屬于H 橋集成電路。其輸出電流為2A,最高電流4A,最高工作電壓50V,可以驅(qū)動感性負載,像大功率直流電機、步進電機等,特別是其輸入端可以與單片機直接相聯(lián),可以很好地被MCU 控制。當驅(qū)動直流電機時,可以直接控制步進電機,并根據(jù)輸入端的高低電平實現(xiàn)正反向的旋轉(zhuǎn)。
采用L298 芯片為核心,加上簡單的外圍電路就可以驅(qū)動兩路直流電機,L298 驅(qū)動優(yōu)點:每一組PWM 波用來控制一個電機的速度,另外2 個I/O 口控制電機的轉(zhuǎn)動方向,減少了硬件設(shè)計與軟件編程的工作量[5]。實物圖如圖2 所示。
HC-SR04 傳感器是將超聲波信號轉(zhuǎn)換成其他能量信號(通常是電信號)的傳感器。超聲波對物體有很強的穿透性,這一特點在不透明固體中表現(xiàn)突出。
圖4 光照強度傳感器Fig.4 Light intensity sensor
HC-SR04 傳感器[6]可以廣泛應(yīng)用在物位(液位)監(jiān)測、機器人防撞,以及防盜報警等相關(guān)領(lǐng)域。工作可靠,安裝方便,發(fā)射夾角較小,靈敏度高,方便與工業(yè)顯示儀表連接。實物圖如圖3 所示。
該系統(tǒng)使用的光照強度傳感器是GY-30。GY-30 是一款數(shù)字光強度檢測模塊,對弱光也有較高靈敏度的傳感器。輸入電壓為3V ~5V,可檢測的光照度范圍是:0 ~65535 lx,內(nèi)置16bitAD 轉(zhuǎn)換器。具有不區(qū)分光源,接近于視覺靈敏度的分光特性,可對廣泛的亮度進行1lx 的高精度測量。如圖4 是GY-30 實物圖。
為了更好地測試土壤濕度,該設(shè)計選用的是FC-28 型號的檢測器。該傳感器利用電磁脈沖原理,依靠電磁波在介質(zhì)中的傳播率來檢測土壤的表觀介電常數(shù)(ε),從而得到土壤的濕度(θv)。利用電位器芯片可以調(diào)節(jié)測定的閾值,順時針調(diào)節(jié)控制濕度會變大,逆時針調(diào)節(jié)控制濕度會變小[7]。傳感器與電位器連接圖如圖5 所示。
GPIO 是Python 提供的一個接口庫,可以通過代碼調(diào)用樹莓派上的GPIO 接口(使用pip install RPi.GPIO 命令來安裝GPIO 模塊)。樹莓派的GPIO 接口由40 個針腳(PIN)組成,每個針腳都可以用導(dǎo)線和外部設(shè)備相連。
在40 個PIN 接口中,有 固 定 輸 出 的5V(2、4 號PIN)、3.3V(1、17 號 PIN)和地線(Ground,6、9、14、20、25、30、34、39)。如果一個電路兩端接在5V 和地線之間,該電路就會獲得5V 的電壓輸入。27、28 號PIN標著ID_SD 和ID_SC,它們是兩個特殊的PIN,屬于ID EEPROM(Electrically Erasable Programmable Read-Only Memory)接口,用于和拓展開發(fā)系統(tǒng)功能的附加電路板通信。每個PIN 都有對應(yīng)的編號,如GPIO14。開發(fā)系統(tǒng)的操作系統(tǒng)中,會用GPIO 的編號14 來指代這個PIN,而不是位置編號的8。有一些PIN 除了GPIO 功能外,還提供了高級端口功能。比如說,GPIO14 和GPIO15 就同時可以充當UART 端口。GPIO 編號方式如圖6 所示。
圖5 傳感器與電位器連接圖Fig.5 Sensor and potentiometer connection diagram
圖6 GPIO編號方式Fig.6 GPIO Numbering method
將上述硬件組裝,得到小車實物圖如圖7 所示。
圖7 小車實物圖Fig.7 Cart physical map
圖8 主程序流程圖Fig.8 Main program flow chart
圖9 L298N驅(qū)動流程Fig.9 L298N Drive process
軟件設(shè)計由以下幾個模塊構(gòu)成:初始化程序、驅(qū)動程序(包括小車的運動、燈光的開閉)、數(shù)據(jù)收集程序、控制程序。
初始化程序主要開啟需要用到的GPIO 口,使它們進入準備狀態(tài);數(shù)據(jù)收集程序主要是利用傳感器對環(huán)境的實時監(jiān)測并獲取數(shù)據(jù);驅(qū)動程序主要是根據(jù)數(shù)據(jù)收集程序的數(shù)據(jù)并結(jié)合控制程序的算法來改變GPIO 口的高低電平,并調(diào)用L298N 驅(qū)動電機運轉(zhuǎn)[4]以及繼電器控制燈光的開閉。主程序流程圖如圖8 所示。
驅(qū)動程序和收集程序的執(zhí)行分為兩個部分:第一部分是土壤濕度傳感器和HC-SR04 傳感器的數(shù)據(jù)收集。首先由土壤濕度傳感器測量判斷運動區(qū)域的濕度是否可以進入,然后由HC-SR04 實時測量小車周圍障礙物的距離,此過程最終調(diào)用L298N 模塊來驅(qū)動步進電機的運轉(zhuǎn);第二部分是光照強度傳感器感受環(huán)境光照經(jīng)過控制程序判斷是否小于設(shè)定值,以此來改變繼電器的開閉,已達到控制LED 燈的效果,使得該設(shè)計在暗處也可以正常使用。L298N 驅(qū)動流程如圖9 所示,繼電器驅(qū)動流程如圖10 所示。
圖10 繼電器驅(qū)動流程Fig.10 Relay drive process
基于嵌入式設(shè)計了一款自感應(yīng)系統(tǒng),多個傳感器共同完成對系統(tǒng)運行環(huán)境的感知,交由樹莓派對數(shù)據(jù)進行處理,經(jīng)過軟件程序的驅(qū)動并改變L298N 驅(qū)動板和繼電器的高低電平使小車實現(xiàn)自動運動的功能,以及搭配傳感器實現(xiàn)避障功能和光照功能。在實際測試中該系統(tǒng)可以很好地完成預(yù)定功能的運行,達到實驗要求。
多種傳感器搭配使得系統(tǒng)具有跟多的功能,解決了單一傳感器的局限性,結(jié)合樹莓派較高的可拓展功能以及可編程特性,使得該系統(tǒng)可以很好地使用。
現(xiàn)如今人工智能技術(shù)飛速發(fā)展,研究和開發(fā)這款自動避障小車系統(tǒng)有很重要的意義。整個系統(tǒng)構(gòu)成簡單,硬件技術(shù)成熟穩(wěn)定,結(jié)合樹莓派的高擴展性,還可添加多種傳感器實現(xiàn)更多功能,具有很強的實用性。在后期的改進中,還可加入攝像頭模塊實現(xiàn)更多的功能。