基于水质监测的单片机课程设计与实践
2021-11-04成都大学电子信息与电气工程学院李跃鹏刘一达
◇成都大学电子信息与电气工程学院 李跃鹏 刘一达 雷 霖
本文阐述一种水质监测的单片机课程设计实践过程。该实践过程分阶段完成课程设计目标任务,各阶段分别对方案论证、软硬件设计、目标测试等环节进行了介绍。实践表明,该课程设计的装置能够对水质有效监测同时培养学生硬件与软件设计综合思考和工程实践能力。
设计一个水质测量软硬件综合的课程教学实验,提高学生应用动手能力的同时,也培养学生工程应用中软硬件综合设计和统筹思考的能力。本课程设计利用单片机系统的课程原理,结合传感器技术、电子电路技术、C语言、通信原理等课程知识,综合设计一种能够对水环境温度、TDS值、pH值进行检测的课程实验装置。该课程设计课堂24学时(1.5学分)完成整个课程课堂实践讨论,2周的课后实践完成整体实验装置实物制作和检测。
1 课程设计方案
方案论证是本课程设计训练的第1阶段,要求学生4学时完成功能需求分析以及方案的设计与论证。方案采用ATmega328单片机作为控制器。温度是影响水溶解性的重要指标,应用S18B20数字传感器D,能够稳定准确输出信号温度数字信号[1];TDS(Total dissolved solids,总溶解度固体)是衡量水所含杂质重要指标,选择DFrobot的SKU:SEN0244 TDS传感器,直接和Arduino主控器连通后,实现对水质的TDS值进行检测;采用(SKU:SEN0161)pH meter pH计设计信号处理电路,实现对水质的pH值监测[2]。设计WiFi模块,通过无线网络将检测结果实时上传到云服务器,并在手机APP中进行显示。图1为课程设计方案框图。
图1 课程设计方案框图
从图1可以看出,该系统需包含WiFi通信模块,用于检测参数的接收和发送。配合WiFi模块同时需要开发手机APP供用户实时查看检测结果。电源模块提供外接5V电源,水质检测模块主要包括温度检测模块、TDS检测模块、pH检测模块[3]。电源模块同时为WiFi模块和其他检测模块提供多电压电源,APP采用机智云-IoT物联网平台进行开发,WiFi模块可通过串口与MCU进行连接并进行数据交换。
通过对方案设计分析,需要学生在课后完成相关传感器、信号处理、无线通信技术等知识的查阅学习,该过程可以训练学生资料收集、知识归纳整理的能力。
2 课程电路设计
课程设计的第2阶段为硬件电路设计实践阶段,要求学生8学时完成设计与制作。
2.1 电源电路设计
电路设计中需多种电路电压源,其中以ATmega328为核心的控制器电源电压为+5V,TDS信号检测电路供电电压±3.0V,PH值信号检测供电电压为±5V,WIFI通信模块电路的供电电压为3.3V。本系统采用USB供电和常规的直流电源电池供电,USB供电与常规直流电源供电采用二极管限流隔离,采用DC/DC变换为控制系统电路提供所需要的电压值;外接电压BAT范围为6V至20V,为了保证更加精准的5V电压,防止电压过高穿透芯片,本设计选用的是 NCP117ST50T3G 系列电源稳压芯片,该类型芯片可以将电压输出在1.5~12V之间。选用LP2985-33DBVR进行3.3V直流电压输出,选用ME6206A30M3G稳压芯片实现+3V的直流电压输出设计,同时采用TPS60400DBVR芯片作为电压变换器,将+5V/+3V变换输出-5V/-3V的信号处理电路电压[4]。详细设计的电路如图2所示。
图2 电源电路
2.2 课程传感器电路设计
在水质监测过程中,TDS值和PH值是最重要的衡量指标。TDS检测仪器主要是TDS笔,其原理是TDS笔的两个电极引脚放入到水中,在两端加上固定的电压,然后测电极之间的电流I,电导率检测是与水体的温度紧密相连,故在程序设计中设置温度传感器DS18B20对温度进行采集[5]。根据式1可以计算出水质的电导率数值。
其中:Gt为 固定水体温度下的电导率,Gt0为正常温度(一般认定为25℃)下的电导率,β为温度系数。设计电路如图3所示。
图3 TDS信号采集电路
由于TDS信号检测电路中,为了能够让TDS电极信号能够被有效采集,需要设计激励源电路产生激励信号,同时也需要信号处理电路对采集信号放大和滤波。本设计采用以CD4060B数字计数器为核心的电路产生激励源信号,同时应用LM324设计两级放大电路,对TDS信号进行放大,应用RC电路对信号进行滤波,并通过AD接口ADC1_TDS接口保证控制器能够对信号进行准确采集[6]。设计的实际电路如图3所示。
在本次设计中,采用了(SKU:SEN0161)pH meter pH计,Arduino主控器搭配这款模拟pH计可以很便捷的进行使用。应用P3接口连接pH探头,再通过TL081BCDG4和CA3140AMZ两级运放,将信号放大后将所测得的信号通过AD接口ADC2_PH输入到微控制器中,电路中R14电位器用于对实际PH值测试时与标准溶剂校准使用,完成信号的分析处理。设计电路如图4所示。
图4 pH值采集电路
2.3 课程处理器与通信单元电路设计
控制处理器采用ATMega328,其核心处理器采用AVR处理器,ADC接口PC2接入PH值,PC1接入TDS值,IO接口PD4接入温度值。设计电路如图5所示。
图5 控制通信单元电路设计
在本系统中采用WIFi通信,将采集的数据接入到数据云端,同时应用手机APP对云端数据进行显示和通信的接入设置,使用ESP8266 WIFI模块搭配机智云-IoT物联网云服务平台及智能硬件自助开发平台进行应用的搭建[7],将机智云GAgent for ESP8266固件烧录到的ESP8266 WiFi模块,实现手机APP、云服务器和MCU三者之间的传输设计。该阶段是课程设计的关键阶段,需要学生有独立的电路设计、实践动手能力。该阶段的顺利完成才能为第3阶段的软件硬件综合实现打下基础。
3 课程软件设计
课程的第3阶段主要为软件实现阶段,需要学生根据课程设计方案和实物硬件,完成软件程序的设计,课堂实践环节10学时。
本课程设计中,首先对WiFi电路模块刷入固件,利用ATmega328对pH、TDS、温度的数据进行采集,同时对pH/TDS水质数据进行整合处理,其中应用温度对TDS进行补偿,微控制器利用WiFi通信将分析完成的数据发送到机智云平台,同时利用手机APP对机智云平台所共享的数据进行查询,并查看与国家标准的对比情况,采集软件设计的总体流程如图6所示。
图6 终端软件设计流程
在数据处理中,针对选型的TDS传感器特性,采集的电压值信号与TDS值得对应关系如式(2):
其中TDS为最终溶解度固体值,单位为ppm(百万分比浓度),V值为TDS传感器采集的电压值。
本系统中选择的pH计采集的电压值与实际的pH值的对应关系如式(3):
其中pH为显示pH值,范围为(0-14.0),V为pH计采集的电压值,Δ为与标准校验值,用于对pH计测量的偏差校正。
本次系统前期调试测试中,选择pH值分别为6.86、4.0以及9.18的标准缓冲液对pH计进行校准[8]。在酸度校准中,将pH电极插入pH值为4.00的校准液中,等待一分钟后,调整增益电位器(硬件电路R14),使pH值尽量稳定在4.00左右。碱性段校准采用pH值为9.18的标准液,同样是调节增益电位器,使之稳定在9.18左右。该阶段要求学生有单片机C语言编程设计能力,能够应用软件语言完成数学模型的建立与运算。
4 课程设计测试
完成装置软硬件设计后,对系统的性能进行测试,这是整个课程设计的第4阶段。对系统的基本功能测试,包括温度检测、TDS检测、pH检测、数据通信和手机APP接收等,确认功能已经达到。首先,将温度检测、TDS检测、pH检测三个探头放入准备好的水质待测样品中,从左到右依次为温度探头、pH探头和TDS探头,如图7所示。
图7 终端装置测试
打开手机APP,关联本地无线局域网,连接成功后可在设备列表里看到水质检测设备已连接。点击已绑定的设备,即可看到水质检测的结果。本次检测为了对比,采用了两个样本,即第十教学楼的自来水和烧开后放置到常温的饮用水。明显可以看到自来水的TDS值高于饮用水。
在测试过程中,本次设计对学校的几处水质进行了抽样检测,检测结果如表1,参考国家标准,理想的饮用水TDS值应在0~200之间,TDS值在200~400之间为可以接受的自来水,而TDS值超过500的水属于较差水质[9]。根据检测结果,如表1所示,本系统对某高校部分水质抽样调查的结果可以得出结论,该校大部分自来水水质符合国家要求,十教5楼自来水检测时由于水龙头生锈或者其他原因造成TDS值偏高。检测结果中,某宝纯净水的TDS值为0,符合国家对纯净水的要求标准。
表1 学校部分水质检测结果
5 结语
单片机课程设计是物联网及电子信息领域重要内容。从本实验系统的设计和测试过程中,系统利用机智云平台,实现了采集终端、机智云端、手机APP三者互联,实现了对水质情况的实时采集和远程查询。水质监测的单片机课程设计与实践,即使学生加强了工程系统的实践动手能力也使得学生学会了硬件电路和软件平台设计相结合的理念和统筹思考的能力,同时提高学生分析和解决问题的能力。