越障移动机构控制系统设计
2017-07-05郑卫东房玉吉
郑卫东,房玉吉
(1.海军装备部舰船办公室,北京,100071;2.中国舰船研究设计中心,武汉 430064)
越障移动机构控制系统设计
郑卫东1,房玉吉2
(1.海军装备部舰船办公室,北京,100071;2.中国舰船研究设计中心,武汉 430064)
按照模块化的设计理念,以数字信号处理器(DSP)为主控制单元,通过复杂可编程逻辑器件(CPLD)进行功能拓展,封装成电机控制模块,通过CAN通信方式将各模块与上位机连接,形成开放式运动控制系统,缩短系统开发周期,提高系统的开放性及可重构性。
数字信号处理器;复杂可编程逻辑器件;运动控制
随着远洋船舶总尺度不断增加,船员生活品质的不断提高,船上日常物品包括食品、生活垃圾等的频繁运输与船舶通道内的“立板式”障碍的矛盾越来越突出,迫切需要有效的运输工具。为此,提出一种移动机构,如图1所示。
整个机构共需要12个驱动电机,包括6个驱动摆臂的摆臂电机和6个驱动车轮转动的行走电机,本文主要对该机构的控制系统进行设计分析。
1 控制系统构建
由于移动机构越障过程的复杂性及控制的精确性,要求对所有的驱动电机均实现闭环矢量控制,这都对控制系统种主控制模块的运算速度提出了较高要求,传统单片机构成的运动控制器,由于其数据处理能力有限,系统相对封闭,可靠性和稳定性差,因此很难实现高性能闭环矢量控制[2]。TI公司推出的TMS320F2407微处理器,是一款专用于电机控制和运动控制的芯片,它不仅具备高速的数据处理能力,而且片内集成了丰富的电机控制外围部件[3],是高速高精度电机运动控制的理想选择。
由于TMS320F2407的正交编码信号通道仅有2路,若要实现对多个驱动电机的闭环控制便要复用其他引脚采集电机的编码器信号,还要在芯片内部编写信号采集及处理程序,这样对芯片的软、硬件均会造成浪费,降低系统的性能。复杂可编程逻辑器件(CPLD) 具有速度快、可以多路并行、灵活性大、设计开发简单以及可靠性高等优点[2],可以方便地实现对TMS320F2407的功能扩展,完成对电机编码器信号的采集及处理,这样DSP2407与 CPLD封装成一个控制模块,实现对3个电机的闭环控制。
为实现对多个控制模块的统一控制,保证越障运动的协调,设置一台上位机完成对越障机构的运动规划及控制。上位机与各控制模块之间通过控制器局域网(controller area network,CAN)总线进行通信。CAN作为在工业领域广泛应用的一种总线,具有实时性好、抗干扰能力强、成本低、可靠性高、波特率高及开放性好等特点,很适合用来搭建机器人的多电机控制系统[4],控制系统组成框架如图2所示。
每个运动控制模块对3个驱动电机进行闭环控制,整个系统共需要4个运动控制模块,实现对12个电机的闭环控制,控制模块通过CAN总线与上位机进行通信,接受上位机的统一指令。
2 电机编码器信号采集
为实现对驱动电机的闭环控制,在每个电机上安装光电编码器,一般光电编码器会有3路脉冲信号输出,分别为A,B,Z相,A、B相在相位上相差90°,如图3所示。
当A或B相信号中有一个发生变化时,就记录一次2者的信号值。当A相信号超前B相信号1/4个周期时,电机正转,相反,A相信号落后B相信号1/4个周期时,电机反转,通过A、B相信号的相位差来判断驱动电机的旋转方向。这样在一个信号变化周期内会得到4组信号值,相当于对码盘信号的采集频率提高了4倍,相应的测量精度也提高了4倍。Z相在电机旋转一圈时才会输出一个脉冲信号,用于定位基准点。通过计数单位时间内A、B相输出的脉冲个数可以得到驱动电机的转速,通过对照基准信号可以得到电机的位置。通过Quartus II对光电编码器信号采集处理程序的仿真如图4所示。
3 CPLD数据输出
CPLD要将处理后的光电编码器信号发送至DSP,可以通过SPI、SCI或总线方式。SPI和SCI均为串行通信,传输速度相对较低,但不会占用过多的硬件资源,且SPI相对于SCI在软件编程方面的工作量较小,相对简单,所以一般选择SPI串行通信作为DPLD与DSP之间的信息传输方式。通过CPLD程序编译软件设置74165移位寄存器,可以方便地实现CPLD与DSP内SPI的对接。图4为Quartus II库中的74165移位寄存器。
74165移位寄存器共8位,8位数据在移位/置入控制引脚STLD为低电平时并行置入寄存器,当STLD为高电平时,禁止并行置入。时钟引脚(CLK,CLKIN)功能相同,可交换使用。由于驱动电机码盘脉冲信号计数器的位数为16位,需要16位的寄存器来接收。将2个74165移位寄存器串联,即将其中1个的串行数据输出口连接至另1个的串行数据输入口,将CLKIN端子作为片选端子,CLK端子作为时钟输入端子。在CPLD内设置4个74165移位寄存器,完成对2个驱动电机的码盘脉冲信号采集,2组码盘脉冲采集信号均通过SPI串行通信方式将信号发送至DSP。由于DSP只有1个SPI端口,2组码盘脉冲采集信号需要共用1条传输通道,为防止2组码盘信号的相互干扰,在2组信号的输出段各增加1个3态缓冲门,将整个码盘采集、处理、发送程序封装成1个独立的模块,每个模块对应2台。
驱动电机码盘信号的计数器为将2个74165移位寄存器串联完成对1个光电编码器信号的采集处理、1个CPLD可以负责2个光电编码器信号。为2组串联的移位寄存器的STLD引脚接入来自同一信号源的置位信号,当置位信号到来时,数据被同时锁存到移位寄存器内,保证控制精度。
DSP2407A自身带有1个串行通讯接口模块SPI,它是1个高速、同步串行接口,主要用于DSP与其他处理器或外设之间的数据通信,当不使用SPI进行通信时,该引脚可作为一般的I/O接口。该通信方式的数据长度为1~16位可编程,传输速率也可以通过调整波特率的形式进行编程,由于本模块中的数据传输方向仅为由CPLD至DSP,并不是双向传输,所以仅使用SPI通信模块的2个引脚即可。
4 CAN通信设计
由于整个控制系统有12台闭环控制的驱动电机,4个运动控制模块,为实现对移动机构的精确控制,保证动作的协调性,需要有1台上位机进行统一控制,结合以DSP为核心的控制系统的特点,采用CAN总线方式作为上位机与控制模块间的通信方式。
CAN通信构架示意于图6。CAN总线只需要CAN_H和CAN_L 2根通信线,其他控制模块可以通过DSP自带的CAN通信接口直接连接至总线上。
DSP内嵌的CAN通信模块有6个通信邮箱,用于数据信息的接收和发送。由于1个以DSP为核心的控制模块控制3台电机,选取其中的1个邮箱便可满足本控制系统的通信需求,对于摆臂电机,除首尾各8位的校验位,其余各位用于存储3个摆臂电机的转向及位置;对于行走电机,除首尾各8位的校验位,其余各位用于存储3个行走电机的速度大小及方向。
5 结论
通过CPLD扩展DSP的控制功能,共同构成驱动电机闭环控制控制模块,作为多电机控制系统的基本单元,通过CAN总线接受上位机的统一指令,缩短控制系统的开发周期及工作量,显著提供系统的开放性及可重构性。
[1] 房玉吉,李玮.一种新型船用运输机构[J].船海工程,2016,45(2):121-123.
[2] 刘洋,赵金.基于DSP+CPLD的多轴矢量运动控制器的设计[J].电气传动,2005,35(12):15-17.
[3] 戴晓星,颜晓河.基于TMS320F240的双闭环调速系统[J].机电工程,2007,24(12):79-81.
[4] 杨坤,李声晋,卢刚,等.基于CAN总线的轮腿式机器人控制系统设计[J].2009(4):28-31.
[5] 房玉吉.轮腿复合式移动机器人越障分析与控制系统设计[D].哈尔滨:哈尔滨工业大学,2010.
Design of the Obstacle-climbing Mechanism
ZHENG Wei-dong1, FANG Yu-ji2
(1.Ship Office of Naval Department of PLAN, Beijing 100071, China; 2.China Ship Development and Design Center, Wuhan 430064, China)
In accordance with the modular design concept, an open motion control system is designed, with CAN as a means of communication between the control module and the host computer, with the DSP as the core, using the CPLD for function expansion. It shortened the development period and improved the openness and re-configurability of the system.
DSP; CPLD; motion control
10.3963/j.issn.1671-7953.2017.03.024
2017-03-07
国家部委基金资助项目
郑卫东(1965—),男,学士,高级工程师
研究方向:船舶保障系统
U664.6
A
1671-7953(2017)03-0106-03
修回日期:2017-03-27