李金武 宋新爱
摘要:本文针对普通鱼缸的操作繁琐、设备费用高的问题,以增加智能鱼缸的效率为目标,通过对现有鱼缸的研究设计了一款智能鱼缸自动控制系统,达到鱼缸自动控制以减少用户操作的目的。智能鱼缸自动控制系统使用PWM、DS18B20、定时器、看门狗等技术主要实现了以下功能:LED灯色控制、亮灯时间控制、水位监测、定时杀菌、自动供氧、水质监测、水温监测、水循环。该智能鱼缸控制系统可在一定程度上节约成本、提高效率。多功能一体化的智能控制管理大大增加了产品的可靠性和可操作性,为观赏者提供了极大的便利。
关键词: 智能鱼缸; 传感器; 自动化控制; 定时器
【Abstract】 Aiming at the problems of tedious operation and high equipment cost of common fish tank, and in order to increase the efficiency of intelligent fish tank, this paper designs an automatic control system of intelligent fish tank through the research of existing fish tank, so as to achieve the purpose of automatic control of fish tank to reduce the user's operation.
The intelligent fish tank automatic control system uses PWM, DS18B20, timer, watchdog and other technologies to realize the following functions: LED light color control, light on time control, water level monitoring, timed sterilization, automatic oxygen supply, water quality monitoring, water temperature monitoring, water cycle. The intelligent fish tank control system can save cost and improve efficiency to a certain extent. The multi-functional integrated intelligent control management greatly increases the reliability and operability of the product, and provides great convenience for viewers.
【Key words】 intelligent fish tank; sensor; automatic control; timer
0 引 言
当下人们的生活节奏日趋加快,欣赏鱼缸满足用户精神需求的同时,手动控制鱼缸的清洁、喂食、水位控制、水温控制等操作过于繁琐[1]。针对水族生活环境的净化和改善的设备有很多,目前市场上常用的鱼缸控制系统有:过滤器、加热器、加氧泵等,这些单独工作的器件大多是非智能化改善水质的设备,对于清洁鱼缸内污垢、喂食等操作大多需要人工處理,费时费力。同时,如果仅仅把多个单独的设备组装成一套多功能的鱼缸控制系统,需要投入的费用较大[2]。因此,设计开发一款成本较低使用便利的智能鱼缸自动控制系统,有很大的必要性。
本作品是利用温度传感器、水位检测等技术设计一款基于Cortex-M3单片机的智能鱼缸自动控制系统,本系统一般放置在家庭玻璃鱼缸中,根据需求将系统分为灯色、灯光开启时间、温度、杀菌灯、看门狗等多个自动控制部分。文中设计本着节省能源、节省空间、提高效率、全面智能控制的目的,多个需求使用一个系统实现,大大增加产品的实用性和可操作性。
1 相关研究
自1984年美国联合科技公司提出智能家居概念以来,全世界陆续开启了制造智能化家居系统的研究进程[3]。国外的一个研究团队在2016年3月推出了一款名为FishBit的智能水族生态监控系统, 该系统由一个监控器、一个插座控制器以及配套的手机端App组成。监控器主要是对鱼缸中的水温等进行实时监测,控制器的作用则类似于一个智能插座,通过手机端App来控制插在插座上对应的加热、供氧设备的开关[4]。该系统并没有把控制系统与相应的控制设备集成起来,导致用户在使用前需要二次配置,包括外部链接各种控制设备以及App端的各个对应控制端口的设置,过程繁琐且容易出现配置错误。此外,整套FishBit的售价过高,不易进行推广。国内目前只有一家水族器材生产研发企业推出量款智能鱼缸控制系统相关产品,是利用类似智能插座的控制器,需要用户额外购置加热棒、供氧泵等设备插在控制器插座上,并由一台手机大小的遥控器来进行控制,控制范围较小。国内市场上仅有的几款智能鱼缸控制系统产品也都有各自的缺陷与不足[5]。
2 系统原理与设计
根据对鱼缸功能的需求分析可知,基于Cortex-M3单片机,共8个功能,智能鱼缸原理如图1所示。
本项智能鱼缸自动控制系统主要是在日常家庭中使用,一般放置在家庭玻璃鱼缸中,根据需求将系统分为灯色、灯光开启时间、温度、杀菌灯等多个自动控制部分。外设LED灯,通过调节RGB数值显现不同灯色制造最佳视觉效果;温度的控制是通过设定Cortex-M3单片机中的定时器来设置LED的开启时间,主要根据观赏者作息时间以及工作时间开启、关闭LED,实现在固定周期需要观赏时开灯,其余时间关灯,减少能量消耗,提高观赏效率;不同品种的鱼对温度的需求也有所不同,利用Cortex-M3单片机提供的DS18B20温度传感器来控制鱼缸内的水温,当温度到达设定上限时停止加热,出现异常情况开启报警系统,以此保证鱼的长久生存;为了给鱼营造健康、舒适的生存环境,系统外加杀菌灯,可依据鱼的种类设定杀菌灯的开启、关闭时间,考虑到杀菌灯对人身体的危害性,设定工作时间在人的休息或者上班阶段;此系统还设计了鱼缸水位监测的功能,鱼缸水位过高或过低都会对鱼的饲养产生影响,因此设置了水位报警器,超过警戒水位鱼缸都会自动报警,这也减少了观赏者的工作量;此外,由于供氧的气泡会对观赏性大打折扣,因此对供氧时间也会依据观赏者的作息进行定时控制,在不需要观赏的时间供氧,其余时间停止供氧。
3 功能设计与实现
3.1 鱼缸水位监测与报警
将2个同样带有10 K电阻的线路并联在3.3 V电源线上,再分别将这2个线路接入Cortex-M3开发板。其中,第一根线接高电平接最低点,置于鱼缸内水中,设定最低水位,测最低警戒水位;第二根线接低电平接最高点,置于鱼缸内水面上方,测最高警戒水位,鱼缸水位低于最低点或超过最高点都会报警,提醒观赏者该进行抽水或蓄水;第三根线接地,在Keil5程序中添加中断,监测水位同时不影响其他程序的进程 。水位监测不添加时限周期,处于长时间工作状态,为了避免水位过低影响鱼类生存,过高会溢出鱼缸,利用水位检测器对鱼缸水位高低进行检测,以达到对水位进行监测的目的。
3.2 鱼缸水质浑浊度监测
饲养者需要及时了解鱼缸内水质变化,在本模块中采用光敏元件将光信号转化为电信号的传感器,其敏感波长在可见光波长附近,包括红外线波长和紫外线波长。研究中在此利用 ADC3 的通道 6(PF8)来读取光敏二极管电压的变化,得到环境光线的变化,并将得到的光线强度,显示在 TFTLCD 上面。
系统水质浑浊度监测电路图如图2所示。
光信号的强弱可以反映水中浑浊度的变化,若光信号强表明水中透光性强,即水的浑浊度较小;相反,若水不够清澈,浑浊度较大影响透光性,光信号会比较弱。以此通过对鱼缸内水质采用光敏传感器进行监测,一旦水质参数超过正常范围,进行报警,提醒观赏者要进行换水,以达到监控鱼类的生长环境的目的。
3.3 LED灯色与亮度控制
灯色控制是利用脉冲宽度调制(简称脉宽调制,PWM)技术对灯色进行控制,是微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。概括来说,就是对脉冲宽度的控制[6],PWM原理如图3所示。
研究假定定时器工作在向上计数 PWM模式,且当CNT
灯光时间的控制是通过设定Cortex-M3单片机中的定时器来设置LED的开启时间,主要根据观赏者作息时间以及工作时间开启、关闭LED,实现在固定周期需要观赏时开灯,其余时间关灯,以此减少过多能量消耗,提高观赏效率。
3.4 间歇启停杀菌灯控制
编写定时器中断服务函数,通过该函数来处理定时器产生的相关中断。这里使用的是更新(溢出)中断,所以在状态寄存器 SR 的最低位。在处理了中断后应该向 TIM3_SR 的最低位写 0,来清除该中断标志[7]。
为了给鱼营造健康、舒适的生存环境,系统外加杀菌灯,可依据鱼的种类设定杀菌灯的开启、关闭时间,考虑到杀菌灯对人身体的危害性,设定工作时间在人的休息或者上班阶段。
使用鱼缸杀菌灯,将水打入杀菌灯管中,越慢越好,确保每滴流出的水都经过较长时间杀菌灯的照射,如此才有良好的效果。杀菌灯使用寿命短,通常半年后效率就大不如前,使用定时器,一天使用个几小时即可。
3.5 间歇供断氧控制
由于供氧的气泡会对观赏性大打折扣,因此对供氧时间也会依据观赏者的作息进行定时控制,在不需要观赏的时间供氧,其余时间停止供氧。
供氧模块主要是由供氧开关、自动供氧开关以及自动供氧间隔时间这4个数据点来进行控制。不同的是,供氧设备通电工作时需要供氧继电器保持持续的通电。因此,在程序中设置供氧继电器通电后维持5 min的通电状态,以保证供氧设备有足够的工作时间。此外,在程序中设置自动供氧的时间间隔为3 h。
4 系统测试与结果分析
4.1 系统测试
系统的硬件测试主要监测电路板上的电路和各个元器件的连接是否正确,包括DS18B20测温模块的测试、LED灯周期开关的测试、杀菌灯、供氧定时开关灯的模块测试等。对此拟做研究阐释如下。
(1)DS18B20测温模块的测试。将加热棒的温度调至非正常温度,DS18B20温度传感器的监测温度设置为30 ℃,等待鱼缸中水温升高,传感器监测到水温过高,蜂鸣器会持续报警,直到向鱼缸中添水为鱼缸降温至正常,可验证测温模块工作正常。
(2)LED灯周期开关模块的测试。设定LED灯的开启时间为19:00,关闭时间为19:10,等待时间到达时LED灯自动关闭,可验证LED灯周期开关正常。
(3)杀菌灯自动控制模块的测试。设定杀菌灯的开启时间为19:10,关闭时间为19:20,等待时间到达时杀菌灯自动关闭,可验证杀菌灯的自动控制正常。
(4)灯色和亮度控制模块的测试。鱼缸中选定红色的鱼,为产生“鱼红水不红”的效果,对PWM进行调节,灯色改变,显现出极佳的视覺效果,可验证灯色控制模块正常工作。
(5)自动供氧模块的测试。设定LED灯的开启时间为19:10,关闭时间为19:20,等待时间到达时供氧停止,可验证供氧的自动控制正常。
(6)水位监测模块的测试。给鱼缸水位进行设定,警戒水位的信号区间为小于10 cm,降低鱼缸的水面高度,开发板接收到水面高度出现异常,蜂鸣器进行报警,需要向鱼缸中加水增高水位,可验证水位检测模块可正常工作。
(7)看门狗模块监测。系统内设看门狗,测试开发板死机可以自动重启,程序周期性重启,避免系统死机对鱼缸的安全有影响。