基于MSC1201微处理器的温度控制系统的实现

发布者:创新思绪最新更新时间:2006-11-08 来源: 国外电子元器件关键字:数据  MCU  内核  ADC 手机看文章 扫描二维码
随时随地手机看文章
1 引言

  随着现代控制技术的发展,在工业控制领域需要对现场数据进行实时采集,在一些重要场合对数据采集的要求更高,例如在电厂、钢铁厂、化工领域的生产中都需要对大量数据进行现场采集,而温度采集又是其中极为重要的部分,因此,需要一种高精度、低成本的数据采集与控制系统。


  为了方便地实现温度采集与控制系统,笔者选用MSC1201作为系统MCUMSC1201是的德州仪器TI新推出的一款低噪声、低成本数据采集微处理器,它具有的增强型8051内核,执行速度比标准8051内核快3倍,而功耗却更低,MSC1201中的ADC的防噪性能为75nV比市场上大多数独立式ADC都好,此外,MSC1201ADC可在功耗仅为3mV时达到1ks/s的采样速率,因此,搭配合适的信号拾取元件就能组成一种性能优异的数据采集控制系统。

  笔者设计的恒温箱温度控制系统的结构框图如图
1所示。该恒温箱主要用于电子设备的高温实验。通过小键盘设定实验温度和时间,达到定时后并能发出警告,箱体打开后启动风扇散热,为了使温度控制更加准确,在箱体内采用多点测温,同时为了保证电子设备的均匀受热,设计中采用步进电机带动托盘使待测物在箱内转动,并在定时结束时停止转动。在恒温箱工业时,箱内温度通过数码管显示。定时剩余时间也通过数码管显示。

2 MSC1201型微处理器

  本设计采用
TIMSC1201型微处理器作为主处理器,MSC1201的封装形式为QFN363V供电时功耗为3mW具有工业级的工业温度范围即40125

  模拟特性包括数据采集精度达到24位无损采集,工业频率为10Hz时有效分辨达到22位;片内可编程增益控制,最高可将信号放大128倍;工作噪声为75nV片内提供精确的参考电压,具有偏差校正功能,片上温度传感器可以快速方便地组成检测系统,极小的偏差漂移0.02ppm/),放大漂移0.5ppm/使得系统具有较强的温度适应能力。

  数字功能包括具有与8051兼容的增强型处理器内核;拥有1KB自举ROM256字节数据SRAM4KB闪存具有安全保护措施;存储器读/写循环可达100万次保存100

  外部特征包括有16个通用I/O引脚、1个32位累加器、2个16位定时/计数器、可编程看门狗定时器、全双工USART、SPI、I2C接口;空闲状态下消耗电流小于200μA,停止状态下电流小于100nA;中断源多达20个,可以满足一般工业现场的控制要求。MSC201的结构框图如图2所示。

3 温度采集系统的硬件组成

  通常,为了组成一种温度控制系统,采用如图
3所示的模块化设计。

  由图3见,从传感器到CPU还有许多环节需要系统设计者来设计。但是采用MSC1201型微处理器后许多环节就可以省略。如图中虚线包含的部分,处理器自身已经包含这些中间处理过程,只要设置相关寄存器就可以调整它们的参数。

3.1 温度传感器

  在许多温度采集系统中用热敏电阻器作为测温器件,然后通过查表或附加电路得到输出电压与温度的关系,查表需要一段存储空间来保存表格数据且会增加代码长度,因此使用热敏电阻器的成本较高。另一方面,由于热敏电阻器输出的非线性使其高温段和低温段的测量误差变化较大,而在多点测量时对每一种器件都要单独调零,因而在应用时有许多局限。


  在笔者设计的温度检测系统中,采用ADI公司的AD590型温度传感器作为温度测量元件,AD590是电流型传感器,当电源电压为4V30V使流经器件的电流随温度的变化而变化。其温度变化规律为1μA/K表示以K氏温度衡量温度,温度变化1流变化1μA这种线性变化的规律给应用带来很大方便,应用AD590时电源电压的变化也会影响电流输出,但电源电压高时影响会小一些,因此电源电压适当调高,图4示出AD590MSC1201的连接,其中,
 

  1)式可以看出,AD590输出电压与温度的关系,如果选择R1VR1)=10KΩ,那么可得下式:
 

  图4R1VR1串联,通过调节VR1的阻值来获得10kΩ的电阻值。没有直接使用10kΩ的电阻器是为了提高系统测量精度。

  由于温度检测的后级接收差分信号输入,因此只需要在差分输入的负端引入2.732V参考电压即可得到随摄氏温度线性变化的输出电压。如图4所示,调节VR3阻值使在AIN1、AIN3引脚上具有2.732V电压即可生成随摄氏温度线性变化的输入信号。若设计的后级是单端输入,则只需在校正单元减去2.732V即可。

