找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3887|回复: 0
收起左侧

单片机PID算法水温自动控制系统设计与调试

[复制链接]
ID:794741 发表于 2020-7-1 14:08 | 显示全部楼层 |阅读模式
第1章              概述
第2章              方案论证与选择
2.1              系统总体方案的选择
2.2              加热棒
2.3              显示部分器件
2.4              无线通信部分
2.5              语音播放部分
2.6              输入设备的选择
第3章              系统结构图及硬件设计
3.1              系统总体结构图设计
3.2              主控端硬件设计
3.3              接收端硬件设计
第4章              系统软件设计
4.1              主控端流程图
4.2              接收端流程图
4.3              上位机软件功能图
第5章              系统调试说明
第6章              创新点
附录A 元件清单
附录B 系统原理图

随着计算机技术、测量仪器和控制技术的高速发展,现代冶金、石油、化工及电力生产过程中,应用了越来越多的先进测量控制技术、设备和方法。在这些众多的先进测量控制技术中,如何对水温进行控制成为焦点课题之一。
温度是极为重要而又普遍的热工参数之一,在环境恶劣或温度较高等场合下,为了保证生产过程正常安全的进行,提高产品的质量和数量,以及减轻工人的劳动强度和节约能源,及时准确地得到温度信息并对其进行适时的控制。
由于本设计是一个典型的检测、控制型应用系统,它要求系统完成从水温检测、信号处理、输入、运算到输出控制加热棒加热功率以实现水温控制的全过程,因此,应以单片微型计算机为核心组成一个专用计算机应用系统,以满足检测、控制应用类型的功能要求。同时,配以上位机,使该套应用系统具有实时绘制图表、语音播报、打印图表、数据回放等功能。

  • 方案论证与选择
    • 系统总体方案的选择
本水温自动控制系统分为主控部分、显示部分、接收部分、无线部分、上位机部分共五大部分,其中主控部分和上位机部分是本次设计的重点。
方案一:采用普通温度传感器对温度进行采集,采用普通加热棒加热,温度到达时停止加热,采用电机搅拌。
方案二:采用防水温度传感器对温度进行采集,采用PID算法控制加热棒加热,采用气泵使水运动起来。
方案对比:普通温度传感器只能在容器的外部对温度进行采集,不能很准确的反应实时的变化量。由于加热棒停止加热一段时间内仍然有加热的功效,所以如果温度到达时才停止加热,温度一定会超出目标温度很多,所以采用PID算法可以较为准确的控制水温的变化情况。因为水有惰性,如果不进行搅拌那么一个烧杯中的水上层和下层甚至可能会差十摄氏度,所以需要让水运动起来。由于容器较小,使用电机搅拌空间不足,所以采用气泵方式。综合比较,本设计采用方案二。



    • 加热棒
根据要求,要将1000ml也就是1kg的水从常温(20℃)加热到50℃,所需热量为Q=cmΔT=4.2×103×1kg×(50℃-20℃)=1.26×105J,两分钟内完成则需要至少(Q=W=1.26×105J)P=W/t=1.26×105J/120s=1050w的加热棒,考虑到热能的损耗和运用PID控制算法不能100%工作的情况,采用了两个800w的加热棒进行加热控制。



    • 显示部分器件
方案一:通过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示。在轮流显示过程中,每个数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度恰当,就会显示相应的数据。
方案二:LCD12864液晶显示器件由于具有显示信息丰富、功耗小、体积小、质量小、无辐射等优点而得到了广泛的使用,特别是内部含有控制/驱动器及中文字库的图形点阵液晶显示模块有很好的控制显示功能,能方便的和微处理器、单片机接口,并提供并行与串行接口方式。
方案对比:液晶显示较LED显示有无法比拟的优点,所以采用了液晶显示的方案。



    • 无线通信部分
无线选用频率是2.4GHz的NRF24L01无线模块。主要特点是支持双工,并且速度快,耗电量较低,支持多频段多地址的功能,在设计中使用了2个无线进行数据传输,其中无线地址使用了地址段,通信过程中使用了变址传输的方式和问询方式,来避免通信信道的拥挤造成的信息丢失。



    • 语音播放部分
方案一:ISD4004语音芯片是美国Winbond公司产品,芯片设计是基于所有操作必须由微控制器控制,操作命令可通过串行通信接口送入。芯片采用多电平直接模拟量存储技术, 每个采样值直接存贮在片内闪烁存贮器中,因此能够非常真实、自然地再现语音、音乐、音调和效果声。
方案二:采用上位机语音播报,上位机语音播报设计是采用多线程语音播报,在语音播报时不会影响到数据接收和数据显示。语音播报调用了微软的自动发音语音支持,可以任意使用多国语言进行语音播报,在重新修改的时候方便、快速,减少了重新设计时工程量。
方案对比:因为本套系统已经使用上位机,所以在上位机基础上增加语音播报功能比较简单,不但节约单独硬件模块的成本,且上位机语音播报的效果好于硬件模块的播报效果,所以采用方案二。



    • 输入设备的选择
