游弋式小船水质监测控制系统的设计

2022-11-01 05:37阮承治吴鸿兴郝佳莹邓瑶铃欧阳林群
黑龙江工业学院学报(综合版) 2022年10期
关键词:指令水质单片机

阮承治,吴鸿兴,陈 飞,郝佳莹,邓瑶铃,欧阳林群

(武夷学院1.机电工程学院;2.农机智能控制与制造技术福建省高校重点实验室,福建武夷山354300)

随着科学技术的突飞猛进,必然会带动经济的快速增长,但是在这一发展的过程中,对我们赖以生存的环境也产生了一定的影响,其中水质是受影响最为明显的一个方面,所以水质的检测对于水环境保护起到一个非常重要的作用[1]。目前淡水处在一个短缺的状态,如果对水的检测存在滞后或误差,那对水资源的浪费和利用效率就存在较大影响,从生态安全和经济环保的角度来看,水质的检测是非常有必要的[2]。上个世纪七十年代,美国、日本等国家,已经开始使用电子化设备进行水质的检测,但检测的精度依然还存在较大误差,也是由于技术和科技的限制,导致过去大部分国家对水质检测存在准确测量的问题[3-4]。

对于水质检测的环境问题,本文推出游弋式小船水质监测的设计,它是一款基于STM32单片机编程的便于用户操作的系统,检测的水质信息有:pH值、溶解度值、浑浊度、温度值等,这些水质参数在很大程度上决定着水质量的好坏。该系统具有直观、便于操作、针对性强、水质检测灵敏高的特点。使用该系统控制器,能减少水质检测的工作量以及经费支出,有效的监测水质环境变化。

1 总体方案

智能水质检测系统主要以STM32单片机为主控核心,通过与无线通信模块、水质传感器等模块的有效结合,组成了一套智能化水质检测系统,系统总体设计方案如图1所示。各类传感器模块进行A/D采样,并将采集的数据送到单片机进行滤波、转换等处理。之后再通过无线通信模块将采集的水质数据发送到上位机,用户在上位机进行相关的指令操作便能实时掌握当前水域的水质情况[3],同时也能控制小船的运行轨迹。

图1 系统总体设计方案

2 系统硬件电路的设计

本系统的设计是以STM32单片机为主控系统[5],该系统是由单片机最小系统和温度检测模块、溶解度检测模块、浑浊度检测模块、WIFI通讯模块四个部分电路构成。其中,WIFI通讯模块主要用于系统数据的传输与接收。

2.1 主要子模块电路

2.1.1 温度检测电路

温度检测电路设计是利用温度的变化影响电阻量的变化,从而引起电压的变化。温度感应传感器需要使用对温度敏感的热电偶或热电阻,信号转换器则需要由温度的电压测量单元和电压信号处理及电压的转换单元组成;一般用利用四线制接发,在热电阻RT1的根部两端各连接两根导线的方式称为四线制,其中两根引线与R1和R2串联为热电阻提供恒定电流I,把RT1转换成电压信号U,将电路反馈的电压大小传给单片机进行A/D转换得出温度值,利用这一原理可以设计温度检测的功能[6],温度检测电路如图2所示。

图2 温度检测电路

2.1.2 溶解度检测电路

水质溶解度能反映溶解在水中所有固体物质的多少,该值间接反映了水质的好坏。该模块设计用电极法去测水溶液的导电能力,将两个电极分别放入溶液中,根据欧姆定律计算出两电极间的电阻值,当温度稳定量不变时,其计算电阻的公式如式(1)所示,其中P为电阻率,L为电极间间距,A为电极的截面积。

(1)

由于A、L是固定不变的,故L/A是一常数,称为电导池常数Q,即电导池常数计算如式(2)所示。

(2)

电导S与电阻R成倒数关系如式(3)所示。

(3)

电导率K与电阻率p成倒数关系公式(4)所示。

(4)

用标准溶液校准,获得电导池常数Q再测水样得到电阻R,即可求出K,如公式(5)所示。

TDS=0.55K

(5)

