车窗防夹算法的探究和实现
上升的时候才进行防夹的情况。在其他三种情况下(包括车窗手动上升、车窗手动下降以及车窗自动下降)都不进行防夹判断。因为车窗下降不存在防夹的问题,如果车窗手动上升时有障碍物被夹持的话,则可以通过手的控制来避免被夹伤。在算法中采用标志位bWIN_Up_Down和bAutoFlag来标示车窗是否为自动上升,如果控制器得到的是自动上升的命令,则这两位置位。如果这两位为1,则进行防夹判断。还有值得注意的是,根据实验所得数据,车窗从底部启动的3个脉冲内其电压和脉冲周期值相当复杂而且随机,没有任何规律可循,而且在底部的3个脉冲车窗玻璃的总行程不会超过1cm,因此在这一段不进行防夹。
该算法的思想是,将上节中提到的基准周期存放在RAM里。然后在车窗自动上升过程中检测电机运行的实时周期值,将实时值与基准值进行比较,若两者之间的差值连续三个脉冲到来时超过容差,即认为有障碍物存在。车窗进入自动下降程序,车窗降到底部。若没有连续三个脉冲到来时超过或在容差之内,则认为无障碍物存在,则自动上升直到车窗顶部。
图2 正常状态下的周期和电流图
图3 发生夹住状况的周期和电流图
算法优化
根据算法在实际运行中存在的问题,必须对算法进行优化,以得到更好的防夹效果。
4.3.1 车窗在底部启动时的算法优化
根据对脉冲周期值的综合分析可知,在第12个脉冲周期之前,该值的变化十分不稳定,经常会出现超出容差范围的情况。在此之后该值基本上均在已定容差之内。因此对底部的启动问提,提出的方案是,滤去前12个脉冲点,也就是在前12个脉冲点上不进行防夹。理由是,前10个脉冲点为车窗最底部的部分,车窗行程不超过3cm,对防夹保护不会产生大的影响。
4.3.2 车窗到顶时的算法优化
通过实验可知,如果车窗正常上升的话,车窗玻璃在第209个脉冲时为车窗玻璃与上窗框密封条之间的接触点。车窗在进入上密封条后由于环境温度、空气湿度的不同导致密封条的摩擦力会不同,因此会出现有的时候车窗不能正常关闭的情况。
由此可以得出解决的办法,就是将防夹的上限从第223个脉冲,降至第208个脉冲,也就是在第208个脉冲以上不进行防夹,而以下还是按照原有的算法进行防夹。
4.3.3 车窗中途停止再启动时的算法优化
车窗中途停止再启动与底部启动其本质是一样的,两者的区别是,底部启动在第一个脉冲的时候虽然会大的离谱,但是在接下来的几个脉冲会有下降的趋势,能给出一个容差,使得两值能在容差范围内,但是中途停止再启动是连续几个脉冲大的离谱,而且随着车窗位置的不同以及中途停止时间的长短其大小也会发生变化,所以采取不同的策略进行算法优化。
在车窗启动的时候,忽略最先的8个脉冲以屏蔽由于车窗启动带来的脉冲周期的波动。在屏蔽之后,还是按照算法来进行防夹运算。8个脉冲是通过反复实验得到的较为合理的值,在8个周期后,周期值基本恢复正常,在容差之内。
图4 优化后的算法流程图
图5 发生防夹动作的周期和电路图
电动车窗防夹的总结
本课题采用的防夹算法是离散的,并不是实时的,只是在一定的时间对周期和电流进行采样。因为霍尔传感器的采样也不是实时的。这种方法适用于计算能力不是很强,处理速度不是很快的微处理器。
本课题采用的是绝对式防夹,在每个高度上检测周期和电流,与基准值比较,三次超出容差就认为有障碍物,进入防夹处理。
- 另类传感器观念:汽车传感器(2)(11-30)
- 满足汽车高温应用环境要求的传感器接口IC(01-10)
- 构建可靠的容性传感器汽车开关和控制接口(01-06)
- 汽车HVAC系统中的传感器(02-23)
- 新技术、新应用让传感器深入汽车电子设备的各个角落(05-11)
- 汽油发动机的传感器全面介绍(05-19)