历史上的今天
返回首页

历史上的今天

今天是:2025年03月20日(星期四)

正在发生

2018年03月20日 | 基于MSP430F149单片机的高精度温箱温度控制系统设计

2018-03-20 来源:eefocus

    本文针对温箱控制过程中出现的精度低,稳定性差等问题,设计了一种基于MSP430F149单片机的高精度温箱温度控制系统。系统采用铂电阻温度传感器及12位A/D转换器实现了温箱温度精确测量,并利用低功耗MSP430F149单片机及加热和降温系统实现了对温箱温度的精确控制。通过不同温度下测量实验,表明温箱温度控制系统性能稳定可靠。从而在-50~150℃温度范围内,温箱控制精度可以达到±0.5℃。

    随着社会的发展,人们对温箱的应用和需求越来越广泛,在工业生产、日常生活和科学实验中,我们随处都可以看到温箱的应用。目前,在温箱的控制过程中还存在一些不足之处,比如控制精度低,稳定性比较差等。因此,针对温箱控制过程中出现的问题,需要设计一个高精度的智能化温箱控制系统,实时地对温箱的温度变化、运行状况和功能状态等进行控制。本文在研究温度采集发展现状和趋势的基础上,设计了一种基于微控制器MSP430F149的温箱控制系统。
    本系统以单片机MSP430F149为控制核心,采用铂电阻温度传感器,对温度信号进行测量控制,并实现数码管数字显示,可通过按键对温度进行目标温度值的设置,从而使系统能够根据现场情况,自动启动压缩机或者加热丝,对温箱的实际温度实现自动调节。本系统结构简单、经济性好、实时性强。通过实验证明,系统可以达到高精度的温箱温度采集,实时地显示温箱的温度,准确及时地控制整个系统运行,并具有体积小巧、安全、稳定和可靠等特点,有良好的可扩展性。

1 系统结构框图及其工作原理
    系统总体框图如图1所示,由温度传感器、信号调理电路、A/D转换器、键盘、LED数码管、MSP430单片机、电热丝、隔离·驱动、可控硅、压缩机12部分组成。本温箱控制系统采用的主要芯片MCU是单片机MSP430F149。主要的器件有:温度传感器铂电阻芯片、压缩机、加热丝和风扇等。

a.jpg?imageView2/2/w/550

    
    其工作原理是铂电阻采集到温度信号经过信号调理电路送到A\D转换器进行模数转换,得到的数字信号传送到单片机的控制中心进行处理判断,然后由单片机输出控制信号,经过隔离驱动电路控制可控硅,对加热丝或压缩机进行控制。

2 系统单元电路设计
    系统的硬件电路主要由温度采集、温度控制和温度显示三大部分构成。本系统的硬件由单片机MSP430F149、电源电路、温度采集电路、温度控制电路、数码管显示电路等构成。
2.1 电源电路设计
    本系统需要使用+5V和+3.3V的直流稳压电源,其中MSP430F149及部分外围电器需要+3.3V电源,其它部分需要+5V电源。在本系统中,以+5V直流电压为输入电压,+3.3V由+5V直接线性降压,其中采用HT7333作为稳压芯片。如图2所示。

b.jpg?imageView2/2/w/550

    
2.2 温度传感器采集电路
    PT100温度传感器是一种以铂(Pt)制成的电阻式温度传感器,属于正电阻系数,其电阻和温度变化的关系式如下:R=R0(1+aT),其中a=0.00392,R0为100 Ω(在0℃的电阻值),T为摄氏温度。


    PT100温度传感器采用四线法的连接方式,有效地消除了引线电阻引起的测量误差,能够精确测量未知电阻上的压降,计算出电阻值。具体连接图如图3所示。