本模块设计原理利用电极端输入可变的电压,它可以在溶液中产生细小电流,利用公式计算出电导率。如图3为溶解度检测TDS传感器接口电路,通过将该传感器两端接入TDS2和TDS3,TDS1和TDS3分别连接单片机的两个普通IO,TDS2连接至单片机AD测量IO。通过控制TDS1和TDS3进行高低电平交替输出,等效于采用交流驱动TDS传感器。电流流过R8电阻和TDS探针及溶液形成回路,则可测量TDS2端的电压,根据电阻分压原理,即可求出TDS两探针之间的电阻值,即溶液的阻值,从而换算出水质中溶解度。

图3 溶解度检测电路

2.1.3 浑浊度检测电路

浑浊度检测电路的设计,当有光束穿入水中时,遇见水中的杂质会发生散射,利用测量与入射光垂直方向的散射光强度与内部的基准值进行分析比较,利用比例关系计算浑浊度大小,水中的悬浮颗粒越多则水浑浊度越高,透过光线的强度则越弱,接收端转化出来的电流也越小。反之水的杂质越少,穿过的光越多。根据电路设计AO口的电压变化,经过换算公式计算出浑浊度的值。浑浊度检测电路如图4所示,当通过水质的入射光照射到该电路的光敏电阻上,光敏电阻LDR1的电阻值会发生变化,光越强电阻值越小,电流通过LM393集成电路进行比较,大于阈值DO端输出高电平,反之输出低电平,随着光敏电阻的阻值变化,AO端口则输出变化模拟电压[7]。

图4 浑浊度检测电路

2.2 电源电路

电源电路是5V转12V电路,如图5所示,当开关闭合时,5V电压源流过电感,通过电感微分方程计算得电感会在2.2us时充电至2.4A。

当开关断开时,流过电感的电流通过二极管D5流到电容C13和电阻R10,此时对电容C13进行充电,电阻R10上的电压通过计算大约为12V,当开关按钮再次按下时,二极管D5截止,电流只经过电感,对电感继续进行充电。此时电容C13没有进行充电就会达到放电的过程,通过电容微分方程计算的电流会流到负载电阻R10电压会达到12V左右。

图5 电源电路

2.3 WIFI通讯电路

本文设计的通信模块主要是与STM32单片机进行通信使用,该通讯模块需要设计一个可以复位程序的电路,它需要一个电阻、一个电容和一个开关,当RST端为高电平时(1.5V)进行复位,低电平正常工作(低于1.5V)。如图6为WIFI通讯电路。

图6 WIFI通讯电路

模块上电时电容会进行充电会在0.1S内电容两端的电压在0~3.5V中上升,电容和电阻是串联的,根据分压原理,模块在上电的1.5S内会自动复位,当开关没有按下时电容进行充电,一旦电压充到接近电源电压的大小时,此时电阻的两端电压根据电路设计会接近为零,当RST端为低电平时,模块正常通讯进行工作,当按键按下后电容两端形成回路进行放电,电阻两端电压升高到3.5V甚至更高,此时RST端为高电平。

3 系统程序的设计

3.1 主程序设计

本系统软件设计采用的是C语言编程设计,通过模块化设计方式完成系统的功能实现[8]。先需要配置STM32单片机系统的时钟和涉及相关功能的外设,配置好后进行单片机系统时钟与外设的初始化。ADC外设模块开始对水质环境进行数据采集,然后转换成相应的电压大小,完成后DMA外设将转化后的数据搬运到单片机的存储器中,等待用户发送指令。若单片机收到用户发来的指令(单片机以串口接收中断的方式接收用户发来的数据),单片机进行识别并判断是操作小船行驶的指令还是水质检测的指令,识别与判断成功后进行相应的小船行驶功能执行;或者是小船通过串口发送水质检测的数据,执行完成后程序返回到用户指令判断处,循环进行识别判断指令。若单片机没有收到用户发来的指令则不执行操作,程序返回到ADC信号采集与转换,并转化为数字量[9-10],如图7为主程序流程图。

图7 主程序流程图

3.2 A/D转换程序设计

