彭漢瑩+王宇++韓改寧++張潔++李穎
摘 要:為了實現水資源合理利用,發展節水供水,改善生態環境,利用物聯網技術,使傳統的灌溉技術得以突破。本設計以單片機為處理器,采用AT89S52芯片,使用步進電機控制水流量,利用溫濕度傳感器進行數據的采集,與設定數據進行對比,進行檢測并控制。通過實驗驗證,本系統能實時監測到數據,并對非正常情況做出報警提示。
關鍵詞:灌溉系統;單片機;溫濕度傳感器
中圖分類號:TP39.1 文獻標識碼:A
1 引言(Introduction)
世界各國越來越認識到水已成為21世紀可持續發展的一個關鍵問題。中國水資源已處于相當匱乏的狀態,并且全國大量的廢、污水未經處理或處理未達標就直接排放造成了嚴重的水污染,少量的河流水質低于農田供水標準。水是農業的命脈,是生態環境的控制性要素,同時又是戰略性的經濟資源。為了實現水資源合理利用,發展節水供水,改善生態環境,采用智能灌溉系統抽取地下水灌溉農田,是我國目前物聯網農業的關鍵,也是實現可持續發展的基礎。
利用智能灌溉系統,使傳統的灌溉模式得以突破和發展,是當今世界供水、節水技術發展的總趨勢。智能灌溉系統在一些發達國家應用的比較廣泛,技術發展也相對成熟,起步也比較早,特別是以色列、美國和加拿大等國家,先進的物聯網技術、計算機和控制技術運用到了農業灌溉中,有效地提高了用水效率和生產。
2 智能灌溉系統的組成(Composition of intelligent
irrigation system)
本系統將分為四大模塊組成:
(1)數據采集模塊(SHT10溫濕度傳感器)
本系統所采用的溫濕度傳感器是由瑞士Sensirion公司推出的SHT10單片數字溫濕度集成傳感器。該傳感器具有出色的長期穩定性和極高的可靠性,是由于該公司采用CMOS過程微加工專利技術(CMOSenstechnology)[1]。該傳感器是由一個能隙式測溫元件和一個電容式聚合體測濕元件,同時與一個14位A/D轉換器和一個2-wire數字接口在單芯片中無縫結合,使得該產品具有抗干擾能力強、反應快、功耗較低等優點。
(2)電機控制模塊(控制水閥及營養液輸送)
當檢測到的溫濕度不在規定到的范圍中時,通過步進電機和直流電機來調控溫濕度。用步進電機來控制濕度,通常情況下,步進電機的精度為步距角的3%到5%,同時不累積。根據電機負載及大小情況而定,大電機的起步速度一般對應較低。用直流電機來控制溫度,電機旋轉的角度正比于脈沖數,只有數字輸入脈沖可以確定電機的響應。直流電機有很好的起停和反轉響應,所以可靠性比較高,從而電機的壽命僅僅取決于軸承的壽命[2],由于速度正比于脈沖頻率,因而有比較寬的轉速范圍。
(3)數據顯示模塊(LCD顯示溫度和濕度)
將采集到的溫度和濕度的數據顯示在LCD1602液晶屏幕上,該1602液晶顯示屏也叫1602字符型液晶顯示屏,這是一種專門用來顯示符號、數字、字母等的點陣型液晶模塊。該液晶屏是由多個5×7或5×11的點陣字符位組成,一個點陣字符位可以顯示一個字符,每位之間都有一個點距的間隔,行與行之間也有間隔,起到了行間距及字符間距的作用,但是它顯示圖形的效果不佳。
(4)LED燈和報警喇叭
當溫度和濕度超過管理員設置的溫度與濕度,LED燈會亮,同時報警器也會報警。當溫度低于所設范圍時,D1亮并喇叭報警;當溫度高于所設范圍時,D2亮并喇叭報警;當濕度低于所設范圍時,D3亮并喇叭報警;當濕度高于所設范圍時,D4亮并喇叭報警。
3 硬件系統設計 (Hardware system design)
基于單片機的智能灌溉系統的電路包含幾類:傳感器數據采集電路、報警電路。硬件系統的總體設計如圖1所示。
3.1 元器件的選擇
通過市場調研,考慮性價比的前提下,在本次設計中選擇的元件型號為:
(1)核心芯片:AT89S52單片機
AT89S52單片機是一種功耗低高性能的CMOS8位微控制器,內置8kB可在線編程閃存。工作電源范圍:4.0—5.5V,有三個16位定時器/計數器,32條可編程I/O線,8個中斷源,以及靈活的在線編程[3]。如圖2所示。
(2)直流電機和步進電機
直流點電機可通過調節電壓大小就可以調速,比較方便;步進電機通過脈沖數來控制其前進的步數,步進電機控制更加穩定。如圖3所示。
(3)LCD液晶:LCD1602
該液晶屏主要是用于顯示溫度和濕度的數值,因此從性價比上考慮,選擇了LCD1602字符式顯示器,該顯示器的顯示容量是16×2個字符,帶I2C模塊LCD1602連接到核心芯片AT89S52單片機[3]。顯示電路設計如圖4所示。
(4)溫濕度傳感器:SHT10傳感器為測量模塊,如圖5所示。
(5)報警系統:LED燈和報警喇叭,如圖6所示。
當溫度和濕度超過管理員設置的溫度與濕度,LED燈會亮,同時報警器也會報警。
3.2 硬件電路原理圖
采用AT89S52單片機作為核心芯片,運用步進電機控制溫濕度傳感器,通過LED燈和報警器發出報警,溫濕度是由管理人員根據植物的生長環境手動設置,在LCD顯示屏上顯示當前環境下的溫度和濕度。如圖7所示。
4 智能灌溉系統軟件設計(Intelligent irrigation
system software design)
本系統的控制元件較多,程序代碼較多,所以對SHT10和LCD1602的控制程序使用封裝好的庫文件。因此,采用模塊化程序設計方法,以C語言實現的控制程序,按模塊儲存在AT89S52芯片內,無需單片機擴展存儲器接口,簡化了系統硬件結構,減低了成本,同時又提高了系統的穩定性[5]。
該軟件系統流程,如圖8所示。
測量溫濕度函數
chars_measure(unsigned char *p_value, unsigned char *p_checksum, unsigned char mode)
{
unsignedfalse=0;
unsignedintx;
s_transstart(); //啟動傳輸函數
switch(mode)
{ //發送命令到傳感器
case0:false+=s_write_byte(MEASURE_TEMP); break;
case1:false+=s_write_byte(MEASURE_HUMI); break;
default : break;
}
for (x=0;x<65535;x++) if(DATA==0) break; //直到測量溫度濕度完畢
if(DATA) false+=1; //判斷是否在測量過程中發送錯誤
*(p_value)=s_read_byte(ACK);
*(p_value+1)=s_read_byte(ACK);
*p_checksum=s_read_byte(noACK); //讀取校驗碼
return false; //返回錯誤標志
}
定時器中斷函數:控制馬達正轉、反轉
void timer1(void) interrupt 3 //T1溢出中斷
{
static unsigned char count2; //
if(flag2==1)
{
if (count2<=PWM_ON2)
PWMZ2=1;
else
PWMZ2=0;
}
if(flag2==0)
{
if (count2<=PWM_ON2)
PWMF2=1;
else
PWMF2=0;
}
count2++;
if(count2==CYCLE2)
{
count2=0;
}}
5 軟硬件測試(Hardware and software testing)
將軟件應用程序下載到硬件電路中,在proteus和keilc聯合測試如圖9所示。
x6 結論(Conclusion)
針對目前世界各國越水資源相當緊缺的問題,利用單片機設計的智能灌溉系統,采用AT89S52芯片作為該系統的核心芯片,使用步進電機控制水流量,利用溫濕度傳感器進行數據的采集,與理想數據進行對比,進行檢測并控制。設計了面向農業應用的智能灌溉系統。該系統還可以應用于其他需要灌溉的服務行業。
參考文獻(References)
[1] 林惠貞.分布式機房溫濕度集中監控系統的設計[D].汕頭大學,2011.
[2] 黃俊,翁惠輝.基于單片機技術的汽車空調控制系統的設計[J].長江大學學報(自科版),2012,09(1):124-126.
[3] 韓改寧,韓麗娜,張清文.基于Arduino開發平臺的學生宿舍門禁系統設計[J].單片機與嵌入式系統應用,2016,16(9):64-68.
[4] 婁國強.基于ZigBee技術的無線測控網絡平臺研制[D].山東輕工業學院,2011.
[5] 畢慶生,等.面向智能灌溉的物聯網應用研究[J].農業網絡信息,2014(5):40-43.
作者簡介:
彭漢瑩(1995-),本科生.研究領域:物聯網工程.
王 宇(1996-),本科生.研究領域:物聯網工程.
韓改寧(1977-),博士生,副教授.研究領域:單片機與嵌入式
系統應用開發.本文通訊作者.
張 潔(1995-),本科生.研究領域:物聯網工程.
李 穎(1995-),本科生.研究領域:物聯網工程.