基于CAN总线嵌入式数字控制系统的设计

2010-07-09 11:29明,王
制造业自动化 2010年2期
关键词:双绞线适配器直流电机

尹 明,王 杰

(1. 重庆三峡学院 计算机科学系,万州 404000;2. 南京中兴通讯股份有限公司,南京 210000)

0 引言

目前国内生产的直流电机调速控制器大多都不带通信接口,即使有带通信接口也仅为RS232或RS485串行总线。众所周知RS232和RS485有各自的优缺点,阻碍了多台电动机机组的进一步网络化发展和群控控制。本文分析和研究了多台直流电机CAN总线的通信协议以及软件数据的传输[1,2],对工业网络控制的实现具有一定的指导意义。CAN总线控制网络工作于多主方式,网络中的各节点都可根据总线访问优先权(取决于报文标识符)采用无损结构的逐位仲裁的方式竞争向总线发送数据,且CAN协议废除了站地址编码,采用对通信数据进行编码,这可使不同的节点同时接收到相同的数据,这些特点使得CAN总线构成的网络各节点之间的数据通信适时性强,并且容易构成冗余结构,提高系统的可靠性和灵活性。

1 系统总体设计

多台直流电动机CAN总线控制系统如图1所示,本系统由直流电机、直流电机调速控制器、CAN总线通信控制板、上位机和CAN总线五部分构成。CAN总线能完成网络的建立、网络信号的传递、总线控制以及与上位机之间的数据通信;同时还完成对直流电机电压、电流数据的测试、传输以及直流电机转矩、转速的检测并进行闭环控制等[1]。

图1 多台电机CAN总线控制框图

2 数据通信设计

在直流电机调速系统结构中有一个通信接口模块,用来实现与CAN总线通信控制板之间的数据交换,首先用DSP实现AD采样电路对速度反馈、速度给定、电流反馈等数据处理。采样所得数据经再发送给ARM处理器,最终ARM处理器实现CAN总线通信[3,4]。

2.1 直流电机的CAN总线通信设计

CAN协议标准中规定了CAN总线支持的两种传输介质:双绞线和光纤。目前,绝大多数CAN总线系统采用的都是双绞线传输。光纤一般应用于大容量、高速率的传输中,对于CAN总线这种传输速率较低、数据量较小的现场总线通信,光纤传输的优势得不到完全发挥。所以,本文使用双绞线作为通信介质。

每个直流电机都是网络中的一个节点,其在运行时的数据经DSP采集后发送到CAN总线通信控制板,然后传输到CAN总线上,再由CAN总线适配器传给上位机,实现对电机的实时监测。这样就可以实现上位机对电机的实时监控。其中CAN总线适配器实现上位机与CAN总线的数据交换。

CAN总线适配器由CAN的微控制器完成与上位机通信的协调工作,根据需要可对CAN适配器微控处理器中的寄存器进行读写操作,实现初始化及数据采集。CAN总线适配器上电复位和初始化后,等待着命令和数据,当命令或数据送给CAN的寄存器并置位标志位,即完成一次通讯,然后取出数据做进一步处理。与CAN适配器间的通讯有查询和中断两种方式。

2.2 CAN总线网络通讯调试

首先要测试CAN总线适配器与上位机能否实现通信,从前面的介绍可以知道它们是通过串口实现通讯的。打开串口调试工具,由适配器向串口发送数据,如果串口调试工具可以接收到数据,则说明它们之间的通讯正常。接着要对两个CAN节点的调试,我们采用双绞线作为通讯介质。总线传输速度与双绞线的长度成反比关系,所以可以根据对通讯速度的要求确定双绞线的长度,由于是简单通讯实验,因而对双绞线的长度没有要求。设置一个节点为发送端,另一节点为接收端,取消报文滤波器,如果能够完成发送接收任务则它们已经能够实现简单的通讯。

