单片机在绝热材料导热系数测定系统中的应用

发布者:备战最新更新时间:2015-04-21 来源: eechina关键字:单片机  绝热材料  导热系数测定 手机看文章 扫描二维码
随时随地手机看文章
1 引言 

随着社会的发展,人们环保意识的增强,对建筑材料的要求越来越高,导热系数作为衡量建筑材料保温性能的重要指标一直为人们所重视,因而开发设计出高精度绝热材料导热系数测量仪器十分必要。绝热材料导热系数测量基于一维稳态传热原理,测出试件冷热面的平均温度(TC、TH)和稳态加热功率(P),由下式即可计算出导热系数:λ=Pd/A(TH-TC),其中d为试件厚度,A为试件对应主加热器部分的横截面积。整个测量系统主要由炉体和温度、功率测控系统两部分组成,炉体按国家标准的要求加工制造,大同小异,而温度、功率测控系统则随着电子技术的发展不断更新。 

温度、功率测控系统的特点是要测量和控制多路温度信号,判断到达设定的状态后再进行计算。常见的设计方案是:用热电偶或铂电阻作温度传感器,输出的模拟电信号经过模拟放大和滤波,进入高精度模/数转换器(ADC),再经过单片机的判断、计算,控制加热电炉丝的功率,求出稳态导热情况下导热系数、热阻等材料热特性参数值。这种方案较过去的模拟式测量系统已经很先进,但是仍存在精度不够高、可靠性不够好的缺点。笔者新近开发的绝热材料导热系数测定仪采用TI公司新近推出的具有增强型8051内核的低功耗单片机MSC1212,其内部集成了8通道高精度24位Δ-Σ ADC和4通道16位DAC,在保证测量精度的同时又大大简化了外部电路,可靠性好。

MSC1212的内部结构图如图1所示。MSC1212工作电压2.7 V~5.25V,微控制器核是经过优化的8051内核,在给定时钟源的情况下,它的执行速度比标准的8051内核快三倍,从而使得器件可以在更低的外部时钟频率下工作,在功耗比标准的8051低的情况下,仍可达到相同的性能。同时,其片内外设十分丰富,包括32位累加器、1个带有FIFO的SPI串口、2个全双工的UART、32个数字输入输出端、看门狗定时器、低电压检测、片内上电复位、16位PWM、3个定时器/计数器、21个中断源。 

MSC1212集成了32kB的FLASH存储器以及1.2kB的SRAM,其FLASH编程模式有串行和并行模式两种,在上电复位期间通过ALE和PSEN信号的状态来选择。PSEN=0,ALE=1时是串行编程模式。PSEN=1,ALE=0时为并行编程模式。假如两者都为1,则工作在用户模式。两者都为0是保留模式,没有定义。MSC1212是带ISP开发功能的单片机系统,与8051的指令集完全兼容,可以用已有的8051开发工具来开发MSC1212的软件。主要的开发环境是汇编语言和C语言。


2 MSC1212模拟接口介绍 

MSC1212的内部集成的模拟接口是它优于其他单片机的特征之一,在绝热材料导热系数测定仪中担当了重要角色,有必要先加以详细介绍。

2.1 ADC结构介绍 

MSC1212的ADC是Δ-Σ型,由多路开关(MUX)、温度检测器、缓冲器、可编程增益放大器(PGA)、调制器、数字滤波器、电压参考组成,有8个通道,10Hz数据输出率时有效分辨率可达24位。 

一般ADC都定义成对的输入端,不可随意改变,而 MSC1212的ADC输入端可以由用户通过设置ADMUX寄存器来定义,可以把8个通道的任何2个分别作为同相端和反相端,这种软件设置使应用变得十分灵活,某个通道可以在一次测量中用作同相输入端,下一次测量中却用作反相输入端。例如ADMUX=0x01,则定义AIN0为同相输入端,AIN1为反相输入端。 

当ADMUX所有位置1时,将选中温度检测器工作,返回芯片温度值,所以也可以把温度检测器看作ADC输入的第9个通道。 

缓冲器使能与否通过寄存器ADCON0(BUF位置1使能)控制,当缓冲器使能时输入阻抗是10GΩ,输入电压范围变小,电流升高,没有缓冲器时MSC1212的输入阻抗是5MΩ/PGA。一般都要使能缓冲器,除非某一模拟输入端电压大于AVDD-1.5V。

