学而时习之(2):单边sar adc测热电偶温度

一、温度测量

% the thermal resistor
clc ;
close all ;
clear ;
% input the temperature
temp_zoom=25 ; % normal temperature in clesius
abs_zero_temp=-273 ; %abselutely temperature in kailvin(K) 4668
  keff=60/0.0293;  %85--25
%    keff=100/0.0463;  %125--25
  vt0=0.498;
  temp=-35:1:125 ;
 k=length(temp);
 tempout=zeros(1,k);
  for ii=1:k
      temp_in(ii)=-35+(ii-1)*1;
      tempout(ii)=tsensor(temp_in(ii),vt0,temp_zoom,keff);
  end
  subplot(1,2,1);
  plot(temp_in,tempout,'r-');
  hold on ;
  plot(temp_in ,temp_in,'b+');
  grid on ;
  hold off;
  legend('tempout','tempin');
  subplot(1,2,2);
  plot(temp_in,tempout-temp_in,'r-');
  grid on ;
  legend('delta temp');

二、tsensor 函数 

function temperature=tsensor(temp_in,vt0,temp_ref,ktc1)
FS=2;
num=10 ;
vrefp=FS/2 ;
vrefn=0;
vref=FS/2+vrefn ;
lsb=FS/2^num ;
bits=zeros(num,1);
weight=zeros(num,1);
for ii=num:-1:1
    weight(ii)=2^(ii-1) ;
end
%% temperature to voltage
keff1=0.002 ;% unit is V/K
keff2=0.0000004; %unit is V/K^2
res0=500 ; %ohm
tempka=temp_in-temp_ref; % temp shift
res_temp=res0.*( 1 + tempka*keff1 + tempka*tempka*keff2);
% test circuit converter temperature to voltage
vtest=vref*res_temp/(res_temp+res0); 
%% voltage to digtal
% sample
sample=vtest ;
if sample>vrefp
    disp('input is out of max limit,the vout is clamp to vrefp!');
else if sample< vrefn
         disp('input is out of min limit,the vout is clamp to vrefn!');
    end
end
% conversion
dout=0 ;
for  ii=num:-1:1
    if sample>vref
        bits(ii)=1 ;
        sample=sample-vref ;
    else
        bits(ii)=0 ;
    end
    vref=vref/2 ;
    dout=dout+bits(ii)*weight(ii);
end

%% ideal 
% dout=(dout-2^(num-1));
vout=dout*lsb ;
%% print the conversion data
% fprintf('vin=%4.4fV, dout=%4d,vout=%4.4fV,delta_v=%4.4fLSB,LSB=%4.4fmV\n', vtest,dout,vout,(vout-vtest)/lsb,lsb*1000);
% fprintf('tht keff= %4.4f Cesuis per LSB\n',ktc1*lsb);
temperature=ktc1*(vout-vt0)+temp_ref;
end

三、 仿真结果

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
电路功能与优势 本电路在精密热电偶温度监控应用中使用 ADuCM360精密模拟微控制器,并相应地控制4 mA至20 mA的输出电流。 ADuCM360 集成双通道24位∑-△型模数转换器(ADC)、双通 道可编程电流源、12位数模转换器(DAC)、1.2 V内置基准电压源以及ARM Cortex-M3内核、126 KB闪存、8 KB SRAM和各种数字外设,例如UART、定时器、SPI和I2C接口。 在该电路中, ADuCM360连接到一个T型热电偶和一个100铂电阻温度器(RTD)。RTD用于冷结补偿。低功耗Cortex-M3内核将ADC读数转换为实际温度值。支持的T型温度范围是−200°C至+350°C,而此温度范围所对应的输出电流范围是4 mA至20 mA。 该电路为热电偶测量提供了完整的解决方案,所需外部元件极少,并且可针对高达28 V的环路电压采用环路供电。 电路描述 本应用中用到ADuCM360的下列特性: 12位DAC输出及其灵活的片内输出缓冲器用于控制外部NPN晶体管BC548。通过控制此晶体管的VBE电压,可将经过47Ω负载电阻的电流设置为所需的值。 DAC为12位单调式,但其输出精度通常在3 LSB左右。此外,双极性晶体管引入了线性误差。为提高DAC输出的精度并消除失调和增益端点误差,ADC0会测量反馈电压,从而反映负载电阻(RLOAD)两端的电压。根据此ADC0读数,DAC输出将通过源代码纠正。这样就针对4 mA至20 mA的输出提供了±0.5°C的精度。 24位Σ-Δ 型ADC内置PGA,在软件中为热电偶和RTD设置32的增益。ADC1在热电偶与RTD电压采样之间连续切换。 可编程激励电流源驱动受控电流流过RTD。双通道电流源可在0μA至2 mA范围内以一定的阶跃进行配置。本例使用200μA设置,以便将RTD自热效应引起的误差降至 最小。 ADuCM360中的ADC内置了1.2 V基准电压源。内部基准 电压源精度高,适合测量热电偶电压。 ADuCM360中ADC的外部基准电压源。测量RTD电阻 时,我们采用比率式设置,将一个外部基准电阻(RREF)连接在外部VREF+和VREF−引脚上。由于该电路中的基准电压源为高阻抗,因此需要使能片内基准电压输入缓冲器。片内基准电压缓冲器意味着无需外部缓冲器即可将输入泄漏影响降至最低。 偏置电压发生器(VBIAS)。VBIAS功能用于将热电偶共 模电压设置为AVDD/2 (900 mV)。同样,这样便无需外部电阻,便可以设置热电偶共模电压。 ARM Cortex-M3内核。功能强大的32位ARM内核集成了126 KB闪存和8 KBSRAM存储器,用来运行用户代码,可配置和控制ADC,并利用ADC热电偶和RTD输入转 换为最终的温度值。它还可以利用来自AIN9电压电平 的闭环反馈控制并持续监控DAC输出。出于额外调试目 的,它还可以控制UART/USB接口上的通信。 UART用作与PC主机的通信接口。这用于对片内闪存进 行编程。它还可作为调试端口,用于校准DAC和ADC。 两个外部开关用来强制该器件进入闪存引导模式。使 SD处于低电平,同时切换RESET按钮, ADuCM360将进 入引导模式,而不是正常的用户模式。在引导模式下, 通过UART接口可以对内部闪存重新编程。 J1连接器是一个8引脚双列直插式连接器,与CN0300支 持硬件随附的USB-SWD/UART板相连。配合J-Link-Lite 板可对此应用电路板进行编程和调试。参见图3。 热电偶和RTD产生的信号均非常小,因此需要使用可编程增益放大器(PGA)来放大这些信号。 本应用使用的热电偶为T型(铜-康铜),其温度范围为−200°C至+350°C,灵敏度约为40ΩV/°C,这意味着ADC在双极性模式和32倍PGA增益设置下可以覆盖热电偶的整个温度范围。 RTD用于冷结补偿。本电路使用的RTD为100Ω铂RTD,型号为Enercorp PCS 1.1503.1。它采用0805表贴封装,温度变化率为0.385 Ω/°C。 注意,基准电阻RREF必须为精密5.6 kΩ (±0.1%)电阻。 本电路必须构建在具有较大面积接地层的多层电路板(PCB)上。为实现最佳性能,必须采用适当的布局、接地和去耦技术(请参考 指南MT-031——“实现数据转换器的接 地并解开AGND和DGND的谜团”、指南MT-101——“去耦 技术”以及 ADuCM360TCZ评估板布局)。 附件内容包括: 电路设计原理图和PCB的PDF档; gerber文件和材料清单; 电路笔记CN-0300;

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值