3.2
多路选择开关

  输入多路选择开关属于MSC1201的内置功能模块,可以接收差分输入。如图2所示,如果AIN0选作差分输入的正端输入,则其他任意通道可以作为差分信号的负端输入,并可通过交换差分输入的正负端来消除误差,在本系统中选用AIN0输入AD590的输出电压V(T),将2.732V作为差分信号负端输入到AIN1,MSC1201可以自动检测这些信号输入引脚是否开路或短路。

  另外,该电路还可以检测自身温度,当输入多路选择开关的配置寄存器全部设为1时,电路内的测温二极管就连接到ADC的输入端,此时其余输入通道开路,这有利于器件自身的保护,当芯片温度过高时,可以通过强制电路进入空闲模式使系统降温。

  通道可以通过寄存器ADMUX来选择,如下所示:


 其中,高4位决定差分正端输入通道,而低4位决定负端输入通道。

3.3
放大器

   通常情况下检测到的信号很微弱,需要进行放大。而MSC1201内置可编程增益放大器(PGA)的增益可以设为1、2、4、8、32、64、128。通过使用PGA可以提高ADC的有效分辨率。例如在信号电压范围为±2.5V时,若PGA增益设为1,则ADC最小分辨率为1.5μV;当PGA增益设为128、信号电压范围为±19mV时,ADC的分辨率为75nV,改变PGA增益会使放大器输入阻抗变化,但通常放大器的输入阻抗很高,一般不会对输入信号产生影响。放大器的放大倍数由寄存器ADCON0的低3位确定。

3.4 信号调理

  在温度检测中,输入环节会不可避免的引入某些误差,使输入信号产生不同程度的畸变。为了消除这些误差对系统的影响,需要对输入信号进行调理。


3.4.1 ADC
补偿

  通过使用寄存器ODAC,PGA的模拟输出可以获得最高能够达到测量电压范围一半的偏移补偿。寄存器ODAC是8位,最高位为符号位,表示补偿的正负,其余7位表示补偿的大小。由于ODAC引入的只是对PGA的模拟补偿,因此并不影响ADC的测量范围。

3.4.2 ADC
校准

 基于MSC1201/02的数据采集系统的偏移和增益误差可以通过校准来减小。寄存器ADCON1的CAL2:CAL0可控制校准。每次校准需要7个Tdata(数据采集时间)周期来完成。


  完成校准必须在输入端施加信号,再由器件计算出偏移量以补偿系统偏差。在进行系统偏移校正时,需要输入0V或很小的电压信号,并读取输出结果,如果结果为正,说明转换中存在正偏移误差,应在结果中减去该偏移量。反之,如果结果为负,就要加上该偏移量。

  系统增益校准需要输出满量程信号,并测量输出结果来实现增益校准。增益校准实际上就是调整放大器的输出信号斜率以补偿实际输出与理想输出的误差。

   系统上电后就要进行校准,而在电源电压、参考电压或PGA增益发生变化时要重新进行校准。当校准完成时,ADC的中断标志位变为高电平,在程序中可通过检查该位来判断校准是否完成,若校准完成,此时输入数据才有效。

3.5 A/D
转换

  在A/D转换中的调制器是二阶系统,调制器工作频率为fMOD,该频率与fACLK有关,而fACLK可以在模拟时钟寄存器(ACLK)中设置,其关系式如下:
  fMOD=fCLK/[(ACLK+1)64]=fACLK/64 (3)
  整个A/D转换的数据输出率为:
  fDATA=fMOD/数据抽取率 (4)

  数据抽取率从A/D转换结果中取得数据的比率,如抽取率为10中取1,其含义就是调制器最近输出的10个数据进行处理(如取平均值),其结果就作为本次A/D转换的结果。这里的处理工作是由数字滤波器完成的。

  A/D转换在缺省条件下使用内部2.5V作为参考电压,此时AGND引脚必须连接REFIN-引脚。而REFOUT/REFIN+引脚应该通过1只0.1μF的电容器接地,同时电容器应尽量靠近引脚,MSC1201也可以使用外部参考电压,需要通过ADC控制寄存器ADCON0来进行选择。

3.6
数字滤波


  数字滤波可以使用快速设置滤波器、Sinc2或Sinc3滤波器。
  
  为了使系统的
A/D转换具有低噪声、响应快速的优点,笔者按以下策略来选择滤波通道:当数据输入通道改变时,系统将在接下来的2次转换中使用快速设定滤波器,而其中第一次的转换结果又将舍弃。紧接着依次使用Sinc2
Sinc3滤波器以改善噪声性能。

