由前面介绍可知,tmp03/04数字温度传感器输出为占空比随测量温度变化的串行数据,测量温度由公式(1)或公式(2)计算得到。可见温度测量的关键是得到t1和t2的计数值,这两个计数值通过微处理器定时器的捕获功能精确获取,或者通过普通i/o口较准确地获取。下面分别介绍这两种方式的接口电路以及程序设计。
3.1 通过捕获口获取计数值
msp430的timer_a定时器具有强大的功能,可以支持同时进行的多个铺或/比较功能,每个捕获/比较模块可以独立编程,由比较或捕获外部信号来产生中断,外部信号可以是信号的上升沿、下降沿或所有跳变。
timer_a定时器时钟源来自内部时钟或外部时钟,可由其内部的寄存器来设置分频,所选最高计数频率必须合适,才能防止计数器t2时间内溢出,可以用公式(3)计算最高计数频率fcpmax:
fcpmax=nmax/t2max (3)
用16位计数器,n2max=65535,t2max=44ms(对应最高温度+125℃),由公式(3)可得fcpmax=65535/44ms= 1.5mhz,msp430工作频率为8mhz,分频器选择8分频,使定时器工作在1mhz,可以保证计数值不会溢出,精确测量温度。
由于tmp03/04工作在晶闸管功率模块周围,环境比较恶劣,因此,为防止干扰从工作电源地线窜入微处理器。在tmp03/04与微处理器之间加上光电耦合器进行隔离,隔离后的信号加到timer_a的捕获口p1.2。微处理器判断过温后通过p1.3输出电平驱动相应继电器,切断晶闸管功率模块工作电源以保护电路,具体的电路图如图4所示,程序流程如图5所示。
TMP03/04型数字温度传感器在温度保护中的应用
TMP03/04型数字温度传感器在温度保护中的应用
3.2 通过普通i/o口获取计数值
实际上,在晶闸管功率模块的温度保护电路应用中,对温度测量并不要求很精确,只要求微处理器在散热器温度超过某一个温度值时启动超温报警,而且在一般工业控制中,带捕获功能的i/o口资源十分紧张,因此,通过普通i/o口与tmp03/04连接获取温度值得方法具有相当大的实际应用价值。
该方法接口电路与图4类似,只需要将捕获口p1.2更换成普通的i/o口即可,程序流程图如图6所示。
TMP03/04型数字温度传感器在温度保护中的应用
在程序设计方面,因为t1是固定的,变化的是t2,所以微处理器预设一个超温数值t2,该数值可由公式(4)求得。一旦tmp03/04输入到p5.1上面的低电平的计数值大于该预设值,就启动超温保护。
t2=400t1/max/(235-θ) (4)
其中,t1max=12ms,θ为超温温度值。
4 结束语
实践证明,在晶闸管功率模块温度保护电路中,tmp03/04型数字温度传感器与微处理器的接口以及程序设计都相当简单方便,并且精度较高,抗干扰能力强,能够有效地起到超温保护的作用。