智能環(huán)境數(shù)據(jù)采集小車
摘要:設(shè)計了一個基于單片機的智能環(huán)境數(shù)據(jù)采集小車系統(tǒng),能實現(xiàn)環(huán)境溫濕度的采集、發(fā)送、接收、處理、顯示和保存。系統(tǒng)采用單片機作為小車與控制臺的核心??刂婆_通過無線射頻信號控制電動小車前進、后退、左轉(zhuǎn)和右轉(zhuǎn)運行,小車在行進過程中實時采集環(huán)境數(shù)據(jù)并將采集到的數(shù)據(jù)通過無線信號發(fā)送給控制臺,控制臺將數(shù)據(jù)處理后顯示,并將數(shù)據(jù)發(fā)送至PC保存。經(jīng)調(diào)試,系統(tǒng)工作穩(wěn)定、可靠,實用性強。
關(guān)鍵詞:單片機;溫濕度;電動小車;數(shù)據(jù)采集
智能小車在感知效應(yīng)方面全面模擬人的機器系統(tǒng),它是人工智能技術(shù)的試驗場。智能小車具有識別、檢測、環(huán)境數(shù)據(jù)采集等智能機制,能在非特定環(huán)境下,在惡劣條件下代替人工作,具有廣闊的應(yīng)用前景。本設(shè)計通過無線遙控電動小車的運行,實現(xiàn)環(huán)境溫濕度的采集、發(fā)送、接收、處理、顯示和保存,為數(shù)據(jù)的后期處理做好準(zhǔn)備。
1 總體方案設(shè)計
系統(tǒng)設(shè)計圖如圖1所示??刂婆_通過按鍵發(fā)送無線遙控信號,小車接收到信號后進行判斷作出前進、后退、左轉(zhuǎn)、右轉(zhuǎn)、停車動作。小車通過溫濕度傳感器實時采集當(dāng)前環(huán)境的溫濕度數(shù)據(jù)并通過無線信號發(fā)送至控制臺,控制臺將數(shù)據(jù)處理后顯示并通過串口發(fā)送至PC保存。根據(jù)系統(tǒng)設(shè)計要求,采集小車設(shè)計的模塊有電機驅(qū)動、無線模塊、溫濕度傳感器;控制臺設(shè)計由按鍵、無線模塊、液晶顯示器、串口等模塊組成。
2 硬件電路設(shè)計
2.1 控制模塊設(shè)計
本設(shè)計中需要操作無線射頻模塊和溫濕度傳感器,會涉及到IIC和SPI協(xié)議,所以用單片機進行控制最理想。51系列單片機的使用簡單、對于小型系統(tǒng)的控制靈活,AT89S52單片機IO口、定時計數(shù)器、串口等資源基本滿足系統(tǒng)設(shè)計要求,故本設(shè)計采用AT89S52單片機作為核心。
51系列單片機最小系統(tǒng)一般應(yīng)該包括:單片機、晶振電路、復(fù)位電路。晶振選取11.059 2 MHz,方便產(chǎn)生960 0 bps波特率,用于串口通訊。
2.2 電機驅(qū)動模塊設(shè)計
L293D是一款單片集成的高電壓、高電流、4通道電機驅(qū)動,設(shè)計用于連接標(biāo)準(zhǔn)DTL或TTL邏輯電平,驅(qū)動電感負載(諸如繼電線圈、DC和步進電機)和開關(guān)功率晶體管等等。此芯片可以驅(qū)動兩個直流電機,每1個電機需要3個控制信號EN12、IN1、IN2,其中EN12是使能信號,IN1、IN2為電機轉(zhuǎn)動方向控制信號,IN1、IN2分別為1,0時,電機正轉(zhuǎn),反之,電機反轉(zhuǎn)。選用一路PWM連接EN12引腳,通過調(diào)整PWM的占
空比可以調(diào)整電機的轉(zhuǎn)速。此專用芯片控制簡單,響應(yīng)及時。電機驅(qū)動電路如圖2所示。
2.3 無線模塊
NRF24L01是NORDIC公司最近生產(chǎn)的一款無線通信通信芯片,采用FSK調(diào)制,內(nèi)部集成NORDIC自己的Enhanced ShortBurst協(xié)議。可以實現(xiàn)點對點或是1對6的無線通信。無線通信速度可以達到2 M(bps)。工作在2.4 GHz世界通用ISM頻段。通過SPI協(xié)議與單片機進行通訊,單片機只需4個IO口和一個外部中斷口就可操作此模塊。
SPI協(xié)議:SPI(Sedal Peripheral interface)串行外圍設(shè)備接口,是一種高速的,全雙工,同步的通信總線。SPI是一個環(huán)形總線結(jié)構(gòu),通信以主從方式工作,這種模式通常有一個主設(shè)備和一個或多個從設(shè)備,需要至少4根線。也是所有基于SPI的設(shè)備共有的,它們是SDI(數(shù)據(jù)輸入),SDO(數(shù)據(jù)輸出),SCK(時鐘),CS(片選)。其時序主要是在sck的控制下,兩個雙向移位寄存器進行數(shù)據(jù)交換。SDO(MOSI):主設(shè)備數(shù)據(jù)輸出,從設(shè)備數(shù)據(jù)輸入;SDI(MISO):主設(shè)備數(shù)據(jù)輸入,從設(shè)備數(shù)據(jù)輸出;SCLK時鐘信號,由主設(shè)備產(chǎn)生;CS:從設(shè)備使能信號,由主設(shè)備控制。
2.4 溫濕度傳感器
溫濕度傳感器是系統(tǒng)中最重要的部分,需要響應(yīng)速度快,采樣間隔短,分辨率高,誤差小。本設(shè)計選定DHT21數(shù)字溫濕度傳感器,這是一款含有已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),具有極高的可靠性與卓越的長期穩(wěn)定性。單片機通過IIC協(xié)議與傳感器通信,直接輸出數(shù)字量,無需轉(zhuǎn)換。精度高采樣間隔小,滿足實時采樣。4針單排引腳封裝,與單片機連接方便。電路如圖3所示。
IIC總線是由數(shù)據(jù)線SDA和時鐘SCL構(gòu)成的串行總線,可發(fā)送和接收數(shù)據(jù)。在CPU與被控IC之間、IC與IC之間進行雙向傳送,最高傳送速率100 kbps。各種被控制電路均并聯(lián)在這條總線上,但就像電話機一樣只有撥通各自的號碼才能工作,所以每個電路和模塊都有唯一的地址,在信息的傳輸過程中,IIC總線上并接的每一模塊電路既是主控器(或被控器),又是發(fā)送器(或接收器),這取決于它所要完成的功能。CPU發(fā)出的控制信號分為地址碼和控制量兩部分,地址碼用來選址,即接通需要控制的電路,確定控制的種類;控制量決定該調(diào)整的類別(如對比度、亮度等)及需要調(diào)整的量。這樣,各控制電路雖然掛在同一條總線上,卻彼此獨立,互不相關(guān)。
IIC總線在傳送數(shù)據(jù)過程中共有3種類型信號,它們分別是:開始信號、結(jié)束信號和應(yīng)答信號。開始信號:SCL為高電平時,SDA由高電平向低電平跳變,開始傳送數(shù)據(jù)。結(jié)束信號:SCL為高電平時,SDA由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù)。應(yīng)答信號:接收數(shù)據(jù)的IC在接收到8 bit數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的IC發(fā)出特定的低電平脈沖,表示已收到數(shù)據(jù)。CPU向受控單元發(fā)出一個信號后,等待受控單元發(fā)出一個應(yīng)答信號,CPU接收到應(yīng)答信號后,根據(jù)實際情況作出是否繼續(xù)傳遞信號的判斷。若未收到應(yīng)答信號,判斷為受控單元出現(xiàn)故障。
DHT21數(shù)字溫濕度傳感器數(shù)據(jù)格式:
40 bit數(shù)據(jù)=16 bit濕度數(shù)據(jù)+16 bit溫度數(shù)據(jù)+8 bit校驗和(濕度高8位+濕度低8位+溫度高8位+溫度低8位)的末8位=校驗和
當(dāng)溫度低于0℃時溫度數(shù)據(jù)的最高位置1。
3 軟件設(shè)計
3.1 小車程序流程圖
小車程序主要實現(xiàn)對控制臺控制信號接收和處理,控制電機轉(zhuǎn)動。軟件設(shè)計中首先對無線模塊,溫濕度傳感器定時器等進行初始化,然后用查詢的方式判斷是否接收到站臺指令,如果接收到對指令進行判斷根據(jù)指令類型控制小車行進。小車程序流程圖如圖4所示。
3.2 小車采集數(shù)據(jù)中斷程序流程圖
中斷程序中完成溫濕度采集和發(fā)送。使用定時器中斷,每隔三秒產(chǎn)生一次中斷。中斷流程圖如圖5所示。
3.3 控制臺程序流程圖
控制臺程序包括鍵盤掃描、判斷鍵值、發(fā)送命令、接收數(shù)據(jù)、處理數(shù)據(jù)、顯示溫濕度、串口發(fā)送數(shù)據(jù)至PC。程序中首先對無線模塊、液晶顯示、串口進行初始化。然后執(zhí)行鍵盤掃描和接收數(shù)據(jù)程序。鍵盤掃描程序中根據(jù)鍵值判斷是否有鍵按下,如果有則根據(jù)鍵值發(fā)送指令,如果沒有則跳過向下執(zhí)行。然后判斷是否接收到溫濕度數(shù)據(jù),如果沒有返回重新執(zhí)行程序,如果接收到對數(shù)據(jù)進行處理然后更新液晶屏并通過串口把數(shù)據(jù)發(fā)送至PC保存??刂婆_流程圖如圖6所示。
4 結(jié)論
經(jīng)過軟硬件的設(shè)計和調(diào)試,系統(tǒng)達到設(shè)計要求。能夠通過無線遙控小車行駛,在行駛中實時采集當(dāng)前環(huán)境溫濕度數(shù)據(jù)并發(fā)送給控制臺,無線控制距離15米??刂婆_能正確發(fā)送指令和接收數(shù)據(jù),能夠通過液晶顯示采集到的溫濕度數(shù)據(jù),能夠通過串口發(fā)送數(shù)據(jù)到PC保存。