0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

采用DSP和CPLD的硬件方案优化运动控制器

电子设计 作者:电子设计 2018-10-07 10:56 次阅读

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进行光电隔离。

3 速度、加速度前馈PID控制算法

本控制器采用典型的三环调节,其中速度调节器和电流调节器的功能由伺服电机驱动器完成,电流环用来提高系统的动态响应指标,增强系统抗干扰能力;速度环用于调节伺服电机的转速。位置闭环调节原理框图如图2所示,它包括位置PID调节和速度、加速度前馈,由运动控制器底层程序完成,用于实现精确定位、回零等,输出饱和控制可保证输出电压不会超过设定范围。

采用DSP和CPLD的硬件方案优化运动控制器


位置环的计算公式为:

采用DSP和CPLD的硬件方案优化运动控制器

其中En为第n个采样时刻的位置误差;Ptarget为第n个采样时刻的目标位置;Pactral为第n个采样时刻的实际位置,Un为位置环输出速度指令电压;为第n个采样时刻的累积误差值;Vt为当前目标速度;Kvff为速度前馈增益;At为当前目标加速度;Kvff为加速度前馈增益;Kp、Ki、Kd分别为比例、微分和积分增益。

4 Matlab仿真及结果分析

基于KLD-200二维数控平台进行仿真。平台由两个Panasonic公司的MSMA012A 1E伺服电机及配套的MSDA013A1A驱动器进行控制。电机最高转速为3000RPM,功率1 00W,增量式编码器,2500P/r,丝杠导程为4mm/r。取Kp=100、Ki=12、Kd=2进行仿真。Y轴电机速度曲线与余弦曲线类似,跟随误差曲线如图3所示。无前馈情况下电机跟随误差从开始的63个脉冲在0.137秒后上升到114个脉冲,随后作类似余弦曲线的变化。引入前馈后,跟随误差从开始的63个脉冲迅速上升到109个脉冲,然后逐渐下降,在大约0.2秒后稳定在±2个脉冲之间。可见,速度和加速度前馈大大减小了系统的跟随误差。利用自己开发的运动控制器对数控平台反复进行控制实验,效果良好。梯形曲线控制实验中,设定加速度为10rev/s2,目标速度300RPM,位移120mm。到达目标速度后,驱动器显示的电机速度波动范围在±2RPM之间。利用VC的OnTimer()函数实时获取位置信息并进行显示,可以看出,到位后的最大超调量约为5~10个脉冲,稳态误差在±2个脉冲之内,小于1mm。

5 结束语

本运动控制采用基于DSP和CPLD的硬件方案充分发挥了DSP芯片实时高效的处理能力,系统设计合理,可以实现变传动比的电子齿轮和多轴插补功能。控制器采用了基于速度和加速度前馈的PID调节和NURBS插补等先进理论,实验和仿真结果表明,该运动控制器实时性好,控制精确度高,跟随误差小,理论跟随误差小于2个脉冲,位置控制误差小于1mm,可以满足高速高精度加工的要求。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • dsp
    dsp
    +关注

    关注

    544

    文章

    7670

    浏览量

    344228
  • cpld
    +关注

    关注

    32

    文章

    1243

    浏览量

    168241
  • 控制器
    +关注

    关注

    112

    文章

    15154

    浏览量

    170946
