本设计基于STM32F091-Nucleo开发板为平台,以MDK5.13为开发环境编程而组成的一个水温自动控制系统.容器内的水温可以通过外部扫描键盘来人工设定。温度值设定后系统将通过PT100温度传感器来测定当前的温度值。当前的水温值可以显示在3.2寸液晶屏上。系统可实现的功能如下: 1.3.2寸液晶屏可以显示当前温度,水温显示到小数点后一位。 2.可以用键盘人工设定水的温度值。 3.利用串口使STM32F091-Nucleo开发板和计算机进行通讯。 4.采用PID控制算法使得温度稳定在一定的范围内。 本实验控制对象为1升净水,容器为瓷器皿。水温可以由人工设定,串口每1S向计算机发送一次温度值,3.2寸液晶屏显示当前温度值。当环境温度降低时采用PWM技术DA转换器控制电阻丝加热,实现自动控制,以保证设定的温度基本不变。 设计方案 1.水温控制系统设计要求 (1)温度设定范围为 40~90℃,最小区分度为1℃。 (2)在STM32F091上移植STemwin用于在液晶屏上显示相关的信息和当前的水温值。 (3)采用适当的控制方法(如数字PID),当设定温度突变(由 40℃提高到60℃)时,减小系统的调节时间和超调量。 (4)从串口输出水温随时间变化的数值。 (5)利用STM32F091的AD转换器采集PT100温度传感器数值,根据PT100的线性度提出计算当前温度值。 (6)外接一个以I2C为接口的数字温度传感器,采集当前的环境温度。
每个功能模块作用介绍: STM32F091单片机: STM32F091是整个控制系统的核心,在此 我用STM32F091提供系统控制所需要的I/O口,中断、定时以及存放中间结果的RAM。 PT100温度采集: 温度电桥电路采用恒压源2.5V供电,经过AD620的放大之后,在经过OP270组成的二阶有源滤波电路后直接进入STM32F091的AD转换器进行AD转换。将转换后的数值换算成温度值用于控制和显示。 串口通信: 利用STM32F091的串口将采集到的数字温度传感器的值上传至PC机,经过上位机软件的计算得出当前环境温 度。 键盘设定:用于温度值的人工设定。 固态继电器/电热丝:通过控制继电器的开关来完成对热电丝的加热,从而达到温度的控制。 电源电路:电源电路部分的两个电容构成滤波电路,用来改善系统的电磁兼容性,降低电源波动对系统的影 响,增强电路工作稳定性。 环境温度采集 环境温度的采集是通过数字式温度传感器(ADT7410),采用标准的IIC总线方式。STM32F091采用IIC总线 实时读取温度传感器数值。将读取的温度传感器数值经过STM32F091的串口上传至PC机,经过上位机软件的计算 得出当前环境温度。
|