导言
车辆在动态称重时,作用在平台上的力除实在轴重外,还有许多要素发生的搅扰力,如:车速、车辆本身谐振、路面鼓励、轮胎驱动力等,给动态称重完结高精度丈量形成很大困难。若在消除搅扰的过程中选用模仿办法滤波,参数则不能过大,否则将发生过大的推迟导致不能完结实时处理,然后形成滤波后的信号依然含有适当一部分的噪声。所以有必要选用数字滤波消除搅扰。
FIR滤波的原理及完结
本文选用FIR数字滤波,其原理如公式1所示。
Y(n)= (1)
其间h(k)为体系滤波参数,x(n)为收集的信号,Y(n)为滤波后的输出信号。
FIR滤波器的h(n)0≤n≤N-1
H(z)= (2)
在本文中N=17。因为h(n)具有对称性质,即:
h(n)=h(N-1-n) (n=0,1,…,(N-1)/2) (3)
这样就能够把FIR滤波器规划成具有线性相位。使用这一状况,能够得到的乘法结构,需求(N+1)/2次乘法,仅是级联或并联结构所需次数的一半,因而,实践使用中多选用此办法。
咱们选用17点的FIR滤波算法,这样完结一次FIR卷积运算需求履行9次乘法和16次加法。为了完结数据的实时处理,需求在20ms内完结这个卷积运算,假如选用单片机89C51(12M晶振)则无法完结。所以咱们选用了Altera公司的FLEX10K20。FLEX10K系列是工业界第一个嵌入式的PLD,选用重复可结构的CMOS SRAM工艺,把接连的快速通道互连与共同的嵌入式阵列结构相结合,一起也结合了很多可编程器材的优点来完结一般门阵列的宏功用。具有高密度、低成本、低功率等特色。
图1 硬件结构框图硬件规划
因为咱们选用的AD1674芯片转化时刻为10ms,而所规划的电路每隔20ms发动转化一次,所以有满足的时刻完结模数转化。轴重台的宽度为40cm,轿车通过轴重台的最大速度为15km/h,通过核算可知在这段时刻里体系可收集4800个数据。因为前30ms是传感器的反应时刻,将剩余的数据进行FIR数字滤波后,噪声会被有用的按捺。为了进一步滑润波形,对每8个数据做一次均匀,这样就消弱了因为轿车高速通过轴重台时因为波动发生的尖峰信号。FPGA的每次滤波包括有FIR运算和8个数据的均匀值运算,完结一次滤波就会向单片机发一个中断请求,此刻单片机读取滤波后的数据。因为咱们选用的A/D转化器是12位,而单片机89C51是8位的,所以通过处理后的数据有必要分两次读入。第一次读入低8位,第2次读入高4位,然后对数据处理。此刻咱们能够以为单片机接纳的数据为滤波后不含有噪声的数据。依据轴重称量的波形图能够知道,只需求出此刻的最大值便是轿车的实在分量。
在此外表中,串行口即用来显现也用来通讯,咱们能够通过FPGA很简单完结切换。如图1所示,当操控信号为1的时分RXD、TXD用于显现,而当操控信号为0的时分用于和上位机通讯。
咱们选用加海明窗的抱负低通滤波器,其归一化到频率为0.25,如图2所示。轿车称重信号为含有多种成分噪声的直流信号如图3所示,这1000个数据通过FPGA的FIR滤波和8点数据均匀后,提供给单片机125个数据,其波形如图4所示。
图2
图3
图4
滤波之前的噪声的峰峰值在0.1V左右,而此刻的轴重信号为1,这将严重影响丈量精度。滤波后咱们看到状况得到了显着的改进,噪声信号的峰峰值被按捺在0.02V的范围内,大大改进了信噪比,然后提高了丈量精度。
结语
本规划不光完结了硬件数字滤波电路,并且减少了许多门电路和组合逻辑电路。用比较少的器材完结了比较复杂的功用,减少了故障率。用此办法规划的轿车动态称重外表具有杰出的实时性和较高的精度,现已投入批量生产。