电工技术基础_电工基础知识_电工之家-电工学习网

欢迎来到电工学习网!

如何简化微控制器与温度传感器的接口?

2017-03-14 14:19分类:变频器 阅读:

 

    温度是一个模拟量,但数字系统经常用到温度来完成测量、控制和保护等功能。如果使用合适的技术和器件,从模拟温度到数字信息所必需的转换将很容易。
    用微控制器(uc)读取温度值在理论上很简单。利用模数转换器(ADC)将热敏电阻分压器、模拟输出温度传感器或其他模拟温度传感器的输出转换为数码,然后由uC读取即可(见图4-201)。对于有些内置ADC的控制器能够简化一些设计。ADC需要一个基准电压,可由一个外部元件产生。例如,用于热敏电阻传感器的基准电压通常与加在电阻.热敏电阻分压器顶端的电压相同。然而,这类系统存在下述问题: ·传感器输出电压范围远小于ADC输入电压范围。这种用途的典型ADC -般具有8位分辨率和一个2.5V的基准电压(该电压通常等于输入电压范围)。如果在所测温度范围内传感器的最大输出只有1.25V,那么有效分辨率实际只有7位。为了能够达到8位分辨率,或者外加运放来提高增益,或者降低ADC的基准电压(这可能会使某些ADC的精度受损)。
    ·误差分配紧张。将热敏电阻或模拟传感器的误差与来自于ADC、放大器失调、增益设置电阻  差和电压基准等的误差贡献综合起来考虑,可能会发现总误差已经超出了系统所允许的容限。
    ·想获得线性的温度一代码传递函数,而你正在使用热敏电阻。热敏电阻的传递函数具有很严重的非线性,不过如果只需在很窄的温度范围内应用的话,它还可满足要求。当然还可以通过查表方式进行线性补偿,但系统可能无法满足这种方案的资源需求。
    ·ADC输入通道有限。多点温度测量时,如果需要测量的点数超过了ADC的输入通道数,就要 添加多路复用器,这将增加成本和开发时间。
    .uC的I/O引脚数有限。对于内置ADC的微控制器不存在这个问题,但当采用外部串行ADC时 则需要2~4个I/O引脚与uC接口。
    在图4-201所示的简单接口中,ADC的基准电压取自电源电压。可用模拟温度传感器取代热敏电阻.电阻分压器。在此情况下,ADC(有可能内置于uC)需要一个足够精度的电压基准。
    如果采用数字接口的温度传感器,上述设计问题将得以简化。同样,当ADC输入通道和uC的I/O引脚短缺时,采用时间或频率输出的温度传感器也能够解决  上述测量问题(见图4-202)。以MAX6576温度传感器为例,它输出的方波信号具有正比于绝对温度的周期。采用6引脚 SOT23封装,仅占很小的电路板空间。该器件通过一个I/O  引脚与uc接口,利用uC的内部计数器测出周期后就可计算出温度。
    MAX6576输出方波的周期正比于绝对温度,MAX6577  的输出频率正比于绝对温度。比例常数通过TSO和TSI引脚在四种值中选择其一,无须外围元件。
    将两个逻辑输入引脚分别接地或正电源电压,可以从四个介于lOus[K到640us/K之间的周期/温度比例常数中选择一个适当数。
    另外一种类似的温度传感器(MAX6577)输出方波信号,其频率/温度系数能够在0.0675Hz/K和4Hz/K之间设定。这两种器件不仅简化了温度的测量,而且节省了PCB的实际成本、元件数目和模拟/数字UO资源。它们能够通过单个数字I/O引脚将温度数据传递至uC,并且只需增加一个光电隔离器就可以实现传感器和CPU之间的隔离,使它们非常适合于要求电气隔离的应用。
    对于要求测量多点温度的应用,方案选择更为复杂。将热敏电阻或传统的模拟传感器放置在合适的位置,并连接至ADC输入端,前提是ADC必须具备足够的输入端。作为另外一种选择,MAX6575能够直接将温度数据传给uc,并且最多可以将8个MAX6575挂在同一条uC的I/O输入上。只需一条简单的I/O线将8只MAX6575连接至uc即可(见图4-203)。测量温度时,uc短暂地拉低I/O线,
经过短时间延时后,第一片MAX6575拉低I/O线。这个延时正比于绝对温度值,比例常数可通过MAX6575的两个引脚设定。
    第一个传感器将信号线拉低,并保持一个正比于温度( SUs/K)的间隙后释放。第二片MAX6575通过编程引脚选择为更大的延时系数,经过第二个延时时间后拉低I/O线并保持一段由Sus/K常数决定的间隔。按照这种方式,4片MAX6575被连接到一条I/O线上。除此之外,还可在同一条I/O线上力口挂另外4片更长延时的MAX6575。MAX6575L的延时系数介于Sus/K至80us/K,MAX6575H的延
时系数介于160us/K至640us/K之间。这样,多达8片MAX6575能够安装在系统周围的不同位置,通过一条I/O线连接至uC。
    对于有些系统,并不需要知道精确的温度值,只要了解温度是否高于或低于某特定值即可。该信息用来触发风扇、空调、加热器或其他环境控制单元。在系统保护应用中,“过温位”用来触发有序的系统停机,避免系统电源切断造成数据丢失。当然,这个单位信息也可以通过上例所述的温度测量来得到,但相对于这个简单功能来讲上述方法所需的软件和硬件开销过多。
    用一个电压比较器取代图4-201中的ADC,产生的l位输出可驱动uC的一个I/O引脚(见图4-204)。同样,图中的热敏电阻也可以由模拟电压输出的温度传感器代替。大多数此类器件的输出电压与温度的关系与电源电压无关。为避免电源电压变化的影响,将比较器的电阻分压器顶端连接至电压基准而非电源电压。
    如果将传感器一比较器组合电路替换为温度开关,如MAX6501,则系统得到进一步简化。这种单片器件结合了传感器、比较器、电压基准和外部电阻等多种功能。当温度超过预设门限时,漏极开路输出变低。该系列中还有一些器件在温度低于设定门限时开漏输出变低(MAX6503),另外一些为推/挽式输出,在温度高于或低于设定门限时输出变高(MAX6502,见图4-205,或MAX6504)。此外,通过一个引脚接V+或接地,可设置2℃或10℃的滞回。现有的门限温度介于-45~+115℃之间,间隔10QC。

    正如MAX6575 -样,也可以将多片MAX6501或MAX6503连接到单条I/O线上,当一点或多点
的温度越过门限时通知iC。如果系统必须知道哪些位置温度越限,则每个开关必须连接到单独的I/O引脚。
    上述传感器测量的是其自身管芯的温度,由于管芯温度接近于引线温度,所以每个传感器必须安置在与被监视元件有良好热耦合的位置。然而,有些情况下必须监测的温度无法紧耦合至传感器,如功率ASIC,其管芯要比周围电路板热得多。采用一个内置的温度传感器可以使ASIC出现过热故障时关断,但这种方法仍然不够精确,并且不能在故障出现前给系统提供警告信息。
    给ASIC管芯增加一个可外部连接的PN结就能够直接测量管芯温度,只需给其施加两种或两种以上的正向电流,并分别测出结电压。两电压之差正比于管芯热力学温度:
式中,l.和 i施加于PN结的正向电流,v和V2是相应的正向结电压,k是玻尔兹曼常数,71是热力学结温(单.位为开尔文),q是电子电荷。
    但是,这种测量方法需要产生精密电流比和测量微小电压差的精密电路,同时还要克服功率ASIC管芯因大幅电平跳变带来的噪声。令人欣慰的是,Maxim的远端结温传感器己将这些精密的模拟单元和简单灵活的数字接口集成起来了。
    以MAX6654为例,它能够以8位分辨率(1℃)测量远端结温,并通过SMBus接口将结果传给uC(见图4-206)。
      该器件最初被设计用来监测PC机内CPU的温度,它还具有其他一些能够减轻控制器负担的特性。例如,MAX6654采用窗口比较器监测远端结温,当温度高于或低于预先从uC寄存器中下载的门限值时中断uC。uC -旦在启动时设定好温度门限后,就可以放手MAX6654,直到温度出现异常,需要uC处理为止,而不需要不断对MAX6654进行查询。
    MAX6654采用10引脚uMAXr封装,可靠近待测结放置。缩短待测结和MAX6654之问的连线长度有助于降低噪声干扰。





 

上一篇:如何设计灵活的4~20mA压力传感器变送器?

下一篇: 怎样校准PLC的模拟量输入模块?

相关推荐

电工推荐

    电工技术基础_电工基础知识_电工之家-电工学习网
返回顶部