本设计设定传输运行状态与故障状态两种运行参数,其中运行状态包括直流电机的:给定速度、反馈速度、反馈电路、电枢电压。运行状态是由DSP自带的AD转换模块经采样所得。DSP的AD采样器精度是12位的,所以经模数转换后的数值是一个12位的二进制数,对其前端补零转换成16位数据经串口直接发送给ARM处理器。因为两者的传输距离很近,所以不需要经过电平转换就可直接发送。而电机的故障状态则由0、1表示,0代表没有故障,1代表电机出现故障。

要实现DSP与ARM以及CAN总线的通信,需要设置一个通信控制协议,协议设定每个要传输的参数一个控制地址。CAN总线每次可以发送8个字节数据,每个字节8位,所以给定速度、反馈速度、反馈电流及电枢电压这四组运行参数需要占据两个字节,而故障状态只需占据一个字节。CAN总线数据帧的第一个字节存放控制地址,第二、三个字节存放数据。其中,第二字节存高地址,第三字节存低地址。如果发送的是故障状态则只有第二个字节是传输数据。CAN总线每次只发送一种运行参数,其中给定速度、反馈速度、反馈电路及电枢电压依次轮流发送。而故障状态在程序中设置为优先级最高,当有故障出现时则优先发送,正常状态下不发送。图2是整个系统的数据传输流程图[5,6]。

图2 数据传输流程图

3 实验

图3为上位机数据显示界面,图中显示为调试某一时刻的传输数据。可以看出反馈速度与给定速度并不相等,由于PI控制算法的作用使反馈速度始终处于给定速度附近。反馈电流1.2A是在电机空载时的测量值,随着负载的增加,反馈电流会逐渐增大。电枢电压是直流电机母线上的电压,由于电机在实际应用中主要工作在220V,所以调试时首先将电枢电压稳定在这一电压值,然后再对速度进行调节。在正常情况下,故障状态始终显示为“无”,当有故障信号发出时,故障状态显示为“有”并发出报警信号。

图3 上位机数据显示界面

这样上位机就收到某台电机此时的各种运行参数,由此可以实现使用上位机监控整个厂房中所有电机的运行状况。

在系统调试时,使用三米长的双绞线作为通信介质,上位机、直流电机、直流电机调速器等作为调试工具。实验证明,上位机能够顺利接收到直流电机发送的各种运行参数,说明系统已经实现了数据通信的要求。由于直流电机、测速机本身都是比较大的干扰源,在此情况下数据仍能顺利传输,这也一定程度上验证了CAN总线的抗干扰能力。

4 结束语

本文针对CAN总线在直流电机调速系统中的应用,通过整体结构设计,实现了直流电机调速器与CAN总线控制器之间的数据交换以及CAN总线与上位机间的数据传输,最终实现CAN总线对直流电机的运行状态的监视。

[1] 刘松,王渝.基于CAN总线的数字式直流电机控制系统[J].微计算机信息,2003,19(4):7-9.

[2] 曹太强,许建平,吴昊,王杰.基于DSP的直流电机数字调速系统的设计[J].电力电子技术,2008,42(2):73-77.

[3] 王田苗.嵌入式系统设计与实例开发[M].清华大学出版社,2002.

[4] 王泽民,芦东昕,谢鑫,徐立峰.基于 VxWorks 的异常处理的研究和实现[J].计算机工程,2005,31(13):90-92.

[5] 曹珊,于秀敏,周 学文,等.混合动力汽车CAN总线系统智能节点设计[J].计算机工程与应用,2006,42(15):92-93.

[6] 王彦堂,李贻斌,宋锐.基于ARM Linux平台的CAN设备驱动程序设计与实现[J].计算机工程与应用.2007,43(15):79-82.

猜你喜欢
双绞线适配器直流电机
基于模糊PID的无刷直流电机速度控制系统的设计与仿真
基于模糊自适应ADRC的无刷直流电机控制技术
双绞线测试技术综述
核电磁脉冲作用下不均匀双绞线的时域耦合特性分析∗
双绞线的使用规范与制作技巧
基于3D打印的轻型导弹适配器
潜空导弹垂直发射出筒适配器受载变形仿真研究
基于FPGA的双绕组无刷直流电机软件设计
电源适配器怎么选
直流电机电源设计研究