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