西门子模块6ES7511-1UK01-0AB0
本文研究汽车局域网CAN总线在汽车中的具体应用,实现采用Motorola公司16位单片机MC9S12DP256为核心的CAN节点设计。根据汽车内部CAN网络速率的不同,给出不同速率网络之间实现通信的网关软硬件设计。该系统具有结构简单、可靠性高等特点,具有广阔的应用前景。
0、引言
随着车用电气设备越来越多,从发动机控制到传动系统控制,从行驶、制动、转向系统控制到系统及仪表报警系统,从电源管理到为提高舒适性而作的各种努力,使汽车电气系统形成一个复杂的大系统,而且这一系统都集中在驾驶室控制。另外,随着近年来ITS的发展,以3G(GPS、GIS和GSM)为代表的新型电子通信产品的出现,对汽车的综合布线和信息的共享交互提出了更高的要求。
从布线角度分析,传统的电气系统大多采用点对点的单一通信方式,相互之间少有联系,这样必然需要庞大的布线系统。据统计,一辆采用传统布线方法的汽车中,其导线长度可达2 000 m,电气节点达1 500个,而且根据统计,该数字大约每10年增长1倍,从而加剧了粗大的线束与汽车有限的可用空间之间的矛盾。无论从材料成本还是工作效率看,传统布线方法都将不能适应汽车的发展。
从信息共享角度分析,现代典型的控制单元有电控燃油喷射系统、电控传动系统、防抱死制动系统(ABS)、防滑控制系统(ASR)、废气再循环控制、巡航系统和空调系统。为了满足各子系统的实时性要求,有必要对汽车公共数据实行共享,如发动机转速、车轮转速、油门踏板位置等,但每个控制单元对实时性的要求是因数据的更新速率和控制周期不同而不同的。这就要求其数据交换网是基于优先权竞争的模式,且本身具有较高的通信速率。CAN总线正是为满足这些要求而设计的。
1、CAN简介
德国Bosch公司为解决现代车辆中众多的控制和数据交换问题,开发出一种CAN(Controller Area Network)现场总线通信结构。CAN总线硬件连接简单,有良好的可靠性、实时性和性能价格比。CAN总线能够满足现代自动化通信的需要,已成为工业数据总线通信领域中为活跃的一支。其主要特点是:
① CAN总线为多主站总线,各节点均可在任意时刻主动向网络上的其他节点发送信息,不分主从,通信灵活;
② CAN总线采用独特的非破坏性总线仲裁技术,优先级高的节点优先传送数据,能满足实时性要求;
③ CAN总线具有点对点、一点对多点及全局广播传送数据的功能;
④ CAN总线上每帧有效字节数多为8个,并有CRC及其他校验措施,数据出错率极低,万一某一节点出现严重错误,可自动脱离总线,总线上的其他操作不受影响;
⑤ CAN总线只有两根导线,系统扩充时,可直接将新节点挂在总线上即可,因此走线少,系统扩充容易,改型灵活;
⑥ CAN总线传输速度快,在传输距离小于40 m时,大传输速率可达1 Mb/s;
⑦ CAN总线上的节点数主要取决于总线驱动电路,在CAN2.0B标准中,其报文标识符几乎不受限制。
总之,CAN总线具有实时性强、可靠性高、通信速率快、结构简单、互操作性好、总线协议具有完善的错误处理机制、灵活性高和价格低廉等特点。
2、总体方案设计
2.1 汽车内部CAN网络设计
正是由于CAN总线具有这些其他通信方式无法比拟的优点,使之成为电动汽车控制系统的理想总线。
现代汽车典型的电控单元主要有主控制器、发动机控制系统、悬架控制系统、制动防抱死控制系统(ABS)、牵引力控制系统、ASR控制系统、仪表管理系统、故障诊断系统、中央门锁系统、座椅调节系统、车灯控制系统等。所有这些子控制系统连接起来构成一个实时控制系统——指令发出去之后,必须保证在一定时间内得到响应,否则,就有可能发生重大事故。这就要求汽车上的CAN通信网络有较高的波特率设置。另外,汽车在实际运行过程中,众多节点之间需要进行大量的实时数据交换。若整个汽车的所有节点都挂在一个CAN网络上,众多节点通过一条CAN总线进行通信,信息管理配置稍有不当,就很容易出现总线负荷过大,导致系统实时响应速度下降的情况。这在实时系统中是不允许的,因此在对汽车上各节点的实时性进行了分析之后,根据各节点对实时性的要求,设计了高、中、低速三个速率不同的CAN通信网络,将实时性要求严格的节点组成高速CAN通信网络,将其他实时性要求相对较低的节点组成中速CAN通信网络,将剩下实时性要求不是很严格的节点组成低速CAN通信网络。并架设网关将这三个速率不同的三个通信网络连接起来,实现全部节点之间的数据共享。整个汽车的CAN通信网络拓扑结构如图1所示。
发动机控制系统、悬架控制系统、制动防抱死控制系统(ABS)、牵引力控制系统、ASR控制系统这五个节点是汽车运行的核心部件,对时间响应要求严格,因此将这五个节点组成高速CAN通信网络,通信波特率设为500 bps。仪表管理系统、故障诊断系统等相对来说对实时性的要求较低,因此这些节点构成中速CAN通信网络、通信波特率设为128 bps。中央门锁系统、座椅调节系统、车灯控制系统对实时性要求不是很严格,它们构成低速通信网络,通信波特率设为30 bps。两个网关跨接高、中、低速三条总线,与各节点进行数据交换。网关通过对CAN总线间待传数据信息的智能化处理,可以确保只有某类特定的信息才能够在网络间传输。
2.2 器件选择
汽车内部CAN网络主要由两部分组成:面向底层ECU的CAN节点和实现高低速网络数据共享及网络管理的网关。为了减少开发周期,选择Motorola公司一款带CAN模块的中档微处理器MC9S12DP256;CAN收发器以及电源系统是用MC33989来实现的。
微控制器MC9S12DP256是基于16位HCS12 CPU及0.25 μm微电子技术的高速、高性能5.0 V Flash存储器产品中的中档芯片。其较高的性能价格比使其非常适合用于一些中汽车电子控制系统;同时其较简单的背景开发模式(BDM)也使开发成本进一步降低,使现场开发与系统升级变得更加方便。
MC9S12DP256的主频高达25 MHz;片上集成了许多标准模块,包括2个异步串行通信口SCI、3个同步串行通信口SPI、8通道输入捕捉/输出比较定时器、2个10位8通道A/D转换模块、1个8通道脉宽调制模块、49个独立数字I/O口(其中20个具有外部中断及唤醒功能)、兼容CAN2.0A/B协议的5个CAN模块以及1个内部IC总线模块;片内拥有256 KB的Flash EEPROM12 KB的RAM、4 KB的EEPROM。这些丰富的内部资源和外部接口资源可以满足各种ECU数据的处理以及发送和接收。由于有多个CAN模块,所以非常适合做高低速网络之间的网关。
Motorola公司的系统级芯片(SBC)MC33989具有二个电源整流器,专为MCU和外围器件提供电源。这个智能化的半导体器件可以提供所有必需的系统电压,内部有一个低噪声的200 mA整流器用来给MCU子系统供电。另外,还有一个控制外部导通晶体管的装置用来给外围设备供电。这个外部导通晶体管允许调整二次电源,使之满足每种特殊应用所需的功耗极限要求。二次供电电源还能根据要求切断所选外围设备的供电,并以此达到降低功耗的目的。
除了提供系统电源外,SBC内部还集成了一个1 Mb的CAN收发器。该收发器具有主控状态超时检测、内部热保护以及CAN-H和CAN-L输入端短路保护等功能。收发器内部还对CAN-H和CAN-L输入端进行了跳启、电池反接以及短接至电源或地的保护。
4个高压唤醒输入端使器件具备了强大的唤醒功能。这些唤醒输入端的大耐压能达40 V。输入端的上拉源能在芯片上产生。由于只需用上拉源就能随时检测开关输入的变化,因此能较好地降低功耗。该器件还具有周期性唤醒功能。另外,SBC还提供了针对MCU的复位调节与低压检测功能。
2.3 CAN节点的硬件电路设计
为了便于调试和演示,节点模块都包括CAN接口、RS232接口和液晶显示器。在调试过程中,液晶显示器用来将本地数据和通过CAN总线接收的数据直观地显示出来,RS232接口在需要的情况下可用来与PC机建立通信。
节点的核心芯片是微处理器MC9S12DP256,主要负责CAN的初始化,完成数据的处理及监控数据的传送。
图2中MC33989是CAN控制器与物理层总线之间的接口。该器件可以提供对总线的差分发送能力和差分接收能力,具有抗汽车环境下的瞬间干扰、保护总线的功能。除此之外,它还为MCU和外围器件提供电源。CAN节点原理框图如图2所示。
2.4 CAN网关的硬件电路设计
网关的主要作用是协调各个网络之间数据的共享,负责各节点之间的通信,其硬件结构与CAN节点非常相似。由于它负责高速与低速网络之间的数据共享,所以,必须同时跨接在两个网络之间。CAN总线网关硬件框图如图3所示。
微处理器MC9S12DP256具有5个CAN模块,这里使用其中的两个:一个通过MC33989与低速网相连,实现与低速网的通信;另一个通过MC33989与高速网相连,实现高、低速网之间的通信以及对网络的管理。
2.5 CAN网络通信系统软件设计
本设计所需实现的功能是各节点发送接收数据,网关能实现数据的转换,实现高、低速网络之间的通信。在实验过程中,假设速率不同的两个网络,数据刷新周期分别为10 ms的低速网和5 ms的高速网。软件设计由KEIL C编写,主程序完成数据的处理和收发,中断程序负责数据的采集,主程序由CAN总线数据的收发、液晶显示控制、数据帧解析三部分构成。通过中断判断数据的接收或发送,根据高、低速的不同,每隔一段时间(5 ms或10 ms)发送一组新数据。通信程序流程如图4所示。
3、结语
为了充分发挥ECU在汽车控制中的作用,CAN通信网络为全局优化提供了条件。通过实验证明,CAN总线具有以下优点:① 组网自由,扩展性强;② 自动错误界定,简化了电控单元对通信的操作;③ 可根据数据内容确定优先权,解决通信的实时性问题。
此外,CAN网络还被众多工业控制系统采用,尤其是传输速率较高而且对实时性及可靠性要求高的场合,所以CAN总线将有广阔的应用前景。
提高伺服控制系统速度的变化率可以提高纺织细纱机的生产效率。用一台PLC控制两组伺服驱动电机,两台电机启停时间错开,通过机械装置合成可使速度变化率达500次/min;系统采用速度反馈控制,利用RS232与上位机通讯以实现参数的设置和监控。详细介绍了基于PLC纺织细纱机伺服控制系统的硬件原理和软件设计方法。实际运行结果表明:该系统设计合理,工作可靠,满足了纺织细纱机生产的需要。
一、引言
细纱机是纺织厂的专用设备,具有前后两个辊子。由于前面辊子的速度比后面辊子快,从前辊子进去的粗纱在两个辊子之间得到拉延,从后面辊子输出的纱就变细了。花式纱不是均匀粗细,而是粗细相间。要得到粗细相间的纱,只需让后辊子的转速时快时慢即可。本文设计了一套机械差动齿轮减速箱,减速箱的两个输入:一是前辊子通过减速齿轮传动后辊子的运动;另一是一台永磁同步伺服电机,通过控制系统使其频繁启停控制。目前永磁同步电机控制系统大启停次数可达280次/min。差动齿轮系的输出端接后辊子。如伺服电机不转,后辊子匀速旋转,纺出的是普通纱,如伺服电机频繁启停,经差动轮系合成后,后辊子速度时快时慢,纺出来的就是花式纱了。根据生产的需要,需要提高细纱机的车速,以提高纺纱的生产率,为保持原来花式细纱粗细相间的节距,后辊子转速变化率需要提高到500次/min,要求伺服电机启停率也要500次/min。目前,国内外生产的伺服驱动系统难以满足要求。
作者设计了一套驱动控制系统,采用两台永磁同步电机伺服系统,每台电机启停250次/min,两台电机启停时间错开,通过机械装置将其合成为500次/min。
二、差动齿轮系的设计
差动齿轮系的工作原理如图1所示,来自于前辊子的转速经过齿轮减速后作为差动齿轮系的一个输入,另一个输入由两台伺服电动机通过机械合成而成,能实现启停500次/min。从图可见,若两台伺服电动机不转,差动齿轮系输出到后辊子的为一个低于前辊子的均匀速度,此时细纺机纺出为普通纱。若两台伺服电机均启停250次/min,且启停时间错开,通过机械合成后为启停500次/min,此时差动轮系输出到后辊子的变化速度为500次/min,细纺机纺出为花式纱。
图1 差动齿轮系原理图
三、控制系统硬件的设计
在纺纱过程中需要不断地改变纱的粗细、纱的长度和节距3个参数,要求伺服电机不断改变启停周期和速度,每种纱常有300多种变化组合,参数要求方便进行调整,而且工作环境较恶劣,可靠性要求高。根据以上要求本文选择Mitsubishi的FX2N系列可编程控制器,控制系统的原理框图如图2所示。
图2 控制系统原理框图
伺服系统电机采用Mitsubishi的低惯量永磁同步电机,其参数为12Nm,22A,2.84KW,3000r/min。两套伺服系统的速度控制号由PLC模拟量I/O模块FX2N-3A 输出控制,其模拟电压为0~10V。A、B两套伺服系统的启停控制信号
由PLC扩展的脉冲输出模块FX2N-1PG输出端控制,其相位相互错开。
为了调节纱的粗细、长度和节距,PLC需要不断检测前辊子的速度,根据设置的参数和检测的前辊子速度计算出后辊子的速度和开关频率。本系统中前辊子速度和伺服电机速度的检测采用光电编码器,其输出的脉冲信号输送到PLC的高速计数模块FX2N-1HC进行计数从而得到前辊子的速度以计算伺服电机速度和开关频率。另外PLC选用绝缘型RS232C通讯用适配器与工控机进行通讯,以实现参数的设置和监控。工控机采用研华AWS-825,用VB开发工控机的监控程序和控制界面。
四、程序设计
根据PLC的工作过程,PLC控制流程如图3所示。
图3 PLC控制流程图
速度检测采用M法测速,在固定的时间间隔Ts内读取速度信号的脉冲数从而计算出转速的大小。设m1为在固定时间间隔Ts内读取速度信号的脉冲数,P为电机光电编码器每转输出的脉冲数,在时间Ts内共发出m1个脉冲,其速度为:。
串行通信模块数据传送利用RS指令,其与工控机进行串行通信时可以设置数据长度、奇偶性、波特率、停止位等。本系统设置的通信数据长度为8位,采用偶校验,设置1为停止位,通信的波特率为2400bps。
D/A模块具有电压输出和电流输出两种形式,电压输出可选0~10V和0~5V输出,本系统选择0~10V输出控制伺服电机转速从0~3000r/min变化。数模转换模块采用FROM,TO指令,其中FROM控制A/D输入,TO控制D/A输出,编程指令包含选择数模转换通道和输入输出数据存放单元,设置数模转换命令,输出或读入转换结果等。
五、上位机的编程
在bbbbbbs下用VB实现串行通信有两种方法:一种为使用bbbbbbs应用编程接口(API)。API提供了完备的应用程序接口函数和中断方式的通信设备驱动程序(Comm.DRV)。另一种为使用VB系统集成环境提供的串行通信控件(MSComm)。它包含了bbbbbbs API中串行通信的16个函数所完成的功能,且含有使用户设计方便的对象特性。本系统采用VB系统集成环境提供的串行通信控件(MSComm)实现串行通信。MSComm控件的通信功能的实现实际上是调用了API函数,API函数是由Comm.drv解释并传送给设备驱动程序执行的,对于VB开发者只需知道MSComm控制的属性和事件的用法即可以实现串行口的通信操作。
上位机与PLC之间通信参数包含伺服电机速度、开停频率等信息,所以必须要有一个标识字节用于区分传送信息的类型。同时考虑到传输中可能出错,再增加一个检验字节。所以本文中两机之间通讯协议为每传一次含括5帧,它们分别是:
1、标识字节,用于分辫所传信息的种;2、所传信息16位二进制码的低位字节;3、所传信息16位二进制码的高位字节;4、校验字节,为前3个字节的异或值;5、结束位,表明此次数据传输结束。
每一帧包括:1位起始位、8位有效数据位、1位奇偶校验位、1位停止位。
根据以上分析,本文成功设计了一套基于PLC控制和工控机监控的纺织专用细纱机控制系统,并成功应用于某纺织厂的生产线中。工控机通过PLC串行通信监测的伺服电机启制动时速度的变化曲线如图4 所示。2个月成功运行表明,该系统设计合理、工作可靠。
图4 伺服电机起制动速度变化曲线
六、结论
本文设计了一套基于PLC控制和工控机监控的纺织专用细纱机控制系统,系统利用差动齿轮系和两套伺服电机设计的后辊子速度变化频率可达500次/min,满足了细纱机生产的需要。同时利用工控机通过串行通信对系统进行参数的设置和监测,运行表明,该系统设计合理、工作可靠。