您的位置 首页 5G

选用DSP和CAN的电机同步控制系统与通讯

0引言传统的多电机控制系统适用于要求不高、相对简单、电机分布比较集中的场合。而对于运动控制中实时性、可靠性、可扩展性、传输距离、…

0 导言

传统的多电机操控体系适用于要求不高、相对简略、电机散布比较会集的场合。而关于运动操控中实时性、牢靠性、可扩展性、传输间隔、传输速度等要求较高的场合,需求选用高传输速度、远传输间隔、牢靠性较高的通讯方法和处理速度快、功用强壮、能够完结杂乱操控战略的处理器。
操控器局域网CAN(Controller Area Network)是一种有用支撑散布式操控和实时操控的串行通讯网络。它归于现场总线范畴,与现有的其它总线比较,它是一种涣散式、数字化、双向、多站点的通讯体系,具有速率高、牢靠性好、智能化高、衔接便利等许多长处,在散布式测验和工业操控等相关范畴的运用越来越广泛[1]。
数字信号处理器(Digital Signal Processor,DSP)是一种高速专用微处理器,TMS320F2407A运算功用强壮,能完结高速输入和高速率传输数据,且带CAN总线接口。它专门处理以运算为主且不答应推迟的实时信号,可高效进行快速傅里叶改换运算。数字信号处理器的精度高,牢靠性好,其先进的质量与功用可为电机操控供给高效牢靠的渠道[2]。
鉴于CAN总线的通讯优势和DSP的强壮处理才能,运用二者完全能够规划完结要求较高的多电机操控网络体系。这种功用强壮、智能化和网络化程度较高的网络体系满意了工艺杂乱、要求较高的多电机操控,它正在鼓起并成为多电机操控网络体系的发展趋势[3]。
1 体系结构及其完结
依据CAN总线网络的新式多电机同步操控体系,选用总线式多主多从网络拓扑结构。当体系中不只有工程师层还包含办理层即多个主节点时,主主通讯将完结不同功用主节点的沟通(如图1)。整个操控体系由三部分组成:CAN总线、上级PC机、DSP操控体系。体系选用PC 机作为监控主机,完结对各节点的监控和办理;CAN 总线接口卡完结CAN协议的物理层和数据链路层功用,完结PC 机与CAN 总线之间的通讯;各从节点经过DSP完结数据的收发和对沟通电机的操控[4]。


主节点选用PC微机(或其他兼容机),经过PCI总线双路智能CAN网卡(通讯适配器)与CAN总线相连,进行信息交流。CAN网卡电路共分为三大部分:由DS89C420微处理机、74LS373锁存器、32KB的RAM 62256、32KB的EPROM 27256组成的主机部分;双口RAMIDT7005S35PF及其操控电路;由SJA1000、光电阻隔电路、82C250组成的CAN操控器和CAN总线接口电路。
从节点由两部分构成:电机操控板和功率驱动板。从节点的根本框图如图2所示。电机操控板以TMS320LF2407A为中心,外围选用各功用模块。其间,PWM模块用于驱动功率器材,A/D模块用来把体系所需求的电流模拟量改换成数字量,完结电流环反应操控。磁场平衡式霍尔电流传感器(LEM模块)把互感器、磁放大器、霍尔元件和电子线路集成在一起,具有丈量、反应、维护三种功用,LEM模块的输出输入到DSP的三路A/D转化口,转化成数字信号后,再进行相应的处理。光电码盘把检测信息反应到DSP的正交编码脉冲电路(QEP),完结速度环反应操控。当LF2407A的QEP被使能(制止捕获功用),定时器2对引脚CAP1/QEP1和CAP2/QEP2、定时器4对引脚CAP4/QEP3和CAP5/QEP4上的脉冲数目和频率别离计数,可得到电机的角位移和转速。功率驱动板由整流滤波、IGBT驱动、以及IGBT桥和反应电路组成[5]。

2 软件规划
2.1 CAN 总线网络通讯协议规划
CAN 总线选用一种串行数据通讯协议,它能有用地支撑具有较高安全等级的散布实时操控。依据CAN总线技术规范CAN2.0A、CAN2.0B,本文规划了用户通讯协议,各个节点都按此协议传送信息。用户通讯协议的帧结构共10个字节(2个字节标识符、8个字节数据和变量),其界说如图3所示。
PRI:1为低优先级,0为高优先级,而剩下的优先级由源地址决议,低地址优先级高。
帧类型:100为单帧播送;000为单帧点对点。
指令或物理变量名:cmd0、cmd1的功用界说有许多,表1仅给出了几种典型的界说。节点依据接纳到的数据中两个字节的内容来承认被传送的内容。
物理变量序号:0~255。
Data3~Data0:界说为一个物理变量数据,4字节长整数,原码表明。数据类型为整型、布尔型或浮点型。

