基于stm32的温度控制 下载本文

温控系统的实现方案:用单片机构建数字温度控制器。控制原理:通过调节双向晶闸管的导通角,控制电压波形,实现负载两端有效电压可变。系统主要包括:

数据的采集,处理,输出,系统和上位机的通讯,人机交互部分。

FDM温度控制系统由双向晶闸管构成加热电路,如图2-1所示。通过控制双向晶闸管的导通角,来改变负载的有效电压,控制加热功率,进而达到控制温度的目的。当双向晶闸管全导通时,负载两端的有效电压为220V;当其全关断时,负载两端的有效电压为0V。这样通过控制电路选择适当的触发角,可使负载两端的电压为220V和0V之间的任意值,从而保证热力系统输入热流量和输出热流量相等,温度保持不变。

图2-1加热电路

为实现对温度的精确控制,加热系统需采用独立的闭环控制系统,由温控器、可控硅、加热头及热电耦组成。闭环控制系统的结构图如图2-2所示。系统输出和输入相比较后产生误差通过调节驱动执行机构。PID控制是工业过程控制中应用最广泛的一种控制形式,一般均能收到令人满意的效果,本系统同样采用模糊PID控制[11]。当系统稳定时,输入和输出相等,即误差为零,这样使系统达到控制要求。

图2-2闭环控制系统结构图

在温控系统中一般是采用可控硅和温控器相结合,利用温控器自带的PID控制算法来实现的。这在精度上虽然能保证,但其动态响应速度慢,喷嘴和工作台的温度由室温升到并稳定在设定值的这一过程往往要花费很多的时间,严重影响了加工效率。而模糊控制正好弥补了PID控制的这一缺点,它能够得到较好的动态响应特性,上升时间快,鲁棒性好[12]。但模糊控制也存在固有的缺点,容易受模糊规则有限等级的限制而引起误差,而且在偏差较小时过渡时间会过长。为了使温度控制的稳定性和快速性得到较好的兼顾,可采用PID控制和模糊控制相结合的方法,即当e(k)≥δ时,模糊控制;当e(k)<δ时,PID控制。e(k)为采样时刻K的偏差值。δ的取值由被控对象的特性来定,可结合操作经验经多次调节比较确定[13]。

6

为了提高人机的交互性,本电路将采用基于单片机的数字化温控系统。可根据成形材料的物理性质设定控制温度。系统的结构图如图2-3所示。

采样及温度补偿 放大电路

图2-3温控系统结构图

ADC TCA785

DAC STM32 温度显示 键盘输入 系统设计的目标准则有:(1)温度的测量精度,这在某种程度上说是最重要的一个环节,它的准确性直接就关系到了工作点温度误差大小。同时它反馈的信号也是后续环节的步骤指令。(2)响应速度要快,速度慢了滞后就严重,这样就算精度高,实质的控制精度也大打折扣了。(3)性能稳定,它与测量精度,响应速度是设计控制系统的根本追求。(4)工作温度的范围,它决定了系统可应用的广泛程度。(5)放大器的线性度,线性度越好,测温就越准确,从而控制精度也越高。(6)价格便宜,可大大提高产品竞争力,使产品在竞争中处于有力的地位[4]。 2.3 STM32和ADC

STM32F103xx增强型系列使用高性能的ARM Cortex-M3 32位的RISC内核,ARM的Cortex-M3处理器是最新一代的嵌入式ARM处理器,它为实现MCU的需要提供了低成本的平台、缩减的管脚数目、降低的系统功耗,同时提供卓越的计算性能和先进的中断系统响应。ARM的Cortex-M3是32位的RISC处理器,提供额外的代码效率,在通常8和16位系统的存储空间上得到了ARM核心的高性能[14]。

本课题控制系统所使用的处理器为STM32系列产品中STM32F103C8T6,它属于“增强型”,的一款,工作于-40°C至+85°C的温度范围,供电电压2.0V至3.6V,可以设置工作在省电模式以保证低功率消耗的应用需求,并且具有丰富的外设资源:

? 该芯片工作时最高频率可达72MHz;

? 内部带有128K字节的闪存和20K字节的SRAM;

7

? 有80个的增强I/O端口,充分满足用户的外设需求,IO口联接到两条APB

总线的外设,最高达72MHz;

? 一个高级定时器和三个普通定时器,均是16位寄存器模式,每个定时器还

带有四条输出输入通道;

? 系统带有18MHz的spi总线通讯接口、最高4.5Mbps波特率可选择的支持全