c.jpg?imageView2/2/w/550


    
    PT100四线法连接电路通常称为Kelvin电路,对于每个测试点都有一条激励线F和一条检测线S,各自构成独立回路,同时要求检测线S必须接到一个有极高输入阻抗的测试回路,使流过检测线S的电流极小,近似为零。图中r表示引线和探针与测试点的接触电阻之和。HF为高电位施加线,LF为低电位施加线,HS为高电位检测线,LS为低电位检测线。由于流过测试回路的电流为零,在r3、r4上的电压降为零,而激励电流I在r1、r2上的压降不响I在被测的铂电阻上的压降,所以可以准确计算出铂电阻的阻值。这样就消除了引线上的电压,实现高精度的温度采集。

d.jpg?imageView2/2/w/550

    
    单片机MSP430F149的内部具有8路12位精度的模数转换器,带有采样保持功能,通过模数采样读入端口温度电压信号,相应的模数转换公式转化成实际温度数值并存储,然后将温度数值发送到数码管显示出温度。
2.3 温度控制
    开始的时候设定好温箱的目标温度值。系统开始进行温度采集,通过外接的铂电阻获得。将采集到的温度和目标温度进行比较,当采集的温度低于目标温度的时候,由控制中心单片机输出控制信号,通过对加热丝进行加热,实现加热操作;当采集的温度高于目标温度的时候,由控制中心单片机输出控制信号,通过控制压缩机,实现降温操作;反复对温度进行测量,比较,这样一直持续,以保证温箱温度被控制在恒温状态以下,以此达到温箱温度控制的目的。具体的操作步骤如下:
2.3.1 加热操作
    采集的温箱温度与预设的目标温度进行比较,当所测温度低于目标温度的时候,启动加热操作。加热操作的过程为:
    选用的是铁铬铝电热合金类型的加热丝,其平均功率是2000W,额定电压为220V,长度为20cm,由于温箱的大小为1m3,经过计算完成整个温箱的加热过程,从-50℃~150℃需要40min,将加热丝外接在温度控制器电路中,单片机MSP430F149通过P1.1发出控制信号,控制可控硅的通断就可实现加热丝的工作状态,只要改变P1.1的接通时间就能实现加热功能。由于加热丝存在热惯性和时间滞后等特性,为了使控制更加精确,比较温度之后的差值大小采用不同宽度的脉冲进行控制,这样来实现加热丝的加热操作。为了避免造成局部温度过高、受热不均匀,以达到平衡加热的效果,在加热丝的侧面并联一个可控风扇,保证加热过程的均匀受热。加热原理图如图5所示。


e.jpg?imageView2/2/w/550

    
2.3.2 降温操作
    采集的温箱温度与预设的目标温度进行比较,当所测温度高于目标温度的时候,启动压缩机操作。实现降温操作的过程如下:
    MSP430F149通过控制可控硅对压缩机进行控制,实现一个控制压缩机降温系统,根据采集温度与预设目标温度比较差值的大小来决定压缩机的制冷强度。可控硅控制压缩机电路的连接图如图6所示,微控制器P2.2引脚输出可控硅控制信号。当可控硅导通时,压缩机开始工作;否则压缩机停止工作。

f.jpg?imageView2/2/w/550

    
2.4 数码管显示设计
    数码管显示电路也就是数据的输出电路,主要由外接4位数码管、数码管驱动器、锁存器以及片选电路组成,MSP430具有丰富的I/O口资源,采用并行方式与LED连接非常方便。数码管的段码a,b,c,d,e,f,g,dp分别与单片机的P2.0~P2.7相连,控制数码管中显示的字形;数码管的位选由4个NPN三极管控制,分别接到单片机的P6.3~P6.6端口上,程序中通过控制P6.3~P6.6端口的输出电平就可以控制数码管的显示与关闭。
    其中LED的片选信号是通过MSP430F149的I/O端口来提供。具体连接图如图7所示。

g.jpg?imageView2/2/w/550


3 系统软件设计
    本文设计的软件部分主要包括实现温度的采集、显示和控制三大部分。

h.jpg?imageView2/2/w/550

 

    如图8所示,当采集温箱温度的时候,系统通过驱动程序设置好温度传感器的转化公式来实现对温度的采集。当采集的温度低于目标温度的时候,通过对加热丝进行加热,实现加热操作;当采集的温度高于目标温度的时候,通过控制压缩机,实现降温操作;并将温箱的温度显示出来,从而使温箱的温度达到设定的目标值,实现温箱温度控制。
3.1 温度的采集
    当将要采集温度数据时,MSP430F149将通过温度传感器采集温度,所用到的函数有:
    (1)函数名称:ReadTemp,功能:从温度传感器的ScratchPad读取温度转换结果,返回值:读取的温度数值。
    (2)函数名称:uint DolConvert(void),功能:控制温度传感器完成一次温度转换,返回值:测量的温度数值。
3.2 温箱的温度控制
    在实现温度控制的时候根据PID控制算法,计算出控制量,具体实现过程中所要用到的部分函数如下:
    char Read_Temperature(void)//读取温度
    void delay(unsigned char time)//延时时间以12M晶振为准,延时时间为30us×time
    void write_bit(unsigned char bitval)//写一位数据子程序
    unsigned char read_bit()//读一位数据子程序
    void get_temper()//获取温度子程序
    unsigned int PIDCalc(struct PID*PP,unsignedint NextPoint)//PID计算
    compare_temper()//温度比较处理子程序
    void display()//将占空比温度转化为单个字符显示占空比和测得到的温度
3.3 温度的显示
    在温度的显示过程中所要用到的函数有:
    Void WriteCommand(unsigned char wdata)//向数码管写入命令;
    Void WritEDAta(unsigned char wdata)//向数码管写入数据;
    显示温度的函数:
    WriteDataLCD(0x30+ADC_CH0%1 000/100);//显示百位;
    WriteDataLcd(0x30+ADC_CH0%100/10);//显示十位;
    WriteDataLcd(0x30+ADC_CH0%10);//显示个位;
    WriteDataLcd(0x30+ADC_CH0%1);//显示十分位;

4 结论
    基于单片机MSP430F149的温箱温度采集和控制系统是以单片机为核心的软硬件平台的嵌入式系统。通过使用单片机、PT100温度传感器、数码管显示电路搭建硬件平台,使用IAR Embedded Workbench开发环境,C语言编程实现,设计出了一个基于嵌入式技术的温箱温度控制系统。系统体积小巧,电路连接简单,扩展性良好,可以方便地进行后续开发,增加用户所需功能。从而提高了设备的智能化程度,具有较高的工程实用价值。

推荐阅读

史海拾趣

百佳(BAIJIA)公司的发展小趣事

随着国内市场的逐渐饱和,百佳公司开始将目光投向国际市场。他们积极参与国际展览和交流活动,与国际同行建立广泛的合作关系。通过拓展国际市场,百佳公司的产品不仅赢得了更多海外客户的青睐,也为企业带来了更广阔的发展空间。

Empro Technology Corp公司的发展小趣事

随着产品的热销,Empro Technology Corp开始积极寻求市场拓展和战略合作。公司与国际知名电子产品制造商建立了紧密的合作关系,共同研发新产品,共同开拓市场。同时,公司还通过参展国际电子展等方式,不断提升品牌知名度和影响力。

Carlisle Interconnect Technologies公司的发展小趣事

进入21世纪,Carlisle Interconnect Technologies开始了全球化的布局。公司不仅在北美和欧洲设立了多个生产基地和研发中心,还积极开拓亚洲和拉丁美洲等新兴市场。通过全球化的战略布局,公司不仅能够更好地利用全球资源,还能够更深入地了解各地市场需求,进一步推动业务发展。同时,公司还加强了与国际知名企业的合作,共同推动电子行业的发展和进步。

这五个故事只是Carlisle Interconnect Technologies发展历程中的一部分,但它们足以展示公司在电子行业中的创新、进取和不断追求卓越的精神。这些故事也为我们揭示了一个成功企业的发展轨迹:从创业初期的创新与突破,到不断的技术升级和产品多样化,再到全球化的布局与业务拓展,每一步都充满了挑战与机遇。

川土(Chipanalog)公司的发展小趣事

2016年,上海川土微电子有限公司(简称“川土微电子”)正式成立,标志着Chipanalog川土微电子的诞生。作为一家专注于模拟芯片产品研发与销售的高科技公司,川土微电子从成立之初就明确了其核心使命——为中国电子信息制造企业提供高品质进口替代模拟芯片。在创始人及团队的共同努力下,公司迅速确定了发展方向,并开始着手研发首款模拟芯片产品。

GE Industrial Solutions公司的发展小趣事
使用高压测试仪测量输入输出之间的隔离电压,确保满足安全要求。
Blaze Display Technology Co Ltd公司的发展小趣事

随着公司规模的不断扩大和市场份额的逐步提升,Blaze公司开始注重品牌建设和形象提升。通过加大广告宣传力度、提升客户服务质量、参与社会公益活动等方式,公司成功塑造了专业、可靠、创新的品牌形象。同时,公司还获得了多项行业荣誉和认证,进一步提升了品牌知名度和美誉度。

问答坊 | AI 解惑

51完蛋了,赶紧转行学arm吧。

先从cortex-m0学,然后直接跳到cortex-v8! 51 月薪 1500,算是高薪。 cortex-m0能到4000啦, 如何学会cortex-v8,呵呵,月薪万元不用愁。…

查看全部问答>

驱动分层模型中的问题

底层的PDO是由PCI总线驱动创建的,那上面的PDO是由谁来创建的? 是不是由FDO创建的,这里有点不明白,不是说PDO是由MICROSOFT提供 FDO是由driverentry或addDevice历程用IoCreateDevice来创建的吗。 哪位大哥能仔细解释一下。…

查看全部问答>

Windows XP embedded中安装.msi文件

我有两个.msi安装包,A.msi和B.msi。 在windows xp下都能正确安装。 但在XPE中一个能安装,一个就失败,报错“This installation package could not be opened. Contact the application vendor to verify that this is a valid Windows Installe ...…

查看全部问答>

★★★招聘硬件/嵌入式工程师

一、招聘: 硬件工程师  北京 学历:本科以上 工作经验:1年以上 工作要求:1、熟悉模拟电路和数字电路方面的知识,对单片机有比较深入的了解,熟练使用protel.         2、熟悉各类电子元器件以及其电气 ...…

查看全部问答>

应用程序如何读出SD卡里面一个较大文件

这个问题比较可笑吧。 可是我就是搞不定, 现在网上down下了一个例子程序,是读出SD卡的一个test.txt文件。 BOOL CSDMMCDlg::OnInitDialog() {         CDialog::OnInitDialog();         // Set the i ...…

查看全部问答>

请教,在SPI的从模式下,怎么发送一个字节的数据给主机

                                 请教,在SPI的从模式下,怎么发送一个字节的数据给主机,看STM32的手册上好象,MOSI和MISO是在同一个时钟边沿被被 ...…

查看全部问答>

cc2500无线模块、Si4432/4431模块、cc1101模块、无线DMX512模块

深圳市阅天信息技术有限公司 http://shop64482967.taobao.com/ 官网www.mcurf.com qq:343357509…

查看全部问答>

求救~~~

本帖最后由 paulhyde 于 2014-9-15 04:01 编辑 肯定有前辈玩过12864吧!所以···· 我现在想用12864显示出坐标和点的具体坐标,类似于能够显示的导航路线。 求哪位前辈可以给个方向~~很急呀!在线等!!!  …

查看全部问答>

2013电子竞赛有关宽带信号衰减及宽带小信号放大

本帖最后由 paulhyde 于 2014-9-15 03:27 编辑 请问各位有没有做过在高频100M的有关MV级小信号放大及大信号衰减为mv级的小信号的模块?主要用过的芯片有哪些推荐啊?谢谢了!!!    …

查看全部问答>

有没有懂c6000软件流水线级优化的

求懂得C6000软件流水线级优化的大神   给予指点   请先加站内好友 …

查看全部问答>