方案一:采用阵列式键盘。使用较少的I/O读取较多的键盘信息,主要通过动态扫描的方式进行的工作,当矩阵的某行通上低电平,若有按键按下,相应的列就会输出低电平,通过这样的方式可以读出按键状态,而且不浪费I/O,但是此方式只使用与按键数量加大的时候,若一个或者两个按键则不适用。
方案二:采用独立式按键。每个I/O独立连接单片机MCU的端口,特点是使用比较方便,开发比较迅速,相应相对较快,但是此种方案浪费系统资源,设计时可以根据设计内容进行考虑,因为不同的设计对资源的使用是不同,故还需看时间情况,通过查询资料得知在个别单片机中独立按键需要连接上拉电阻使其保持稳定。
方案对比:由于系统设计使用的按键较少,只用到了四个按键,所以采用方案二。

  • 系统结构图及硬件设计
    • 系统总体结构图设计
按照系统功能要求,系统主控端、接收端和上位机三个模块,根据这个要求,设计的“水温自动控制系统”框图如图3.1所示。
图3.1 系统总体框图
主控端对水温进行实时监测和控制,并通过无线将温度数据发送给接收端,接收端接收到数据后立即通过串口发送给上位机,上位机将接收到的数据绘制成图表并存入到数据库中,上位机同时具有实时语音播报温度、打印图表的功能。



    • 主控端硬件设计
主控端包括复位电路、温度采集电路、加热控制电路、制冷控制电路、LCD显示电路、按键控制电路、无线传输电路组成,系统的主控端框图如图3.2所示。
图3.2 主控端框图



    • 接收端硬件设计
接收端包括无线传输电路和串口通信电路组成,“水温自动控制系统”接收端框图如图3.3所示。
图3.3接收端框图
  • 系统软件设计
    • 主控端流程图
主控端作为系统的核心,集成了很多功能模块和数据处理算法在上面,为了达到每个模块处理时间的均衡与系统运行时间的最短,得到比较优化的主控制程序流程图如图4.1所示。
图4.1 主控端流程图
当主控端上电后,系统对温度采集模块、加热控制模块、制冷控制模块、LCD显示模块、按键控制模块、无线传输模块进行初始化。初始化完成后,读取无线数据的接收缓冲区,判断是否接收到数据,如果收到命令则判断其命令类型并执行。检测按键是否被按下,如果被按下则处理相应的按键事件。获取当前温度,在LCD上显示,并通过无线将温度数据发送给接收端,把当前温度值传入PID算法中进行运算,得出脉冲宽度,再通过脉冲控制加热棒加热或制冷器制冷。



    • 接收端流程图
接收端作为系统的主要组成部分,负责接收主控端通过无线传来的数据,并将数据及时的通过串口发送给上位机,接收端的程序流程图如图4.2所示。
当接收端上电后,初始化串口模块和无线传输模块。初始化结束后,一直等待接收主控端传来数据,如果接收到数据,立即将数据通过串口发送给上位机,并向主控端返回校验数据,然后继续等待接收主控端传来的数据。

图4.2 接收端流程图



    • 上位机软件功能
上位机作为系统的重要组成部分,有端口选择、接收数据、绘制图表、语音播报、打印图表、数据回放等功能。上位机软件框图如图4.3所示。
图4.3上位机软件功能图
当上位机数据采集处理系统启动后,程序首先检查自身配置文件,并显示在系统状态框上对使用者进行提醒。若检查通过,用户则开始设定自定义配置。设置完成后,系统等待用户操作。用户选择相应模块功能后,进入模块菜单,模块菜单开始读取配置文件开始初始化,根据用户的选择和相应功能的实现,模块会根据选择对自身控件或者功能线程进行激活。
  • 系统调试说明
在调试和制作过程中遇到了很多问题,如在语音播报和打印的时候程序会卡死,无法永久保留用户设置,PID算法计算不准确等,但经过认真考虑和查询对问题都进行了解决,调试结果如下:
  • 通过多线程和移交系统资源控制权解决语音播报阻塞和打印等待问题;
  • 通过读写ini系统配置文件解决系统保留用户设置问题;
  • 通过用动态数据读取显示,解决数据显示直观效果问题;
  • 由于PID算法根据不同的控制系统有不同的参数设置,所以为了更精准的实现对水温度的控制,进行了很多的实验,对所得到的数据进行记录、比较,最终得到了符合要求的一组参数设置数据;
  • 通过配置无线的寄存器采用无应答从发机制解决了无线丢失的问题;
  • 通过统一的协议,加强了系统的通信可靠性,减少了误码率。
整个系统达到了题目的技术指标要求。
  • 创新点
在制作过程中根据具体情况,结合所学的知识,对本系统添加了一些新的功能,创新点如下:
  • 能适当的放缩图表,便于查看数据;
  • 能自动的语音播报;
  • 能定时自动打印图表;
  • 能稳定到任意温度。

附录A 元件清单


名称
个数
单价(元)
总价(元)
STC12C5A60S2
2
20
40
加热棒800W
2
15
30
电源12V/10A
1
100
100
电源5V/3A
1
40
40
无线模块
2
20
40
12864液晶屏
1
60
60
DS18B20水温模块
1
20
20
按键KD3-1
5
7
35
封装壳
1
25
25
固态继电器
2
50
100
插排
3
40
120
气泵
1
20
20
制冷板
1
150
150
电子温度计
1
40
40
硅胶
10
2
20
小风扇
1
10
10
合计


850




附录B 系统原理图
附录B1接收端电路图
附录B2主控端电路图

全部资料51hei下载地址:

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表