摘 要:本文首先提出了以太網功能的智能灌溉控制器的設想;然后提出了智能灌溉系統的總體方案設計,論證了基于MC9S12NE64單片機的智能灌控制器的合理性和優越性,并介紹了MC9S12NE64單片機及開發平臺;接著講述了智能灌溉控制器的硬件設計,詳細講解了智能灌溉控制器的工作原理和主要模塊的電路設計;最后講述了控制器的軟件設計。
關鍵詞:智能灌溉 單片機 MC9S12NE64 模糊控制 以太網
一、課題背景及目的
近年來,噴灌、微灌等一些新型節能環保灌溉技術在我國的廣泛應用,已經取得了良好的經濟和社會效益。目前我國園林自動化灌溉基本上是采用時序控制的開環控制系統,其根本原因是國內外閉環控制系統的控制器設計成本和傳感器價格過高。本課題借鑒國內外智能灌溉系統的開發經驗,以低成本和實用性為切入點,設計出基于單芯片以太網MCU的應智能灌溉網絡控制器。其優點主要有:
引入模糊控制策略,實現具有氣候和地形的自適應能力的精量灌溉;
硬件設計基于低成本、快速性和高可靠性的單芯片以太網MCU解決方案;
基于TCP/IP協議以太網接入,可以接入Internet構建大型灌溉網絡系統;
自動控制、手動控制、定時控制等多種灌溉模式可選。
二、總體方案設計
本智能灌溉控制系統利用成熟的以太網技術將智能灌溉控制器、監控計算機連接起來,監控計算機則根據各個區域的灌溉要求制定不同的灌溉方案,實時監控智能控制器進行小區域智能灌溉,從而輕松地實現大區域的灌溉自動化。
智能灌溉控制器根據植被的種類不同對灌溉需求的不同以及地理環境的不同,結合上級監視計算機所發送來的控制指令,調整模糊規則庫。智能灌溉的過程如下:單片機通過土壤濕度傳感器、空氣濕度傳感器、空氣溫度傳感器、降雨傳感器實時采集各種環境數據,經過A/D轉換、信號處理,在微處理器中進行模糊化處理,然后根據模糊規則庫進行模糊推理,最后反模糊化得出精確的控制輸出量,控制電磁閥打開灌溉管道進行一個小區域的精確灌溉、節約灌溉。因此,在天氣熱、空氣和土壤濕度小的情況下,灌溉的時間會相應地增長;而在空氣溫度較低,空氣和土壤濕度大的情況下,灌溉時間會相對地縮短;出現降雨的特殊情況,控制器會不進行灌溉或者縮短灌溉時間。
智能灌溉控制器在灌溉的同時,還可以實行手動操作。通過控制面板上提供的4個按鍵(功能鍵、“+”鍵、“-”鍵、確認鍵)和4個LED,可以顯示時間和實時的空氣溫度、濕度以及土壤濕度,方便人工調試和日常檢修維護。同時智能灌溉控制器還會通過以太網把實時的環境數據和控制數據傳送到監視計算機,監視計算機可以通過分析各個控制器傳送來的數據,監視各個控制器的工作過程,實現整個大區域的灌溉自動化。
如上所述,智能灌溉控制器必須實現兩個大功能,分別是以太網的通信功能和智能控制功能。采用Motorola的MC9S12NE64單片機作為控制器是非常理想的,它擁有專門的模糊控制指令,大大簡化了模糊控制的程序,提高了程序的執行速度;同時它具有標準化的以太網接口模塊,輕而易舉地實現和上位機(總控制室)的網絡連接。
MC9S12NE64是Motorola公司旗下的Freescale子公司生產的MC9S12系列16位單片機。MC9S12NE64單片機帶10Mb/s/100Mb/s的符合IEEE802.3通訊協議標準的以太網接口和64KB的Flash內存,封裝形式有80引腳和112引腳。該單片機廣泛使用于網絡接入設備、網絡電視、機頂盒、瘦服務器、家庭網關、工控設備等領域。MC9S12NE64單片機可以采用“BDM12開發工具+ Codewarrior IDE軟件”的組合來進行快速的開發。
三、控制器硬件結構設計
智能灌溉控制器通過RJ-45以太網接口跟上層監控計算機進行以太網連接,通過以太網把實時的環境數據和控制數據傳送到監視計算機,監視計算機可以通過分析各個控制器傳送來的數據,監視各個控制器的工作過程。同時,控制器還可以實行手動操作。因此,控制器連接了四個按鍵和四個LED顯示管。通過控制面板上提供的4個按鍵和4個LED,可以顯示時間和實時的空氣溫度、濕度以及土壤濕度,方便人工調試和日常檢修維護。控制器硬件結構框圖如圖1所示。
1.時鐘顯示模塊
本課題采用了Maxim公司的DS1302作為智能灌溉控制器的實時時鐘芯片,DS1302是DALLAS公司推出的涓流充電時鐘芯片內含有一個實時時鐘/日歷和31 字節靜態RAM,通過簡單的串行接口與單片機進行通信。實時時鐘/日歷電路提供秒、分、時、日、日期、月、年的信息,每月的天數和閏年的天數。
DS1302芯片采用同步串行的方式就能和單片機進行通信,而且僅僅需用到三個口線:RES(復位)、I/O(數據線)、SCLK(串行時鐘)。DS1302芯片的I/O端口接到單片機的80端口,串行時鐘端口SCLK接到單片機的79端口,而復位端口RES則連接到單片機的1接口。DS1302芯片的2、3(X1、X2)引腳連接著25MHZ的晶振,引腳間的連線要盡可能的短。DS1302芯片的電源由一塊3.6V/6mA的紐扣電池提供。
2.空氣溫度檢測模塊
本課題采用了DALLAS公司生產的數字溫度傳感器DS18B20芯片,在檢測范圍和精度要求適用的情況下,選用該芯片可以達到高的性價比。DS18B20是新型單總線數字溫度傳感器,主要特點為:直接將數字信號傳給CPU,無需A/D轉換電路;溫度檢測范圍為-55~125℃,精度為±0.5℃,分辨力為9~12位;采用單線接口方式與單片機連接,即可實現同DS18B20的雙向通信;片內自帶ROM和RAM,可方便地通過ROM和RAM操作指令實現對DS18B20的讀寫。 DS18B20為單線式傳輸器件,和單片機的連接只需一根數據線,電路極其簡單。本系統中,單片機與DS18B20的連接電路如圖2所示。其中,DS18B20采用外部電源供電方式,在單片機的64端口與VCC之間有一個上拉電阻,以保證數據采集的正常進行,AT89C52通過64端口和DS18B20的數據線DQ相連。
3.土壤濕度檢測模塊
土壤濕度傳感器一般是采集土壤的水吸力大小信號,也叫土壤水分傳感器。通過土壤濕度傳感器來測量土壤的濕度,我們可以知道真正的灌溉需求和土壤的保水能力。本系統選用Progres公司的專業土壤濕度傳感器,它把土壤水吸力的大小轉化為標準的4~20mA電流信號。
4.以太網通信模塊
MC9S12NE64單片機集成了以太網MAC層和物理層的驅動模塊,與RJ-45以太網接口連接。具有所用外部元件少、系統開銷小、穩定性高、設計時間短等一系列優點。同時,TCP/IP協議采用直接基于某種控制器的協議OpenTCP。由于該協議針對MC9S12NE64進行了優化能更好地利用處理器的特性,有效提高了協議的處理效率, 在快速以太網上,ARP包的傳輸速率可達到87 Mb/s。
四、主程序流程圖
主程序首先完成初始化,設置了單片機的各種工作方式,設置顯示緩存和數據緩存地址,對REM和ROM寫入各種數據,方便程序的調用,比如向ROM寫入模糊規則的控制字符串等;按鍵檢測把被按的按鍵讀入單片機,經按鍵設定模塊,判斷出按鍵的功能;在上圖沒有提及的是傳感器參數檢測模塊,此模塊利用定時中斷的運行方式完成對各個傳感器的參數的檢測,并進行A/D轉換,將參數數據存儲在單片機中;控制算法和控制輸出模塊首先通過對空氣溫濕度傳感器、土壤濕度傳感器以及降雨傳感器所檢測到的參數數據進行模糊化處理,把精確數據變成模糊輸入量,再經模糊推理,把各個模糊輸入量通過實現規則庫確定灌溉的模糊輸出量,最后通過反模糊化,把模糊輸出量變換成精確的灌溉時間,實施智能灌溉;以太網通訊模塊主要完成與上位機的通訊,接收監視計算機發送來的控制指令,并把實時的植被的成長環境數據和相應的灌溉信息發送到監視計算機。主程序流程圖如圖3所示。
圖3 主程序流程圖
(作者單位:中山市技師學院)