论文网
首页 理科毕业农学毕业论文正文

基于太阳能供电的节水控制系统设计

  • 投稿李明
  • 更新时间2015-09-22
  • 阅读量585次
  • 评分4
  • 75
  • 0

李建军,酉育红

(塔里木大学机械电气化工程学院,新疆 阿拉尔 843300)

摘要:研究了南疆地区棉花节水灌溉温度控制系统,控制系统采用单片机为智能控制器,太阳能电池板为控制电源,通过数字温度传感器自动采集棉花田间的空气温度参数,将信号输入单片机中判断温度下限值,温度过低时自动停止灌溉。下位机和上位机之间通过串口通信,温度信号实时显示在VB窗口。结果表明,该系统成本低、灵活好用、自动化程度较高、节省了人力物力,适合在南疆大田地区进行节水灌溉控制。

教育期刊网 http://www.jyqkw.com
关键词 :节水;温度控制;单片机;通信

中图分类号:TM571.61 文献标识码:A 文章编号:0439-8114(2015)04-0970-04

DOI:10.14088/j.cnki.issn0439-8114.2015.04.052

收稿日期:2014-03-31

基金项目:塔里木大学校长基金项目(TDZKSS201321)

作者简介:李建军(1972-),男,黑龙江肇东人,讲师,硕士,主要从事农业控制技术和可再生能源发电技术研究,(电话)15899362915(电子信箱)lijianjuntd@163.com。

南疆大部分地区属于沙漠性气候,干旱少雨,水资源严重不足[1]。由于现有的节水方法自动化水平较低,而引进的节水控制设备成本较高、技术服务差、效果不够理想。在灌溉的过程中,农作物遇到大风、低温以及暴雨等情况应停止灌溉,气候恢复正常后继续灌溉。由于南疆地区大风和暴雨天气较少,本研究设计了一套智能节水控制系统,该系统结合PC机、传感器技术以及单片机技术为一体[2],用太阳能给系统供电,结合蓄电池储能,可在远离电力线路的偏远地区灵活方便的控制棉花灌溉。

1 硬件电路设计

硬件电路主要包括智能控制部分、与PC机通信串口部分、数字式传感器检测部分[3]、信号输出执行部分、太阳能电池板供电以及显示、复位、按键等部分,系统结构图如图1。

1.1 晶振电路

单片机的晶振电路如图2所示,C1和C3为电容,容量为30 pF,Y1为晶振,频率为11.059 2 MHz。单片机的精度与晶振的精度相关,根据棉花节水的要求,选用该频率能满足要求。另外,为了避免高频干扰,减少误差,晶振应尽可能靠近X1、X2引脚安装[4]。

1.2 复位电路

为了提高系统的可靠性,防止系统电路出现“死机”等现象,系统设计单片机复位电路如图3所示。由图3可知,本系统使用上电或开关复位电路,电路接通后既可以通过电容C2充电复位,也可以通过操作复位键S1手动使电路复位。

1.3 显示电路

显示电路用动态扫描的方法,这样既可以节省微处理器的输入和输出口,又减少功耗。连接时段、选线并列连接,数码管的有效位由位选线控制。由于扫描速度快以及眼睛的视觉暂留性,感觉不到发光的数码管断电。系统控制动态扫描周期频率为工频,这样既可以不出现显示闪烁,还可以避免数码管因为导通视觉短而影响发光亮度。段选线接的是单片机的P0口,位选线接的是单片机P2.0~P2.3,显示电路用四位共阴极数码管即可满足检测精度。

1.4 继电器启动和停止电路

节水灌溉控制检测到当地温度低于灌溉下限值时,K1线圈通电控制电磁阀等喷洒装置向关闭的方向旋转,红灯亮,继电器接的灌溉装置工作停止喷灌。当温度值高过下限值的时候,根据需要K2线圈动作,启动电磁阀开启灌溉喷洒如图4所示。

1.5 串行通信电路

由于RS-232标准串口电源电压较高,可达15 V,而单片机TTL电平最高为5 V,因此本系统选择MAX232芯片做为电平转换芯片,MAX232芯片工作使用+5 V单电源供电,电路图见图5。串行通讯口和单片机收发信号使用RXD(P3.0)和TXD(P3.1)两条线,这两条线可以同时发送、接收数据,实现全双工。在软件编程中单片机的工作方式可通过对SCON的设置进行选择,如果是中断方式可通过寄存器IE、IP等实现。

1.6 “看门狗”电路

单片机的工作由于受到周围环境的电磁场干扰,会造成程序的跑飞,陷入死循环,系统的正常工作无法进行,为此本系统设计了监测单片机程序运行状态的芯片,即“看门狗”电路。由于现在的单片机内部自带“看门狗”,只要对看门狗芯片内部的寄存器的设置即可实现对单片机程序的监测。

2 下位机软件设计

下位机软件包括主程序、温度转换子程序、显示子程序、继电器和串口中断处理程序、报警动作子程序等[5]。

2.1 主程序