通过改变寄存器ADCON0的低三位,可编程增益放大器(PGA)的增益可被设置为1、2、4、8、16、32、64和128。使用PGA可以提高ADC的有效分辨率。例如,当PGA为1且采用5V量程时,ADC能分辨到1uV。PGA为128且采用40mV量程时,分辨到75nV。通过设置寄存器ODAC,PGA的模拟输入可以通过高达其全量程一半的输入来补偿(即,若输入电压范围是5V,则补偿范围是±2.5V),其中MSB是符号位,七个LSB提供补偿的大小。这种补偿并不影响ADC的噪声特性和动态范围。 

调制器是一个单环2阶Δ-Σ系统,其模拟信号采样率(fMOD)由下式确定:fMOD=fOSC/(ACLK+1)/64,寄存器ACLK由用户设置,若晶振频率fOSC=11.0592MHz, ACLK=8,则采样率fMOD=19200Hz。知晓Δ-ΣADC原理的人都知道,这一采样率并不是数字信号输出率,数字信号输出率(fDATA)等于模拟信号采样率(fMOD)除以抽取因子(Decimation),抽取因子由用户在寄存器ADCON2和ADCON3中定义,ADCON2为低8位,ADCON3为高3位。抽取因子越大,噪声抑制能力越强。

调制器输出经过数字滤波器就成为所需要的数字信号,MSC1212配置了三种数字滤波器:快速建立型、sinc2型、sinc3型,在通道同步变化的情况下,滤波器建立时间依次为1个、2个、3个转换周期;sinc型滤波器在整数倍fDATA频率处有很好的陷波特性,快速建立型滤波器陷波特性不佳。自动模式在输入通道或PGA改变时将sinc滤波器配置成最佳,刚转换为一个新的输入通道时,自动模式选择需要4个转换周期的建立时间,前2个周期用快速建立型滤波器,且第一个周期转换结果丢弃不要,后两个周期依次用sinc2型、sinc3型滤波器,之后一直用sinc3型滤波器,直到通道再次改变,这种方式充分利用了快速建立型滤波器的快速响应特性和sinc3型滤波器良好的噪声抑制特性。

多通道采样通道突然变化时,输出要稍作延迟才能正确反应新通道输入值,延迟时间依赖于使用的滤波器。由于通道转换通常不与数据输出间隙同步,所以还额外需要一个整周期才能准确采样。事实上这种不确定性导致获得理想分辨率要多花费一个转换周期,即输入通道突然变化时必须丢弃前1、2或3个转换周期的结果。自动模式可以降低必须丢失的数据数目,但是也会降低分辨率。 

当多通道采样时必须考虑建立时间以确定总的数据通过率,例如,数据输出率(fDATA)为20Hz,滤波器采用sinc3型,采样5个通道,那么每个通道的结果输出率(fCH)为20/4/5=1Hz。事实上,最佳配置的评估是一种公平交易,不可能面面俱到。首要标准之一是确定转换结果的有效位数目(ENOB)。如果需要ENOB=18位,用三种滤波器皆可实现,对应快速建立型、sinc2型、sinc3型,抽取因子分别为1800、500、200。假定调制器时钟频率(或模拟信号采样率)是15625Hz,对应数据输出率(fDATA)分别为8.68、31.25、78.125 Hz,单通道的结果输出率(fCH)分别为4.34(8.68/2)、10.41(31.25/3)、19.53(78.125/4)Hz,通道同步转换时通道率分别为8.68(8.68/1)、15.625(31.25/2)、26.04(78.125/3)Hz。由此可见,这些"率"的大小基于一个合理的调制器时钟速度。在许多应用中,可以将数据通过率提高到上述数据的10倍。

MSC1212或整个系统的失调和增益误差可以通过校准来减少。校准可以通过寄存器ADCON1相应位来控制,每一个校准过程需要7个tDATA来完成,因此总共需要14个tDATA来完成失调和增益校准。系统校准要求适当的信号加到输入端,具体地,系统失调校准需要"零"差分输入信号以估计待消除的失调,系统增益校准则需要正的满量程输入信号以产生一个消除系统中增益误差的值。上电后或者温度、缓冲器、PGA中任何一个发生变化时都将执行校准。使用自动模式或者sinc3型滤波器有利于校准。校准将消除ODAC的影响,因此,对ODAC寄存器的改变必须在校准之后进行。校准完成之后,ADC的中断位置为1,说明校准完成,数据有效。[page]
  
