- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
非线性感测器量测发展剖析
如果需要感测器一小部分的输出范围,那么由非线性感测器上所获得的资料是足够的。但如果想要由感测器上获得较宽广的输出范围,则可使用模拟线性化线路来协助获取感测器的输出。感测器的硬件线性化足以有效应用于大多数应用。如果这些量测的范围仍然冲击到系统的精确度,则可藉由使用一微控制器和可程式增益控制放大器(PGA)的可程式化特色来加入到线路的功能中。
非线性热敏电阻
「热敏电阻」一词源自于THERMally Sensitive ResISTOR的描述词句。有两种热敏电阻的基本型式分别是负温度系数(NTC)和正温度系数(PTC)。NTC热敏电阻最适用于精准温度量测。PTC则最适用于开关应用。在本文中,将只会讨论一个NTC应用。读者将会看到NTC热敏电阻在三种不同模式的操作,以提供不同应用上的服务。其中一种模式使用会使用热敏电阻的阻抗对温度特性,另二种模式则采用热敏电阻的电压对电流以及电流对时间的特色。
目前为止,应用上使用第一种模式,阻抗对温度,这也是业界最普遍的模式。与使用电压对电流和电流对时间的特色应用不同点是,电阻对温度电路仰赖一个「零功率」操作状况。零功率意味着具有热敏电阻的最小自我加热。(图一)显示一个10kΩ、NTC热敏电阻的阻抗对温度回应图。传统上,对于25℃等级的个别热敏电阻是由1kΩ到10MΩ。
(图一) 在精准的温度量测环境中,热敏电阻是在「零功率」状况下使用。
在这种状况下,热敏电阻的自我加热会对元件阻抗有轻微的影响,这是因为流经热敏电阻的电流会维持低流量。这是一个NTC10kΩ热敏电阻阻抗对温度的图示。在本文中所使用的热敏电阻料号是来自Vishay/BCcomponents的232264055103。
由于热敏电阻是一个阻抗元件,所以就需要电流的通路。可使用一电压或电流参考来施加电流。在图一中的热敏电阻性能只要在维持电源低于整组电源的消耗之下,便会以合理方式重复。一旦违反了这个热能状况,热敏电阻便会自行加热,结果将造成内部阻抗的降低而产生出较实际读数为高的结果。
热敏电阻会使用在许多不同应用上,像是自动监控和无线发射控制、冰点侦测、皮肤侦测、血与尿液分析、冰箱、冷冻、移动电话、基地站雷射驱动和电池模组充电等。在精确的仪器应用中,会在手持式量表和温度计上发现温敏电阻。
在图一中,可在温度变化上看见热敏电阻属于高度非线性元件。此非线性修正可配合使用微控制器,以查表的方式去修正热敏电阻的非线性响应。即使可在微控制器韧体上执行这个型式的演算法,也会需要一个较高解析度的ADC转换器。另一方面,可在数字化前,先行使用硬件线性技术以减少这非线性误差。
一个有效的热敏电阻线性技术就是将电阻、热敏电阻以及电源供应器串联。可在(图二)中看见这种型式的线路。图二展示一种表面上很明显的方式来激发热敏电阻,并测量当侦测元件以一电流源激发时所产生的阻抗改变。
(图二) RA与VDD串联并线性化BC元件,NTC热敏电阻温度回应。
图中外部的低通滤波器会滤掉一些混叠的问题。可程式增益放大器(PGA)MCP6S26会由CH0输入传送出信号到装置的输出端。接着信号会使用PIC16F684,内部10bit AD转换器来改变成数字式。这个电路包括了其它选择性感测器,像是照相感测器(CH1)或硅温度(CH2)等位于PGA(CH1、CH2、CH3、CH4、CH5)的多重输入上。
藉由这种激发型式,热敏电阻电流大小会降得够低,所以热敏电阻的消耗常数会维持低于系统所需的精准度之下。如果MCP6S26(PGA)设定在+1V/V的增益或是由一个缓冲放大器所替代,这个线路可侦测到一个限制的温度范围(大约是±25℃)。这个温度范围并非受到放大器所限制,但会受到使用Thermistor|RA组合的电压分压器建立的线性所限制。在较大范围的温度量测具有三角电压,但太小以能精确地转换成一数字字元,除非设计者使用一个较高解析度的AD转换器。
以这个范例而言,来自BCcomponents的一个典型热敏电阻温度范围是-40℃到125℃。会注意到在(图三)中,在高温时一个10°C三角的差异电阻会明显地较低温时的一个10℃三角为大。这个热敏电阻在「阻抗」对「温度」范围上的比值不同点是,线路建立是一个棘手的类比电路问题。
(图三) 这是在图二中所展示Thermistor|RA组合的回应。热敏电阻线路在±25℃范围并且两个电阻(NTC和RA)的周遭温度都一样时,具有良好的线性回应。这个范围内的错误通常会在±1%之内。
在这个范例中,很明显的一个10位元AD转换是不足以涵盖整个温度范围。另一方面,像是增加AD转换器的解析度或更换一些电阻(RA)到电路中会带来成本的增加与电路的复杂度。第三个可能的方式是保持元件像是在图二中并使用PGA的增益控制以带来优点。
如果仔细检视在图三中的热反应,将会注意到在高温时所丧失的颗粒性。若在这个较高温度时增加PGA的增益,将会把PGA的输出信号带回到AD转换器可有效辨识温度的范围内。
(图四) 来自微控制器SPI埠的信号到MCP6S26(PGA)上会改变这个放大器的增益
MCP6S26的可程式化增益为+1、+2、+4、+5、+8、+10、+16和+32V/V。这项应用使用来自PGA的1、8和32V/V增益以有效地涵盖整个热敏电阻的温度范围。微控制器在本图中使用滞后作用以确保所计算的温度值保持稳定而且免于电路噪音影响。
这个方式使用在微控制器码上的改变而非硬体上。接着,这些对电路的调整几乎是免费的(减掉程式设计的时间)。(图五)显示微控制器演算法的流程图。
(图五) 此流程图容许微控制器能适切地调校PGA到适当的增益设定
如果增益设定太低或太高,则微控制器会将迴圈回復,直到PGA结果符合适当设定以供PGA增益对AD转换器输出值使用。一直到确认AD转换器与/PGA组合是符合ADC的值而且对一查核表具备线性化。
PIC16F684由韧体执行一即时样本。韧体会读取AD转换器的值并将它送到PGA滞后作用的例行程序中。PGA滞后作用例行程序会检查PGA增益设定。依据PGA增益,微控制器测试具有AD转换器值的行程点,请参考图四。若AD转换器的值超出一行程点的值,微控制器便会设定PGA增益到下一个更高或更低的增益设定上。一旦离开PGA滞后作用例行程序,韧体会检查PGA增益是否改变。如果没有改变,程式会继续。而假设PGA增益有改变,那么韧体会重读AD转换器的值。
一旦知道了PGA增益和AD转换器的值,这些值都会送到分段式线性插入例行程序中(PwLI)。微控制器会依据PGA增益设定及参考正确的查询表。PwLI例行程序转换10bit ADC值到一个16位元固定十位数小数点的摄氏度数值中。这个固定的十位数小数点格式会回报出十分之一的摄氏读数。(图六)将这个系统的精准度列成表格。
(图六) 在本图具有两曲线,曲线(1)显示整体设计错误强度对热敏电阻的影响,并具有在图二线路中的 MCP6S26(PGA)。
曲线(2)显示整体设计错误强度对热敏电阻温度的影响,并具有缓冲放大器来取代MPC6S26(在图二中)。
来自曲线(2)的资料是假设下列的错误:热敏电阻阻抗错误=1%、ADC DC错误低于±3.5LSB、
PGA增益错误低于±0.1%、PGA输入偏差错误低于±1mV。
在十分之一度中执行分段视线性插入会提供较佳的摄氏度数解析度。在最终设计中,设计者可选择报告上使用分数度数或採整数表示。
由一个非线性感测器获得资料永远都会是设计上最大的挑战。某些感测器的线性化需要较平常更多的工作。这种情况可能不断发生,直到处理了较广泛、非线性回应的一感测器范围。所以微控制器和可程式增益放大器的组合克服了在一广泛温度范围距离上热敏电阻的非线性。这项技术在热敏电阻上作用良好,但也可用在任何显示非线性行为的感测器上。