APP下载

基于嵌入式系统智能鱼缸的设计与实现

2016-01-05支元王登科

电脑知识与技术 2015年29期
关键词:智能控制鱼缸传感器

支元++王登科

摘要:当今基于物联网技术的智能鱼缸实现了家庭科学养殖的新模式,本文提出了一种基于嵌入式系统的智能鱼缸的设计,借助手机短信实现远程监视与控制,从系统的功能组成、硬件设计和软件设计与实现等方面进行阐述。

关键词:智能控制;鱼缸;传感器

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2015)29-0155-02

1 概述

当今物联网技术应用于农牧渔业有着许多重要的意义,而智能鱼缸则是基于物联网技术实现家庭中科学养殖的一种新模式。用户通过远程监控了解鱼缸的状况进而控制相关设备的工作。面对现代化水产养殖规模和科学化养殖的要求,如何对养殖生态环境进行科学监测,将养殖环境控制在最佳状态成为非常重要的一个环节。养殖水质的优劣主要包括水的温度、PH值、溶解氧和透明度,不同的水产动物对水质参数的要求各不相同。随着传感器技术的发展,各种传感信息的获取已成为可能,结合成熟的计算机信息处理技术,可以实现水质参数监测的数据化、实时化,并参考水产养殖的专家数据,通过控制加热设备、水循环设备、增氧设备等改善水质,达到养殖要求,形成养殖科学化和自动化。

2 系统功能组成

该系统的控制对象是鱼缸,包括一个中央控制模块,其功能是通过嵌入式网络控制技术与用户通信,用户通过手机短信功能实现溶氧控制开关、灯光控制开关、充气控制开关、加热控制开关、PH值控制开关的远程控制,在手机上可以定时收到鱼缸视频和鱼缸温度的变化曲线,使养鱼居民在长时间出差或者出门旅游的情况下也可以方便地照顾自己的鱼缸,克服了现有技术中鱼缸控制功能只能进行定时喂食或者加气的缺陷。

系统设计时需要注意的水质及环境参数有:水溶氧量、水温、光强度、水质浊度等参数[1],表1显示控制系统对各项参数的处理内容。

表1 系统控制参数

2 系统的设计与实现

2.1 系统硬件结构

本系统核心控制芯片采用STC89C52单片机,该芯片使用简单、方便、成本低。增氧泵、加热棒、排水泵、供水泵通过继电器控制开关,而继电器则通过单片机的引脚连接三极管,三极管和继电器、加热棒串联。WQ101温度传感器:工作温度范围-50°到+50°,转换为4mA~20mA的电流输出,利用温度传感器实时监测水温并控制加热棒对对水体加热,利用换水来降温。WQ401溶解氧传感器:用于测量水中氧气的含量,量程范围0~100%,转换为4mA~20mA的电流输出,通过改变C程序中中断发生时间控制增氧泵充氧时间和频率,来改变不同时期的溶氧度[2]。传感器采集到的模拟电流信号分别送入4个12位A/D,转换成对应的数字编码,串行输入到数据处理模块单片机STC89C52。

经编程处理后相关数据送显示器显示实测数值,键盘用于设置水质参数专家数据,当水质不达标时进行相应的调整,温度太低时自动启动加热设备,水含氧量过低时启动增氧设备,水浑浊时自动启动水循环设备,实现水质的自动调整;用户随时可以在手机端查看所有设备状态,或控制设备开关,调整参数范围实现实时监控;当水质自动调整出现异常时,系统通过短信向用户发出相应的警报,提供对异常状况的适应能力。系统硬件结构框图如下所示:

图1 系统硬件结构框图

借助温度、PH值、溶解氧和透明度等传感器将信息进行采集,实现水质参数监测的数据化、实时化,并参考水产养殖的专家数据,通过控制加热设备、水循环设备、增氧设备等改善水质达到养殖要求。

2.2 软件设计

