CAN总线在车辆分布式控制系统中的应用.docx
CAN总线在车辆分布式控制系统中的应用ronggang导语:针对轨道车辆分布式控制系统中驱动电机多而分散、系统信息量大、布线复杂、调试不方便等特点,设计了一种基于CAN总线技术的多电机分布式控制系统摘要:针对轨道车辆分布式控制系统中驱动电机多而分散、系统信息量大、布线复杂、调试不方便等特点,设计了一种基于CAN总线技术的多电机分布式控制系统。通过can总线,监控主机和电机驱动节点可直接进展通讯,形成分布式网络,简化了系统构造,实现多电机的分散安装和集中控制功能。本文介绍了监控系统的整体构造、工作原理、驱动节点的软/硬件设计。经系统测试和实际运行说明,该系统安装使用方便、工作可靠性较高,到达了设计要求,具有一定的参考和推广价值。关键词:CAN总线;轨道车辆;分布式系统;驱动节点对于多电机的系统,十分是多电机驱动的轨道车辆控制系统,需要实现大量的信息收集、分布式的协调控制、实时的反响速度等功能。传统的集散型控制系统存在系统不开放、硬件投资大、布线复杂、维修不便的缺点,具有明显的局限性,显然是不合适的。现场总线控制系统fcs是继直接数字控制ddc、集散控制系统DCS之后的一种新型的控制系统,是一种全开放、全数字、多点通讯的底层控制网络,具有全分散性控的体系构造。其显著特点是通过开放性总线把现场设备连接成网络,各智能设备可以完成自动控制和运行状态的自行诊断,并且可以通过总线实现设备之间的通讯,进而简化了系统构造,进步了可靠性。因此本文提出了一种基于CANcontrollerareanetwork总线控制系统的设计方案,将计算机通讯、现场总线技术很好的结合起来,设计出了一套构造简单、实时性高、扩展性强的分布式监控系统,实现了多电机控制与监测的实时调节、设备状态的数字化和图形化显示。2控制系统整体方案设计整个控制系统由监控计算机、pc-CAN接口卡、操纵台节点、智能驱动节点n控制系统中的驱动节点由微处理器、CAN控制器、can收发器和外围电路如:信号调理、光耦隔离、i2c、拨码开关等组成。监控计算机可以选用普通pc或者工控机ipc。pc-can适配卡用来完成can总线和监控计算机之间的协议转换,可以选用pci总线适配卡、isa总线适配卡或者rs232串行通讯适配器。操纵台节点用于车辆运行方向与运行速度的控制。各个控制节点之间通过屏蔽双绞线互联构成can总线网络,总线两端连接120的阻抗匹配电阻,用来进步系统的稳定性、增强系统的抗干扰才能。3驱动节点的硬件设计CAN总线器件有两种选择方案:一种是片内集成can的微控制器,如p8xc591/2、87c196ca/cb、mc68376等;另一种是独立的can控制器,如控制philips公司新版(中国仪器仪表厂商名录)征集中的sja1000、82c200,intel公司的82526、以及microchip公司的mcp2510等,但是独立的CAN控制芯片需要外接一个微处理器才能运行。为了简化设计,进步可靠性,本文设计中选用的是philips公司的带有在片can控制器的p87c591微型控制器,自带can总线控制器sja1000的微处理器,不占用途理器的端口资源,大大简化了接口电路的设计,减少了程序的复杂程度,进步了系统的稳定性。整个车辆分布式控制系统设计的重点和和难点都是驱动节点。驱动节点硬件电路设计上采用了模块化构造,由微控制器、CAN通讯模块、信号收集模块、电机控制模块、参数设置模块组成,驱动节点的整体构造如图2所示。驱动节点各个组成模块的功能如下:1CAN通讯模块:can总线通讯接口电路主要由p87c591的片内can驱动器sja1000、6n137高速光隔、can收发器pca82c250组成。p87c591完成can协议的应用层功能;sja1000完全兼容can2.0协议,完成物理层和数据链路层的功能;pca82c250提供了对总线差动发送和承受数据的功能,有效地进步了总线的抗干扰才能,实现了保护总线、降低射频干扰等功能。为了进一步进步了系统的可靠性,在p87c591和pca82c250之间光耦如:6n137等隔离电路,并采取了双电源,有效地抑制由总线引入的干扰。2信号收集模块:p87c591自带的6路模拟输入的10位adc,可设置为8位快速adc,可以根本知足本系统对收集的精度要求,完成对电机、电池状态的测量任务;收集电路将各个传感器收集到电信号进展调理滤波、放大、电量转换后,接入微处理器的adc接口。为抑制共模干扰,放大器根本采用差动输入。cpu得到信息做出相应的判定,并送至不同的子程序进展相应的处理,如:把电池的电压、电流、温度信息通过通讯程序发送给监控计算机;假设电池电压过低,那么自动切断本节点的驱动电机,并把节点的停机信息通知监控计算机。3电机控制模块:cpu接收到控制台发来的运行信息,并做出处理。接通驱动电机的主接触器、正反转接触器,通过i2c总线把速度信号传给数字电位计,用来控制电机驱动器的输出电流,进而控制电机转速。假设电池的电压、电流、温度的任一项值超出正常值范围时,或者接到总线的报警信息,电机控制模块都会做出相应的反响,使驱动单元得到保护。4参数设置模块:报警电压、报警电流、报警温度、节点地址、波特率等信息通过rs232接口及相应的设置软件存储于基于x25045的e2prom中,实现节点工作参数现场设定能。节点地址通过拨码开关设置。驱动节点的硬件局部除了以上介绍的以外,还有电源电路以及看门狗电路。电源电路提供所需隔离电源,用于进步节点的稳定性和平安性;看门狗电路主要是保证系统运行的稳定性,在上电、掉电以及戒备情况下复位输出。4控制系统的软件设计4.1监控计算机的软件设计计算机监控软件主要分为用户应用层、数据分析处理层及硬件设备驱动层三个局部,其系统流程如图3所示。用户应用层和用户需求严密相关,它主要完成的任务是为用户提供各类信息的监控界面,进展人机交互,也就是通常所讲的人机界面设计,通过它来显示采集到的实测数据和状态信息,提供驾驶员与控制系统的交互平台;数据分析处理层完成总线数据的接收分类、判定、处理、发送,数据的存取操纵等任务;硬件设备驱动层通过pc-CAN接口卡建立监控计算与can总线的连接,并与驱动节点进展数据交换。4.2驱动节点的软件设计与驱动节点硬件设计相一致,软件设计也遵循模块化的设计原那么,使控制软件具有易读、易扩展和易维护的优点。通过c51语言编写相应的软件模块实现驱动节点的各种功能。软件的各功能模块之间通过入口和出口参数互相联络,组合灵敏且方便,加少了调试时间,缩短了开发周期。驱动节点的软件设计流程如图4所示。4.3驱动节点通讯程序设计监控节点的通讯采用CAN总线2.0a协议,通讯模块的软件设计主要由初始化子程序、报文接收子程序、报文发送子程序三局部组成。其中初始化子程序是实现通讯的关键,它主要用来完成can控制器工作方式的选择,即对p87c591中can控制器控制段中的存放器进展设置,包括:总线定时存放器和输出控制存放器设置;接收验收滤波存放器和滤波屏蔽存放器设置;设置发送数据帧类型标准帧或者扩展帧、标识符、数据长度。监控节点与can总线之间的数据交换是通过发送子程序和接收子程序实现的。报文发送时只需将等待发送的数据按照特定格式组合成一帧报文,送入sja1000的发送缓冲区中,然后启动sja1000发送。在这之前必须先作一些判定,如:是否正在接收,发送缓冲区是否锁定等。当sja1000正在发送报文时,发送缓冲器被写锁定。所以在放置一个新报文到发送缓冲器之前,主控制器必须检查状态存放器的“发送缓冲器状态标志。否那么,发送缓冲器被锁定,新的报文不能被写入。一个正在等待的报文会从存储器复制到发送缓冲器后,置位命令存放器tr标志产生发送恳求,发送经过由sja1000独立完成。报文接收子程序只负责节点报文的接收。基于sja1000的报文接有两种方式:中断方式和查询方式。为了保证接收报文的准确性,选择实时性较高的中断方式。在中断方式下,假如sja1000已接收一个报文,并且报文已通过验收滤波器并放在接收fifo,那么会产生一个接收中断,通知处理器有报文已接收。接收子程序就是完成响应这个中断并把数据分类、解码,最后发送到相应的报文存储器。5完毕语本文设计的基于CAN总线在轨道车辆分布式控制系统经过现场调试,可以对驱动电机的运行速度、方向进展实时控制;电源的电压、电流、温度信号通过驱动节点传送给监控计算机;操纵台节点、驱动节点与监控计算机之间的数据通讯稳定可靠;可以通过参数设置模块修改节点的地址和波特率。实验说明了控制系统的适用性和可靠性,开发经过中所提出的技术方案和实现方法可以在分布式监控系统及工业底层监控网络的设计中推广应用。本文作者创新点:在轨道车辆控制系统设计中采用CAN总线技术,实现了多电机的分布式驱动控制;并在驱动节点的软/硬件设计中均采用了模块化的构造,缩短了设计开发周期。参考文献:1饶运涛,邹继军,郑勇芸.现场总线CAN原理与应用技术m.北京:北京航空航天大学出版社,2003.2刘洪涛,张慧慧,杨建武,孙树文.基于CAN总线的分布式潜水电机监控系统j.微计算机信息.2005,8-2:4-63陈建霞,张杰.CAN总线在电机控制系统中的应用j,通讯电源技术,2005年8月第22卷第4期:43-44