基于C8051F单片机的红外轴温探测器零点校正技术_第1页
基于C8051F单片机的红外轴温探测器零点校正技术_第2页
基于C8051F单片机的红外轴温探测器零点校正技术_第3页
基于C8051F单片机的红外轴温探测器零点校正技术_第4页
基于C8051F单片机的红外轴温探测器零点校正技术_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、    基于C8051F单片机的红外轴温探测器零点校正技术引言在数据采集系统中,前级放大器的零点漂移是探测误差的主要来源,特别是在环境恶劣的条件下。例如,用于铁路轴温检测的红外探头,要在环境温度40至+55的范围内可靠的工作,其零点的温漂范围很大,是很难采用简单的软件修正和硬件补偿技术完全解决的。本文介绍利用C8051F007单片机,在进行温度数据采集和处理的同时,通过片上DAC对前级放大器进行零点自动调整,采用“软硬兼施”的闭环调整方法,补偿了系统的零点漂移。根引言在数据采集系统中,前级放大器的零点漂移是探测误差的主要来源,特别是在环境恶劣的条件下。例

2、如,用于铁路轴温检测的红外探头,要在环境温度40至+55的范围内可靠的工作,其零点的温漂范围很大,是很难采用简单的软件修正和硬件补偿技术完全解决的。本文介绍利用C8051F007单片机,在进行温度数据采集和处理的同时,通过片上DAC对前级放大器进行零点自动调整,采用“软硬兼施”的闭环调整方法,补偿了系统的零点漂移。根据本课题的特点,由于环境温度变化的速度十分缓慢,当采集时间相对环境温度变化较短时,可以认为在采集过程中零点的漂移量是相对固定的。那么,当传感器差动放大器的输入端上产生零点漂移时,我们可以在非数据采集时间内动态地调整放大器的输出参考点,抵消掉零点漂移带来的影响。此种方法同样可用于其它

3、传感器零点漂移范围较大、信号变化较慢的情况。零点误差的产生传感器输出电压VS由零点电压VZ和信号电压VR组成,VS=VZ+VRVR是与被测量物理量直接相关的电压,要通过ADC转换成数字量。VZ是零点电位,从长时间来看,VZ往往是随环境温度缓慢变化的,但在较短的采集时间内,也可以近似看作不变。为了只将VR进行放大采集,我们将另行提供一个补偿电压VN,并且使VN=VZ,将VS和VN输入到一个差模放大器的两输入端。设放大器的增益为G,则放大器输出为(VZ+VR-VN)G。如果VN=VZ,则输出为VRG,直接得到我们需要的电压。但实际中,VZ会随时间缓慢变化,我们无法时刻做到VN=VZ。而一旦VNVZ

4、,输出就会产生零点误差(VZ-VN)G,尤其是在G很大的时候,误差会十分明显。根据探测现场的实际情况,平时无列车通过,探头暂停采集的时候,我们可以利用ADC不停地捕捉零点漂移,并通过DAC输出补偿电压VN,随时去掉零点误差。而当列车通过探头的时间内,单片机停止校正并锁存DAC调零输出,探头以此刻DAC调整的输出状态作为探测零点开始进行工作。主要器件介绍仪表放大器AD620仪表放大器是一个双端输入的差动放大器,除了高精度,高稳定性的特点外,其输出零点参考电压可以通过REF管脚的电压任意设置,这就为我们调整零漂提供了可能。AD620的输入端有着高达109的输入阻抗;输入失调电压30uV,输出失调电

5、压400uV。输入偏置电流很低,通常在0.5nA最高不超过2nA;增益为100时,增益误差0.15%;增益100时的共模抑制比高达130dB;输入噪声,输出噪声。除此以外,AD620的温度稳定性也十分优异:增益大于1时,增益的温度系数为-50ppm,输入失调电压和输出失调电压的平均温度系数分别为0.3uV/和5.0uV/。与通用运放不同的是,通用运放大多用连接在输入与输出间的外部电阻控制自身闭环增益,而仪表放大器采用内部反馈网络,它的增益控制电阻是不与输入、输出端连接在一起的,有专门用来连接增益设置电阻的引脚。AD620通过接在1、8脚之间的电阻来设置增益大小,增益G与增益设置电阻之间的关系如

6、公式1。(1)一般通用运放的输出都是对地输出,而仪表放大器的输出是相对于放大器的输出参考引脚电位的。通过在输出参考引脚施加不同的电压可以设置对地输出电压的输出零点。仪表放大器的对地输出电压公式如公式2。VO=G(V+-V-)+VREF(2)C8051F007单片机本设计方案需要用到高速MCU和高精度ADC、DAC,Silicon Laboratories公司的高性能单片机C8051F007正好满足这一需要。该单片机集成了8051内核,但时钟频率更高,处理能力更强。片上集成8通道12位ADC和2个12位DAC,除了完成采集和处理任务之外,还有足够的模拟部件进行零漂调整。比用分离元件既提高了可靠性

7、,又简化了电路,也降低了成本。·片上集成DACC8051F007片上集成的两个DAC使用方法十分简单,DAC可以用单片机内部提供的2.43V参考电压,也可以外部提供。我们在这里使用内部参考电压。参考电压配置寄存器是REF0CN,地址是0xD1。无论使用DAC0还是DAC1,都需要将寄存器的0、1位置“1”。在本应用中,bit2到bit0设置成“000”,也就是12位转换数值的MSB到LSB存在DAC0H的bit3到DAC0L的bit0。DAC1的设置过程与DAC0相同,不再赘述。 表1表2·片上集成ADCC8051F007片上集成了一个8通道12位ADC。8个通道

8、既可以单独设置成单通道,也可以两两设置成双端差动采集。在ADC的输入端还有一个前端放大器,放大倍数可以编程。ADC参考电压可以外部提供,也可以使用内部参考电压。内部参考电压2.43V。可以选择多个ADC转换开启信号。ADC使用前,也要先设置参考电压,内部参考电压的设置过程可以参考DAC。接着设置ADC的输入方式寄存器AMX0CF(地址0xBA)和通道选择寄存器AMUX0SL(0xBB)。8个输入通道两两分成一组(通道0和通道1、通道2和通道3、通道4和通道5、通道6和通道7)。AMX0CF的bit0到bit3可以分别设置这四组输入的方式。置“1”将该组两个输入设置成双端输入方式,清0则该组两通

9、道各自为单端输入方式。AMUX0SL的bit3到bit0为输入端口选择位,控制多路器是外部某一输入端口与ADC相连。具体设置方式可以参考C8051F007的数据手册。寄存器ADC0CF,用来设置ADC的转换速率和输入增益。地址0xBC,复位初始数值0x60,表1给出了寄存器ADC0CF的配置说明。Bit7- Bit 5: ADC转换时钟设定,通过设定000至1xx来控制ADC的转换周期分别为1、2、4、8和16倍时钟。Bit4- Bit 3: 无用Bit2- Bit 1:ADC内部前置放大器增益设置,通过设定000至1xx来控制放大器分别为1、2、4、8和16倍的增益。ADC0CN寄存器,用于

10、控制ADC的各种转换功能。地址0xE8,复位初始数值0x00,表2给出了ADC0CN寄存器的配置说明Bit7:ADC开启位0:ADC进入掉电状态1:ADC进入激活状态,可以随时进行转换Bit6:采样跟踪模式设定0:在下一次采样之前,ADC一直在跟踪1:按照ADSTM1-0(Bit3-2)设定的方式跟踪 ADSTM1-0(Bit3-2)00:向ADBUSY写入1时开始跟踪,需要3个转换周期01:定时器3溢出开始跟踪,需要3个转换周期10:管脚CNVTS上升沿开始跟踪,需要3个转换周期11:定时器2溢出开始跟踪,需要3个转换周期Bit5: 转换完成中断标志0:自上次中断标志清除后,没有转换完成1:

11、ADC完成一次转换Bit4:ADC忙碌位读:0:转换完成或自复位后无转换;当中断开启时,该位由1变到0时触发中断1:ADC正在忙于转换写:0:无效果1:如果ADSTM1-0(Bit3-2)=00b时,触发一次转换Bit3-2:转换触发模式:00:向ADBUSY写1触发转换01:定时器3溢出触发10:管脚CNVTS上升沿触发11:定时器2溢出触发Bit1:窗口比较中断标志(软件清零)0:窗口比较不满足匹配条件1:窗口比较满足匹配条件Bit0:数据寄存器左对齐设置位0:数据寄存器右对齐1:数据寄存器左对齐零漂校正过程首先我们设定在某一环境下,探头输出没有零点漂移,那么根据公式2,我们得到初始状态仪

12、表放大器输出为(V+-V-?)G+VREF。DAC0输出中点电位1.2V,即VREF=1.2V。我们可以调节放大器反相输入端的可调电位器,使放大器输出电压VC,该电压在零到ADC最大采集电压之间,略高于0V即可,这样为的是使ADC可以采集到放大器输出在这个电压上下变化的情况。由于ADC不能采集0V以下的电压,所以该电压不能选择0V。在这里我们选择0.5V,太高了会缩小电压采集的范围。此时(V+-V-)G+VREF=VC(VC=0.5) (3)当环境改变时,设此时传感器产生零点漂移为。放大器输出,零点漂移。此时通过ADC采集放大器输出电压,如果输出大于VC,则减小DAC0的输出,即减小VREF;

13、相反,如果输出小于VC,则增大DAC0的输出,即增大VREF,这样如此采集>调整>采集.使放大器输出电压稳定在。(4)比较式3和式4可以看出,我们完全是靠DAC0的变化量将抵消掉。消除零点漂移是一个逐渐逼近的过程,每次逼近的步长可以通过软件设定,但由于受到DAC分辨率的影响,最小步长是DAC的1LSB代表的电压,所以我们最小只能将零漂控制在0到最小步长之间。受DAC输出范围的限制,初始时DAC0输出1.2V,若设此时的零漂为VD(通常我们认为是零),那么,我们能够调节的最大零点漂移范围是VD-1.2/G,VD+1.2/G。当单片机的系统时钟为16M时,完成一个采集,调整的周期最多用

14、数百uS。列车通过时间一般在十分钟以内,在此时间内完成的数据采集,对缓慢的零点漂移来说影响是不大的。硬件、软件实现放大器零点校正的硬件原理图如图1所示。 图1 放大器零点校正的硬件原理图仪表放大器的同相输入端接红外传感器输出电压;反相输入端输入调零电压。放大器1、8脚间接入增益设置电阻。5脚的参考电压输入,连接单片机C8051F007片上DAC0的输出,通过DAC的输出来自动校正放大器的零点。实际电路中VREF也可通过电位器分压来取得调整电压,以提高调整细度。放大器输出电压经AIN0送至单片机片上的ADC转化为数字量。单片机C语言编程框图如图2所示。 图2单片机C语言编程框图系统在不采集传感器输出电压的时候自身进行系统调零,先将放大器参考点电压设置为0.5V,也就是让DAC0输出0.5V。然后采集放大器的输出电压,如果输出电压大于0.5V,可以减小参考电压抵消漂移;相反,如果输出电压小于0.5V,说明有负向零点漂移产生,则要增大参考电压抵消漂移。结语根据仪表放大器的输出公式我们可以看出,当放大倍数很高时,零点漂移也会同时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论