A/D转换器(ADC)就是将模拟信号转换成数字信号[11],本系统采用的是逐次逼近型ADC,转换步骤依次为采样、保持、量化、编码。水质检测参数的pH值、温度值、溶解度值、浑浊度值都是通过STM32的ADC外设进行A/D转换,将水质检测模块反馈的模拟电压转换为数字量,经过相应的计算得出水质参数值[12],如图8为A/D程序流程图。

STM32单片机的ADC采集的模拟电压范围是0~3.3V,如果高于3.3V很有可能损坏该外设,所以将水质检测的各模块输出电压信号用信号电路调理后,使其输出电压范围为0~3.3V,经过A/D转换为数字量并根据转换公式算出水质参数值。

图8 A/D程序流程图

4 系统测试与验证

4.1 系统数据精度与传输测试

本系统对通讯数据的测试是通过系统的软件程序设置与收到数据数量的情况是否匹配以及收到的数据是否准确,三大方面来进行对比验证。方案如下:通过软件编程设置每过一秒系统将上传一次数据给用户,一共发送12次数据,分为3组数据,每组有4个数据分别为温度值、溶解度值、浑浊度值、pH值,通过手机App上的数据显示,进行对比,判断收到的数据是否存在缺失或过多,其次判断系统发来的水质数据与实际的水质数据是否存在较大的偏差。表1为水质实际数据表,图9系统通讯测试与控制界面图,其中温度的单位是摄氏度,浑浊度和溶解度的单位是(mg/L)。经过图9的数据显示,系统软件程序设置的水质传输次数与收到的水质信息次数都是12次是匹配的,通过表1水质实际数据和表2水质测试数据的计算与整理,温度平均相对误差为1%左右,溶解度平均相对误差为1%左右,浑浊度平均相对误差为1%,pH平均相对误差为1%。通过验证收到的水质信息与实际的水质信息在符合设计误差范围当中,因此判断该系统的通讯传输功能是稳定有效的。

表1 水质实际数据

表2 系统水质测试数据

4.2 系统整体运行测试

对系统放入湖泊进行整体的运行测试,先用手机app对系统分别发送前进、后退、左转、右转的指令,指令会通过互联网上传到手机软件服务器上,再转发给WIFI通讯模块,通过串口USART发送给主控STM32单片机,等待单片机对收到的数据进行识别判断后,进行相应的指令操作控制,然后观察系统小船的运行状态是否按照指令去执行,通过实验现象如图10所示为小船的运行轨迹图,可以判断小船的运行状态完全按照发送指令去执行。其次再对系统发送获取水质信息的指令,发送指令获取的水质信息有溶解度值、浑浊度值、温度值等,通过对系统反馈的水质信息数据与实际的水质信息数据进行综合性对比分析后,判定是否在系统设计的误差范围当中的。对以上的系统整体运行测试,进行总体的分析对比后,可以判断该系统的运行性能是稳定和有效的,符合系统设计要求的标准。

图9 系统通讯测试与控制界面图

图10 系统运行轨迹图

5 结论

水质环境的优劣对于经济、生态、社会、国家都是至关重要的,该论文主要分析与研究影响水质环境的因素,针对从事水产行业的用户是极为友好且实用的,所以本设计以如何实现检测多种水质参数为目的进行展开,利用对数据误差分析方法,在保证水质数据准确性的前提下,及时将水质数据通过WIFI模块ESP8266用物联网的方式进行通讯反馈给用户。

通过不同的水质测试实验,得到系统反馈的水质信息数据,与真实的水质数据进行对比,相对误差范围大约在1%~3%左右,可以判断该水质监测系统具备测试水质参数信息的功能,并能在不同水域稳定运行,系统反馈的水质信息数据经过判断是及时有效的,符合从事水产行业的用户使用。

猜你喜欢
指令水质单片机
关于如何做好水质环境监测的质量保证研究
基于 Verilog HDL 的多周期 CPU 设计与实现
《单一形状固定循环指令G90车外圆仿真》教案设计
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
关于水质监测对环境保护的意义
基于单片机的多功能智能插排
基于单片机的便捷式LCF测量仪
图像识别在水质检测中的应用
中断与跳转操作对指令串的影响