MSC1212的电压参考可以是内部(上电后默认)的或外部的。电压参考是通过寄存器ADCON0(EVREF位)来选择的,内部电压参考可以是1.25V或2.5V(AVDD=4.5V~5.25V),由寄存器ADCON0的VREFH位来定义。假如不使用内部电压参考,应将其关闭以降低功耗和噪声。REFOUT引脚与AGND之间应接0.1uF的电容。外部电压参考是差分的,通过引脚REF IN+和REF IN-之间的电压差体现出来,任一引脚的绝对电压可以在AGND到AVDD之间变化,然而差分电压不能超过2.6V。 

ADC转换结果保存在ADRESL/ ADRESM/ ADRESH寄存器中。MSC1212内部还有4个求和/移位寄存器SUMR0~3和1个求和/移位控制寄存器SS CON,可以对ADC转换结果进行累加平均从而进一步降低噪声提高分辨率。 

2.2 DAC结构介绍 

MSC1210的16位DAC是T型电阻网络型DAC,其内部结构框图如图2所示。输入DAC寄存器的值(D,取0~65535)与输出模拟量(VDAC)的关系为:VDAC=VREF*D/65536,其中VREF是DAC电压参考,可以选择内部REFOUT/REFIN+电压或电源电压AVDD,VREF与AVDD共同制约VDAC(IDAC)输入代码的范围,其关系如表1所示。DAC的轨-轨输出型缓冲放大器可以输出AGND~AVDD的电压,可以驱动2kΩ//1000pF的负载。加以外部电路,DAC也可输出±VREF的电压,例如图3所示电路,VO=VREF(D/32768-1)。 




 

                    

2.3 多通道数据采集程序示例 

// A/D Conversion for 8 single ended channels,0-5V on inputs AIN0 to AIN7,AINCOM = 2.5V 

#include 

#include 

#include 

#define LSB 298.0232e-9 

extern unsigned long positive(void); //return the 3 byte adres to R4567 (MSB~LSB) 

void main(void) 

