CAN总线在车身视觉检测站中的应用
扫描二维码
随时随地手机看文章
控制器局域网CAN(Controller Area Network)是一种具有很高保密性,有效支持分布式控制及实时控制的串行通信网络。CAN总线属于现场总线范畴,与现有的其它总线相比,它属于一种分散式、数字化、双向、多站点、多变量的通信系统,具有通信速率高、可靠性强、连接方便、性能价格比高等诸多优点,非常适用于分布式测量系统的数据通信。
计算机视觉检测是目前正在发展的一种新型检测技术。汽车车身视觉检测站是用于测量车身关键点三维空间坐标的大型专用检测系统。其主要原理是通过视觉传感器(Visual Sensor),采用三角法获取车身表面点的信息,通过三维视觉算法求取各关键点的坐标,从而完成对车身各顶点位置、挡风玻璃框尺寸、定位孔大小及位置、车门安装处棱边位置及走向等主要参数的测量。
本文结合CAN总线在汽车车身视觉检测站中的应用,研究了基于CAN总线的多主分布控制系统,并对该控制网络的物理层接口、拓扑结构、通讯协议等作了较为详细地说明。
1. 车身视觉检测站的工作过程及控制系统
汽车车身视觉检测是目前正在发展的一种新型车身检测方法。它是由机械及定位系统、三维视觉传感器系统、测量控制与接口系统、标定系统以及计算机软件五大部分组成。主要方法采用视觉传感器,经标定系统标定后,通过控制系统选取被测点,采集图像,结合视觉检测算法,求出被测点坐标等参数。汽车车身长宽高都是几米范围,被测控制点一般都要求在50个以上,网络布线要求300米以上,系统中针对不同的测量对象,采用了单光条传感器、多光条传感器、十字叉丝传感器和双目立体视觉传感器等,总数在50台以上。检测站的控制系统应能对这些传感器的动作进行实时控制。此外控制系统还应实现对检测站中的机械及定位系统的控制。根据需要检测站的控制系统应完成以下任务:
(1) 主控机实时控制各个传感器,使其动作相互协调;
(2) 自动控制白车身运载小车(用于将白车身运送到被测工位)的前进、后退、上升、下降、加速、减速等动作;
(3) 手动控制运载小车的上述各种动作;
(4) 位置传感器能够实时发送白车身的位置信息。
为了实现系统控制功能,控制网络主要由以下四部分构成:
(1) 主控机:微机,它为控制系统的核心;
(2) 控制台:完成手动控制运载小车、接受位置传感器信息并发送给主控机及执行主控机指令等功能;
(3) CAN接口卡:完成主控机信号和CAN协议标准信号之间的转换;
(4) 传感器控制部分:接受主控机指令,完成对传感器的控制和向主控机发送传感器状态信息等功能。
系统中,主控机作为控制核心,负责传感器和控制台的管理。控制台既能通过执行主控机指令控制运载小车,又能独立控制,所以网络应具有多主机控制能力,CAN总线支持多主机方式,且能在低层解决数据碰撞问题,出于以上各方面考虑,系统采用CAN总线作为本控制网络的通信标准。
整个系统控制示意图如图1所示。
2.CAN总线控制网络
2.1 CAN总线技术简介
CAN总线是80年代初德国Bosch公司为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议。它有效支持分布式控制或实时控制,并采用了带优先级的CSMA/CD协议对总线进行仲裁,通信介质可以是双绞线、同轴电缆或光导纤维。因此,CAN总线具有以下优点:它可实现全分布式多机系统无主、从机之分,各节点均可主动发送报文,这样就保证了信息处理的实时性,并使得CAN总线网络可以构成多主结构的系统,保证系统的可靠性。此外,CAN总线采用短帧结构,每帧信息都有校验及其它检错措施,具有强有力的错误检测功能,能自动完成出错处理和应答处理,保证了数据传输的可靠性。基于上述优点,CAN总线非常适用于抗强干扰的大型多机控制系统中的网络数据通信,由此将其应用于汽车白车身尺寸激光视觉检测站中。
2.2基于CAN的通讯网络
在车身检测站中,对各传感器的数据采集及图像处理等工作主要由PC机完成,为操作简便,对机械部分的控制还应能通过控制台进行。本系统控制节点多,可靠性要求高,传统的集中控制方式虽然功能集中,速度较快,但具有硬件结构复杂(每个控制节点都对应于一个I/O端口)、现场布线困难、扩展能力低(受硬件端口数量限制)、故障诊断困难等缺点。
所以采用单片机作为直接控制单元,用于对传感器的直接控制。每个单片机都是控制网络上的一个节点,各节点直接挂接在数据总线上。PC机和控制柜也同样各作为一个节点挂接在总线上,即控制网络应具有多主机控制能力,所以整个网络采用多主机结构,即每一个节点也是一个主机,通过主机之间的通讯以实现控制要求。为此采用总线型广播式网络拓扑结构,利用CAN灵活方便、支持多主机方式等优点,建立控制网络。不难看出,只要解决好“碰撞”问题,这种方法具有结构简单、安全系数高、灵活性好、易于扩展等特点,可以充分满足本检测站的控制要求。其结构示意图如图2所示。
根据所携带的信息类型不同,CAN总线共有四种帧格式:数据帧、远地帧、错误帧和超载帧。在本通讯系统中,主要用到数据帧和远地帧。数据帧用于在发送节点到接受节点之间传送数据。总线上的接收节点通过发送远地帧的方式,请求发送节点重发与该请求帧标识符相同的报文(往往因为原发报文接收出错),远地帧与数据帧的区别是无数据场。远地帧的引入,使系统的服务请求、状态查询等工作得以简化,可以通过发送远地帧,实现与响应节点的链路连通和数据传输。[!--empirenews.page--]
本系统中,根据检测系统的需要和CAN的帧结构,重点结合测量传感器和控制柜的功能要求,对网络的通信协议进行了研究。CAN总线采用帧格式以报文为单位进行数据传输,并采取位仲裁的方式对总线进行访问,即在报文起始部分发送节点标识符。由于标识符唯一且与各节点一一对应,故通过标识符可以实现对网络介质的访问控制。网络节点的优先级与节点标识符相对应,规定主控机和控制台的优先级最高,各传感器的优先级依重要性排列,以保证网络的传输效率最高。
由于CAN总线标准数据帧的仲裁场有11位标识符,它主要用于解决总线上的碰撞问题,数据帧标识符越小,其优先权越高。即当两帧数据同时由高位向低位发送时,一旦有不同的电平,发送“凹槽”电平的数据帧将停止发送。这样,CAN总线自身就解决了数据碰撞问题。系统中,每个节点设立一个8位DIP开关,通过它可以方便的改变传感器单元地址,并且,以它代表的数据作为该节点发送的数据帧的标识符的高8位。从而,依据节点的重要性安排其地址,有效的解决了碰撞和优先权问题。
PC机方面,是采用接口卡使PC机接入CAN总线,通过PC机与内部带有支持CAN协议接口的单片机MC68HC05X16进行通讯,然后由单片机与总线通讯,最终实现PC机与总线通讯。其接口电路如图3所示。
采用16V8的GAL进行地址译码。并设有拨码开关,可进行地址段选择。8255工作于方式2,A口作为双向输入口,C口的IBFA、STBA、ACKA和OBFA作为A口控制口,分别与MC68HC05X16的四个I/O口PB3~PB6相连。单片机通过查询接收PA口数据。从CAN总线传来的数据经过单片机转换后,由IRQ2向PC机申请中断,中断过程负责数据接收。MC68HC05X16单片机工作流程如图4所示:
在信道访问方式的控制上,采用主从式与自由竞争式相结合的通信方式,即以PC机和控制台作为主控节点,两主控节点的优先级与节点标识符相对应,主控节点命令及信息的发送可通过外部设置约定,也可通过自由竞争实现。
图4 CAN接口转换卡工作流程图
3.结语
调试期间,为了测试系统的抗干扰能力,将上述通信网络系统置于强干扰环境中,经连续试验,在1000m距离,1Mbps传输速率下,完全可以保证数据的可靠传输。
本系统利用CAN总线实时性、灵活性好等特点,较好的解决了在强干扰环境中大型自动检测系统的数据通信可靠性问题。同时,由于采用多主机分布式控制结构,使网络功能十分灵活,通过软件的编写,可以完成十分强大的功能,并可以进行扩展,这对于检测站功能的进一步完善及其它控制工作的完成,有着十分重要的意义。