收藏 人收藏

    评论

    相关推荐

    基于DSP运动控制器的研究

    由于DSP将超强的高速实时处理能力和丰富的外设功能集于一身,目前,以DSP为核心的嵌入式运动控制器已经成为开放式运动
    发表于 10-24 16:09 2635次阅读
    基于<b class='flag-5'>DSP</b>的<b class='flag-5'>运动</b><b class='flag-5'>控制器</b>的研究

    基于DSP与FPGA的运动控制器设计

    控制器的总体结构、硬件设计和软件设计进行了描述。1 系统总体设计  运动控制器的总体性能指标为:作为一个单独的运动
    发表于 09-19 09:43

    基于CPLDDSP人机接口方案

    所在行和列的电平。因此各按键彼此将互相影响,所以必须将行、列线信号配合起来并作适当的处理,才能确定闭合键的位置。结语本文简单介绍了TI16位控制器DSP与液晶显示模块及键盘模块之间的接口方案.利用
    发表于 05-21 05:00

    基于DSP+FPGA的高速高精运动控制器应用设计

    数控系统的发展趋势。本运动控制器采用TI公司的高性能浮点DSP作为主控芯片,通过ISA接口与PC协调并进行数据交换,以PC计算机作为基本平台,以DS
    发表于 06-18 08:13

    基于DSP+FPGA的高速高精运动控制器应用

    数控系统的发展趋势。本运动控制器采用TI公司的高性能浮点DSP作为主控芯片,通过ISA接口与PC协调并进行数据交换,以PC计算机作为基本平台,以DS
    发表于 06-18 06:39

    如何利用DSP与FPGA设计运动控制器

    的逻辑处理和控制算法,能实现多轴高速高精度的伺服控制。利用DSP与FPGA设计运动控制器,其中DSP
    发表于 08-06 06:27

    运动控制器的类型有哪些

    每个具体应用都必须配置一台PC机作为上位机。这无疑对设备的体积、成本和运行环境都有一定的限制,难以独立运行和小型化。科瑞特DMC600M 系列运动控制器,其硬件结构基于高性能 DSP
    发表于 12-10 10:41

    怎么采用CPLD实现开放式四轴运动控制器的设计?

    本文提出了一种不采用在板处理而以PC机微处理控制核心的开放式四轴运动控制器,该
    发表于 04-15 06:09

    基于DSP运动控制器的开发

    基于DSP运动控制器的开发  运动控制器是一种用于多种运动
    发表于 12-25 09:44 1986次阅读
    基于<b class='flag-5'>DSP</b>的<b class='flag-5'>运动</b><b class='flag-5'>控制器</b>的开发

    基于DSP的多轴运动控制器的研究与设计

    基于DSP的多轴运动控制器的研究与设计。
    发表于 03-29 14:11 6次下载

    基于DSP_CPLD的四电动舵机伺服控制器设计

    基于DSP_CPLD的四电动舵机伺服控制器设计
    发表于 10-20 08:24 4次下载
    基于<b class='flag-5'>DSP_CPLD</b>的四电动舵机伺服<b class='flag-5'>控制器</b>设计

    基于DSP运动控制器的探究

    和串口;I/O 输入输 出接口模块以及外围存储器模块,包括 SRAM 和 FLASH。本运动控制器硬件结构如图 1 所示。 图 1 运动控制器
    发表于 11-03 10:30 2次下载
    基于<b class='flag-5'>DSP</b>的<b class='flag-5'>运动</b><b class='flag-5'>控制器</b>的探究

    基于CPLD的开放式四轴运动控制器硬件、软件设计

    运动控制器是利用高性能微处理器(如DSP)及大规模可编程器件实现多个伺服电机的多轴协调控制。目前采用运动
    发表于 04-24 18:41 1870次阅读

    如何使用DSPCPLD进行运动控制器的设计与应用资料说明

    针对伺服系统控制的特点和要求,介绍了一种基于DSPCPLD的开放式多轴伺服运动控制器软。硬件
    发表于 05-29 17:09 8次下载
    如何使用<b class='flag-5'>DSP</b>和<b class='flag-5'>CPLD</b>进行<b class='flag-5'>运动</b><b class='flag-5'>控制器</b>的设计与应用资料说明

    基于DSPCPLD实现开放式运动控制器的设计

    本文开发的开放式运动控制器以PC机为平台,完成坐标变换、轨迹规划、粗插补运算等控制指令的设置和发送,同时可以实时显示当前伺服系统的运动位置、速度和电机状态等参数。
    发表于 09-23 08:44 1414次阅读
    基于<b class='flag-5'>DSP</b>和<b class='flag-5'>CPLD</b>实现开放式<b class='flag-5'>运动</b><b class='flag-5'>控制器</b>的设计