{ unsigned long int xdata result, dummy; 

unsigned char k, pga, chan; 

unsigned int decimation; 

float voltage; 

CKCON = 0; // 0 MOVX cycle stretch 

PDCON = 0x14; // turn on ADC-Vref, SPI and Systimers 

printf(" MSC1210 ADC Conversion Test ");  
printf(" Single-Ended 0V to 5V inputs, AINCOM="2".5V "); 

printf("Chan. Dec. rate Hex Value Voltage "); 

/ * Setup ADC */ 

ADMUX = 0x08; //(AIN+ = AIN0), (AIN- = AINCOM) 

ACLK = 9; // ACLK = 11,0592,000/10 = 1,105,920 Hz 

// modclock = 1,105,920/64 = 17,280 Hz 

pga = 0; 

ADCON0 = 0x38 | pga; // Vref On, Vref="2".5V, Buff on, BOD off, pga="1" 

decimation = 1728; // 10 Hz 

ADCON2 = decimation & 0xFF; // LSB of decimation 

ADCON3 =(decimation>>8) & 0x07; // MSB of decimation 

ADCON1 = 0x01; // bipolar, auto, self calibration (offset, gain) 

for (chan=0; chan<8 ; chan++) // Channels Loop 

{ ADMUX = (char)(chan<<4) | 8; // AINP = chan, AINN = AINCOM 

for (k=0; k<4; k++) // Wait for Four conversions for filter to settle after calibration 

{ while (!(AIE & 0x20)); // Wait for data ready 

dummy = positive(); // Dummy read to clear ADCIRQ 



while (!(AIE & 0x20)) {} // Wait for next result 

result = positive(); 

printf (" %3bd %7d %5dHz ", chan,decimation,17280/decimation);

voltage = result * LSB; 

printf ("%12lx %f ", result,voltage); 

} Channels Loop  
printf(" FINISHED ----------- "); 

while(1) ; 

} //main 

3 基于MSC1212的单片机温度测控系统设计 

基于MSC1212的单片机温度测控系统硬件框图如图2所示。整个系统可分为温度测量、温度控制、人机对话、与主机通信等部分。串口通讯可以把测量数据存储在主机上,供日后参考,还可以给出导热系数随温度变化的函数曲线或者分析非稳态传热情况下的热特性。异常报警、液晶显示、按键、打印电路保证了人机对话界面的友好,体现了系统的智能性。 [page]

                            
 

3.1 温度测量 

MSC1212内部集成了8通道24位高精度Δ-Σ ADC,虽然Δ-Σ ADC的数据率很低,但是温度是缓变信号,用Δ-Σ ADC完全可以满足要求。本系统所测温度范围为-30℃~150℃,用热电偶测量,要求最大测温误差不得超过0.1℃(对应大约0.004mV),而MSC1212的ADC输入范围为0V~5V(参考电压选择2.5V时),在10Hz数据率时可达22位有效输出,充分满足测量要求,不必加任何模拟放大电路,只要加一个缓冲器就可以了。热电偶冷端温度即环境温度由数字式温度传感器测量供热电偶冷端补偿和环境温度记录与显示。 

3.2 温度控制 

MSC1212实时测得冷热板温度并与用户设定的温度比较,结合PID控制和模糊控制算法,通过程序控制各路DAC输出一定的电压信号(0-5V),分别控制主副加热器电源电压(0-48V连续输出)、半导体制冷器电源电流(0-25A连续输出),电路十分简单,功率控制的速度和精度同时得到提高。 

3.3 软件设计 

本系统所要实现的功能是实时采集各路温度信号和主加热器电炉丝的电压电流信号,按照算法要求进行功率控制,监控温度传感器、主副加热器、半导体制冷器保护水浴等正常工作,人机对话以及与主机通讯等。系统软件采用模块化编程结构,由主程序和参数设定、系统标定、异常报警、数据处理、串口通讯、键盘、显示、打印等子程序组成。系统功能框图如图5所示。 



 

4 结束语 

综上所述,MSC1212单片机具有丰富的片内资源,尤其是内置高精度ADC、DAC,使之在本绝热材料导热系数测定仪中的应用不但提高了测量精度,而且大大简化了硬件电路,可以推广应用于其他测控系统中。
关键字:单片机  绝热材料  导热系数测定 引用地址:单片机在绝热材料导热系数测定系统中的应用

上一篇:单片机控制实时时钟设计
下一篇:单片机在电力系统监控中的应用

推荐阅读最新更新时间:2024-03-16 13:59

基于STM32F103C8T6单片机的计步器设计
一.系统设计 由 STM32F103C8T6 单片机 最小系统 + AD XL345 + L CD1602 显示屏。通过ADXL345 检测 震动和移动并完成计数。累加的步数会传输到LCD1602上进行显示,可以直观的观察自己的步数。 图1 系统框图 二. 硬件 设计 系统内的主要电路有单片机最小系统电路,步数采集电路、显示电路,系统的内的电路并不复杂,只实现的步数的采集累加以及显示的功能。对于计步器而言,本系统的步数采集能力较为不错,有较高的灵敏度。 图2 硬件电路 三.软件设计 系统的软件逻辑清晰,首先先进行一次系统初始化,此时就开始进行计步检测。当完成计步后会将采集到的步数 信息 在显示屏上进行显示,判断是否完成
[单片机]
基于STM32F103C8T6<font color='red'>单片机</font>的计步器设计
16位数据传送指令(1条)——mcs51单片机汇编语言
16位数据传送 指令 (1条) 这是89C51单片机唯一的一条16位立即数传递指令,其功能是将一个16位的立即数送入数据指针DPTR中去。其中高8位送入DPH,低8位送入DPL。 MOV DPTR,#data16 ;#dataH→(DPH),#dataL→(DPL)16位常数的高8位送到DPH,低8位送到DPL 例如:MOV DPTR,#2345 则执行完程序后,DPL中的值为23,DPL中的值为45。
[单片机]
一种基于PIC单片机的便携式磁记忆检测仪
   引言   金属构件和零部件发生损坏的主要原因,是各种微观和宏观机械应力集中导致疲劳失效,其基本特征表现为材料在低于静强度极限的交变应力持续作用下,生成多种类型的微观内部缺陷,并逐渐演化为宏观裂纹,裂纹扩展最终导致结构破坏。因此,进行疲劳分析,有效评价应力变形状况,测定未来裂缝发展的位置、大小和方向,成为评价金属零部件与构件结构强度和可靠性的一个重要依据。为了及时准确的找出最大机械应力变形区域,20世纪90年代后期,以杜波夫为代表的俄罗斯学者率先提出一种崭新的诊断技术—金属磁记忆检测。本文采用PIC单片机,设计了高性价比的便携式磁记忆检测仪,具有低成本、低功耗和快速检测等特点,可以满足各种场合,特别是难以到达部位的应力集中区
[模拟电子]
51单片机的位地址和字节地址
51单片机的20H-2FH为位地址区,共16个字节,每字节有8位共128位,每位有个编号称为位地址,位地址的范围为00H-7FH。 该区既可位寻址又可字节寻址。例如:MOV C,20H 这里C是进位标志位,该指令将位地址为20H的单元内容送至C;而MOV A,20H 将字节地址为20H的内容送至累加器A。 可见20H是位地址还是字节地址要看另一个操作数的类型。 /*-*/ ;program name: r8051xC2 -- Port0 Test Input or Output ;program versions: v1 ;program date: 2013.7.15 ;use : test ;compiler: eng
[单片机]
基于STM32的32位单片机开发板设计与实现
  RISC(reduced instruction set computer,精简指令集计算机)是一种执行较少类型计算机指令的微处理器,起源于80 年代的MIPS主机(即RISC 机),RISC机中采用的微处理器统称RISC处理器。这样一来,它能够以更快的速度执行操作(每秒执行更多百万条指令,即MIPS)。因为计算机执行每个指令类型都需要额外的晶体管和电路元件,计算机指令集越大就会使微处理器更复杂,执行操作也会更慢。STM32F100VBT6采用ARM Cortex-M3 32位RISC内核,工作频率24MHz,集成了高速嵌入式存储器(闪存高达128kB、SRAM高达8kB)以及各种增强外设和连接到两条APB总线的I/O。所有器
[单片机]
基于STM32的32位<font color='red'>单片机</font>开发板设计与实现
STM32G47x系列MCU中双Bank的工作原理及在线升级实现
1、前言 STM32G47x 的 Flash 可以工作在双 bank 模式下,在该模式下对 FLASH 的操作支持RWW(Read-While-Write),在 Bank1 中可以对 Bank2 进行操作而不影响当前 Bank1 中的应用程序的运行,反之亦然。本文对双 Bank 模式下程序在线升级进行介绍,指出操作中的注意事项。 2、双 Bank 工作原理 STM32G47x 系列 MCU 支持 Flash 双 Bank 功能,且芯片出厂默认配置即使能了双 Bank功能。基于两个独立的 Bank,用户可以选择将应用程序放在任意一个 Bank 中运行,通过设置标志位 BFB2 来决定从哪一个 Bank 启动: BFB2 = 0,
[单片机]
STM32G47x系列<font color='red'>MCU</font>中双Bank的工作原理及在线升级实现
51单片机程序——数码管全部亮起来
#include reg52.h unsigned char code table ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,};// 显示数值表0-9 void Delay(unsigned int t); void main (void) { unsigned char i; P1 = 0xff; while (1) { for(i=0;i 10;i++) //加入 for循环,表明for循环大括号中的程序循环执行10次 { P0=table ; //循环调用表中的数值
[单片机]
NEC电子新款32位闪存微控制器产品,功耗降低50%
           ~低功耗的全闪存微控制器全新问世~ NEC电子日前完成了8款低功耗版32位闪存微控制器的开发,并将其作为全闪存微控制器的第一阶段产品,于即日起开始供应样品。此次推出的系列产品共包括4款V850ES/JG3-L产品和4款V850ES/JF3-L产品,它们均使用了低功耗技术,因此功耗仅为现有产品的一半左右。 新系列产品以32位全闪存微控制器“V850ES/JG3”为基础,大幅度降低了功耗。该系列产品的最大优势在于功耗由以往的1.7mW/MIPS降低至0.9 mW/MIPS,该功耗值不仅约为NEC电子以往同类产品的一半,而且低于普通16位微控制器的1MIPS的平均功耗值的一半。 通过使用新产品,用户不仅可以用更小
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved