基于CVI的红外探测器元件评估系统*
2010-12-07杨帮华郑晓明张永怀
杨帮华,郑晓明,张永怀,董 峥
(1.上海大学机电工程与自动化学院自动化系上海市电站自动化技术重点实验室,上海200072;2.河南汉威电子股份有限公司,河南郑州450000)
0 引言
红外探测技术在军事国防和民用领域得到了广泛的研究和应用,如,目标追踪、入侵探测、气体分析、火灾预测等。探测器在使用之前和制造完成后,都需要对探测器进行性能检测[1]。
红外探测器评估指标包括灵敏度和噪声2个方面。灵敏度测试是指10 Hz红外脉冲的探测器输出信号大小的测量;噪声测试是指在无红外输入下,10,100,1000 Hz的探测器输出信号大小[2,3]。目前,大部分工厂采用示波器观察或者10,100,1 000 Hz模拟窄带滤波器方式,重复劳动量大,测试效率低。
本文结合黑体,斩波器,信号调理电路,NI-DAQ数据采集卡以及虚拟仪器(C for virtual instrumentation,CVI)软件设计了红外探测器评估系统,对红外探测器的输出信号,进行正确的采集和分析,计算探测器的灵敏度,对噪声采用快速傅里叶变换(fast Fourier transform,FFT)进行分析,一次测量便计算出多个频率的噪声,更为高效、精准。
1 系统结构与原理
红外探测器性能测试系统如图1所示,包括恒定的红外光源(一般为黑体),斩波器,遮光器,单片机控制电路,数据采集卡,计算机及相应的分析软件[3]。红外光源发出恒定的红外射线,对灵敏度测量时,斩波器以恒定的转速进行斩波,在遮光器依次出于全开,左半遮挡,右半遮挡和全遮挡的状态下进行数据采集。对于噪声的测试,则要求斩波器处于全部遮挡的位置时,进行数据采集和分析。红外探测器内部已经含有放大电路,故其所产生的信号直接送入数据采集卡。单片机负责接受上位机指令,控制斩波器转速恒定与停止。数据采集卡同时采集红外探测器的输出信号和遮光器的位置信息。本文重点研究如何基于CVI软件对探测器性能进行分析。
图1 红外探测器测试系统基本结构Fig 1 Basic structure of infrared detector testing system
2 CVI程序设计
虚拟仪器编程语言LabWindows/CVI以功能强大、使用灵活的ANSI C为核心,与数据采集、分析和表达等测控专业工具有机集合,为开发人员提供了一个理想的软件平台[4~6]。红外探测器评估系统通过 CVI编写的上位机软件,实现上位机和单片机的通信、数据采集,灵敏度测量和噪声测试功能。
1)串口通信的设计与实现
通过RS—232串口对单片机传输斩波器速度信息,可以实现对斩波器的控制。在设置串口列表时,传统的设置为COM1~8的固定列表,未必与系统中的串口相同。本程序中通过阅读Windows操作系统注册表“My Computer∥HKEY_LOCAL_MACHINEHARDWARE/DEVICEMAP/SERIALCOMM”下储存的串口信息[7,8],不仅列出全部可用出口,同时还显示相关信息,很好地解决了串口列表问题,帮助完成程序初始化,减少用户设置参数。在CVI中,通过指令RegQueryInfoOnKey函数便可以实现对系统串口信息的读取。
每个命令周期,上位机和下位机的串口通信过程中传输的是4×8位二进制数,分别代表起始信息,编号,转速和校验,具体命令格式如表1和表2所示。上位机的接收和发送过程通过调用CVI的ComRd和ComWrt2个函数来实现。
表1 上位机发送命令格式Tab 1 Command format sent from upper computer
表2 下位机返回数据命令格式Tab 2 Command format of returned data from lower computer
2)数据采集
红外传感器的输出经过数据采集卡转换为数字量,再经过上位机软件读入计算机进行处理。采集过程如图2。
图2 采集过程流程图Fig 2 Flow chart of data acquisition
3)灵敏度测量
灵敏度测量具体实现的程序包括2个线程:线程一(主线程),负责高速数据采集和用户的所有面板按键;线程二,负责粗略的实时采集和显示当前的传感器输出值,可以由“预览”按钮启动。“图像模式”和“显示点数”可以实时改变显示图形相应的属性。采样点数与采样频率的商为采集时间,峰峰值与遮挡关系是输出信息。“串口选择”默认为当前系统的所有串口。在系统启动时,程序通过读取Windows系统的注册表信息,来生成所有串口的列表。
“设置转速”按钮打开串口通信,按照协议传输将转速数值传输给单片机,校验单片机返回的信息,并提示设置结果和关闭串口。灵敏度测试结果如图3。
图3 灵敏度测试结果Fig 3 Sensitivity test result
4)噪声测试
图4为对红外探测器元件进行噪声测量结果。首先,对采集的数据进行FFT,以得到各个频率基波的幅值图像和直流分量,然后,对特定频率进行傅里叶逆变换,并以正弦曲线形式表示。
5)调试结果
经过与数据采集卡和下位机的实际连接调试,能够实现高精度的数据的采集,串口数据的正确传输、显示和保存、灵敏度及噪声分析等相关操作。各个面板的所有功能工作正常,“导出数据”按钮可以在任意时刻保存当前的数据,测试的结果可以正确地显示在界面上等。当用户进行违规操作时,程序弹出对话框提示正确的操作等帮助信息。
图4 噪声测量结果Fig 4 Noise measuremental result
3 结论
经过红外探测器件实验测试,基于LabWindows/CVI设计的红外探测器元件评估系统,能够正确控制斩波频率,测试红外探测器件的灵敏度,一次采样就可以获得各个频率的噪声数值。同时,能够对采集的精确数据进行自动保存和显示。该系统可避免人力计算,提高工作效率,适合于红外产品出厂前的测试。程序实时性好,测试精度高,提示信息多,易懂。采用LabWindows/CVI编写的程序,兼容 C/C++语言,与Windows平台有良好的通用性。
[1]管保柱.象限式红外探测器部分光电参数测试研究与系统实现[D].武汉:华中科技大学,2004.
[2]董 良.MEMS集成室温红外探测器研究[D].北京:清华大学,2004.
[3]宋宇峰.LabWindows/CVI逐步深入与开发实例[M].北京:机械工业出版社,2003.
[4]史君成,张淑伟,律淑珍.LabWindows虚拟仪器设计[M].北京:国防工业出版社,2007:70-156.
[5]邓居祁,瞿 曌,盛 旺.虚拟仪器的实现[J].传感器与微系统,2006,25(4):15-16.
[6]孙晓云,郭立炜,孙会琴.基于LabWindows/CVI的虚拟仪器设计与应用[M].北京:电子工业出版社,2005:61-102.
[7]高志华,孙秀霞.LabWindows/CVI开发环境下实现串口通讯的方法[J].现代电子技术,2004(2):62-64.
[8]Liddiard K C.Thin-film resistance bolometer IR detectors[J].Infrared Physics,1984(24):57-64.