随着国民经济的飞速发展,交流电动机在工业生产中扮演了极为重要的角色,作为各行业中的主要拖动电机,应用更为广泛。众所周知,交流电动机在全压起动时,起动电流达到额定电流的5~7倍,会对电网造成冲击;起动转矩约为额定转矩的2倍,加剧机械结构磨损。为了解决交流电动机的起动问题,通常需要使用软起动器进行软起动。
当前软起动器的监控一般由各自独立的监控单元进行,无法对整个系统实现全面的控制和监测。因此,建立一套数据通信系统将各软起动监控节点连接起来,组成完整的监控网络就显得非常必要。
相对于RS-485等通信标准,CAN(Controller Area Network)总线以其具有的诸多优点而在许多领域得到了应用。CAN总线是德国Bosch公司于上世纪80年代初推出的一种多主局域网,CAN通信网络是一种全分散、全数字化的智能双向、多变量、多点、多站的分布式通信体系,具有可靠性高、稳定性好、抗干扰能力强、通信速度块、成本低等诸多优点。CAN总线是一种非常适合工业现场恶劣环境的通信方式。本文介绍了一种基于CAN总线的交流电机软起动通信系统。
2 CAN通信系统结构
交流电机软起动通信系统由一台工控机作为监控主机,工控机通过CAN总线接口接入CAN总线,各节点是由单片机控制的具有CAN总线数据收发功能的交流电机软起动器。系统结构如图1所示。
图1 通信系统结构框图
通信系统各部分提供了不同的功能。其中,工控机控制交流电机软起动器的工作状态,例如软起动、软停车等,显示软起动的各项参数如起动电压、起动电流等。软起动器按照工控机的命令控制交流电机软起动,并采集电机起动电流、电压等参数,通过CAN总线发往工控机。
3 CAN通信协议
本通信系统中,传输的数据长度不是固定的。工控机向软起动器下达的控制命令只有几个字节,而软起动器向工控机上传的软起动实时数据一般有几十个字节。因此CAN通信协议需要有大数据量传输能力,又要快速高效。由于CAN通信采用短帧结构,每帧有效数据长度最多为8个字节,在传输数据量较大时,就要将数据拆分为多个帧进行传输。如果将所有信息和数据都放在8个字节的数据场中,将会使传输帧中有效数据少,通信信息多,降低CAN总线通信效率。所以,本文采用了利用报文标识符中的仲裁场包含通信控制信息,数据场包含实际数据的方法,以提高通信效率。
本系统中,CAN通信采用CAN2.0B标准中带29位报文标识符的扩展帧。报文标识符中包含紧急标记、目的地址、源地址、帧类型、帧号,其格式如表1所示。
其中紧急标记仅有1位,用来标记当前帧的优先级,对于一般信息,该位置1,对于紧急信息(如三相电压不平衡、过流、软起动器组件故障等报警信号)该位置0,从而使其拥有高优先级,尽快传送到目的地。
目的地址共7位,指示该帧所要到达的目的地,可以是某一具体地址,也可以是广播地址(主要用于工控机以广播方式向各软起动器传送数据,如对时数据等)。
源地址共7位,指示该帧的来源地址。
帧类型有4位,说明了该帧的类型,如工控机控制命令、软起动实时数据等。
帧号共8位,用来在多帧传输中标记该帧的序号。
每个CAN通信节点都有一个唯一的地址号,地址号使用7位二进制数表示。其中,优先级最高的地址分配给工控机,优先级最低的地址作为广播方式的目的地址,其它地址依次分配给各软起动器。
CAN节点采用双滤波方式获取本节点所需信息,两个滤波器均采用7位有效数据,分别对应节点地址和广播方式下的地址。这样,就仅有发往该节点的帧和广播帧能够进入应用层进行处理,其它无关通信内容都被过滤掉,提高了系统运行效率。
工控机对软起动器的控制命令由对应的控制命令代码表示。主要的控制命令有:软起动开始/停止,软停车开始/停止,起动方式(阶跃式、脉冲突跳式、恒流式)设置,起动时间设置等。有些控制命令带有相关参数,如起动时间命令中时间长度。控制命令代码和命令参数存放在数据场中。
4 软起动器CAN通信硬件设计
软起动器的CAN通信由P89V51RD2单片机、CAN控制器SJA1000、CAN总线收发器PCA82C250和光耦6N137组成,电路原理如图2所示。
图2 软起动器CAN通信电路原理图
SJA1000是一款独立的CAN控制器,具有BasicCAN和PeliCAN两种工作方式,PeliCAN工作方式支持具有很多新特性的CAN 2.0B协议。PCA82C250为总线收发器,主要功能是增大通信距离,提高系统的瞬间抗干扰能力,保护总线,实现热保护等。为了增强CAN总线节点的抗干扰能力,SJA1000通过高速光耦6N137与PCA82C250相连,这样就很好地实现了总线上各CAN节点间的电气隔离。光耦两侧电源完全电气隔离,隔离电源由小功率电源隔离模块B0505提供。
5 软起动器CAN通信程序设计
软起动器上电后,首先进行自检,自检完成后向工控机发送自检结果;若自检成功,工控机向软起动器发送软起动初始化参数和“允许起动”命令,电机开始软起动;软起动过程中,软起动器每隔100ms发送一次软起动数据,包括三相电压、三相电流、电机转速等信息;电机运行完毕,工控机发送“软停车开始”命令,软起动器开始控制电机软停车;当软起动器出现故障时,工控机会收到故障报警信号,同时显示故障原因。
软起动器CAN通信程序主要包括三个部分:CAN节点的初始化,报文的发送和报文的接收。其中CAN节点初始化部分是关键,正确的初始化保证了报文发送和接收的正常工作。CAN初始化程序流程如图3所示。
图3 CAN初始化程序流程图
报文发送时,只需将待发送的数据按照通信协议规定组合成一帧报文,送入发送缓冲区,然后启动发送即可。其程序流程图如图4所示。
图4 CAN报文发送程序流程图
报文的接收过程中,首先要对诸如总线脱离、错误报警等情况进行判断处理,然后读取缓冲区内数据,最后释放缓冲区和相关寄存器,完成接收并转入对数据的处理程序。其程序流程图如图5所示。
图5 CAN报文接收程序流程图
6 结束语
本文设计的是一个可靠、高效的交流电机软起动通信系统,利用CAN总线技术,实现了电机软起动远程控制和监测功能。该系统已成功应用于某水泵站电机软起动系统中,实践证明,该系统抗干扰能力强,实时性能好,运行稳定,达到了设计要求。