微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于DSP的伺服运动控制器研究与开发

基于DSP的伺服运动控制器研究与开发

时间:11-27 来源:互联网 点击:
1 引 言

运动控制器是数控机床、机器人等一类机电一体化设备中常用的核心运动控制部件。现代数控技术对运动控制系统的开放性、实时性、加工速度和精确度等性能指标提出了越来越高的要求。随着集成电路技术、微电子技术、计算机技术不断发展,运动控制器已经从以单片机、微处理器和专用芯片作为核心的运动控制器发展到基于PC机平台的以数字信号处理器(DSP)和复杂可编程逻辑器件(CPLD)作为核心处理器的协处理架构的开放式运动控制器。这种将P C机的信息处理能力和开放式的特点与运动控制器很强的运动轨迹控制能力有机地结合在一起,具有信息处理能力强、开放程度高、运动轨迹控制准确和通用性好的特点。这种模式在一个统一的人机对话平台上,通过DSP算法和CPLD配置进行适当的调整来实现不同的硬件功能模块,可以方便地和多种类型的驱动器进行连接。因此现在基于PC的新一代运动控制器成为控制系统的主流和发展方向。

本文开发的开放式运动控制器以PC机为平台,完成坐标变换、轨迹规划、粗插补运算等控制指令的设置和发送,同时可以实时显示当前伺服系统的运动位置、速度和电机状态等参数。运动控制器以DSP芯片作为核心处理器,完成数据处理和控制算法、进行保护中断的处理,通过PCI或USB总线与PC机实时通讯。CPLD芯片作为协处理器完成编码信号的采集,鉴相处理,对脉冲和模拟量进行配置和输出,把DSP处理过的控制数据经过内部转换送到外部设备,并管理DSP和各种外部设备的接口。该运动控制器可以完成非匀速比同步运动控制,支持NURBS插补,并提供了丰富的动态链接库函数。

2 运动控制器工作原理和硬件构成

该控制器可实现四路编码器反馈和电机控制,其核心是TI公司的TMS320LF2407数字信号处理芯片和ALTERA 公司的MAX 7000S系列CPLD器件EPM7128SLC84。控制器的硬件结构如图1所示。DSP完成与上位机的实时通讯,对伺服电机速度和位置的精确控制,电机状态监测和外部信号检测等功能。双口SRAM(DUAL-PORT STATIC RAM)不仅提供控制器与上位机的通讯接口,而且还为运动轨迹控制提供了足够的缓冲区。由于一片DSP只提供两组正交编码脉冲(QEP)电路,对于多于两个电机的控制器,若用多片DSP不仅会造成DSP资源的浪费,而且还会增加由于协调DSP之间的工作而产生的难度,因此这里我们用CPLD来提供另外两组正交编码脉冲电路,对速度、位置进行采样,同时用CPLD提供高速稳定的其它逻辑控制电路。



运动控制器由基板和接口卡组成,集成了DSP核心电路,通信电路,CPLD译码、中断、正交编码处理电路,编码器信号处理电路,电压转换电路,光电隔离电路等。运行过程中,PC机把粗插补的数据通过ISP-1581芯片传递给DSP进行时间分割精插补。在每一个伺服周期中,CPLD器件和DSP各处理两路反馈的正交编码信号进而获取实时位置和速度,DSP计算出理论插补位置与实际位置的偏差,基于速度和加速度前馈进行PID调节,计算获得速度控制量,产生的输出信号经DAC7625进行数模转换及放大电路放大后将模拟电压发送至伺服驱动器以控制电机。

DSP两个事件管理模块中的正交编码脉冲(QEP)电路可以实现对两对正交编码信号的四倍频和方向检测,其定时器工作在增减计数模式,依据电机运行情况进行计数。根据不同伺服周期定时器内数值的变化,可以计算获得电机的实际位置,由M/T测速法可求得其运行速度。另外两个电机的反馈信号由EPM7128进行处理,DSP与之通讯以获取电机运行信息。扩展4个32位寄存器用来存储电机当前位置,通过实时从计数器读取每个伺服周期走过的脉冲数与之累加实现。每隔一定的伺服周期,将4个16位的计数器赋初值32000使之重新计数。

2.1 CPLD处理电路

CPLD主要包括正交编码检测逻辑电路,DSP地址译码电路和计数器及中断逻辑四个部分,它对两个正交编码输入四倍频后进行计数,反馈给DSP。正交编码脉冲电路的方向检测逻辑决定了输入序列中的哪一个是先导序列,接着就产生方向信号作为计数器的计数方向输入。如果QEP1是先导序列,则所选的定时器增计数;如果QEP2是先导序列,则所选的计数器减计数。正交编码脉冲电路对输入的两列脉冲的两个边沿都进行计数,因此,由它所产生的时钟频率是每个输入脉冲序列频率的四倍。中断逻辑,限位和报警等信号产生时向DSP申请中断。每个轴的正负限位信号、归零信号和报警信号,四个轴共计16个信号,这些信号相或,只要有一个信号产生时就产生一个上升沿信号,此上升沿触发DSP中断,DSP以查询方式判断是哪个信号产生的中断。

2.2 控制卡通讯及接口

早期PC机通过ISA总线实现对电机的控制,但响应速度慢,实时性差,后来的PCI局部总线,解决了ISA的传输速度慢等问题。近几年通用串行总线USB(Universal Serial Bus)以其较快的传输速率和支持热插拔等诸多优点而受到用户的广泛受青睐。得到了许多硬件和软件厂商的支持。USB 2.0接口的最高传输速率由12Mb/s提高到了480Mb/s,能够更好地支持数据实时传输。把USB引入运动控制器,实现了运动控制器的热插拔,解决了计算机接口资源有限等问题,满足了多轴运动控制卡对数据实时通讯的需要。为提高运动控制器硬件上的开放性,开发了通用的接口卡,辅助完成基板与外部的通讯。除了进行反馈信号等的必要传输外,还提供了电机的限位、回零、报警、伺服使能等信号和通用I/O各8路。为防止外界信号干扰,保证控制器的可靠性和安全性,输入输出信号都经由TLP521进行光电隔离。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top