图6为主程序流程图。当温度传感器检测到现场的温度值时,智能处理器读取检测值,并向串口发送,上位机PC机接受到串口传来的温度值得时,在4个共阴极的八段数码管上动态显示当时读取的温度值,同时对温度范围作出判断,看是否在最低温度下限,然后做出处理,主程序如下所示:

#include<reg52.h>

#define uchar unsigned char

#define uint unsigned int

sbit DQ=P3^7;

sbit Up=P1^1;

sbit Down=P1^2;

sbit Alarm=P1^5;

sbit WE1=P2^0;

sbit WE2=P2^1;

sbit WE3=P2^2;

sbit WE4=P2^3;

sbit key1=P2^4;

sbit led1=P2^5;

sbit led2=P2^6;

sfr WDT_CONTR=0xe1;

uchar smg1,smg2,smg3,smg4;

uint temper,ch,cl,vtmp; //ch温度上限值,cl温度下限值,

uchar ks,flag1,flag2,i;

char rx_buffer[2]={40,0};

uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};

uchar code table1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0x00,};

void init_1820(); //初始化

void write_1820(uchar byte); //写字节

char read_1820(); //读字节

void get_temp(); //温度转换并读出温度

void display(uint temper); //显示

void delayMS(uint count); //延时

void init_model1_int(void); //串口初始化

void init_main(void); //主函数初始化

void reaction(void); //继电器报警

void tx_temper(void); //发送温度值

void ddisplay(void); //动态显示

void BCDchange(float t2); //BCD码转换

void keyscan(void); //按键扫描

void main()

init_main();

get_temp();

while(1)

WDT_CONTR=0x35;

get_temp();

keyscan();

for(i=100;i>0;i--)

display(temper);

x_temper();

ch = rx_buffer[0];

cl = rx_buffer[1];

reaction();

2.2 温度转换子程序

系统设计时用单片机的P3.7接收来自高精度温度传感器采集到的数据,接收到的数据存储在单片机处理器的随机存储器RAM中,存储器中的数据是高位在后,低位在前。温度转换子程序流程图如图7所示。

2.3 控制系统输出子程序

系统检测到现场的信号后,要输出控制现场设备。当微处理器读入经过处理的温度值,未达到温度下限值时,发出信号控制继电器电路接通,则电磁阀开启正常工作喷洒;低于温度下限值时继电器断开,电磁阀关闭并报警,并停止现场田间灌溉工作,其程序流程见图8所示。

3 上位机设计

3.1 窗口、控件对象的属性设置

在VB工作环境中编程,创建标准的工程项目文件,与下位机进行通讯。运行VB,添加MSComm控件,具体在菜单栏中选择“工程”-“部件”-“控件”-“属性”,在属性中选择“Microsoft Comm Control 6.0”复选框,单击“确定”按钮后,工具箱即添加了MSComm控件。添加ADO数据库对象,在菜单栏中选择“工程”-“引用”-“可用的引用”-“属性”,在属性中选择“Microsoft ActiveX Data Objects 6.0 Library”复选框,确定后即可添加ADO数据库对象。添加MSFlexGird控件。同理在“部件”对话框中选择“控件”选项卡属性中选中“Microsoft FlexGird Control 6.0”复选框即可添加成功,然后添加一个Excel、添加模块、添加窗体,最后绘制温度变化曲线。

通过对VB编程后可得到的程序控制界面,从程序界面中可显示测得温度下限值以及曲线值,其中还添加了TextBox文本框控件,包括发送数据、打开串口、浏览温度数据库和生成Excel报表和关闭程序控件以及时钟控件、报警控件等如图9所示。

3.2 上、下位机器通信

通过上述设置,生成frmMain程序界面,在实验室中用温度传感器检测环境温度如室温,检测结果如图9所示。在实验室中短时间内温度恒定,因此在程序界面的主窗口的曲线值基本恒定。其中发送按钮用来向下位机发送允许的下限或上限值,例如当环境温度是零度时候必须停止灌溉,具体温度参数下限值可按照棉花等农作物不同时期的生长需求设置。报警开关指示灯用来显示当时系统是否打开报警功能。

4 小结

基于太阳能供电的温度控制系统,系统成本低、灵活好用、自动化程度较高,节省人力物力,适合在南疆大田地区进行节水灌溉控制。另外,因控制系统耗电量较少,尤其是电力系统无法到达的偏远地方,通过太阳能给系统供电,开合电磁阀喷洒棉花等农田尤其方便。

教育期刊网 http://www.jyqkw.com
参考文献:

[1] 王 萍.棉花膜下滴灌耗水规律的研究[J].新疆农垦科技,2010(2):77-78.

[2] 荆 坷,张孟杰,李 芳,等.温室控制系统的现状及其发展[J].农机化研究,2008(5):213-215.

[3] 居 荣,郭怡倩.DS18B20在温控系统中的应用[J].农机化研究,2005(1):224-226.

[4] 赵鸿图.基于单片机的温度控制系统的设计与实现[J].微计算机信息,2008,24(9):54-56.

[5] 何培祥,史 磊,李庆东,等.智能温室测控系统软件的设计与研究[J].农机化研究,2008(11):133-36.

(责任编辑 屠 晶)