1. 引言
随着国内经济不断发展,中国渔业总产量已经连续多次成为世界第一[1]。然而随着水产养殖业的高速发展,养殖水体环境污染问题日益突出,破坏了水体生态平衡,给养殖户造成了严重的经济损失[2]。同时在渔业养殖过程中存在着水体温度不适宜、浑浊度过高等导致水产产量下降的问题,而传统人工检测具有局限性,所以自动化的水产养殖环境监测系统将成为渔业养殖领域发展的一个重要方向[3]。只有通过监测养殖环境,养殖人员才能准确判断水质参数并进行调整,使其适合养殖生物的生长,减少养殖者的风险和损失,使鱼类生产达到稳定、高产的目标[4]。
在科技不断发展中,水质监测仪器应用了电子技术、嵌入式技术,利用智能化的数据采集、分析和运算,实现水产养殖环境监测自动化。在水质分析仪器上取得成效的著名企业有澳大利亚GREENSPAN公司、德国GIMAT公司、美国的ISOC公司和HYDROLAB等公司,日本日立制作所和卡斯米国际株式会社等也有技术成熟的在线水质自动监测系统[5]。国内张琴等人将STM8L低功耗微控制器作为核心,结合LoRa调制技术自定义网络通信协议,设计了低功耗远距离的无线传感器网络节点,完成了对水产养殖水质参数的采集与传输[6]。江先亮等人融合无人船和多个传感器进行水质采样,测量水温、pH值和水体浊度等指标,通过岸基控制台将监测数据上传至云服务器;提出以自动无人船悬停采样为主的水质监测和低航速下的水质异常检测,结合基于地图解析的路径规划策略,实现无人船自主航行,以提升监测效率[7]。陈小琳、刘乃森等人利用多个传感器测量不同参数设计了克氏原螯虾养殖水质监测系统[8]。余钱程等人采用STM32单片机和树莓派4B作为控制器,结合GPS模块和电子罗盘实现无人艇的航行控制;利用摄像头、pH、浊度、温度传感器实时采集水体环境和水面图像数据;通过4G通信模块实现数据传输,设计了水质监测无人艇系统[9]。孙宇等人以STM32 + 树莓派4B作为控制中心,搭载水温、pH值和溶解氧传感器,通过改进的算法融合动态窗口法路径规划算法实现自主导航,设计了基于无人船搭载多个传感器的水质监测控制系统[10]。
国外的水产养殖环境监测技术虽然比较先进,但价格昂贵,而且国内外养殖环境不同,国外的监测技术不是很适合我国的渔业养殖要求[11]。国内在这一领域研究起步较晚,相较于国外,所选择的水质参数较少、性能也不够稳定,但操作相对简单,同时性能较好的监测系统造价太高,极大地增加了渔户的养殖成本。因此,自主研发符合国内渔业养殖需求的水产养殖环境监测系统,满足现代化水产养殖需求是很有必要的。
2. 总体设计
在水产养殖过程中,除了保证鱼类的食物外,养殖环境的重要性也是不可忽视的一环,其中包含鱼类生存的最适合温度、水质的浑浊度、酸碱度以及电导率等。但是养殖人员并不能做到让养殖环境时刻保持在最适状态,甚至对养殖环境的判断也缺少准确性。所以,为提高水产养殖的产量、提高养殖人员的效率,需要研究一款能为养殖人员提供服务的水产养殖环境监测系统,应该具备以下功能:实时监测养殖环境中的温度、浑浊度、pH值以及电导率等参数;实时显示各参数数值;在参数数值超过设置的阈值时能进行预警提醒养殖人员进行精准的干预工作;搭配WiFi无线连接模块,让养殖人员在移动端也能实时观看监测数据。
Figure 1. System design block diagram
图1. 系统设计框图
系统设计框图如图1所示,系统由总电源供电电路、按键电路、pH和浑浊度传感器电路、温度和电导率检测电路、无线模块接口电路、液晶显示电路、蜂鸣器报警电路以及单片机最小系统电路组成。总电源电路负责系统的供电功能;按键电路负责调节各水质参数监测阈值;pH和浑浊度传感器电路、温度和电导率检测电路进行相对应的参数检测;蜂鸣器报警电路负责在水质参数超过阈值时进行预警,提醒养殖人员对水产养殖环境作针对性调整;液晶显示电路负责向养殖人员提供实时数据显示;无线模块接口电路负责与移动设备连接,更加方便养殖人员远程监测环境参数;单片机最小系统电路负责集成所有电路,控制系统工作。
3. 硬件系统组成
3.1. 单片机模块
现今市面上常用单片机为MSP430与STM32,MSP430单片机采用16位RISC架构,配备了低功耗定时器,但其开发环境构建较为复杂,要求开发者熟悉IAR Embedded Workbench开发工具及相应的仿真器和开发板。相对而言,STM32单片机则基于先进的ARM Cortex-M内核设计,不仅主频较高,而且集成了丰富的外设资源,展现出高度的稳定性,尤其适合于执行复杂的控制任务。从成本效益角度分析,MSP430单片机虽具备低功耗优势,但其价格相对较高,且开发难度较大。STM32单片机虽然价格略高于某些基础型号,其学习曲线同样较为陡峭,但其广泛的应用认可度和强大的功能集使其成为开发者的优选。综合考虑本系统对性能、功能及开发效率的需求,最终决定采用STM32作为系统的核心单片机,此番选型决策旨在平衡成本、性能及开发可行性,确保系统设计的优化实现。
STM32单片机接口原理图如图2所示,在构建水产养殖环境监测系统时,STM32单片机通过精细的引脚配置实现了对各模块的高效通信与控制。PA1引脚被用于连接温度检测模块,以监测水质温度;PA5与PA6引脚则分别承担起连接pH值检测模块与浑浊度检测模块的任务,用于评估水质的酸碱度及清澈程度;同时PB10与pH11引脚协同工作,连接电导率检测模块,进一步获取水质导电性能的关键参数,这些连接共同构成了对环境水质参数的全面监测网络。在数据传输方面,PA9与PA10引脚被配置为连接无线模块,主动承担起将移动端设备与系统集成,并实现信息实时传输的职责;此外PB4至PB9引脚负责连接TFT彩屏,让屏幕被动地展示实时水质参数,为用户提供直观的视觉反馈;另一方面PB12至PB15引脚则控制着按键电路,允许用户主动设置参数的阈值,以便根据实际需求调整监测系统的灵敏度。PA13引脚连接至蜂鸣器报警模块,一旦监测到水质参数超出预设范围,该模块即被激活,发出清晰的警报声,确保系统能够及时响应异常情况。综上所述,通过这一精心设计的引脚配置方案,STM32单片机得以有效地管理并协调各模块间的交互,从而保障了水产养殖环境监测系统的稳定运行与高效性能。
Figure 2. Schematic diagram of the single-chip microcomputer interface
图2. 单片机接口原理图
3.2. 温度传感器模块
DS18B20是典型的数字温度传感器,凭借独特的单总线接口设计实现指令与数据的数字信号传输。相比模拟类温度传感器,其性能更为优越,硬件结构精简且扩展性强,抗干扰特性突出,多项特质叠加赋予它在实际应用中不可忽视的优势,温度传感器电路图如图3所示。
Figure 3. Circuit diagram of temperature sensor
图3. 温度传感器电路图
3.3. 浑浊度传感器模块
浑浊度传感器模块电路如图4所示,TSW-30浊度传感器作为一款精密仪器,主要用于监测液体中悬浮物或溶解物的浓度,依托光散射与吸收机制运作,内部配备了光源和接收模块,从光源发射出的光穿过液体时会因颗粒或者溶质触发散射现象,而接收组件则负责捕捉这些散射信号,通过检测散射光强的变化及其角度分布,便可以推测液体的浑浊程度。在高浊度条件下,散射更显著且电路中的光电流也更强,而低浊度环境里由于散射微弱致使电流偏低,此设备能够经由光线强度的衰减评估溶液成分。在浊度测量体系中,传感器发出的电信号将被转化为相应电压,随后传递给芯片执行模数转换任务,如此一来便搭建起了一套高效的水体浑浊监测链条。该组件设有模拟与数字两种输出端口,单片机借助内嵌模数转换器对模拟信号进行采样,以获取水质浑浊度的实时信息,数字接口这边则通过可调电位器精确设定浊度检测启动阈值,水体浑浊度超标时D1信号灯就会点亮,同时传感器组件的信号输出从高电位变成低电位,单片机在捕捉到电平变化之后,能够立即判断水质浊度是否超出界限,进而触发警报或与其他系统联动响应,此模块操作简便、成本低廉且测量精度较优。
Figure 4. Circuit diagram of turbidity sensor
图4. 浑浊度传感器电路图
3.4. pH检测模块
工业级pH变送器价格昂贵,而通用检测笔又有不少局限,故本文采用pH检测采集传感器模块,旨在提供一种低成本、易操作且精度较高的解决方案,以满足市场对低价高质pH监测设备的需求。该pH值检测传感器组件能轻松搞定液体pH值测量,核心部件是pH电极和pH值转换器,pH电极通过BNC接口输出毫伏级信号,该信号被放大后由pH转换器转为0~5伏特的电压范围,单片机可直接读取此电压信号并据此算出待测液体的pH值。在进行pH值检测时需准备好三组pH值各异的标准溶液,正确安装好传感器模块与电极后,把电极放入pH值为6.86的标准溶液里即可。通过调节电位器使微控制器P0口输出电压稳定在2.5 V,接着将电极按顺序浸入三种标准溶液并记录输出电压值,已知溶液pH为6时实验数据呈现输出电压分别为2.52、3.00和2.12对应不同的pH值4.00、9.18以及4.00,这种关系建立起了电压与pH值之间的对照纽带,实际测量待测液pH值的操作中首先需要把pH电极置入液体而后通过采集设备获取电极的输出电压信号再借助特定公式完成从电压到pH值的结果转换,pH值传感器电路图如图5所示。
Figure 5. Circuit diagram of pH value sensor
图5. pH值传感器电路图
3.5. 水质传感器模块
TDS即水中溶解总固体浓度的指标,包含无机盐、矿物质、微生物以及有机物等成分的含量,计量单位常用毫克/升。这个数值与水体中的溶解物质和杂质密切相关,数值越大则杂质越多,在一些情况下TDS值能够反映电导率状况,都可用于判断水溶液里的溶解物质总量。一般通过电导率测量能粗略估算水中盐分浓度,一般电导率数值提高意味着溶解盐分增多,这自然也对应着TDS值提升,TDS值和电导率二者有关联。水质监测部分通过监测电导率的数据变化来评估各类水体的总溶解固体含量,同时分析化学水质中电解质的导电特性,电导率传感器电路如图6所示。
Figure 6. Circuit diagram of the conductivity sensor
图6. 电导率传感器电路图
4. 系统软件设计
4.1. 主程序设计
系统主程序设计流程图如图7所示,首先系统主动展开一系列初始化进程,包括时钟的配置调整、定时器引脚的设定、液晶显示屏的初始化激活、蜂鸣器驱动的配置部署以及无线接口模块的初始化准备,同时对pH值、浑浊度、按键、温度和电导率等传感器模块也进行了相应的初始化工作,待所有初始化步骤悉数完成,系统便进入核心模式。
在核心模式中,系统首先检测按键的电平状态,判定按键是否已被触发。一旦检测到按键按下,系统立即对采集的传感器数据进行处理,并通过分析确保数据的有效性;处理完毕后,数据被主动发送至无线数据模块进行传输,同时触发蜂鸣器驱动发出提示,液晶显示屏数据也随之更新,反映系统当前状态。若检测到按键未按下,系统在短暂延时后,再次进入处理流程,数据被传递至无线模块和蜂鸣器驱动处理,以维持系统运行。
Figure 7. Flowchart of the main program design
图7. 主程序设计流程图
4.2. 报警子程序
系统设计选用了集成蜂鸣器报警的思路,蜂鸣器本身电流需求较高,为了确保其稳定运作,电流放大环节自然成了重点。当单片机引脚发出高电平时,三极管进入导通状态,给蜂鸣器提供了一个顺畅的回路完成声音输出,如果单片机调整为低电平输出时,三极管随之关闭,声音也随之中断,随之完成了信号反馈的闭环。蜂鸣器报警流程图如图8所示,程序启动后系统检测报警情况,未能捕捉到报警信号时,系统会重复进行读取工作;当检测到报警程序生效后,蜂鸣器进行报警工作,程序的执行结束。
Figure 8. Flowchart of alarm program design
图8. 报警程序设计流程图
Figure 9. pH detection flowchart
图9. pH检测流程图
4.3. pH检测子程序
pH值检测流程图如图9所示,在pH值传感器模块的程序执行过程中,首要步骤是配置AD引脚并生成相应的时钟信号;其次单片机担起读取任务,将实时采集的模拟信号转换为数字量,并进一步转化为电压值;在进行AD转换检测时,若检测到转换尚未完成,则系统会将未完成的数据主动回传,并等待再次读取的机会;而对于已完成转换的数据,系统则直接提取其字节信息,计算电压值,进而得到pH值。
4.4. WiFi子程序
WiFi模块是基于串口数据控制和接收的模块,只要其串口引脚和单片机串口引脚连接,单片机即可读取相关数据,同时单片机只需串口发送对应指令即可实现对该模块的控制。WiFi程序流程图如图10所示,首先检测模块是否通过串口输出数据,若检测到数据,程序进入WiFi串口检测设置函数,完成相关配置;其次检测是否触发工作条件,若条件满足,单片机通过串口输出数据以控制模块工作;若任一检测条件不满足,程序直接回到初始情况,重新等待下次唤醒。
Figure 10. WiFi program flowchart
图10. WiFi程序流程图
5. 测试与分析
在进行系统功能测试前,先核查实物焊接情况是否正常,随后打开Keil软件进行程序编译、调试,防止潜在问题干扰后续操作流程的准确性与稳定性。系统上电后,各模块指示灯正常点亮,TFT彩屏显示当前采集数据,表明系统正常启动,开始检测系统各功能模块运行情况。
检测功能测试图如图11所示,从图中可以看出养殖环境中的pH值、电导率、浑浊度和温度等环境参数都检测出来了并显示在显示屏上;同时,用户也可利用系统WiFi模块连接养殖监测系统,在移动端实时监测参数变化。
Figure 11. Test function test diagram
图11. 检测功能测试图
声光报警模块在系统监测到养殖环境参数超过阈值时会进行声光报警,提醒养殖人员对养殖环境进行人为调控。预警功能测试图如图12所示,从图中可以看出当浑浊度超过阈值时,系统即刻发出预警,灯光闪烁且蜂鸣器工作。
Figure 12. Warning function test diagram
图12. 预警功能测试图
6. 总结
本次设计的水产养殖检测系统集成了温度传感器模块、浑浊度传感器模块、pH值传感器模块、TDS水质传感器模块、WiFi连接模块、显示模块、按键模块等,能够实时监测水温、pH值、浑浊度、电导率等水质参数,为养殖户提供较为全面准确的水质信息;同时也支持远程监控和多元化数据访问,提高养殖场的管理效率;具备实时预警功能,能及时发现并处理潜在问题,预防养殖风险;最重要的是考虑的环境因素较全面,降低人力成本,实现资源的有效利用,可以促进养殖行业的绿色可持续发展。
该监测系统也存在一定的不足,例如溶氧量的监测未能实现、在监测到部分水质参数超过阈值时不能自行执行解决措施、智能化较低等问题,这都是本系统进一步研究与发展的方向,在不断发展与完善后,水产养殖系统将广泛应用在水产养殖行业,为养殖户提供强大助力,推动水产养殖业的繁荣发展。
基金项目
广州软件学院校级项目(ky202410)。