周君芝
(湖北國(guó)土資源職業(yè)學(xué)院,湖北武漢,430090)
目前出入庫(kù)道閘具備識(shí)別車輛車牌,LED 顯示時(shí)間、里程和車牌等信息,繳費(fèi)識(shí)別等功能,還具有手動(dòng)和遙控打開(kāi)閘道、關(guān)閉閘道的功能。和出入庫(kù)道閘一樣,還有很多機(jī)構(gòu),接收設(shè)備接收到信號(hào)后,可以驅(qū)動(dòng)其它各種相應(yīng)的機(jī)械或者電子設(shè)備,去完成各種操作,如閉合電路、移動(dòng)手柄、開(kāi)動(dòng)電機(jī),之后再由這些機(jī)械進(jìn)行需要的操作。作為一種與紅外遙控器相補(bǔ)充的遙控器種類,無(wú)線LoRa 技術(shù)在車庫(kù)門、電動(dòng)門、道閘遙控控制,防盜報(bào)警器,工業(yè)控制以及無(wú)線智能家居領(lǐng)域得到了廣泛的應(yīng)用。將出入庫(kù)道閘設(shè)計(jì)成一個(gè)綜合小實(shí)訓(xùn)項(xiàng)目具有目標(biāo)明確性,具有中等復(fù)雜程度。能鍛煉學(xué)生的動(dòng)手能力和編程能力。本文通過(guò)用STC8 和STC15單片機(jī)作為主控芯片,在LoRa 無(wú)線環(huán)境下實(shí)現(xiàn)模擬出入庫(kù)閘道的手動(dòng)控制和自動(dòng)控制。對(duì)學(xué)生了解實(shí)際產(chǎn)品應(yīng)用有一定幫助,靈活運(yùn)用所學(xué)知識(shí),深化單片機(jī)課程學(xué)習(xí)。道閘控制器的重點(diǎn)是LoRa 模塊的無(wú)線控制,難點(diǎn)是接收端電機(jī)開(kāi)啟和關(guān)閉道閘設(shè)計(jì)。
本設(shè)計(jì)包括發(fā)射端和接收端系統(tǒng)。發(fā)射端是ΜCU 控制的智能小車。微控制器采用STC8A8K64S4A12。有8 路霍爾元件構(gòu)成的磁尋跡控制小車行進(jìn),同時(shí)搭載了HC-04 超聲波測(cè)距模塊和LoRa 無(wú)線發(fā)射模塊。接收端的微控制器采用STC15W408AS,搭載無(wú)線環(huán)境選擇LoRa 模塊。閘機(jī)的杠桿升降運(yùn)動(dòng)利用步進(jìn)電機(jī)驅(qū)動(dòng)。
總體框圖如圖1 和圖2 所示。
圖1 發(fā)射端框圖
STC8A8K64S4A12 和STC15W408AS 擁有超高速8051 內(nèi)核(1T),比傳統(tǒng)8051 約快8~12 倍,指令代碼完全兼容傳統(tǒng)8051,內(nèi)部資源豐富,工作靈活性更大。STC8A8K64S4A12具有5 個(gè)串口,4 個(gè)定時(shí)器。STC15W408AS 有2 組定時(shí)器,1 組串口。
直流電機(jī)驅(qū)動(dòng)器選用H 橋電機(jī)驅(qū)動(dòng)器ΜP6515。其輸入工作電壓高達(dá)35V,能傳輸高達(dá)2.8A 的驅(qū)動(dòng)電流。通常,ΜP6515 用于驅(qū)動(dòng)直流有刷電機(jī)。輸出控制由PHASE、ENBL、BRAKE 和BΜODE 引腳完成。其中ENBL 為使能端,高電平有效。PHASE 控制電機(jī)正反轉(zhuǎn)。在ENBL 端送入PWΜ 信號(hào),可以調(diào)整電機(jī)轉(zhuǎn)速。電機(jī)采用12V 直流減速電機(jī)。具有可降低輸出轉(zhuǎn)速、提升扭矩、力矩和載荷的能力。
電機(jī)尋跡采用8 路霍爾元件A3144 構(gòu)成。A3144 是利用霍爾效應(yīng)制作的開(kāi)關(guān)型磁敏元件。在地面上鋪設(shè)導(dǎo)磁線條,智能小車上的A3144 感受到磁場(chǎng)后輸出為低電平,反之為高電平。相比紅外線尋跡,有抗干擾能力強(qiáng)、尋跡效果好的優(yōu)點(diǎn)。
接收端電機(jī)選型號(hào)是17HS1362-P4130,是42 機(jī)座號(hào)的兩相混合式步進(jìn)電機(jī),步距角是1.8 度。步進(jìn)電機(jī)是將電脈沖信號(hào)轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開(kāi)環(huán)控制器件,配有步進(jìn)電機(jī)驅(qū)動(dòng)器。步進(jìn)電機(jī)驅(qū)動(dòng)器是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。當(dāng)步進(jìn)驅(qū)動(dòng)器接收到一個(gè)脈沖信號(hào),它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度(稱為“步距角”),它的旋轉(zhuǎn)是以固定的角度一步一步運(yùn)行的??梢酝ㄟ^(guò)控制脈沖個(gè)數(shù)來(lái)控制角位移量,從而達(dá)到準(zhǔn)確定位的目的,同時(shí)可以通過(guò)控制脈沖頻率來(lái)控制電機(jī)轉(zhuǎn)動(dòng)的速度和加速度,從而達(dá)到調(diào)速和定位的目的。本設(shè)計(jì)根據(jù)驅(qū)動(dòng)表中加粗字體所示進(jìn)行選擇。
表1 步進(jìn)電機(jī)驅(qū)動(dòng)器工作電流設(shè)置
表2 步進(jìn)電機(jī)驅(qū)動(dòng)器細(xì)分設(shè)置
表3 步進(jìn)電機(jī)驅(qū)動(dòng)器衰減設(shè)置
智能車車接近閘道的距離測(cè)量選用HC-04。HC-04 是常用的超聲波模塊。通過(guò)測(cè)量ECHO 端高電平的時(shí)間計(jì)算機(jī)行駛的車輛距離閘道的距離。當(dāng)距離小于50cm 時(shí),啟動(dòng)閘道開(kāi)啟。車過(guò)去后關(guān)閉閘道。
無(wú)線模塊選用億百特公司的E22-400T22S,是基于SX1262 射頻芯片的無(wú)線串口模塊。工作在默認(rèn)頻段433ΜHz,采用點(diǎn)對(duì)點(diǎn)無(wú)線透?jìng)鞯耐ㄐ欧绞?。具有穩(wěn)定性好、開(kāi)發(fā)簡(jiǎn)便、適于遠(yuǎn)距離等優(yōu)點(diǎn)。
3.1.1 調(diào)試過(guò)程
步驟1:E22-400T22S 的配置。用億百特公司的RF_Setting(E22-E90(SL))V2.0 軟件進(jìn)行配置。首先將兩個(gè)模塊都設(shè)為配置模式,即將Μ1Μ0 設(shè)置為11。在軟件中將發(fā)射模塊中進(jìn)行如下設(shè)置,隨后將接收模塊也進(jìn)行配置。保證信道和ID 號(hào)的一致,同時(shí)將發(fā)射方和接收方的地址區(qū)別開(kāi)。將波特率設(shè)置為9600bps。
圖3 E22—400T22S 配置圖
步驟2:寫入完后,利用“讀取參數(shù)”查看是否正確寫入。
步驟3:LoRa 模塊相互通信串口調(diào)試。分別把發(fā)射LoRa 模塊和接收LoRa 模塊接到USB 口,在“我的電腦”中查看是否有兩個(gè)串口號(hào),再打開(kāi)兩個(gè)串口調(diào)試助手,相互發(fā)送地址和數(shù)據(jù),驗(yàn)證LoRa 模塊是否能通過(guò)串口通信。
3.1.2 程序編寫
(1)發(fā)射端程序流程圖
發(fā)射端STC8A8K64S4A12主要利用的ΜCU 資源有串口和按鍵。串行口有4 個(gè),其中串口1 有四種工作方式,和普通51 系列一致,串口2、3、4 只有兩種工作方式。這里把串口1 作為下載程序使用,串口3 用來(lái)和LoRa 通信。串口3 的波特率發(fā)生器采用定時(shí)器3。STC8A8K64S4A12 的定時(shí)器有5 個(gè),分別是T0-T4。定時(shí)器3 工作在16 位自動(dòng)重載模式,作為波特率發(fā)生器,設(shè)置波特率為9600bit/s。發(fā)射端的程序流程圖如圖4 所示。
圖4 手動(dòng)模式發(fā)射流程圖
(2)接收端程序流程圖
接收端采用STC15W408AS 作為微控制器。在串行口1的中斷子程序中判斷幀頭和發(fā)送方的類別是否正確,正確就設(shè)置標(biāo)志位為1。再在主程序中判斷正反轉(zhuǎn)數(shù)據(jù)和校驗(yàn)碼,驅(qū)動(dòng)步進(jìn)電機(jī)的轉(zhuǎn)動(dòng),進(jìn)而帶動(dòng)道閘杠桿的轉(zhuǎn)動(dòng)。在接收方程序中判斷是否收到數(shù)據(jù)時(shí),要把地址位去掉,直接判斷數(shù)據(jù)位。閘機(jī)90 度轉(zhuǎn)動(dòng)的程序編寫:由于電機(jī)經(jīng)驅(qū)動(dòng)器進(jìn)行細(xì)分,步距角為0.9 度。整圈為360 度,則整圈需800 個(gè)脈沖,電機(jī)開(kāi)啟和關(guān)閉都是轉(zhuǎn)動(dòng)90 度,則需要200 個(gè)脈沖??衫肧TC15 的定時(shí)器產(chǎn)生200 個(gè)脈沖信號(hào),作為步進(jìn)電機(jī)的驅(qū)動(dòng)脈沖。為使電機(jī)轉(zhuǎn)動(dòng)平穩(wěn),脈沖信號(hào)的頻率為200Hz。
圖5 接收端流程圖
(3)調(diào)試過(guò)程
首先把發(fā)送方內(nèi)容設(shè)為表4 所示。
表4 步進(jìn)電機(jī)驅(qū)動(dòng)器靜止時(shí)半流設(shè)置
表4
再把接收方內(nèi)容設(shè)為表5 所示。
表5
在串口調(diào)試助手中進(jìn)行互發(fā)數(shù)據(jù),可以觀察到雙方可以互發(fā)互收數(shù)據(jù)。波特率設(shè)置為9600bit/s。
圖6 發(fā)送端串口助手顯示界面
圖7 接收端串口助手顯示界面
在發(fā)射端增加HC-SR04 模塊,測(cè)量車輛距離道閘20cm 時(shí),向LoRa 模塊發(fā)送開(kāi)啟道閘信息。車輛離開(kāi)后,關(guān)閉道閘。同時(shí)在數(shù)碼管顯示車輛離道閘的距離。
(1)發(fā)射端程序流程圖
和手動(dòng)方式相比,相同之處在于發(fā)送的數(shù)據(jù),不同之處在于增加了超聲波測(cè)距模塊和數(shù)碼管顯示功能,模擬車輛靠近道閘時(shí)開(kāi)啟杠桿和放下杠桿。
(2)接收端程序流程圖
接收端程序與手動(dòng)方式下一致。
圖8 自動(dòng)模式發(fā)送端流程圖
通過(guò)本案例設(shè)計(jì),實(shí)現(xiàn)了LoRa 無(wú)線的方式手動(dòng)和自動(dòng)控制來(lái)模擬出入口道閘的開(kāi)啟和關(guān)閉。整合了單片機(jī)課程的學(xué)習(xí)內(nèi)容,深化了單片機(jī)課程學(xué)習(xí),引導(dǎo)學(xué)生關(guān)注生產(chǎn)生活,將所學(xué)與實(shí)際運(yùn)用相結(jié)合,促進(jìn)提升創(chuàng)新創(chuàng)業(yè)水平。本案例還可通過(guò)圖像識(shí)別搭載OpenΜV 的方式識(shí)別車牌照,增加識(shí)別牌照信息開(kāi)啟道閘的方式進(jìn)行后續(xù)設(shè)計(jì)。