2.3软件完结
本体系程序首要分为三部分:PC机人机交互程序、DS89C420作为CAN与PC机之间通讯中介的程序、DSP作为CAN网络节点和电机操控功用的程序。PC机人机交互软件它以可视化界面显现CAN网络上各节点ID、操控指令、发送优先级等。DS89C420的作用是将从CAN网络上收集的数据传送到PC机,并把PC机传过来得数据发送到CAN网络上,它完结的功用类似于协议转化。DSP完结的功用包含:依据PC机发送过来的指令操控电机正转、回转和中止,以及将电机的相电流、运转速度等信息别离经过LF2407A的片上A/D转化器、正交脉冲编码电路等得到;对电机的操控经过LF2407A的事情办理器模块EVA、EVB输出具有恰当占空比的PWM脉冲给大功率IGBT管来完结。
2.3.1主主通讯
本规划为依据CAN总线的多主多从通讯网络体系,主节点可所以工程师站,也可所以副工程师站或其它操作站,因为操控的需求,主节点之间需求传送一些数据。主—主通讯的软件规划关键是把握好CAN操控器的初始化设置例如ID的设置,数据的发送和接纳。因为网卡具有接口函数库及网卡的驱动程序,能够便利地进行主—主通讯。通讯软件已测验成功,通讯界面选用VC编写,如图4所示。


2.3.2主从通讯
下面的程序是DSP渠道和上位机的通讯,主节点CAN网卡中的CAN模块初始化和发送子程序。调试过程中需求留意:通讯节点的波特率要求共同;主从通讯时要求CANMCR = 0x0480,使通讯处于正常发送状况;CANH与CANL之间衔接终端负载电阻抗搅扰。
void CANInit()
{ asm(“SETCINTM “); /* 制止中止 */
IMR = IMR | 0x011; //使能CAN中止
CANIMR = 0; //屏蔽一切中止
CANIFR = 0xFFFF; //铲除已挂号中止
CANMCR = 0x0480; //CAN处于正常作业状况
CANMCR = CANMCR | 0x1000;//设置CCR,改动装备恳求;
While ( (CANGSR & 0x0010) == 0 ){} //设置CCE,更改装备启用;
CANBCR2 = 0x027; //设置波特率50Kbps
CANBCR1 = 0x005E;
CANMCR = CANMCR & 0xEFFF;//铲除CCR位;
While ( (CANGSR & 0x0010) == 1 ){} //铲除CCE,制止对装备寄存器进行操作;
CANMailBoxInit(); //初始化邮箱
asm(“CLRCINTM “);/* 开中止 */
CANTCR =0x0080;//发送5号邮箱内容;
While ( (CANTCR & 0x8000) == 0 ){}//发送成功 }
3 同步办法及完结
在对多电机的同步操控中,处理电机的实时性问题十分重要。CAN总线具有点对点、一点对多点及大局播送传送数据的功用。尽管CAN总线的信息存取运用了播送式的存取作业方法,信息能够在任何时候由任何节点发送到闲暇的总线上,然后依据信息标文符决议是否读取信息包中的数据以判别是否运用这一信息,可是因为各电机的实践情况不同,即便指令一起传送到节点,实践指令的施行时刻也不能得到确保。笔者以为仅依托CAN总线的播送数据功用完结同步操控会发生差错,能够经过软件编程完结差错较小的同步操控。选用两次指令的方法,首先由主站给需求同步的从站用播送的方法发送预备指令和同步速度,主站承认收到预备好指令之后发送第2次详细的指令即发动同步指令。这样能够使差错相对削减。
4 结束语
本文研讨了依据CAN总线的多电机同步操控网络的组成和通讯完结,规划有用的将DSP的高速处理才能和CAN(Controller Area Network)总线的高功用、高牢靠性结合起来,具有很高的运用价值和宽广的运用远景。以上代码悉数调试经过,试验证明适用于多台电机串行通讯的实践运用以及能够依据实践的体系进行扩展和移植。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/5g/236619.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部