馮洋
(渭南師范學(xué)院 物理與電氣工程學(xué)院,陜西 渭南 714000)
智能小車(chē)在感知效應(yīng)方面全面模擬人的機(jī)器系統(tǒng),它是人工智能技術(shù)的試驗(yàn)場(chǎng)。智能小車(chē)具有識(shí)別、檢測(cè)、環(huán)境數(shù)據(jù)采集等智能機(jī)制,能在非特定環(huán)境下,在惡劣條件下代替人工作,具有廣闊的應(yīng)用前景。本設(shè)計(jì)通過(guò)無(wú)線遙控電動(dòng)小車(chē)的運(yùn)行,實(shí)現(xiàn)環(huán)境溫濕度的采集、發(fā)送、接收、處理、顯示和保存,為數(shù)據(jù)的后期處理做好準(zhǔn)備。
系統(tǒng)設(shè)計(jì)圖如圖1所示??刂婆_(tái)通過(guò)按鍵發(fā)送無(wú)線遙控信號(hào),小車(chē)接收到信號(hào)后進(jìn)行判斷作出前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)、停車(chē)動(dòng)作。小車(chē)通過(guò)溫濕度傳感器實(shí)時(shí)采集當(dāng)前環(huán)境的溫濕度數(shù)據(jù)并通過(guò)無(wú)線信號(hào)發(fā)送至控制臺(tái),控制臺(tái)將數(shù)據(jù)處理后顯示并通過(guò)串口發(fā)送至PC保存[1-2]。根據(jù)系統(tǒng)設(shè)計(jì)要求,采集小車(chē)設(shè)計(jì)的模塊有電機(jī)驅(qū)動(dòng)、無(wú)線模塊、溫濕度傳感器;控制臺(tái)設(shè)計(jì)由按鍵、無(wú)線模塊、液晶顯示器、串口等模塊組成。
圖1 系統(tǒng)總體結(jié)構(gòu)圖Fig.1 Structure diagram of the system
本設(shè)計(jì)中需要操作無(wú)線射頻模塊和溫濕度傳感器,會(huì)涉及到IIC和SPI協(xié)議,所以用單片機(jī)進(jìn)行控制最理想。51系列單片機(jī)的使用簡(jiǎn)單、對(duì)于小型系統(tǒng)的控制靈活,AT89S52單片機(jī)IO口、定時(shí)計(jì)數(shù)器、串口等資源基本滿足系統(tǒng)設(shè)計(jì)要求,故本設(shè)計(jì)采用AT89S52單片機(jī)作為核心。
51系列單片機(jī)最小系統(tǒng)一般應(yīng)該包括:單片機(jī)、晶振電路、復(fù)位電路。晶振選取11.059 2 MHz,方便產(chǎn)生960 0 bps波特率,用于串口通訊。
L293D是一款單片集成的高電壓、高電流、4通道電機(jī)驅(qū)動(dòng),設(shè)計(jì)用于連接標(biāo)準(zhǔn)DTL或TTL邏輯電平,驅(qū)動(dòng)電感負(fù)載(諸如繼電線圈、DC和步進(jìn)電機(jī))和開(kāi)關(guān)功率晶體管等等。此芯片可以驅(qū)動(dòng)兩個(gè)直流電機(jī),每1個(gè)電機(jī)需要3個(gè)控制信號(hào)EN12、IN1、IN2,其中 EN12 是使能信號(hào),IN1、IN2 為電機(jī)轉(zhuǎn)動(dòng)方向控制信號(hào),IN1、IN2分別為1,0時(shí),電機(jī)正轉(zhuǎn),反之,電機(jī)反轉(zhuǎn)。選用一路PWM連接EN12引腳,通過(guò)調(diào)整PWM的占空比可以調(diào)整電機(jī)的轉(zhuǎn)速。此專(zhuān)用芯片控制簡(jiǎn)單,響應(yīng)及時(shí)。電機(jī)驅(qū)動(dòng)電路如圖2所示。
圖2 電機(jī)驅(qū)動(dòng)電路圖Fig.2 Diagram of the motor driving circuit
NRF24L01是NORDIC公司最近生產(chǎn)的一款無(wú)線通信通信芯片,采用FSK調(diào)制,內(nèi)部集成NORDIC自己的Enhanced Short Burst協(xié)議??梢詫?shí)現(xiàn)點(diǎn)對(duì)點(diǎn)或是 1對(duì) 6的無(wú)線通信。無(wú)線通信速度可以達(dá)到 2 M(bps)。工作在2.4 GHz世界通用ISM頻段。通過(guò)SPI協(xié)議與單片機(jī)進(jìn)行通訊,單片機(jī)只需4個(gè)IO口和一個(gè)外部中斷口就可操作此模塊[3-4]。
SPI協(xié)議:SPI(Serial Peripheral interface)串行外圍設(shè)備接口,是一種高速的,全雙工,同步的通信總線。SPI是一個(gè)環(huán)形總線結(jié)構(gòu),通信以主從方式工作,這種模式通常有一個(gè)主設(shè)備和一個(gè)或多個(gè)從設(shè)備,需要至少4根線。也是所有基于SPI的設(shè)備共有的,它們是 SDI(數(shù)據(jù)輸入),SDO(數(shù)據(jù)輸出),SCK(時(shí)鐘),CS(片選)。其時(shí)序主要是在sck的控制下,兩個(gè)雙向移位寄存器進(jìn)行數(shù)據(jù)交換。SDO(MOSI):主設(shè)備數(shù)據(jù)輸出,從設(shè)備數(shù)據(jù)輸入;SDI(MISO):主設(shè)備數(shù)據(jù)輸入,從設(shè)備數(shù)據(jù)輸出;SCLK時(shí)鐘信號(hào),由主設(shè)備產(chǎn)生;CS:從設(shè)備使能信號(hào),由主設(shè)備控制。
溫濕度傳感器是系統(tǒng)中最重要的部分,需要響應(yīng)速度快,采樣間隔短,分辨率高,誤差小。本設(shè)計(jì)選定DHT21數(shù)字溫濕度傳感器,這是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。它應(yīng)用專(zhuān)用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),具有極高的可靠性與卓越的長(zhǎng)期穩(wěn)定性[5-6]。單片機(jī)通過(guò)IIC協(xié)議與傳感器通信,直接輸出數(shù)字量,無(wú)需轉(zhuǎn)換。精度高采樣間隔小,滿足實(shí)時(shí)采樣。4針單排引腳封裝,與單片機(jī)連接方便。電路如圖3所示。
IIC總線是由數(shù)據(jù)線SDA和時(shí)鐘SCL構(gòu)成的串行總線,可發(fā)送和接收數(shù)據(jù)。在CPU與被控IC之間、IC與IC之間進(jìn)行雙向傳送,最高傳送速率100 kbps。各種被控制電路均并聯(lián)在這條總線上,但就像電話機(jī)一樣只有撥通各自的號(hào)碼才能工作,所以每個(gè)電路和模塊都有唯一的地址,在信息的傳輸過(guò)程中,IIC總線上并接的每一模塊電路既是主控器(或被控器),又是發(fā)送器(或接收器),這取決于它所要完成的功能。CPU發(fā)出的控制信號(hào)分為地址碼和控制量?jī)刹糠?,地址碼用來(lái)選址,即接通需要控制的電路,確定控制的種類(lèi);控制量決定該調(diào)整的類(lèi)別(如對(duì)比度、亮度等)及需要調(diào)整的量。這樣,各控制電路雖然掛在同一條總線上,卻彼此獨(dú)立,互不相關(guān)。
圖3 溫濕度傳感器接口Fig.3 Diagram of the temperature and humidity sensor interface
IIC總線在傳送數(shù)據(jù)過(guò)程中共有3種類(lèi)型信號(hào),它們分別是:開(kāi)始信號(hào)、結(jié)束信號(hào)和應(yīng)答信號(hào)。開(kāi)始信號(hào):SCL為高電平時(shí),SDA由高電平向低電平跳變,開(kāi)始傳送數(shù)據(jù)。結(jié)束信號(hào):SCL為高電平時(shí),SDA由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù)。應(yīng)答信號(hào):接收數(shù)據(jù)的IC在接收到8 bit數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的IC發(fā)出特定的低電平脈沖,表示已收到數(shù)據(jù)。CPU向受控單元發(fā)出一個(gè)信號(hào)后,等待受控單元發(fā)出一個(gè)應(yīng)答信號(hào),CPU接收到應(yīng)答信號(hào)后,根據(jù)實(shí)際情況作出是否繼續(xù)傳遞信號(hào)的判斷。若未收到應(yīng)答信號(hào),判斷為受控單元出現(xiàn)故障。
DHT21數(shù)字溫濕度傳感器數(shù)據(jù)格式:
40 bit數(shù)據(jù)=16 bit濕度數(shù)據(jù)+16 bit溫度數(shù)據(jù)+8 bit校驗(yàn)和
(濕度高8位+濕度低8位+溫度高8位+溫度低8位)的末8位=校驗(yàn)和
當(dāng)溫度低于0℃時(shí)溫度數(shù)據(jù)的最高位置1。
小車(chē)程序主要實(shí)現(xiàn)對(duì)控制臺(tái)控制信號(hào)接收和處理,控制電機(jī)轉(zhuǎn)動(dòng)。軟件設(shè)計(jì)[7-8]中首先對(duì)無(wú)線模塊,溫濕度傳感器定時(shí)器等進(jìn)行初始化,然后用查詢的方式判斷是否接收到站臺(tái)指令,如果接收到對(duì)指令進(jìn)行判斷根據(jù)指令類(lèi)型控制小車(chē)行進(jìn)。小車(chē)程序流程圖如圖4所示。
圖4 小車(chē)控制程序流程圖Fig.4 Flow chart of small car control
中斷程序中完成溫濕度采集和發(fā)送。使用定時(shí)器中斷,每隔三秒產(chǎn)生一次中斷。中斷流程圖如圖5所示。
圖5 中斷程序流程圖Fig.5 Flow chart of interruption program
控制臺(tái)程序包括鍵盤(pán)掃描、判斷鍵值、發(fā)送命令、接收數(shù)據(jù)、處理數(shù)據(jù)、顯示溫濕度、串口發(fā)送數(shù)據(jù)至PC。程序中首先對(duì)無(wú)線模塊、液晶顯示、串口進(jìn)行初始化。然后執(zhí)行鍵盤(pán)掃描和接收數(shù)據(jù)程序。鍵盤(pán)掃描程序中根據(jù)鍵值判斷是否有鍵按下,如果有則根據(jù)鍵值發(fā)送指令,如果沒(méi)有則跳過(guò)向下執(zhí)行。然后判斷是否接收到溫濕度數(shù)據(jù),如果沒(méi)有返回重新執(zhí)行程序,如果接收到對(duì)數(shù)據(jù)進(jìn)行處理然后更新液晶屏并通過(guò)串口把數(shù)據(jù)發(fā)送至PC保存??刂婆_(tái)流程圖如圖6所示。
圖6 控制臺(tái)程序流程圖Fig.6 Flow chart of console
經(jīng)過(guò)軟硬件的設(shè)計(jì)和調(diào)試,系統(tǒng)達(dá)到設(shè)計(jì)要求。能夠通過(guò)無(wú)線遙控小車(chē)行駛,在行駛中實(shí)時(shí)采集當(dāng)前環(huán)境溫濕度數(shù)據(jù)并發(fā)送給控制臺(tái),無(wú)線控制距離15米??刂婆_(tái)能正確發(fā)送指令和接收數(shù)據(jù),能夠通過(guò)液晶顯示采集到的溫濕度數(shù)據(jù),能夠通過(guò)串口發(fā)送數(shù)據(jù)到PC保存。
[1]祝常紅.數(shù)據(jù)采集與處理技術(shù)[M].北京:電子工業(yè)出版社,2008.
[2]王文華.基于80C51單片機(jī)的智能小車(chē)設(shè)計(jì)[J].山西電子技術(shù),2010(4):9-13.
WANG Wen-hua.Thedesignofintelligentcarbased on80C51[J].Shanxi Electronic Technology,2010(4):9-13.
[3]喻斌.短距離無(wú)線通信詳解/基于單片機(jī)控制[M].北京:北京航空航天大學(xué)出版社,2009.
[4]劉志強(qiáng).物聯(lián)網(wǎng)/無(wú)線傳感網(wǎng)原理與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2011.
[5]孟臣,李敏,李?lèi)?ài)傳.I2C總線數(shù)字式溫濕度傳感器SHT11及其在單片機(jī)系統(tǒng)的應(yīng)用[J].電子設(shè)計(jì)工程,2004(2):50-54.
MENG Chen,LI Min, LI Ai-chuan.Digital temperature and humidity sensor SHT11 based on I2C bus and its application in the single-chip microcomputersystem[J].Electronic Design Engineering,2004(2):50-54.
[6]于拴道,張江亞,唐堯華.環(huán)境溫、濕度及光照三合一傳感器設(shè)計(jì)[J].電子科技,2011(6):112-115.
YU Shuan-dao,ZHANG Jiang-ya,TANG Yao-hua.Design of triple sensor integrating temperature,humidity and lighting[J].Electronic Science and Technology,2011(6):112-115.
[7]戴佳,戴衛(wèi)恒.51單片機(jī)C語(yǔ)言應(yīng)用程序設(shè)計(jì)[M].北京:電子工業(yè)出版社,2006.
[8]謝維成,楊加國(guó).單片機(jī)原理與應(yīng)用及C51程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2006.