摘要:为研究电动车窗防夹控制系统的数据,搭建低成本、自动化的实验平台。本文提出基于欧姆龙光电编码器E6B2-CWZ6C和电流传感器模块的防夹车窗方案,并进行相关模块的设计,利用Arduino单片机对车窗控制系统探索和实践,对防夹车窗实验数据进行分析与研究。
随着汽车的普及,汽车电动车窗的大规模使用,增加了人们的操作方便和行车舒适性,但同时也给人们带来了一定的危险性,车窗上升时夹伤人的事件频繁发生,车窗安全问题引起人们的重视。大多数车窗采用电流检测的方式来实现防夹,但这种方式对车窗位置的判断不够精准,无法精确判断是遇到障碍物还是车窗上升达到了顶端,比较容易出现误判,通过实验发现车窗电机在启动和到达顶端时都会发生较大的电流变化,导致电流检测部分发生误判,而本文所研究的车窗防夹已解决了这个问题,利用欧姆龙旋转编码器E6B2-CWZ6C的脉冲来计算车窗的位置和车窗电机的旋转速度,当车窗上升过程中遇到障碍物时,车窗电机电流与转速会发生变化,车窗会停止上升并自动下降,起到保护作用。
1 硬件设计
1.1实验平台的硬件结构
1)用车窗电机,欧姆龙旋转编码器E6B2-CWZ6C 、Arduino UNO控制板,两路光祸继电器驱动板,电流检测模块以及支架搭建平台,如图1所示。
2) Arduino单片机通过开关的输入信号来控制继电器,达到让电动车窗自动上升和下降的功能。
3)欧姆龙旋转编码器E6B2-CWZ6C和电流传感器连接Arduino单片机对应的引脚,对电机的转速和电流进行监测,根据数据对障碍物进行判断。
4)两路光祸继电器板上有对应的排针插口,可直接作为Arduin。单片机的拓展板使用,节省空间和简化接线。
1.2直流电机驱动控制电路
图2为直流电机正反转控制具体电路图,按下上升开关时,Arduin。单片机接收上升开关的电信号变化,程序会使Arduino单片机向继电器1发送触发信号(高电平),电动车窗自动上升;Arduin。单片机接收下降开关的电信号变化,程序会使Arduino单片机向继电器2发送触发信号(高电平),从而实现一键升降。
当电动车窗在自动上升的过程中遇到阻力时,程序会进行判断,当防夹程序条件成立时,Arduino单片机会向继电器2发送触发信号(高电平),向继电器1发送断开信号(低电平)。电动车窗自动下降,从而达到防夹效果。
1.3实验线路
1)单片机通过两路继电器的电平变化通断的性质,来判断实现直流电机的正反转。
2)电流传感器模块GY-712-5A与直流电机串联,通过电流接入来实现检测直流电机电流的变化。
3)欧姆龙旋转编码器E6B2-CWZ6C的轴与电机的轴进行连接,通过电机的转动来实现检测电机速度。
2 软件设计
2.1电机正反转判断与旋转位置测量
如图3所示,用Arduino单片机采集A相和B相脉冲的电平变化,并开启与A相相连的外部中断引脚(2号引脚),当A相电平发生变化时,Arduino单片机触发外部中断进入中断子程序判断A、B两相电平状态。当A相和B相电平相同时,电机正转(CW);当A相和B相电平不相同时,电机反转(CCW),从而使单片机进行电机正反转的判断以及电机旋转位置的判断。具体实现代码如下。
#define EncoderA 2//光电编码器A相信号线与Arduino UNO 2号引脚(中断引脚)相连
#define EncoderB 3//光电编码器B相信号线与Arduino UN03号引脚(中断引脚)相连
volatile long MotorPos=0;//定义变量MotorPos用于存放电机旋转角度
void setup()
{
pinMode(EncoderA,INPUT_ PULLUP);/l2号引脚设置为上拉模式输入
pinMode(EncoderB,INPUT_ PULLUP);113号引脚设置为上拉模式输入
attachInterrupt(0,Encoder-Interrupt,CHANGE);11开2号引脚外部中断,电平变化时触发中断
}
void Encoder_ Interrupt()
{
if(digitalRead(EncoderA)==digitalRead
(EncoderB))//当A布目电平变化时,如果A相与B相信号相等,电机为正转,反之电机反转
MotorPos++;
else
MotorPos—;
2.2电动车窗防夹控制思路
图4为电动车窗防夹控制整体流程。当Arduino单片机检测到车窗上升的开关信号时,Arduino单片机输出控制信号控制继电器1导通,车窗电机正转,车窗上升。在上升过程中,Arduino单片机不断重复检测电机的电流和转速是否会发生瞬变,如检测到电机的电流和转速异常,Arduin。单片机将输出控制信号控制继电器1断开,继电器2接通,使得电机反转,车窗下降,以达到防夹的效果。