.
基于STM32的温度控制实验设计
摘 要: 设计一种基于STM32单片机的高精度温度控制实验系统,调温范围为15~130 ℃。系统包括测温、控制、人机交互和加热器等模块,使用DS18B20温度传感器测量温度,采用搭载ARM Cortex?M内核的STM32F429单片机作为控制核心,人机交互部分采用TFT显示屏实时显示温度,通过PWM脉冲宽度调制波驱动加热器。该系统可以实现温度的测量变送、控制、数据存储和分析功能。采用自适应性强的模糊PID算法,实现三个控制参数的在线修正。不需要建立被控对象精确模型就能保证加热器功率的实时控制要求,实现较快和较稳的动态性能。实验测试结果证明了该方法的实用性和有效性。
关键词: 温度控制; 温度实时显示; 脉冲宽度调制; 模糊PID
中图分类号: TN876?34 文献标识码: A 文章编号: 1004?373X(2016)12?0037?04
Abstract: A high?precision temperature control experimental system based on microcontroller STM32 was designed, whose temperature range is from 15 ℃ to 130 ℃. The system contains four modules of temperature
.
.
measurement, control, man?machine interaction and heater. DS18B20 temperature sensor is used to detect temperature. single?chip microcomputer STM32F429 with ARM Cortex?M kernel is taken as the key control unit. TFT screen is adopted in the human?computer interaction part to realize temperature real?time display. The heater is driven by pulse width modulation (PWM) wave. The system can implement the functions of transmission, control, data storage and analysis of detected temperature. The adaptive fuzzy PID algorithm is adopted to realize the on?line correction of three control parameters. It is unnecessary to establish accurate model for the controlled object to guarantee the power control requirements of the heater, realize the fast?response and stable dynamic performance. The experimental results has proved the practicability and validity of the method. Keywords: temperature control; real?time display of temperature; PWM; fuzzy PID
自控原理实验中温度控制是较复杂的非线性问题,实验教学课堂效率低,过程缓慢,误差大,较难满足教学需求[1?2]。如果能够设计合适的温度控制模块,把温度控制在设定偏差允许范围内,满足实验中对温度控制的超调小、速度快等要求,那么将会提高实验教学的效率和增强学生学习控制理论
.
.
的兴趣。另外,在现代实验教学过程中,信息的处理和算法设计的融合更加方便,给设计具有温度测量、控制和通信能力的开放式温度控制模块提供了充分条件。
基于这种应用背景和设计理念,提出了一种廉价的基于STM32的温度控制实验系统,可以实现温度的测量变送、控制、数据存储和分析功能。 1 系统整体设计
自控原理实验中的温度控制系统主要由四个部分组成:温度检测模块、人机交互模块、控制器和PWM驱动加热模块。系统整体结构如图1所示。
温度检测模块以DS18B20温度传感器为核心,将检测到的温度信号传送给STM32进行温度的实时检测,同时输出给单片机温度信号及变化规律,指导控制器控制信号的强度。要想准确控制某个量变化,需带有反馈的闭环控制,将被控制量稳定在设定值的偏差范围内,通过温度测量模块来实现反馈。温度检测模块的测量误差必须尽可能的减小。 人机交互模块由2.4英寸TFT彩色显示屏和两个物理按键组成。控制器选用了搭载ARM Cortex?M内核的STM32F429单片机,利用模糊控制原理设计控制算法。应用PWM驱动电路实现直流电压调制从而驱动被控对象。 2 系统各模块设计 2.1 主控模块设计
.
.
选择STM32作为主控芯片。由于STM32F429型单片机具有的低功耗、高速度以及再编译简单有效、对彩色显示屏的驱动应用更加方便直接等,采用STM32F429型单片机作为控制微处理器。STM32单片机基于ARM Cortex?M内核为嵌入式应用,STM32单片机新产品外设共有12条DMA通道,还有一个CRC计算单元,支持96 b惟一标识码,其供电电压在2.0~3.6 V时也可以保证工作效率,运行程序时以72兆次/s的速度从只读程序存储器中读取命令,只需要27 mA的电流就可以驱动[3?4]。另外提供了4种极低耗电量的节能模式,可以把电流降低到2 μA,无论哪种模式,STM32F429都可以完成快速启动,复位电路的设计可以把由振荡器生成的80 MHz的数字信号用于快速启动。 2.2 温度测量模块设计
温度传感器选DS18B20,其直接输出数字信号,不需要模/数转换可直接应用,使用方便且精度高,温度量程为-55.0~125.0 ℃,-10~85 ℃范围内精度为±0.2 ℃。DS18B20型温度传感器的温度测量原理如图2所示。 对温度灵敏度较小的晶体振荡器在发生温度变化时的振荡频率非常稳定,几乎没有变化,因此它可以被用来提供振荡周期不变的计数器1的驱动时钟信号。对温度灵敏度较大的晶体振荡器在发生温度变化时的振荡频率有很大波动,它被用来提供作为温度传感器接收器的计数器2的驱动信号。
.
相关推荐: