基于STC89C52的鱼塘水质检测系统①
2020-08-31杨艳谢燕群
杨艳,谢燕群
(广东石油化工学院 电子信息工程学院,广东 茂名 525000)
水产品的品质与养殖的水质密切相关,而对鱼塘水质影响较大的参数有水温、水位以及水的浑浊度等。传统养殖方式中养殖户只能根据经验来对这些参数进行分析和调整,不利于扩大养殖规模,也常常会因为养殖户缺乏经验或无人看管没有及时调节水质,出现水产品质不佳甚至死亡的情况,造成经济损失。对鱼塘水质进行检测与自动调节,有利于提高水产品的品质,增大水产养殖的产能,增加养殖户的经济收入,逐渐成为未来水产养殖技术的发展方向[1]。基于此,本文提出一种基于单片机STC89C52的水质检测系统,模拟鱼塘的水温、水位及浑浊度,并进行实时检测和调节。
1 系统整体方案设计
鱼塘水质检测系统整体框架,如图1所示。系统以单片机STC89C52为主控制器,主要由水温模块、水位模块、浑浊度模块、电源模块、报警模块及显示模块组成。实时检测鱼塘的水温、水位和水的浑浊度,并在液晶屏LCD1602上实时显示。且当检测数据超限时,发出报警信号,帮助水产养殖户更加快速有效地对鱼塘进行监控和管理,从而提高水产品质量,降低养殖风险,增加养殖效益。
图1 系统整体框架
2 系统的硬件设计
2.1 系统整体原理图
鱼塘水质检测系统整体原理图,如图2所示。系统以单片机STC89C52为主控制器,DS18B20温度传感器检测水温,浮球开关检测水位并控制继电器调节水位,民用浊度传感器进行浑浊度检测,LCD1602液晶显示屏显示检测数据。系统的主要功能有:水温、水位、浑浊度的检测,以及超限报警与调节。
图2 鱼塘水质检测系统原理
2.2 水温模块
使用温度传感器DS18B20来检测水温。DS18B20是数字温度传感器,其测温范围为-55~125 ℃,它与单片机接线简单容易、体积小、测量精度高,可以对水温进行精准测量[2]。DS18B20检测到实时水温后,与预设值进行比较,如果实测水温高于预设的最大值时,系统会通过继电器启动风扇进行降温;如果实测水温低于预设的最小值时,启动加热模块使水温逐渐升高。
2.3 水位模块
水位检测与调节模块由水位检测和水泵控制两部分组成。水位检测利用浮球开关,在单片机端接入上拉电阻,通过检测单片机引脚的电平来判断浮球开关的状态,进而判断水位情况。水泵控制部分由驱动电路和继电器组成,通过判断单片机引脚的电平来控制继电器,通过抽水和注水来调节水位[3]。
2.4 浑浊度模块
通过测量水中的悬浮固体总量(TSS)来检测水的浑浊度,TSS值越大,浑浊度越高。使用民用浊度传感器对水中的浑浊度数据进行采集。该传感器在精确度以及可靠性方面性能较好,维护简单,抗污性能强。浊度传感器将采集到的浑浊度信号发送到A/D转换器[4],信号转换后,再传送到单片机,并在显示器上显示。如果浑浊度高于预设值,就会启动水泵抽浑水、注清水,降低水的浑浊度,改善水质。
2.5 电源模块
本设计采用外部供电的方式,主要给单片机、水泵、风扇、加热模块等供电。单片机供电可通过USB外接电源,水泵、风扇等由4节1.5 V的电池组成外部电源进行供电,加热模块由220 V的交流电源供电。
2.6 报警模块及显示模块
1)报警模块。报警模块的电路比较简单,采用发光二极管(LED)来进行报警。当温度值高于30 ℃或者低于27 ℃、水位超出所设定的正常范围或者浑浊度高于1000 NTU时,报警模块立即进入工作状态,启动报警功能,即发光二极管不停地闪烁。
2)显示模块。显示模块用于显示水温和浑浊度,本设计采用LCD1602液晶显示屏来进行显示。
3 系统的软件设计
图3为系统软件设计流程图。系统开始工作时,首先,对LCD显示屏进行清屏,并进行初始化;其次,检测温度、水位、浊度等数据的情况,将温度值和浊度值写入到LCD中;最后,进行温度、水位、浑浊度判断。在温度判断中,如果温度高于预定值,那么系统则会驱动风扇来进行降温;如果是温度低于预定值,就会进行加热,使水温升高。在水位判断中,如果水位低于预定值,驱动水泵往鱼塘里注水,使水位升高至正常范围;如果水位高于预定值,那么驱动继电器从鱼塘向外抽水,降低水位。在浑浊度的判断中,如果浑浊度超过预定值,就驱动水泵从鱼塘里面抽出浑水、注入清水以降低浑浊度。
图3 鱼塘水质检测系统流程
4 系统测试
用水桶模拟鱼塘,进行了系统各项功能的测试,测试环境见图4。分别对水温模块、水位模块、浑浊度模块、显示模块、报警模块进行测试。测试结果表明,系统能自动检测水温、水位、浑浊度,并将水温数据和浑浊度数据在LCD1602上实时显示,这些数据变化时,显示数据也随之变化。当加入热水或冷水模拟水温超过30 ℃或者低于27 ℃时,风扇或加热模块进行工作。水位超出了预定水位的上限值时,单片机就会控制继电器,使水泵向外抽水;水位低于预定水位的下限值时,单片机控制继电器,启动水泵进行注水。将一些浑浊的水放入模拟的鱼塘中,浊度传感器一旦显示检测到的水浑浊度超过预定值,就会利用水泵进行抽浑水、注清水,降低浑浊度。且当温度、水位或者浑浊度超过预设值时,报警模块均能正常工作。
图4 鱼塘水质检测系统测试环境
5 结语
本文设计的鱼塘水质检测系统可以检测并显示水温、水位、浑浊度等参数。当这些参数超出设定值时,发出报警信号并进行自动调节。系统简单可靠,在一定程度上为水产养殖户提高养殖自动化程度提供了便利。