MSC1212在绝热材料导热系数测定系统中的应用
时间:09-03
来源:互联网
点击:
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("\nMSC1210 ADC Conversion Test\n\n");
printf("\nSingle-Ended 0V to 5V inputs, AINCOM=2.5V\n\n");
printf("Chan. Dec. rate Hex Value Voltage\n");
/* Setup ADC */
ADMUX = 0x08; //(AIN+ = AIN0), (AIN- = AINCOM)
ACLK = 9; // ACLK = 11,0592,000/10 = 1,105,920 Hz
// m
odclock = 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 ("\n%3bd %7d %5dHz ", chan,decimation,17280/decimation);
voltage = result * LSB;
printf ("%12lx %f ", result,voltage);
} Channels Loop
printf("\n FINISHED \n-----------\n");
while(1) ;
} //main
3 基于MSC1212的单片机温度测控系统设计
基于MSC1212的单片机温度测控系统硬件框图如图2所示。整个系统可分为温度测量、温度控制、人机对话、与主机通信等部分。串口通讯可以把测量数据存储在主机上,供日后参考,还可以给出导热系数随温度变化的函数曲线或者分析非稳态传热情况下的热特性。异常报警、液晶显示、按键、打印电路保证了人机对话界面的友好,体现了系统的智能性。

3.1 温度测量
MSC1212内部集成了8通道24位高精度Δ-Σ ADC,虽然Δ-Σ ADC的数据率很低,但是温度是缓变信号,用Δ-Σ ADC完全可以满足要求。本系统所测温度范围为-30℃~150℃,用热电偶测量,要求最大测温误差不得超过0.1℃(对应大约0.004mV),而 MSC1212的ADC输入范围为0V~5V(参考电压选择2.5V时),在10Hz数据率时可达22位有效输出,充分满足测量要求,不必加任何模拟放大电路,只要加一个缓冲器就可以了。热电偶冷端温度即环境温度由数字式温度传感器测量供热电偶冷端补偿和环境温度记录与显示。
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("\nMSC1210 ADC Conversion Test\n\n");
printf("\nSingle-Ended 0V to 5V inputs, AINCOM=2.5V\n\n");
printf("Chan. Dec. rate Hex Value Voltage\n");
/* Setup ADC */
ADMUX = 0x08; //(AIN+ = AIN0), (AIN- = AINCOM)
ACLK = 9; // ACLK = 11,0592,000/10 = 1,105,920 Hz
// m
odclock = 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 ("\n%3bd %7d %5dHz ", chan,decimation,17280/decimation);
voltage = result * LSB;
printf ("%12lx %f ", result,voltage);
} Channels Loop
printf("\n FINISHED \n-----------\n");
while(1) ;
} //main
3 基于MSC1212的单片机温度测控系统设计
基于MSC1212的单片机温度测控系统硬件框图如图2所示。整个系统可分为温度测量、温度控制、人机对话、与主机通信等部分。串口通讯可以把测量数据存储在主机上,供日后参考,还可以给出导热系数随温度变化的函数曲线或者分析非稳态传热情况下的热特性。异常报警、液晶显示、按键、打印电路保证了人机对话界面的友好,体现了系统的智能性。

3.1 温度测量
MSC1212内部集成了8通道24位高精度Δ-Σ ADC,虽然Δ-Σ ADC的数据率很低,但是温度是缓变信号,用Δ-Σ ADC完全可以满足要求。本系统所测温度范围为-30℃~150℃,用热电偶测量,要求最大测温误差不得超过0.1℃(对应大约0.004mV),而 MSC1212的ADC输入范围为0V~5V(参考电压选择2.5V时),在10Hz数据率时可达22位有效输出,充分满足测量要求,不必加任何模拟放大电路,只要加一个缓冲器就可以了。热电偶冷端温度即环境温度由数字式温度传感器测量供热电偶冷端补偿和环境温度记录与显示。
电子 电阻 传感器 ADC 单片机 DAC 电路 电压 看门狗 PWM C语言 放大器 滤波器 电流 电容 温度传感器 半导体 相关文章:
- 一种新型防伪读码器的设计(01-01)
- 基于ARM与DSP的嵌入式运动控制器设计(04-25)
- 航天器DC/DC变换器的可靠性设计(02-12)
- 我国科学家人脸与笔迹识别领域获突破(04-29)
- 基于ARM核的AT75C220及其在指纹识别系统中的应用(05-24)
- 基于nRF2401智能小区无线抄表系统集中器设计(04-30)