3.7 CPU

  MSC1201内置的FLASH具有100万次的读写次数,数据可以保存100年,可以自由地在FLASH中划分数据存储区和程序存储区。MSC1201拥有自举ROM,256字节RAM、128字节特殊功能寄存器,具有4组bank工作寄存器,当前程序只使用一组bank寄存器。通过改变当前bank寄存器可以快速切换程序上下文环境。这些设计极大方便了系统的设计。

  由于MSC1201系列处理器使用更高效的15型处理器核心,所以在使用相同外部时钟的情况下它的指令执行速度比标准51型处理器快1.53倍,在使用相同的代码和外部时钟的情况下该处理器的吞吐量比标准51型处理器高2.5

  因此,工作于33MHzMSC1201处理器运行能力等于工作于82.5MHz8051这将有助于设计者降低处理器的运行频率,降低系统功耗并减小系统噪声。

3.8
显示模块

  作为系统输出,采用
2SR12028147段式LED模块显示检测到的温度和定时剩余时间。该模块含4数码管,采用共阴极连接。模块中4位数码管的阳极引脚并联,通过阴极选择需要点亮的数码管。LED的阳极驱动采用MOTOROLA公司的MC14495型译码驱动器来完成,利用bic8718型驱动电路产生4位数码管的位选择信号。每次点亮1位数码管,通过选择适当的选通顺序,利用人的视觉残留即可得到1次显示中4位数码管同时点亮的效果。

4
温度控制系统的软件设计

  系统软件的复杂度与其所要完成的任务密切相关。本系统主要用于小型恒温箱的温度控制,需要控制的对象有加热装置的开关、风机的开关和带动托盘旋转的步进电机等。使用者通过按键设定恒温箱的工作温度和工作时间,定时到时,加热器关闭并告警。还有一些显示控制及对小键盘输入的响应处理。其程序包含以下几部分:键盘扫描子程序、温度信号采集子程序、显示控制子程序、电机控制子程序、继电器控制子程序和通信子程序。图
5所示是系统的软件流程

5 PC
与温度控制系统的通信

  对于一种温度采集与控制系统,实验完毕后可能要使用实验数据,当需要对现场数据进行更加复杂的数学分析运算和对数据进行海量存储时,与
PC主机的通信非常重要。笔者利用MAX232电路实现系统与PC主机的串行通信,并设计了上位机软件。PC主机每隔30s下位机通信一次以获得温度数据,并将这些数据存入ACCESS数据库中,便于日后查询。

  利用VC完成上位机软件,在VC中通过使用MSComm控件来完成串口通信,在接收到数据后通过DAO法访问数据库实现对数据的存储、查找、排序等操作。由于篇幅限制,具体过程恕不赘述。

6
结束语

  基于
MSC1201型微处理器的温度数据采集与控制系统采用了新型处理器,在应用中节省了大量的硬件设计工作,缩短了设计周期,以较小的成本完成了多点温度数据的实时采集与控制。

关键字:数据  MCU  内核  ADC 引用地址:基于MSC1201微处理器的温度控制系统的实现

上一篇:32位嵌入式CPU中系统控制协处理器的设计
下一篇:基于AT89S51的液位控制系统

推荐阅读最新更新时间:2024-03-30 21:22

一 STM32 ADC 采样 频率的确定
本文阐述了直流偏置电源对敏感模拟应用中所使用运算放大器 (op amp) 产生的影响,此外还涉及了电源排序及直流电源对输入失调电压的影响。另外,本文还介绍了一种通过线性稳压器(一般不具有追踪能力)轻松实施追踪分离电源的方法,以帮助最小化直流偏置电源带来的一些不利影响。   在许多运算放大器电路中,直流偏置电源会影响运算放大器的性能,特别是在与高位计数模数转换器 (ADC) 一起使用或者用于敏感传感器电路的信号调节时。直流偏置电源电压决定放大器的输入共模电压以及许多其他规范。   在上电期间,必须协调直流偏置电源的顺序来防止运算放大器锁闭。这样会毁坏、损坏或者阻止运算放大器正常运行。本文解释了追踪电源对运算放大器的重要性,并介绍了一
[模拟电子]
一 STM32 <font color='red'>ADC</font> 采样 频率的确定
单片机点亮数码管
数码管的示意图如上,通过点亮a-g七个led来拼成对应的数字或字符,数码管有共阳极(底电平亮)和共阴极(高电平亮),以上图的数字2为例: 共阳极(0亮1灭): DP G F E D C B A 1 0 1 0 0 1 0 0 = 0xA4 共阴极(1亮0灭): DP G F E D C B A 0 1 0 1 1 0 1 1 = 0x5B 全部定义: 附件的excel中有所有共阳共阴的代码; 以共阳极为例,将0-9定义在数组(C语言中是叫“表”?有知道的同志可以赐教)中,通过循环来依次显示0-9; #include reg52.h un
[单片机]
<font color='red'>单片机</font>点亮数码管
东芝将分拆闪存业务,西部数据入股
集微网消息,来自日经新闻的报道,东芝可能以2,000-3,000亿日圆出售半导体业务约两成股权,但保留大部分股。此外据传东芝将分拆半导体业务,主要包括闪存。新公司最早2017年上半年成立,部分股权将售予西部数据,投资基金亦有兴趣入股。
[手机便携]
基于51单片机的自行车测速测距程序
实物图如下: 电路原理图如下: 单片机源程序如下: #include reg52.h #include Star1602.h #define CIRCLE 2.0 //宏定义 车轮的周长(这个要根据实际的车轮进行设置) sbit Signal = P1^0; //这里的Signal表示的是霍尔传感器的信号引脚 int m_second=0; //定义变量m_second,用来记录时间(以毫秒为单位) float speed=0.0 ; //定义速度变量 float length=0.0 ;//定义路程变量 void main() { lcd_init(); //初始化液晶函数 TMOD = 0x01; //
[单片机]
基于51<font color='red'>单片机</font>的自行车测速测距程序
真正无晶振设计的MCU,改善物联网传输性能
从医疗领域的血糖、血压和血氧饱和度监控器,到楼宇自动化中使用的温度和烟雾探测器,再到楼宇安全中使用的电子锁,无线微控制器在监控和连接领域发挥着至关重要的作用。 无线MCU和无线网络对于整个数据的迁移起到了至关重要吗,通过互联的物联网(IoT)设备桥接最后一英里数据的能力是MCU重要组成部分。 系统设计需要石英晶体的时钟,无线连接应用中的分立时钟和石英晶体可能相对昂贵、耗时且开发复杂,并且在工厂自动化或汽车应用中经常容易受到环境压力的影响。 一种称为体声波(BAW)的新技术正在使MCU时钟开发变得简单,也使更小的MCU设计成为可能,同时又提高了整体性能并降低了成本。 如图1所示(下图),BAW由夹在两个电极之间的压电材料组成,该压电
[物联网]
真正无晶振设计的<font color='red'>MCU</font>,改善物联网传输性能
【51单片机快速入门指南】4.3.4: MPU6050使用Madgwick AHRS算法实现六轴姿态融合获取四元数、
STC89C516 32MHz Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 上位机:Vofa+ 1.3.10 移植自AHRS —— LOXO,算法作者:SOH Madgwick 源码 为了避免所用RAM超标,部分变量设为idata类型,移植时需注意。 所用MCU为STC89C516 晶振16MHz 6T模式 stdint.h见【51单片机快速入门指南】1:基础知识和工程创建 软件I2C程序见【51单片机快速入门指南】4: 软件 I2C 串口部分见【51单片机快速入门指南】3.3:USART 串口通
[单片机]
【51<font color='red'>单片机</font>快速入门指南】4.3.4: MPU6050使用Madgwick AHRS算法实现六轴姿态融合获取四元数、
如何实现微控制器与FPGA的接口设计
  将近一半的嵌入式设计用到FPGA,仅次于微控制器。FPGA可用于执行任何胶合逻辑、自定义IP 、计算密集型算法加速器。通过采取一些处理任务, FPGA可以帮助提高系统性能,从而使单片机从周期密集的任务中腾出部分时间。FPGA还提供优良的性能特点和更的灵活性,以适应不断变化的标准。   基于FPGA的MCU设计有两种基本实现方式:一种是在FPGA逻辑结构中内置MCU软核;一种是使用基于离散FPGA的标准MCU产品。FPGA内置软核有效果,但与标准MCU相比,该方式实现一个微控制器是比较昂贵和耗电的。尤其是使用基于32位ARM的内核。结果,基于FPGA内置软核的FPGA MCU设计只占三分之一。其余的三分之二是基于离散FPGA的
[单片机]
如何实现<font color='red'>微控制器</font>与FPGA的接口设计
Atmel推出车用AVR微控制器系列
日前,爱特梅尔公司 (Atmel Corporation) 宣布推出用于汽车联网 LIN Networking 应用的全新 AVR 8 位微控制器系列,当中,ATtiny167 是首款器件,专为 LIN slave 端应用而优化。该器件将获得 AECQ-100 Grade 0 标准认证,能够耐受高达 150℃ 的环境温度。ATtiny167 结合 LIN 收发器 (如 ATA662x 或 ATA666x) 能为变速箱、排气系统、泵 (pump) 或涡轮发动机中的传感器提供完整的解决方案。   许多车身电子子系统,如车门锁、车窗升降、雨刷、照明系统、阳光和落雨传感器等都通过 LIN 网络连接。它们需要带有模拟/数字转换器的微型
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
最新工业控制文章
更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved