目前无人飞行器主要飞行于大气对流层和平流层低层区间。该区间大气温度变化复杂,大气环境的温度过低或过高都将直接影响无人飞行器控制系统的正常工作。由于无人飞行器机身需要检测温度的部位较多,监测目标比较分散,使用单一结构的温度传感器或结冰探测仪表难以实时、全面地掌握整个机身表而温度状况,因此,本设计结合已有的民用多路测温技术,提出一种基于FPGA的适用于无人飞行器机身各部位温度检测和功能事务管理的多路温度巡检系统。该系统可在无人飞行器飞行过程中,根据需要循环监测各部位的温度状况,以便能够及早测出机身可能出现的结冰低温并向系统发出报警信号使飞机及时飞离结冰区域或开启除冰设计,从而达到保障飞行安全的目的。
设计方案的总体结构
无人飞行器温度巡检装置的结构框图如图1所示。
本设计采用FPGA作为核心芯片,电源电路供电后,信号调理电路通过铂电阻传感器PT100将采集的电压信号通过放大器放大后送给A/D采样电路,A/D采样电路通过采样把模拟信号转换为数字信号后送给FPGA进行处理,处理数据后FPGA自动把处理结果送出,通过液晶显示并且与键盘电路设定的值进行比对,如果超出设定值范围,FPGA送出信号,使得蜂鸣器电路报警,继电器电路响应,启动加热装置,图1给出了系统的整体框图。按照系统的功能要求,装置的硬件电路依据其功能划分为信号调理模块、A/D采样模块、FPGA最小系统模块等部分。
信号调理模块
系统采用惠斯通电桥接入铂电阻传感器Pt100信号,如图2所示。
图2中INA、INB之差与PT100阻值变化呈线性关系,通过将INA、INB变化值采样再对应铂电阻传感器P100刻度表即可换算得到实测温度。考虑到铂电阻传感器PT100探头产生的信号非常微弱,很容易受到噪声干扰,所以放大电路选择单运放构成的仪表放大器。仪表放大器拥有差分式结构,对共模噪声有很强的抑制作用,同时拥有较高的输入阻抗和较小的输出阻抗,非常适合对微弱信号的放大。图2中R3,R4,R5,R6,R7,R8均采用低温漂的精密电阻,R2为多圈精密可调电阻。通过电路可以计算出:
A/D采样模块
系统选用AD7476作为采样芯片。该芯片是12位低功耗逐次逼近型ADC,采用单电源工作,电源电压为2.35V至5.25V,最高吞吐速率可达 1MSPS,完全满足本系统的采样精度和速度的要求。该芯片内置一个低噪声、宽带宽采样保持放大器,可处理6MHz以上的输入频率。AD转换过程和数据采集过程通过CS和串行时钟SCLK进行控制,从而为器件与FPGA接口创造了条件。输入信号在CS的下降沿进行采样,而转换同时在此处启动,转换速率取决于SCLK的时钟频率。图3为AD7476的典型接线电路。
软件设计
温度巡检装置的软件以VHDL语言为基础,采样模块化的设计思路编程,分为液晶显示模块、AD采样模块、键盘输入模块、报警模块和PWM控制模块模块。图4给出了各模块之间的关系图。
系统首先通过AD采样模块对温度进行采样,将采样的数据送入温度检测模块进行处理。温度检测模块的任务是计算将采样来的温度值与系统的预设值之间的差值,利用差值的大小来控制PWM模块输出脉冲宽度不同的脉冲波,通过脉冲波开控制继电器的通断,从而达到温度的恒定控制。
系统的定标
首先用高精度电阻箱代替铂电阻传感器Pt100对测量系统进行定标。根据式1所示的铂电阻传感器Pt100电阻和输出电压之间的关系,通过改变电阻箱的取值来设定相对应的测试温度点标称值,经过测量系统、A/D采样的计算,得到测量温度显示值。根据初测数据对测量电路、补偿电压进行校准后,完成对系统的定标工作。
系统实测
将铂电阻传感器Pt100接入测量系统,并置入高精度恒温箱中(温控精度0.01℃)进行整个温度测量系统定标测量。测量时要注意恒温箱的密封,以提高环境温度稳定性;恒温箱温度稳定后,每隔1min对同一温度点进行20次测量。由表1中数据可见,测量系统的最大误差为0.009℃,说明Pt100 铂电阻传感器的定标误差较小,精度也较高,能满足高精度温度测量系统的测量要求,但温度高端误差较大,可能与恒温箱温度控制精度有关,有待于进一步定标。
本文提出了基于FPGA的无人飞行器温度巡检装置的设计方案,该方案中所设计的无人飞行器温度巡检装置利用FPGA快速性、可并行性、延时固定性等特点,能够快速,准确的检测无人机的各部件温度。通过实验验证,系统的最大误差不超过0.01度,完全满足无人飞行器对温度采集的要求。