双工通讯的串行通讯总线接口;

? 十二个独立可配置的直接存储器通道;60个可屏蔽中断通道和16个可编程

优先等级中断,为用户提供丰富的中断响应资源;

? 逐次逼近型模拟数字转换器具有12位的分辨力,具有16个外部和2个内部

共18个信号源,可以进行自校正,最快转化速时间达1us; ? 两个并行总线/I2C总线接口,支持多主机功能,可做从设备; ? 完全支持CAN总线协议;

检测电路的输出电压必须通过A/D转换为数字量,才能够用计算机系统进行处理,处理器进行数据处理后输出的是数字信号,然而控制系统中,一般要求的是连续的控制信号来进行系统控制,这样运算输出的数字量又必须经过D/A转换器,将数字信号还原为模拟信息。通过连续的模拟信号控制系统的热量供给,从而达到工作点温度保持或增减的要求。信号的A/D转换、运算、D/A转换三个步骤,皆可经过STM32来完成[15]。

温度测量系统主控电路由STM32F103C8T6及其外围电路组成,是系统的核心部分,主要完成数据的传输和处理工作。温度传感器采集的模拟信号,经过处理器本身内嵌的ADC进行A /D转换后得到实时温度数据,再经处理器相关处理后通过温度显示电路进行实时显示,同时,处理器还可以实现与PC机的通信功能。

12位ADC是一种逐次逼近型模拟数字转换器。它有18个通道,可测量16个外部和2个内部信号源[16]。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阀值值。主要特征为:

? 12-位分辨率

? 转换结束,注入转换结束和发生模拟看门狗事件时产生中断 ? 单次和连续转换模式

? 从通道0到通道n的自动扫描模式 ? 自校准

? 带内嵌数据一致的数据对齐 ? 通道之间采样间隔可编程

? 规则转换和注入转换均有外部触发选项 ? 间断模式

? 双重模式(带2个ADC的器件)

8

? ADC转换速率1MHz ? ADC供电要求:2.4V到3.6V ? ADC输入范围:VREF??VIN?VREF? ? 规则转换期间有DMA请求产生。

表2-1ADC管脚

名称 VREF+ VDDA VREF- VSSA ADC_IN[15:0] EXTSEL[2:0] JEXTSEL[2:0] 信号类型 输入,模拟参考正极 输入,模拟电源 输入,模拟参考负极 输入,模拟电源地 模拟输入信号 输入,数字 输入,数字 注解 ADC使用的高端/正极参考电压,VSSA ≤ VREF+ ≤ VDDA 等效于VDD的模拟电源且:2.4V ≤ VDDA ≤ VDD(3.6V) ADC使用的低端/负极参考电压,VREF- = VSSA 等效于VSS的模拟电源地 16个模拟输入通道 开始规则成组转换的六个外部触发信号 开始注入成组转换的六个外部触发信号 有16个多路通道。可以把转换分成两组:规则的和注入的。在任意多个通道上以任意顺序进行的一系列转换构成成组转换。例如,可以如下顺序完成转换:通道3、通道8、通道2、通道2、通道0、通道2、通道2、通道15。

? 规则组由多达16个转换组成。规则通道和它们的转换顺序在ADC_SQRx寄存器中选择。规则组中转换的总数写入ADC_SQR1寄存器的L[3:0]位中。

? 注入组由多达4个转换组成。注入通道和它们的转换顺序在ADC_JSQR寄存器中选择。注入组里的转换总数目写入ADC_JSQR寄存器的L[1:0]位中。 如果ADC_SQRx或ADC_JSQR寄存器在转换期间被更改,当前的转换被清除,一个新的启动脉冲将发送到ADC以转换新选择的组。温度传感器和通道ADC_IN16相连接,内部参考电压VREFINT和ADC_IN17相连接。可以按注入或规则通道对这两个内部通道进行转换。 2.4温度控制系统的实现

本系统中用到的器件及实现的功能如下:单片机STM32F103C8T6做CPU,用热电阻采集温度信号,经过以ICL7650组成的信号放大及滤波电路处理传输给单片机STM32F103C8T6单片机自带的ADC将模拟信号转换为为数字信号,经过单片机处理后由DAC转换为模拟信号;加热电路包括双向可控硅,光电耦合器MOC3021,集成电路移相触发器TCA785,变压器;通讯是由CAN总线配合其他模块实现的。下一章会详细介绍各个部分的实现。

用Protell画出其原理图,如图所示:

9