传统的电动车窗作为车身的一个独立系统,采用点对点的控制方式,与其他电气设备缺少信息交流,不利于实现自动化,而且连线繁杂臃肿,安全系数低,维修难度大。针对上述问题,本文提出一种智能电动车窗系统设计,使用嵌入式技术和CAN总线技术,使车窗系统成为车身控制网络的一个智能节点,具有较高的灵活性和安全性。嵌入式技术能提高集成和智能程度;CAN总线技术能简化布线和减少干扰,并实现自动控制的数字化、网络化和信息资源的最大共享。
作为汽车领域最具潜力的现场总线之一,CAN总线技术应用于电动车窗在国外一些高档车型也得到实现,如奔驰W220、宝马745IL、奥迪A6和大众的速腾,丰田凯美瑞也在中控门锁和电动车窗中采用CAN总线技术。而国内相关应用还不够成熟,应用的高档车中也大部分是由合资外方提供技术支持,因此研究具有实际意义。CAN总线常用的控制器有两类:一类独立于处理器,如英特尔公司的82526,Philips公司的SJA1000等;另一类集成于处理器内,成为一个CAN模块。本文以集成CAN模块的单片机P8xC591为核心设计出一款智能电动车窗系统,通过试验测试,能实现常规操作、防夹防堵和其他附加功能,具有线路结构简单、实时可靠性高等优点。在防夹方面没有采用国内外在电机安装霍尔传感器
或车窗边缘安装压力传感器的普遍做法,而是提出一种无传感器基于电流特性的判别法,通过对电机电流多角度分析减少误判率。
1 智能车窗系统功能和方案
1.1系统实现的功能
图1展示传统点对点方式布线和采用CAN总线后的布线对比情况。可以看出采用CAN后线束减少一半以上,只要两个接口,凸显CAN总线技术给汽车组网带来的便利。下面是该系统具有的功能。
1)手动升降功能正常状态下电机不工作;当抬起开关接触up端变为低电平时车窗上升;当按下开关接触down端变为低电平时车窗下降。
2)防夹功能车窗在上升过程中若遇到异物阻挡就自动停止上升,电机立即反转一段安全距离(设置为120mm),避免夹伤事故。防夹控制算法的实现下文将做详细分析。
3)电机保护功能设置堵转和高温的电机双重保护。电机堵转超过300ms停止工作;温度超过160℃不再接受控制命令,温度超过180℃停止工作,温度回落至正常范围内立即恢复相应功能。
4)智能升窗功能为消除车主和乘客离开后忘记升窗的安全隐患,系统加入智能升窗功能。智能升窗管脚收到来自点火开关熄火信号、中控门锁信号或远程遥控信号时自动提升所有车窗直至完全闭合。
1.2总体方案的确定
博世公司为汽车网络开发的CAN总线支持分布式控制并形成国际标准。SAE汽车委员会用A、B、C这3种类型划分车载CAN网络。电动车窗系统采用A类CAN总线,是小于10kb/s的低速网,还用于门控、后备厢等处。
从图2的布置结构看出系统由4个节点和CAN网络组成。以驾驶室为主节点,副驾驶室、左乘客侧、右乘客侧为从节点,节点间通过CAN总线信息共享。
主节点的开关组具有本地/全局模式,包括控制开关(K1/K2/K3/K4)和模式切换开关(K0),既能控制驾驶室车窗,又能通过CAN总线间接控制其余车窗;从节点开关只有本地模式。本地模式:节点独立控制各自车窗;全局模式:从节点开关不起作用,由驾驶室控制4个车窗。初始化后默认为本地模式,乘客可根据需要调整自己侧车窗。
2 硬件电路设计
2.1处理器接口电路
主节点由Philips公司的P8xC591处理器、半桥式电机驱动芯片BTS7960、光电耦合器6N137和收发器PCA82C250等组成。为统一接口和方便编程,从节点在芯片和结构上也与主节点保持一致。以主节点为例说明节点接口电路设计,处理器P8xC591与CAN接口电路如图3所示。
P8xC591内部集成CAN模块,无需控制器,一定程度上简化了电路。派生于MCS-51微处理器系列的P8xC591拥有强大的80C51指令集,内部集成SJA1000的PeliCAN功能,是一款能满足设计要求的高性能微处理器。PCA82C250是Philips公司的一款总线收发器,能够提供总线传输所需要的差分信号,与总线标准兼容。PCA82C250与CAN之间加入电阻、电容等能起抗干扰和安全作用的器件,其中5Ω限流电阻保护收发器免受过流冲击,30pF电容防电磁辐射又滤干扰,2个稳压管通过放电保护收发器免遭高压击穿。通用仪器公司的高速光电耦6N137可实现电气隔离,增强抗干扰,但其VCC和VDD端必须完全隔离,否则就没有效果。
2.2电机驱动芯片应用电路
电机是系统的执行终端,其驱动电路的设计也是一个重点。查阅资料,发现目前电机驱动电路主要有3种:①4个CMOS管搭建的H桥驱动电路;②MC33886全桥驱动电路,设计的电动车窗采用这种电路,但必须多片并联才能改善发热量大的缺点;③2片BTS7960半桥驱动芯片组成的全桥驱动电路。
经过比较验证,在发热量上,多片MC33886容易因发热不均而影响寿命,BTS7960内阻相对较小则不会如此;在驱动能力上,4片CMOS管搭建的H桥驱动电路比不上2片BTS7960组成的全桥驱动电路。综上,选择Infineon公司的BTS7960半桥驱动芯片构建电机驱动电路,其电路原理如图4所示。
BTS7960内部由3个模块组成:顶部芯片组、低压端和高压端基部芯片,高、低压端基部芯片分别由一个P沟道MOSFET和一个N沟道MOSFET构成。MOSFET的开关转换频率即使达25kHz,芯片仍能灵敏稳定且功率损耗低。BTS7960还具有过流、短路、过压、欠压保护功能,输出电阻小,抗干扰能力强,适合电动车窗低压大电流的PWM电机驱动。图4中INH脚为使能端,高电平有效。当INH和IN同为高电平时,高端MOSFET导通、低端MOSFET截止,OUT输出高电平;当INH为高但IN为低电平时,高端MOSFET截止、低端MOSFET导通,OUT输出低电平;当INH为低电平时,OUT不输出电平。通过2个BTS7960的INH和IN端高低电平匹配,就能实现电机正转、反转和停转3种状态的切换。状态切换易造成电源波动,采用总线驱动器74LS244隔离驱动电路和处理器。BTS7960的状态标志IS引脚还可以采样电机电流,为监测电机状态和利用电流特性实现防夹功能提供条件。
3 系统软件设计
3.1主控程序
主控程序控制主节点,去掉模式判断部分即可用于从节点。先对CPU和CAN模块初始化,设置I/O口、中断及全局变量,将堵转判断电流阈值写入ROM。初始化后读取按键信息,判断所处模式:本地模式只需判断K1动作;全局模式要依次判断4个按键动作。在电机的升降过程中还要判断是否堵转并实现防夹控制,主控程序流程如图5所示。
3.2CAN通信程序
3.2.1CAN模块初始化
初始化是CAN通信的基础,P8xC591复位后在配置模式下对CAN接口的中断、工作方式、输入输出引脚、状态寄存器、波特率参数、I/O寄存器以及滤波寄存器等进行设置,保证CAN总线基本通信条件。同时清空缓冲区,为发送/接收做准备。
3.2.2节点报文发送
发送的数据信息以帧的形式出现,在上次发送完成后开始,否则等待。报文分为数据帧和远程帧,其中远程帧没有数据场,发送前须判断帧类型再进行相应操作。主控器把数据按规定格式组成一帧报文,写入CAN发送缓冲区并置位“发送请求”标志,启动发送。
3.2.3节点报文接收
报文接收在处理数据时涉及对错误报警、总线关闭和接收溢出等其他情况处理,比发送程序复杂一些。接收主要有查询和中断两种方式,系统采用高效并行的中断方式。在排除非正常中断干扰后对中断信号进行响应,先读取帧格式判断是否为数据帧,正确时读取缓冲区数据,否则置错误字。接收完报文后释放缓冲区等待下次中断的产生。