新闻  |   论坛  |   博客  |   在线研讨会
基于单片机的水温液位自动控制系统设计
dianlaotie | 2022-03-25 13:38:15    阅读:1418   发布文章

设计一个测温及液位自动控制系统,水位和水温都可以在一定范围内由人工设定,当液位低于设定下限值时,系统能自动加水,以保持设定液位高度不变。当温度低于设定值时,系统能实现自动加热,以保持设定的温度基本不变。

系统设计具体要求如下:


(1)液位可在正常工作范围内任意设定,上、下限之间最大高度差为100mm;


(2)自动完成注水(液位偏差小于5mm),达到设定液位时要有明显的声音提示;


(3)具有液位超下限(可设)自动注水功能,自动保持设定液位高度,偏差小于2mm;


(4)加热温度可在室温至100℃之间任意设定;


(5)自动完成加热(温度偏差小于5℃),达到设定温度时要有明显的、有别于液位的声音提示;


(6) 具有温度超下限(可设)自动加热功能,自动保持设定温度,偏差小于1℃;


(7) 通过手机完成对该装置工作参数无线监控。


整个系统采用单片机作为系统核心控制器,接+5V直流电压源。按下系统总电源开关后,系统开始运行,显示器显示系统当前状态。用户可以通过蓝牙手机遥控预置温度和液位高度值。接下来系统会对容器内的水温和水位进行检测,判断温度和水位是否低于设定值,当低于水位设定值时,单片机会通过控制继电器的闭合来启动水泵给容器内上水;若是低于温度设定值,则单片机会通过控制继电器的闭合来启动电热壶进行加热操作。每次完成任务后系统都会有相应的语音提示,让用户在操作过程中拥有良好的听觉感受,这使整个系统的设计更加具有人性化。

温度采集电路

本设计中对容器内温度的采集在控制系统中占有很重要的一部分,要想得到精准的控制效果,精确的温度信号是关键所在,因此在本设计中采用DS18B20温度传感器进行温度采集。DS18B20温度传感器具有独特的单线接口,只需1个接口引脚即可通信,信息通过单线接口即可送入DS18B20或从DS18B20送出。与单片机电路连接图如图所示。

DS18B20与单片机的硬件连接图


液位检测电路

本设计中采用了US-100超声波传感器来检测容器内的水位,由单片机控制超声波模块****并进行检波接收,通过串口RX(P3.0引脚)输出指令0x55到超声波的Trig/TX管脚,超声波传感器会驱动超声波****探头向外****出超声波,遇到障碍物后****出去的超声波会被反射回来,超声波传感器检测和处理后,结果会通过Echo/RX管脚输出到单片机的P3.1口,共输出包含两个字节的距离值,前一字节代表距离高8位(HDate),后者代表距离低8位(LData),计算出(HData*256 +LData)的值即为传感器距容器内液面的高度,由单片机处理后控制显示出来,其硬件连接图如图所示。

显示电路

本设计中显示模块采用的是型号为LCD12864的液晶,通过它可以显示出当前水温和水位的状态,使容器内的水温水位状态有了一个更为直观的显示。串行连接除电源线接地线外,只连接3个管脚即可与单片机进行通信。液晶的片选信号端CS、数据口SID端以及同步时钟端SCLK分别按顺序与单片机的P2.0、P2.1、P2.2口相连接,连接电路图如图所示。

蓝牙传输电路

智能手机已经成为了当代人们必备的信息交流工具,而现在的智能手机都具有蓝牙功能,本设计中利用外围单片机通过串口对蓝牙模块进行开发,使蓝牙模块和蓝牙手机建立连接,实现蓝牙设备与蓝牙手机之间的无线通信,使用者通过蓝牙手机即可对该系统进行参数设置,从而实现用手机完成对装置工作参数的无线监控的目的。系统采用型号为HC-06的蓝牙模块,该型号蓝牙模块结构功能简单合理,成本低且能满足需求。

继电器控制电路

继电器实际上是一种用小电流控制大电流的“自动开关”,通常应用在自动控制电路中,起着安全保护、自动调节等作用,是一种电子控制器件。本控制系统利用固态继电器的常开触点来作为接通辅助加热器和加水装置的开关。水温的加热是通过电热壶来实现的,对于电热壶这种大功率交流元件,STC12C5A60S2是不可能通过自己的引脚来完成的,而需要通过功率放大元件利用220V的交流电来实现加热和加水。对继电器动作与否的总控制信号是P1.3口。当CPU向P1.3发高电平信号时,进入三极管Q2,此时固态继电器导通,同时D2发光二极管点亮,指示工作状态为正在辅助加热。

电加热控制电路

水位的补偿则是通过水泵来实现的,水泵是大功率交流元件,STC12C5A60S2无法通过自己的引脚来完成对它的控制,而需要通过控制继电器的闭合220V的交流电来实现水泵加水,控制电路如图所示。对继电器动作与否的总控制信号是STC12C5A60S2的P1.4口线。当CPU向P1.4发高电平信号时,进入三极管Q1,此时固态继电器导通,同时D1发光二极管点亮,指示工作状态为正在加水。

水泵上水控制电路


主程序设计

主程序是整个系统软件中的管理者,它管理着程序的走向以及各个子程序的调用。系统启动时,程序开始运行对各个I/O口进行初始化操作,然后启动超声波传感器和DS18B20温度传感器对容器内的水温水位进行采集测量,并做出相应的处理。然后将采集到的数据与设定值进行比较,通过计算后根据PWM脉冲控制继电器的闭合程度,从而控制水泵和电热壶来实现水温水位的调整。主程序流程图如图所示。



温度控制程序设计

本系统的水温采集系统是实时的,系统初始化时,将水温监测模块对应的DS18B20启用。DS18B20测出的实际温度送入单片机中与目标值相比较,调用PWM脉冲产生子程序对电热壶所对应的继电器进行控制。温度控制流图如图所示。

水位控制程序设计

首先我们需要对串口进行初始化设置好定时器的工作方式,然后通过程序驱动让单片机向超声波传感器的Trig/TX管脚发送指令0x55,此时超声波会****8个40KHZ的超声波脉冲,检测到回波信号后,将包含两个字节的距离值传送给单片机,通过计算得出容器内的液位高度,由单片机控制调用PWM脉冲产生子程序对水泵所对应的继电器进行控制,并将当前水位状况送到液晶显示出来。液位控制流程图如图所示。


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客