温度自动控制系统

[复制链接]

6

主题

6

帖子

6

积分

一粒轻沙

Rank: 1

积分
6
楼主
查看: 4880回复: 0 发表于 2018-12-19 20:36:28   只看该作者
本帖最后由 Pencent 于 2019-1-4 15:59 编辑

温度自动控制系统摘要:本温度自动控制系统以 TI 16Bit 超低功耗单片机 MSP430F247 为核心控制单元,以 LTC1923 PWM 双极性电流控制器和大功率 MOSFET 构成的半导体电热致冷器(TEC)功率驱动模块,以负温度系数 NTC 热敏电阻为温度传感器把温度信号变为电参量信号,再变换成电压信号并放大后和 DAC TLV5616 输出设定的目标温度电压值进行比较,得到的误差电压经 PID 补偿网络调整后反馈到 LTC1923 的控制端,由 LTC1923 来控制功率驱动模块,从而对木盒的温度进行准确稳定的控制。

1.方案设计
1.1 理论分析
根 据 设 计 要 求 用 半 导 体 致 冷 器 件 对 一 密 封 木 盒(100mm×100mm×100mm)内的温度实现准确,快速的控制。设定的调节温差为 15℃时,要求在 3 分钟内达到稳定的目标温度。超调量不超过 3℃,且稳定状态下的温度波动在±1℃以内。并能记录并实时显示温度调节过程的曲线。设计要求用的热电致冷器(TEC)是利用热电第二效应——帕耳贴(Peltier)效应进行制冷或加热的半导体器件。在 TEC 两端加上直流工作电压会使 TEC 的一端致冷, 另一端发热; 把 TEC 两端的电压反向则会导致相反的结果。由于在半导体制冷器的冷端。除了产生帕耳贴热 Q1 外,还有焦耳热 Q2,和热端到冷端
的热 Q3,温度达到平衡时,冷端产生的净热量

功耗的计算公式为:
(式中:K-器件的体热导率(总导率),R——器件的体电阻,T1冷端温度,T2热端温度, Ι —工作电流 ,α —温差电动势率)

由以上可知:当工作温度,半导体材料性质和几何尺寸一定时,制冷量的大小只与控制电流的大小有关,工作的状况在制冷或是加热只与控制电流的方向有关。由于半导体材料阻值的非线性。在同一电压下为获得不同温差和吸热量,电流变化很大。用 TEC 加热制冷,控制电流比电压好,因此通过控制 TEC 的电流可以容易实现无“死区”温度控制。温度传感器是测量盒子里空气的温度,由于空气介质具有热惯性,而且在低温段惯性小,高温段惯性大,明显呈非线性的特点。所以在控制中或多或少都会出现超调,控制超调可以通过限制电流来逐步逼近目标温度值,但又受到时间要求的制约。但如果温度当前值和设定的目标值相差不大时,此时流过 TEC 的电流应该很小(如果驱动电路控制得当)。出现超调后,我们可以让电流方向反向,并且其大小对应超调的量。就是说我们只要设计一个能产生差动电压随一电参量可变的电路,直接控制通过TEC 的电流,实现 TEC 电流的双向控制。然后对温度采样后通过 PID 补偿网络
构成的反馈回路,有效的阻止 TEC 电流频繁的换向。


1.2 选用芯片理由及介绍
主控芯片:TI MSP430F247 作用:负责整个系统的控制,包括按键扫描,LCD显示驱动,外置DAC,ADC的驱动,大量数据处理等。 特点:16Bit RISC结构,内含32KB+256B FlashRom,4KB RAM 片内还集成了3个基本时钟模块(最高频
率可达16M)、8通道12bit的ADC转换器、16bit的Timer_A3和Timer_B7比较/捕获定时器、USCI(UART、SPI、I2C、IrDA),JTAG仿真接口,并且具有超低功耗、速度更快(指令周期可达62.5ns),ESD保护,SVS,性能稳定等优点,同时有多种省电模式,开发简单,仿真器价格低廉,不需昂贵的编程器等优点。

数模转换:TI TLV5616 作用:将设定的目标温度对应的12Bit的数值转换成相应的模拟电压。 特点:12Bit电压输出型,宽电压范围(2.7 V to 5.5 V),线性度高(. <0.5 LSB),低功耗(0.9mW at 3V),速度快(3us建立时间),连线方便(使用SPI串口),操作简单。


数模转换:TI ADS7886 作用:将当前温度的电信号转换成数字量,供温度值通过LCD实时显示出来。我们之所以选择用外置的12Bit ADC,不用MSP430内部的ADC12模块,是因为我们自制的单片机实验板为单面板,由于布线不良等原因模拟信号和数字信号之间有较大干扰。(当时发现的,MSP430 ADC12十进制后两位总在变,结果按上面方法,就这样解决了)。特点:12Bit有效精度SAR核,速度1MSPS, 2.35 V - 5.25 V宽供电电压,线性度高INL±0.65 LSB(Typical),DNL +0.4 / -0.65 LSB(Typical),信噪比为72.25 dB SINAD, -84 dB THD,数据传输速度快,20MHz高速串行接口,体积小,接口及操作简单。


仪表运放:INA2331 作用:一个通道用于将热敏电阻转换后的温度电信号的放大,提高此信号的灵敏度及幅度,然后才输出至ADC。另一通道用于和DAC的输出目标设定值比较及放大。 特点:高精度(G = 5, 0.02%),低功耗(静态电流低至490uA,关断时0.01uA),温度稳定度达到 2ppm/℃,低失调电压(±250uV),共模抑制比可达 94dB。


TEC驱动器:LTC1923 作用:PWM输出驱动MOSFET形成双极性电流全桥驱动器。特点:控制精度可达0.01℃,频率可达1MHz,占空比可达100%,高效,低噪声,低EMI,双极性电流控制。


1.3设计方案论证:
功率驱动部分
方案一:采用电磁继电器直接控制 TEC,具有电路简单可靠,效率高的优点,但在小容器内难以对温度进行精确控制。
方案二:采用固态继电器。它具有对外界干扰小、能与逻辑电路兼容、抗干扰能力强和使用方便等一系列优点。但是其切换速度为几微秒到几十毫秒,在使用PWM 进行控制时,开关速度相对较慢,造成较大的纹波系数,导致 TEC 制冷效率下降。

方案三:采用集成芯片 LTC1923 控制由 MOSFET 构成的全桥,通过 PWM 改变占空比从而改变 TEC 的电流大小和方向,达到加热,制冷和恒温的目的。我们采用第三种方案。


温度传感器的选择:
方案一:采用数字式温度传感器 18B20 对温度进行测量 ,该温度传感器仅需一根口线来读写,并且传递数据精度可以进行 9 位、10 位、11 位、12 位选择等优点,但是数据转换速度较慢,最高可达 750ms。

方案二:采用负温度系数的热敏电阻作为温度传感器对温度进行采集,该传感器具有响应速度快,灵敏度最高等优点,并且在给定的温度范围(5℃~35℃)内线性度很好,能满足精度要求,能够实时测量温度,可构成准确快响应的模拟控制系统。故采用此方案。


2.系统实现
2.1 硬件设计
2.11 系统框图





2.12 不同功能单元之间的接口设计
A/D,D/A 和单片机的接口如图一所示。它们都使用了 SPI 三线串行接口和单片机连接,即使用了 MSP430 的 UCA0,UCB0 硬件资源。使硬件和软件的设计更加简单。D/A 和 A/D 的参考电压都是由 LTC1923 的 26 脚提供的 2.5V 基
准电压。模拟输入输出信号连接入 INA2331 运放模块


图一
INA2331 和 D/A,A/D 的模拟信号接口如图二。INA2331 通道 A 接成固定精密的 5 倍放大器,通道 A 两个输入端 R3,R4,R5 和 NTC10K 热敏电阻构成差分单桥电路。输出接入 A/D 转换器。通过调节 VR1 进行满幅度校准,使温度的量程在 0℃~40℃之间。VR1 在温度定标之后就不可再变


图二
TG12864LCD,JTAG 仿真接口的数据连接方法如图三,LCD 通过 SPI 串口与MSP430 的 UCB1 模块连接。通过 UCB1 模块可以将数据快速传输给 NT7532,且不需要检测忙信号。MSP430 通过 JTAG 仿真接口可以在线下载程序,单步运行等,而不需要编程器来写。使系统开发变得更简单


图三
TEC驱动模块接口如图四。LTC1923的4脚接入INA2331的通道B输出控制端。8脚接入MSP430的一个I/O口用来使能驱动功率的输出。当8脚电压>1.8V使能功率模块,否则LTC1923使4个MOSFET都关断。该引脚接入一个1UF电容以消除开机时TEC的浪涌电流


2.13 硬件设计注意事项及窍门
为了减少外界温度变化对系统产生的误差,小信号的处理我们使用了零飘移仪表放大器。并使用LTC1923内部提供稳定的2.5V基准电压作为INA2331,ADC ADS7886及DAC TLV5616的基准电压输入。保证整个系统参考电压的一致性。此外,基准电压输出我们用了一个10uf的钽电容和几个聚苯电容对其滤波。还把ADC和DAC的时钟线和数据线用地线隔开。这样大大的减小了噪声及干扰。设计中还对ADS7886模拟输入信号进行低通滤波和采样保持,提高电路的稳定性。使用了两片LTC1693双通道高速MOSFET驱动器,输出电压12V或0V,峰值电流+1.4A,-1.7A。保证N,P沟道MOSFET都能工作在开关状态。

2.2 软件设计,
2.21 软件流程


DAC5616 的驱动使用了 UCB0 硬件资源,设置方法如下:

#define SET_FS P2OUT |= BIT7 //FS 置 1
#define CLR_FS P2OUT &= ~BIT7 //FS 清 0
P2DIR |= 0x80; //P2.7 为输出口 DAC5616 的 FS
P3SEL |= 0x0a; // P3.1 ,P3.3 为模块功能
SET_FS;
UCB0CTL0 |= UCMSB + UCMST + UCSYNC; // 3 线, 8-bit SPI 主机
UCB0CTL1 |= UCSSEL_2; // 选择 SMCLK 时钟源
UCB0BR0 |= 0x04; // BRCLK = SMCLK/4
UCB0BR1 = 0;
UCB0CTL1 &= ~UCSWRST; // 初始化 USCI state machine

DAC 输出的调用函数 入口参数:num
void outdac5616(unsigned int num)
{ CLR_FS;
while(!(IFG2 & UCB0TXIFG));
UCB0TXBUF=num>>8;
while(!(IFG2 & UCB0TXIFG));
UCB0TXBUF= num;
Delayus(3);
SET_FS;
}


ADC 的设置方法也一样,不过单片机是从 A/D 读取数据,接收时先要发送 0 来
启动 SPI 串口,才能接收到外部 AD 的数据。以下程序是用来接收外置 ADC 的
12Bbit 的串行数据。


UCA0TXBUF = 0; // Dummy write to start SPI
while (!(IFG2 & UCA0RXIFG)); // RXBUF ready?, data received??
data1=UCA0RXBUF; // R15 = 00|MSB - Q9-Q2
UCA0TXBUF = 0; // Dummy write to start SPI
while (!(IFG2 & UCA0RXIFG)); // RXBUF ready?, data received??
data2 = UCA0RXBUF;
data1=data1&0X000F;
data1=data1<< 8;
data1=data1+data2; // 拼成一个字


2.2.2 MSP430 单片机的使用
我们使用功能强大的 IAR EW 嵌入式开发环境,新建一个工程环境,主要设置有单片机的型号,使用仿真器的接口类型,选择是硬件仿真或是软件仿真这几项就能使用了。

2.2.3 编程感想
MSP430 单片机使用 C 语言来编程简单易学,代码执行效率高。在学习中,先要熟悉 MSP430 的硬件资源,了解各个寄存器的功能及设置。同时 TI 公司也公布了大量的代码例程,这给我们初学者带来很大的方便。


3 作品性能测试与分析
测试仪器与设备:FLUKE—17B万用表(带温度和频率测量功能)
20MHz双通道数字示波器
JD-II电子秒表
直流稳压电源


(1)测试方案与测试条件
实验室温度 28℃。万用表温度探头和本系统温度传感器通过软胶布固定在一起,以保证两个传感器的温度采样点一致,使温度测量准确。检查无误后,接通电源,初始显示正常,设置好目标温度按开始键并启动秒表计时,记录数据:
(2)测试结果
从 32℃降 22℃


从 22℃降 12℃



(3)测试结果分析
由以上数据结果可得,本系统能够很精确的控制温度,超调量很小,效率高。用了两片 TEC 并联使用,在散热端用了水冷装置。使系统的响应更快。由于系统而非电子器件的热属性导致有限的温度控制回路静态稳定性,同时系统在不同环境中的热梯度的影响,使温度的稳定性只能达到±0.5℃左右。解决方法可以在系统中加入热梯度补偿网络。


参考文献:
1.赵茂泰,智能仪器原理及应用(第二版),电子工业出版社 2004.7
2.秦龙,MSP430 单片机应用系统开发典型实例,北京:中国电力出版社,2005
3.沈建华,杨艳琴,瞿骁曙,MSP430 系列 16 位超低功耗单片机实践与系统设计,
北京:清华大学出版社,2005
4.秦龙,MSP430 单片机 C 语言应用程序设计实例精讲,电子工业出版社,2006


实物图





温度自动控制系统 (武汉工业学院).pdf

776.94 KB, 下载次数: 176, 下载积分: 积分 -1

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