一種無(wú)線節(jié)水滴灌自動(dòng)控制系統(tǒng)的設(shè)計(jì)方案
ZigBee通信板原理圖如圖2所示。
2.3 STM32田間控制器
由STMicroelectronics 的STM32 單片機(jī)與ZigBee 收發(fā)節(jié)點(diǎn)模塊組成。采用STM32F103VET6 閃存32 位微控制器。它基于突破性的ARM Cortex?M3內(nèi)核,工作頻率為72 MHz,內(nèi)部集成了高速存儲(chǔ)器(高達(dá)128 Kb 閃存和20 Kb SRAM)、通過(guò)APB 總線連接豐富增強(qiáng)的外設(shè)和I/O,另外包含了2個(gè)12位的ADC、3個(gè)通用16位定時(shí)器和一個(gè)PWM 定時(shí)器,還包含標(biāo)準(zhǔn)和先進(jìn)的通信接口:2個(gè)I2C和SPI、3個(gè)USART、一個(gè)USB和一個(gè)CAN.
由于設(shè)備集成了標(biāo)準(zhǔn)的通信接口,無(wú)需配置額外的組件,減少系統(tǒng)成本,為手持設(shè)備和一般類型應(yīng)用提供了低價(jià)格、低功耗、高性能微控制器的解決方案。終端控制節(jié)點(diǎn)電路如圖3所示。
由于液位、壓力、流量傳感器均是4~20 mA模擬信號(hào)輸出設(shè)備,需要用模/數(shù)轉(zhuǎn)換器將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),再由STM32 單片機(jī)進(jìn)行處理。本設(shè)計(jì)需要采集液位、壓力、流量等4~20 mA設(shè)備信息,所以設(shè)計(jì)4通道采集電路,如圖4所示。
3 系統(tǒng)的軟件設(shè)計(jì)
系統(tǒng)軟件主要任務(wù)是實(shí)現(xiàn)傳感器工作的控制、無(wú)線網(wǎng)絡(luò)的組網(wǎng)以及數(shù)據(jù)的無(wú)線收發(fā)。系統(tǒng)軟件主要包括上位機(jī)軟件與下位機(jī)軟件。上位機(jī)軟件設(shè)計(jì),主要是基于Visual C++的參數(shù)設(shè)置、數(shù)據(jù)采集、自動(dòng)灌溉及查詢歷史記錄等的編程。下位機(jī)程序設(shè)計(jì)有兩個(gè)關(guān)鍵點(diǎn):一是對(duì)溫濕度、液位、壓力、流量的采集,通過(guò)控制變頻器調(diào)節(jié)水泵或通過(guò)控制繼電器使得電磁閥開(kāi)啟與閉合;二是ZigBee收發(fā)模塊對(duì)控制信號(hào)的接收、發(fā)送與執(zhí)行。
自動(dòng)滴灌系統(tǒng)中,土壤濕度是一個(gè)重要變量。上位機(jī)通過(guò)無(wú)線方式向田間控制器發(fā)送采集命令,將接收到傳感器返回信息進(jìn)行顯示并對(duì)濕度做排序處理、判斷液位是否過(guò)限、將壓力和流量傳感器得到的數(shù)據(jù)進(jìn)行融合來(lái)調(diào)節(jié)變頻器,然后通過(guò)ZigBee通信板向田間控制器發(fā)送開(kāi)啟或關(guān)閉電磁閥的指令。上位機(jī)主程序流程圖如圖5所示。
傳感器節(jié)點(diǎn)上電后,首先進(jìn)行系統(tǒng)的初始化,然后選擇信道并加入現(xiàn)有的ZigBee無(wú)線網(wǎng)絡(luò),休眠等待接收信號(hào),當(dāng)接收到網(wǎng)關(guān)節(jié)點(diǎn)發(fā)出的查詢信號(hào)后,進(jìn)行數(shù)據(jù)的采集并發(fā)送回協(xié)調(diào)器節(jié)點(diǎn)。
S3C6410 開(kāi)發(fā)平臺(tái)具有4 個(gè)UART 接口,在研究設(shè)計(jì)中,采用了MAX3232 芯片來(lái)解決ZigBee通信模塊的CC2530芯片與該開(kāi)發(fā)平臺(tái)之間的串口通信電平轉(zhuǎn)換。
ZigBee 無(wú)線收發(fā)模塊軟件開(kāi)發(fā)采用IAR EmbeddedWorkbench(EW)平臺(tái)完成。EW的C/C++交叉編譯器和調(diào)試器是今天世界最完整的和最容易使用專業(yè)嵌入式應(yīng)用開(kāi)發(fā)工具。網(wǎng)關(guān)ZigBee程序流程圖見(jiàn)圖6.
評(píng)論