基于STM32的雷达物位检测系统设计

2018-01-18 18:02陈阿辉黄继伟柯玉山
自动化与仪表 2017年6期
关键词:测距雷达频率

陈阿辉,黄继伟,柯玉山,邱 菁

(福州大学 物理与信息工程学院,福州350116)

物位检测仪表是在工业中广泛应用的智能测量仪表。目前,市面上的许多雷达物位检测装置都是以MCU+DSP结构作为系统的核心处理器,即MCU负责接口控制,DSP则进行测距算法的运算。显然,这种结构的系统由于采用2个主处理器,使得硬件体积增大和成本增加,也给程序设计和更新带来诸多不便。近些年,随着ARM Cortex-M4处理器的快速发展,实现控制和信号处理两大功能的数字信号控制器DSC芯片的成本越来越低,使得用DSC芯片来替代MCU+DSP结构成为可能。在此,设计了一款物位检测系统,以ARM Cortex-M4的STM32F407芯片为核心处理器,其具有168 MHz的主频和192 kB的内部SRAM,外设资源丰富,带有DSP指令集和硬件FPU单元,足以满足系统的外设控制以及算法快速运算的要求[1]。

该系统主要实现连续物位测量、上位机通信和报警输出3个功能。物位测量采用测频法,处理器每隔一段固定时间就对雷达收发模块的差频输出信号进行AD采样并计算频率,通过测距公式将频率转换为所测量的距离[2];上位机通信是处理雷达输出数据的重要手段,任何需要处理的数据都可以传输给上位机,方便对程序的调试;报警输出是对工业生产中过程控制的重要保障,一旦物料的存储高度低于物位低点或高于物位高点,系统都会向进出料控制装置发出报警信号,以避免储料仓中没有物料或物料溢出的情况发生。

1 雷达测距原理和方法

1.1 雷达测距原理

雷达测距采用调频连续波FMCW技术[3],通过锯齿波频率调制,使得发射的信号在时间-频率曲线上呈现锯齿波形状,发射信号在遇到物料表面后发生反射产生回波信号,回波信号在时间-频率曲线上也呈现锯齿波形状,此时发射信号与接收信号的频率差与反射目标的距离成正比。雷达的锯齿波频率调制原理如图1所示。

图1 雷达的锯齿波频率调制原理Fig.1 Frequency modulation principle of sawtooth wave

根据图中所示的三角关系,信号从发射到接收所经过的时间Δt为

式中:B为频率调制带宽;T为锯齿波周期即扫频周期;fd为发射信号与回波信号的频率差。

雷达测距原理如图2所示。假设电磁波速度为c,则测量的距离D为

图2 雷达测距原理Fig.2 Radar ranging principle

由于在雷达收发模块中,调频带宽B和扫频周期T均已知,发射信号与回波信号的频率差就是差频信号的频率,因此,只需要精确求出差频信号频率就可以获得所要测量的距离。

1.2 频率测量算法的实现

通过ADC接口对雷达收发模块的差频输出信号进行数据采样,并根据采样的数据运行频率测量算法,得出差频信号的精确频率,本系统采用FFT+Chirp-Z联合算法计算信号频率[4]。

FFT算法计算频率的精度不高,频率分辨率受采样频率和分析数据长度的影响,而DSP的计算能力有限,不可能通过无限制的增加分析数据长度提高频率分辨率,因此,仅用FFT计算频率不能得到很高的精度。

Chirp-Z变换常用于对某一频率段进行频谱细化处理,与FFT联合使用,可以在不改变采样频率和采样长度的情况下,有效地提高信号的频率估计精度。FFT+Chirp-Z联合算法原理如图3所示,首先通过FFT计算,找到信号在频域中的幅度最大值,假设该最大值在第k根谱线,则对应的信号频率为f(k),这时 FFT 的频率分辨率 Δ f为

式中:fs为采样频率;N为采样长度。为了提高信号的频率估计精度,在 f(k-1)~ f(k+1)这一频率段内运用Chirp-Z变换进行M点的频谱细化,则频谱细化后信号频率估计精度Δ fz为

图3 FFT+Chirp-Z联合算法原理Fig.3 Principle of FFT+Chirp-Z algorithm

只要M>3,使用Chirp-Z变换就可以起到提高频率估计精度的作用。

2 系统硬件设计

系统由STM32F407最小系统、雷达收发模块、报警输出电路、LCD显示电路、红外遥控输入电路和上位机等组成,其整体结构如图4所示。

图4 系统的整体结构Fig.4 Overall structure of the system

STM32F407作为信号处理和外设控制的核心,负责对雷达收发模块的控制、同步检测、差频信号的AD采样、控制继电器输出报警信号、LCD数据显示、芯片内部温度传感测量、红外遥控处理、上位机串口通信以及测距算法实现等任务。LCD显示与红外遥控输入模块共同构成了人机交互电路,可以实现对系统的调试任务。

2.1 雷达收发模块的接口电路

该电路主要包括SPI接口、3个不同放大倍数的差频信号输出端口、芯片使能端口和同步检测端口。STM32F407通过SPI接口控制雷达的锯齿波调频带宽、扫频周期、发射信号功率等;MUXOUT为同步检测信号,当1个锯齿波扫频周期开始时,MUXOUT输出低电平,AD开始采样;当扫频周期结束时,MUXOUT输出高电平。通过MUXOUT信号可以精确定位每个扫频周期。

2.2 报警输出电路

