基于Holtel单片机控制的智能鱼缸
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于Holtel单片机控制的智能鱼缸
作者:张书源
来源:《文化产业》2014年第11期
摘 ;要:随着人民生活水平的日益提高,人们对舒适生活的追求成为一种趋势。对于居室中鱼的饲养价值和观赏价值更是得到充分的体现,它可以放松心情、缓解压力、消除学习及工作中的眼睛及心理的疲劳。对于养鱼所需要的鱼缸,目前市场上存在着诸多问题。养鱼者大部分采用传统鱼缸,这对鱼的饲养及照料有一定的困难;而智能鱼缸多为价格昂贵,体积庞大的水族箱,得不到广泛的普及。故鱼缸的智能化设计以及其普遍推广使用的结合也是亟待解决的问题。针对这一现状,设计了一套基于Holtek单片机控制的智能鱼缸。
关键词:合泰Holtek单片机;HT46RU232;智能鱼缸;自动调整
文章编号:1674-3520(2014)-11-00-02
针对鱼缸的养护问题,市场上出现了很多有关鱼缸的水温控制、换水、充氧和照明的设备和器具,例如过滤器可除去水中杂质、加热器给水加温、加氧泵改善水中含氧量等的设备。但是由于产品种类繁多,功能效果不统一,而且大部分都是非智能化的、单一化的恒温控制、充氧和照明的系统。
一、本设计中智能鱼缸的实现
本课题设计是根据目前国内外水族行业的发展情况,以及水族箱和观赏鱼的养护需求进行分析,并对行业中水族箱控制设备的研发和产品的特点进行总结,自主设计并开发制作的价格低廉,操作简单,节能环保,集恒温控制、自动充氧、自动水位检测并控制进排水、自动照明、自动喂食以及要遥控设计控制等多功能与一体的鱼缸智能控制系统。
(一)HT46RU232最小系统的设计
HT46RU232单片机最小系统和其他单片机的使用相似,同样需要除单片机组件外的时钟振荡电路、复位电路。
(二)系统功能特色
1、组合创新。市场上的鱼缸大多没有其他附属功能,许多商家有这方面的研究,但是功能相对单一,我们将鱼缸水温、排水、充氧、照明和喂食等设备结合在一起,用单片机进行控制,实现了功能的统一和系统的智能化
2、恒温设计。具有低温加热功能;可以根据不同鱼的水中的适宜温度进行不同的设置。
3、定时自动喂食功能。可以按键设置喂食的时间,当设置的时刻一到,单片机发送喂食命令,控制舵机转动,使其放食口打开并适时关闭,使其食物适量放入鱼缸中。
4、具有多重水循环与水质过滤。
5、运用无线遥控进行控制,更能方便使用者对其进行开光照、启用水泵、启用充氧泵、喂食等的设置。
6、应用超声波原理进行对水位进行检测,根据所得到的值进行判断是否关闭抽水水泵,达到自动停止放水的功能。
二、系统硬件设计
(一)传感器模块设计
传感器模块由光照传感器、温度传感器、水位监测器等构成。
1、光照传感器
光照传感器是由光敏电阻和LM358为主要部件制作的,应用光敏电阻有入射光强电阻减小,入射光弱电阻增大的特性,还有LM358的电压放大功能,得到一个随光照减弱而增强的电压。把此电压值用单片机内部自带的AD功能将电压模拟量变为数字量,
2、温度传感器
温度传感器采用单总线温度传感器DS18B20,性能稳定,可以节省IO,由于测的是水温故需要选择带有防水型不锈钢封装水温探头的DS18B20。
3、水位监测器
水位监测器是应用超声波可以测距的功能来制作的,应用NE555占空比可调的脉冲振荡电路产生40KHz的信号,利用CX20106进行接收40KHz的信号,由单片机计数器计算发送到接收到信号的时间T,有距离(Distance)=T*340/2即可得到离水面的高度。
(二)无线控制模块设计
315M无线模块体积小,操作简单,价格低廉,采用315M无线模块可以在20米的范围内遥控开关灯、加氧泵和抽水泵等。
(三)人机界面设计
系统以液晶显示器LCD12864作为人机显示界面,以键盘作为人机交流界面。显示界面将显示时间、日期、温度等信息,实时时间由DS1302时钟芯片提供。通过键盘还可设定启用光照的最小强度值、水温的恒温值和定时喂食时间,充分体现了智能鱼缸的人性化和智能化。
1、液晶显示LCD12864
LCD12864汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字
(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示绘图RAM(GDRAM)。
在本设计中采用了3位串行的输入方式,虽然对于并行输入方式来说速度相对慢些,但对硬件线路连接来说相对变的简单了,并且节省了不少单片机的I/O口资源。此时15引脚PSB 应该接地或是在单片机的使其在使用时该引脚设置为0,在本设计中选择15引脚PSB接地的方式进行选择其串行输入方式。为方便其与单片机连接,制作了LCD12864的转接板。
2、键盘设计
键盘采用独立按键,通过按键的复用达到相应需要的数值的调整、以及选择。
KEY1设置为Enter确认键,KEY2设置为Add加调整键,KEY3设置为Sub减调整键,KEY4设置为Back返回键。
3、时钟模块
DS1302芯片管脚说明:
表3-1 ; DS1302管脚:
(四)执行部分设计
执行部分包括水中加热棒、灯、加氧泵、水泵。由于其供电均用220V/50Hz供电,故需要对其控制部分与执行部分进行隔离,采用PC817芯片进行光电耦合控制通过驱动继电器的通断来分别实现加热棒、灯、加氧泵、水泵的开启与否,光电耦合器PC817在电路中起到隔离的效果,使继电器在导通的情况下产生的较大电流与单片机的控制管脚进行。
三、系统软件设计
(一)系统中使用Holtek MCU的主要核心功能
1、AD转换器
将光照传感器输出电压接至AD转换器的一个通道引脚上(PB0),将模拟电压转化为数字信号,有效的减少了外围电路和开发成本。
2、外部中断
水位监测器中,应用了HT46RU232中的外部中断功能。40KHz信号接收端接外部中断引脚(PA5),当接收到40KHz信号时,立即执行计算计数值的中断程序,从而可得到较准确的水位值。
3、定时/计数器
利用了单片机中是定时/计数器0(16位定时计数),计算发送到接收到信号的时间T。
4、看门狗定时器功能
启用看门狗定时器功能能防止如电磁的干扰等外部不可控制事件,所造成的程序不正常动作或跳转到未知的地址,从而提高了系统的稳定性。
在系统主程序中,首先是对各个模块的初始化,除了包括液晶屏LCD12864、DS1302及串口的初始化外,还应对I/O口进行正确设置,按键设定为输入状态,继电器控制脚设置为输出状态。经过单片机对DS1302读取时间数据、DS18B20进行温度读取、AD采集到的光照值、定时器记下的时间数据经过数据的处理后分别其显示时间(时分秒年月日星期)、温度、光照值、离水面的距离。
(二)系统流程图
当菜单键按下后,就进入了设置模式选择的界面,显示2当确定调整模式后,就分别可以进入四种调整界面,即时间调整确定后就进入了显示3的界面,定时调整确定后就进入了显示4的界面,光照调整界面确定后就进入了显示5的界面,温度调整确定后就进入了显示6的界面。
当进入各自的调整界面后就可以通过加减及确定按键进行相应的数值调整,从而改变显示时间、喂食时间、光照最低值、温度设定值。
图4-1 ;人机界面及控制软件流程图
除此之外,在不进入设定调整状态时,可以通过无线遥控进行相应的控制。即水泵、加氧、灯光、喂食的工作控制。在遥控模式下,遥控的四个按键进行相应的控制,并且配合着相应的指示灯进行指示说明,按下后启动,再次按下后关闭,第三次按下后开启,第四次按下后关闭,以此类推。这样就达到了无线控制的方便、简捷的控制。