苏州永节电子科技有限公司
设为首页 | 收藏本站
新闻详情

使用单片机采集热电偶

浏览数:174
对于热电偶采集,有专门的芯片比如max31856等等,直接读取内部寄存器就能出来温度,但是有局限性不利于产品升级,只能是固定的一种分度号采集,又比如Wre325型的热电偶不支持,那么只能通过单片机驱动ADC芯片来采集热电偶的电压计算出温度,可以把所有热电偶的分度号以数组的形式保存在单片机里,能支持所有类型的热电偶。
关于热电偶原理,具体的请问度娘,热电偶是一段由不同导体(通常为合金)制成的一端焊接在一起的两根导线,由于塞贝克效应,在热端和冷端之间将产生一个电动势,看个图:

这里热端可理解为热电偶,冷端可理解为连接热电偶的接线端子或者PCB。
热电偶类型及测温范围,看图:

ADC芯片选择,比如ADS1232,ADS1118,ADS1220,AD7793等,我选择的是ADS1118,性价比高,而且内部自带电压基准和温度传感器,电路也很简单,我在AIN2接了一个NTC电阻用于冷端温度测量,使用内部温度传感器可以不要。


热电偶输出的是电压信号,使用ADC采集到的模拟量转换成电压,此时是热端的电压,还需要对冷端电压进行测量补偿,就是连接热电偶的端子或者PCB焊盘那个地方的温度,可以用ADC内部温度传感器进行测量,也可以用NTC电阻。得到冷端的温度后,需要把这个温度通过查热电偶分度表转换成对应的电压,比如,冷端温度为30度,通过查热电偶分度表得到30度的电压是多少,最后热电偶输出的电压加上冷端补偿的电压就是实际电压,实际电压再通过查热电偶分度表就能得到实际温度。看个图,T代表温度,V为电压:
 举个栗子:


ADC 冷端报告 26.2°C,经 ADC 测量的 K 类型热电偶电压 6.62mV。要将这个值转换为最终温度,首先将测得的片载温度转换为相应的所使用的热电偶类型的电压。根据制造商热电偶分度查询表,26.2°C 对应于 1.049mV。于是 = 1.049mV + 6.62mV = 7.669mV 。


     下一步,从热电偶查询表中,将新计算得出的电压V转换回一个温度。在这个示例中,制造商热电偶查询表指示 7.669mV 与 188.05°C 等效。


热电偶S,B,W,R,K,J等不同类型的分度表,网上都能找得到,都是统一的,写程序的时候按照标准的分度表来,实际还需校准,因为每个厂家的制造工艺导致有误差。格式是这样的,请看图:


    上图,800度时热电偶输出33.275毫伏。把这些毫伏表乘以1000写到单片机数组里,可以隔5度10度50度记录一个数就可以,用二分查表法查,然后计算两个点的线性比就可以得到温度。