一种液晶仪表指针稳定性控制方法

2021-06-09 09:00张贞耀
电子与封装 2021年5期
关键词:仪表盘指针插值

石 磊,周 卓,张贞耀

(无锡华普微电子有限公司,江苏无锡 214035)

1 引言

仪表是驾驶员与汽车进行信息交流的重要接口,虚拟仪表盘指针是由采集到的CAN信号转换成指针旋转角度进行控制[1-2]。仪表指针的指示作用会对驾驶员认知过程产生影响[3]。CAN信号受外部干扰、急加速、急减速容易造成采集数据突变,然而液晶仪表与传统机械仪表相比缺少阻尼器设计,直接将采集到的信号进行指针旋转动作,指针将出现抖动、旋转角度大的现象,指针从一个角度直接切换到另一个角度,没有运动过程,视觉上生硬死板,影响用户体验[4-5]。因此,对采集到的CAN信号进行防抖处理和在指针跳变时插入运动过程对控制指针平滑变化有非常重要的意义。

目前指针防抖一般采用滤波算法。先确定指针旋转角度范围,通过对CAN总线上采集到的信号值进行滤波处理,使信号值波动减少,随后将滤波处理后的信号值除以最大值并乘以角度范围,即可得到当前应当指向的显示角度[6]。基于滤波算法的控制方法有3点缺陷:(1)滤波算法需要连续采集若干次数据直到数据稳定之后才能逼近真实数据,无法适应于连续快速变化的数据,在实际应用场景中有局限性;(2)滤波算法误差范围在不同驾驶场景下难以界定,影响指针精度;(3)经过滤波后的数据无法准确直观地表现数据变化趋势,从感官上无法反映指针平稳变化、加速上升或加速下降的过程,无法满足视觉要求。

为了弥补滤波算法的不足,提升用户驾驶体验,本文提出一种汽车液晶仪表指针稳定性控制方法,不仅能有效防止由于信号突变带来的指针抖动问题,同时能模拟机械仪表阻尼效果,直观地表现指针快慢变化趋势。

2 液晶仪表指针稳定性控制原理

减小数据抖动的方式是将瞬时跳变值转换为行程,在采集到数据信号后,将每帧数据转换成指针的动作行程,使得指针在一段时间内每次只进行微小的旋转动作。转换的过程使用插值算法,在当前位置与目标位置间插入若干个数值,减小每次旋转的角度,增加指针的旋转次数[7-8]。指针每次只进行微小的角度旋转,能有效防止跳变的现象。

使用当前数据帧与仪表盘额定量程的比例计算行程的动作耗时te,运用式(1)计算出插值个数。

式中C表示期望控制对象的插值个数,F表示界面当前每秒传输帧数(Frame Per Second,FPS)。经过反复试验测试,要达到最佳显示效果,仪表盘指针从最小值转动到最大值的总时长控制在4 s左右,FPS应在30以上。

使用插值算法仅能防止数据跳变带来的影响,根据数据信号变化趋势,应用不同的插值算法则能呈现不同的变化效果。一般地,根据两次数据信号变化斜率来判断数据的变化趋势,驾驶场景可能归类为急加速、平稳、急减速3种情况。

最后,仪表界面刷新时,依次从生成的插值数据数组中取出指针旋转角度值,控制指针旋转到指定位置。

3 液晶仪表指针稳定性控制方法实现

本文将指针控制过程抽象为期望控制对象。其作用是根据当前采集到的信号值计算出一组指针旋转角度,在期望值未被覆盖前,指针将按这组角度值依次进行微小旋转,最终到达目标位置。每个期望控制对象至少包括4个元素:额定量程、动作时长、插值算法、插值数据数组。液晶仪表指针稳定性控制方法实现流程如图1所示。

图1 液晶仪表指针稳定性控制方法实现流程

第一步确定期望控制对象的额定量程。一般地,将液晶仪表盘指针从零刻度到最大刻度的角度值θ设置为额定量程。

第二步计算期望控制对象动作时长。结合液晶屏性能和视觉效果两方面因素,确定仪表盘指针从零刻度到最大刻度动作总时长T,通过动作行程占额定量程的比例和总时长计算得到当前期望控制对象动作时长。仪表指针当前角度值θc到实时角度θe的动作行程Δθ=θe-θc,动作时长。将θe设置成期望控制对象的期望值,期望值作为下一次指针期望到达的位置值,在采集到新信号前保持不变。

式中t∈(0,t)e,是指指针动作时间点。

第四步根据帧率插入若干个数据。插入的数据组成数组vi=[v1,v2…vn-1,vn]。每次界面刷新时,从数组中获取当前显示值vi,每次刷新累计加1,计数小于数组长度时重复此步骤,直到数组中值取完或者实时采集数据发生变化[9]。

实时采集数据发生变化时,覆盖控制对象期望值,并重复上述步骤。

4 以车速表为例进行具体说明

本文以车速表为例,创建一个指针期望控制对象,假定车速在极短时间内从17 km/h急加速到45 km/h,以此说明对指针的控制过程。

本文实例中车速被设计为0~220 km/h,仪表盘指针角度范围为-135°~135°,则额定测量范围θ=135°-(-135°)=270°。为方便计算,将仪表盘角度范围规定为0°~270°,0°对应最小车速0 km/h,270°对应最大车速220 km/h。

根据液晶屏性能参数和反复实验,仪表盘指针从零刻度旋转到最大刻度动作总时长T被设置成4 s,指针既能及时响应也具有良好的视觉效果。从17 km/h到45 km/h指针动作行程,不对车速信号值处理的情况下,指针一次性旋转34°,必定出现跳变的情况。指针旋转Δθ的动作时长4=0.5 s。

由于车速是在极短时间内变化的,其数据曲线呈急上升过程,相邻两点斜率趋近于1,是一个急加速过程,插值函数应选用急加速插值式(3)。仪表人机界面刷新率F=30时,总共应插入C=30×0.5=15个数据。15个数据对应的时刻t分别为0.033 s、0.069 s、0.103 s、…、0.5 s,将数值代入式(4)中,本例共插入的15个数值结果为:

从时间点0开始界面刷新时依次从数组中获取当前角度值进行指针旋转,每次取值时同时设置值为指针当前角度值θc,期望值不变的情况下,直到取尽数组中的值。在监听到车速变化时,覆盖控制对象期望值,并重复以上步骤,重新计算指针动作过程再进行显示。

5 分析与讨论

通过Spy3工具模拟车速CAN报文,采集原始CAN信号数据和经过插值处理后的数据,分别进行数据曲线绘制并进行对比,结果如图2、图3所示。十字线为原始CAN信号数据计算所得角度,星线为急加速、急减速插值处理后的角度,方型线为平稳变化插值处理后的角度。从图上可看出,在急加速的情况下,原始数据在第0~1 s时波动较小,角度从0°缓慢上升到18°左右,第1~2 s时急加速,角度从18°经过5次就陡变到45°,在急速变化时,采样周期内采样点数少,两点斜率大,直接使用该数据指针每次旋转角度非常大,而通过插值处理后的曲线数据点增多,数据连续平滑地变化,反映到仪表上表现为指针平滑地加速向目标角度靠近。急减速过程同理。

图2 急加速数据曲线对比

图3 急减速数据曲线对比

从实验结果来看,本文所述控制方法明显减小了由于数据抖动、急加速、急减速带来的影响,通过插值算法模拟了阻尼效果,能适应多种驾驶场景。

6 结论

本文设计了一种防抖动、具有阻尼效果的指针控制方法。通过循环设置指针目标位置值,将指针一次性跳变转换成向期望值靠近的若干次连续的微小动作,动作过程中有新数据时覆盖期望值并重新计算动作过程,通过行程弱化了数据抖动突变带来的影响,每次行程判断数据变化趋势,应用不同插值算法模拟阻尼效果,单位时间内角度数据增加,曲线变得均匀平滑,抗干扰能力是原来的6~7倍,弥补了滤波算法的不足。防抖结合阻尼效果,极大地提高了仪表盘视觉效果。

本文介绍的是一种通用指针稳定性控制方法,可应用于车速表、转速表、功率表等,目前已应用于多款仪表中,良好的视觉效果也能为产品带来足够的竞争力。

猜你喜欢
仪表盘指针插值
仪表堂堂
Dashboard的10个实现原则
基于Sinc插值与相关谱的纵横波速度比扫描方法
为什么表的指针都按照顺时针方向转动
福特探险者车仪表盘上多个故障灯点亮
一种改进FFT多谱线插值谐波分析方法
基于四项最低旁瓣Nuttall窗的插值FFT谐波分析
基于改进Hough变换和BP网络的指针仪表识别
Blackman-Harris窗的插值FFT谐波分析与应用
ARM Cortex—MO/MO+单片机的指针变量替换方法