该电路由继电器DIP05-1A72-13L组成,继电器的输出端口外接物位控制装置。当系统检测到物料高度到达警戒位时,继电器接通,外部的进出料控制装置采取相应的措施增加或减少物料的投放。

2.3 人机交互电路

人机交互电路的接口包括LCD 12864的数据和控制引脚、1个红外遥控输入引脚。LCD负责显示测量值和菜单项,菜单包括量程选择、发射功率选择、输入距离补偿、采样通道选择、显示当前温度等。这些设置有助于系统调试。

2.4 串口电路

在调试程序时,需要经常用到串口打印数据。本系统通过串口与上位机通信,接收来自上位机的命令,并返回上位机需要的数据信息。例如,经过AD采样的差频信号数据可以通过串口传输给上位机,并在上位机上显示出波形曲线。串口电路采用USB转串口芯片CH340G搭建,TXD和RXD分别接到STM32F407的PA10和PA9引脚,D+和D-接到5脚的mini USB接口。

3 系统软件设计

本系统软件设计在Keil5开发环境下进行。系统软件包括雷达收发模块控制程序、信号采集程序、频率测量算法、人机交互程序。系统的主程序流程如图5所示。

图5 系统的主程序流程Fig.5 Main program flow chart of the system

3.1 雷达收发模块控制程序

系统开始测距之前,先对雷达收发模块的调频带宽、扫频周期和信号发射功率进行设置,使雷达模块正常工作。处理器通过SPI与雷达模块通信,雷达模块包括调制信号发生器、发射机和接收机,它们共用1个SPI接口,因此在进行程序设计时,需要根据不同的通信对象,设置相应的片选和时序。收发模块控制程序的流程如图6所示。

图6 雷达收发模块控制程序流程Fig.6 Flow chart of radar transceiver module control program

3.2 信号采集程序

本系统设置了2个ADC接口,ADC 1负责采样STM32F407内部温度传感器的温度数据;ADC 3用于对雷达差频信号进行数据采样。AD采样得到的信号并非标准的正弦波,差频信号幅度在0~3.3 V之间变动。由于雷达模块提供了3组差频信号输出,每一组的放大倍数不同,需要根据测量环境的不同选择一组最合适的差频信号进行采样。因此,在ADC3初始化时需设置3个AD采样通道来分别对应这3组差频输出,同时要使能ADC3的DMA传输通道,打开DMA传输完成中断,并设置ADC3由定时器触发采样[5]。ADC3的信号采集程序流程如图7所示。每次定时器触发AD采样的数据都会通过DMA传送给数组保存,当数据传输完成时,DMA就会触发传输完成中断,并在中断服务程序中关闭定时器,结束采样。

图7 信号采集程序流程Fig.7 Flow chart of signal acquisition program

3.3 人机交互程序

人机交互程序实现显示测量值和系统调试2个功能。其中系统调试通过红外遥控输入实现,可以通过界面的菜单操作进行参数设置。人机交互程序包括LCD显示和红外遥控扫描,放在定时器中断服务程序中运行,定时器中断的时间为1 s,即每经过1 s,LCD界面更新1次,并且扫描1次红外输入。人机交互程序流程如图8所示。

4 测试与验证

在测试之前,首先要了解测试用调频连续波雷达的相关参数。其中,调频带宽B为1 GHz,扫频周期T为60 ms,ADC采样频率fs为40 kHz,采样长度N为2048点。

图8 人机交互程序流程Fig.8 Flow chart of human-computer interaction program

先测试上位机的工作状况,差频信号采集界面如图9所示。

图9 差频信号采集界面Fig.9 Interface of differential frequency signal acquisition

将系统的雷达天线垂直对准墙壁,并将系统前后移动,记录在不同距离下系统测距的结果,并与激光测距仪的测量结果进行对比。测量结果如表1所示。由表可知,若以激光测距仪的测距结果为标准的话,本系统测量误差的绝对值基本小于20 mm。可见,所设计的雷达物位检测系统的测距精度高,符合市场上对物位检测装置的要求。

表1 激光测距和本系统测距的对比Tab.1 Comparison of laser ranging and system ranging

5 结语

针对市场上物位检测装置的应用现状,设计了一款基于STM32F407的雷达物位检测系统。该系统具有连续物位检测、报警输出、人机界面实时调试等功能。经过对雷达测距精度的测试,结果表明,系统的测量误差小,测距精度高。下一步将把系统放到实际应用场合进行测试,并根据测试结果改进测距算法,进一步提高物位检测系统的测量精度。

[1]廖义奎.ARM Cortex-M4嵌入式实战开发精解:基于STM32F4[M].北京:北京航空航天大学出版社,2013.

[2]HyunEugin,Young-SeokJin.Development of 24GHz FMCW Level Measurement Radar System[C]//IEEE Radar Conference,2014:796-799.

[3]朱庆彬.FMCW液位测量雷达系统控制及回波信号处理电路设计[D].大连:大连海事大学,2011.

[4]王春艳,黄仁欣,宗成阁,等.基于Chirp-Z变换的LFMCW系统测距算法仿真研究[J].微计算机信息,2005,21(26):188-192.

[5]STMicroelectronics.STM32F405xx/07xx Reference Manual[EB/OL].[2016-10].http://www.st.com.

猜你喜欢
测距雷达频率
基于RSSI测距的最大似然估计的节点定位算法
振动与频率
类星体的精准测距
DLD-100C型雷达测试方法和应用
雷达
浅谈超声波测距
无线电频率的特点
一类非线性离散动力系统的频率收敛性
基于空时二维随机辐射场的弹载雷达前视成像
现代“千里眼”——雷达