而目前在车窗防夹的应用中,常见的位置检测方法有霍尔传感器检测法和电流纹波检测法。前者通过电机轴上安装磁环,产生随电机转动而变化的磁场,再使用霍尔传感器,感知磁场的变化,间接地检测电机转动和车窗的位置。而后者则是根据有刷电机在换相过程中产生的电流纹波来检测电机位置。两者各有优缺点:霍尔传感器检测法检测结果较为准确,但是,为了提高磁场检测的灵敏度,要求将霍尔传感器贴近磁环固定,这实际上增加了安装和器件的成本,也影响了系统的可靠性;而电流纹波检测法成本低廉,可靠性高,但是对电流采样速度和精度要求较高,软件开销也要大于霍尔传感器检测法。
图1:基于KF8A100GQP的车窗防夹方案框图
图 2显示的就是电机转动过程中的电流采样的结果:电机每旋转一周,就会产生固定数量 N 的电流纹波(见图 2中空心线)。车窗运动的行程与电机的电流纹波数量成线性关系。只要能够识别出电流纹波的数量,就可以计算出车窗运动的行程,也就能确定车窗的高度位置。本文提出了一种对于电流采样结果的软件处理方法,可以将不规则的纹波信号转换成规则方波信号,从而使计算更加准确方便。具体实现过程如下: 图2:电流纹波示意图
首先,先设置一个由若干个元素组成的数组,譬如 11 个元素的数组 i[11]。每次采样电流值,都先把数组里的所有元素往前移动一个元素(i[0]=i[1], i[1]=i[2], i[2]=i[3]…i[10]=i[9]),再将最新采样的电流值存储在最后一个元素里(i[10])。然后将最新的采样值和该数组下标较小的元素比较(i’[10]=i[0]和 i[10]进行比较)这样做实际上是通过软件起到延迟的作用。如果 i’[10]=i[0]< i[10],将变量 RIP 的值先存储到另一个变量 OLD_RIP 里,然后 RIP=1。相反,如果 i’[10]=i[0]> i[10],将变量 RIP 的值先存储到另一个变量 OLD_RIP 里,然后 RIP=0。为了理解上更加直观,可以用图 6 中的示意图来表示。如果 OLD_RIP 与 RIP 数值不一样,那么说明如图 6 中的方波发生了跳变沿的变化,发生两次跳变沿的变化,即表示产生一个完整的纹波周期。因此,这样就可以方便地计算出纹波数量,从而得到车窗的位置信息。
|