本系统采用Keil C51集成环境开发软件部分,它兼容了C语言软件开发系统,为用户提供了丰富的库函数和功能强大的集成开发调试工具。软件流程分为主流程和串口流程,主流程用来采集传感器数据、控制执行机构、自动调整,串口流程中进行手机指令的接收判断。

1)系统初始化

首先对系统进行初始化编程,硬件方面包括定时器,中断控制字等。软件方面包括定时器初值设置,水位高低、水温高低等初值设定。

void init()

{ EA=0;

Init_BH1750(); //光强传感器初始化

Ds18b20Init(); //温度传感器初始化

LCD_Yugang_Init();//显示初始化

Uart_Config();

Timer0_init();

EA=1;}

2)显示模块

根据实际情况处理8位数码管显示,显示分为两种状态,一种是参数编辑状态,配合按键控制模块,对系统状态进行手动或自动设置;另一种是非参数编辑状态,显示系统运行信息、各种系统参数等,如系统时间。

void LcdDisplay_wendu(int temp) //温度显示函数

{ uchar *t2;

t2=numtochar(temp);

write_cmd(0x93);

write_dat(*t2++);

write_dat(*t2++);

write_dat('.');

write_dat(*t2++);}

3)采样检测模块

借助各种传感器获取环境参数的变化情况和状态。环境参数主要包括系统时间、水质温度、水位高低、进排水和溶氧度状态,照明控制状态等。

Wen=Ds18b20ReadTemp(); //采集温度

Guang=BH1750_gettemper(); //采集光强度

Rong=getstate_rongyangliang(); //采集溶氧量

Zhuo=getstate_zhuodu(); //采集浊度

Shuiwei=getstate_shuiwei(); //检测水位

4)按键检测和控制

按键被按下即进入中断模式,检测按键操作并获取按键编码,而控制模块和显示模块则根据不同的按键编码完成不同的操作控制或显示相应的信息。

5)输出控制程序

根据系统时钟和按键处理信息,结合当前所处工作状态,实现充氧、进/出水、照明和恒温控制等工作参数的取值。

6)看门狗控制

判断看门狗控制寄存器WDT_CONTR的值是否是程序设置好的,如果是则将寄存器复位,并开始新一次循环;如果不是,则系统报错并重新复位。

7)中断服务子程序

主程序中各种信息和数据处理子程序,一是放在缓存中,二是放在中断服务子程序中完成,本系统利用定时器中断服务子程序,在工作方式1下,通过T0中断服务子程序实现,为控制系统提供控制时间[3]。

void Timer0_init() //时钟初始化

{ TMOD|=0x01;

TH0=(-50000)/256;

TL0=(-50000)%256;

ET0=1;

TR0=1;}

3 系统实施效果

该项目受到我校和常州市教育局创新项目的资金扶持与帮助,用户通过手机客户端实时监测并控制系统的状态,系统平台和手机客户端显示效果如下图所示:

图2 系统实物效果

4 结论

本系统设计的智能鱼缸经过长时间测试与运行,证实了系统具有较好的稳定性,其成本低廉、易于拓展,适用范围广,性价比高等特点给广大养鱼爱好者也会带来更好的兴趣感受。

参考文献:

[1] 葛华.鱼缸只能控制系统的设计与开发[J].科技咨询导报,2007(5).

[2] 陈建树,杨光军.适合不同鱼种生存环境的智能鱼缸的设计[J].福建电脑,2013(5).

[3] 丁惠忠.观赏鱼缸智能控制系统的设计[D].苏州大学,2007:36-37.

猜你喜欢

智能控制鱼缸传感器
康奈尔大学制造出可拉伸传感器
鱼缸里的杀手
鱼缸水
简述传感器在物联网中的应用
“传感器新闻”会带来什么
家里的小鱼缸
跟踪导练(三)2
应用型人才培养导向下智能控制教学改革探讨
浅谈开关式电梯IC卡系统及展望
冰立方鱼缸