现代数控机床多使用伺服电机系统,随着数控机床的发展,对伺服系统提出了很多不一样的要求,伺服系统只有不断研发和创新,才能满足数控机床的发展需求。

高精度数控机床要求具备比较好的定位精度和加工精度,要求伺服系统系统具备快速的跟踪指令信号的响应速度。除了高性能伺服电动机、伺服驱动器、控制器,及高性能位置和速度传感器等伺服系统基本组成部分。其控制系统的稳定性、可靠性以及驱动和反馈电路的品质,以及电机控制算法的优劣都要关系整个伺服电机位置控制的精度。

本文提出一种基于AMD ZYNQ的SOC的控制方案,实现对伺服电机位置的高精度实时反馈和精确控制驱动。

图1

方案如下:

1、方案

采用的SOC芯片是AMD-xilinx公司的ZYNQ7000系列 SOC芯片,型号是XC7Z020-CLG400,ZYNQ7000系列SOC芯片内部包含两个部分,一个是programming system 可编程系统, 也就是 SOC的ARM部分,以下简称PS,一个是programmable logic 可编程逻辑,也就是指SOC里面的FPGA部分,以下简称PL。

图2

2、方案主要创新点的核心的SOC电路

由PS端的主程序控制模块,PL端的数据交互控制器模块,和编码器输入模块以及脉冲控制输出模块组成。下面分别描述在SOC中实现的这几个功能模块:

2.1、PS端的主程序指令控制模块

Ps+codesys方案,codesys根据具体需求列出的相应的运动方程,做出运动规划,比如计算规划运动目标位置,速度,时间,加速度,何时加速何时减速何时停止等等这些运动参数,将这些参数划片通过网络传递给PS端,PS将这些参数通过AXI4总线传递给PL执行端。

2.2、PL端的数据交互控制模块

本模块负责主程序指令控制模块和编码器输入模块以及脉冲控制输出模块之间的数据交互,该模块通过AXI4-lite总线与指令控制模块模块进行数据通信,复制PL和PS之间的数据交互,将解码以后的编码器反馈的位置数据传递给指令模块,然后指令控制模块又将位置控制指令信息通过AXI4-lite总线下发给数据交互模块,数据交互模块将收到的指令信息分别传给对应的电机脉冲驱动模块。

图3

2.3、编码器位置反馈输入模块

该模块将正交编码器通过高速光耦输入的AB相信号进行解码,得到当前伺服系统精确的的位置信息。编码器的原理是根据A,B相的相位差,即相位的领先或滞后来判断编码器转轴旋转方向,根据编码器旋转产生的脉冲来计数。如果电机正转,也就是电机主轴按顺时针方向旋转时,A相输出超前B相90度。如果反转也就是电机主轴按逆时针方向旋转时,A相滞后B相90度。电机每转一周,索引相即Z还输出一个零位脉冲,可作为编码器的机械零位。

编码器解码模块的功能是判断电机转动方向,对编码器脉冲计数。工作方法是:

判断方向:如果B相从低变高的时候A是高电平,则表示电机正转,如果B相从低变高的时候A是低电平,则表示电机反转。

脉冲计数:设置一个32位的计数器,该计数器在复位的时候可以清零,也可以通过指令清零。计数的逻辑是对A,B相变化沿进行计数。当电机正转时,A的上升沿、A的下降沿、B的上升沿、B的下降沿各加1;当电机反转时,A的上升沿、A的下降沿、B的上升沿、B的下降沿各减1;

于是正转时每接收到一个脉冲计数器加了4,反转时每接收到一个脉冲计数器减了4,实现4倍频计数。计数精度提高了4倍,这样就提高了定位精度。

AB相的时序关系见附图4;

图 4

2.4、脉冲输出控制模块

基本思想是把一段运动分割成N个小时间段,按时间段将运动过程进行切片分割,一个时间段称为一个时间单位T,时间单位可以分割至微秒或者毫秒级。PS端接收来自PL端的位置反馈信息由codesys通过程序规划进行时间片段的切割划分,将每一个时间单位T内的运动控制参数数据发送给PL,由PL发出精确脉冲指令传给伺服驱动器驱动电机。

图 5

PS作为指令模块,和codesys一起(具体逻辑)发出运动控制指令,PL是系统的执行单元,负责解析PS发出的指令,并生成正确的脉冲信号发出去给伺服驱动器。具体的工作流程是:

PS端工作流程:

1、发起电机运动使能信号,拉高EN,直到一段连续运动完成将EN拉低表示一段运动即将结束。

2、PS收到PL发起中断请求信号DATA_REQ后再将程序规划的运动数据参数发给PL;

运动数据参数信息包括运动方向,下一次时间单位T内的脉冲个数N,数据有效信号DATA_VLD;

3、PS端接收来自PL端解析的编码器位置反馈信息通过程序计算实时计算调整运动过程参数。

4、当一段运动结束需要停止电机转动时,PS发完最后一个时间单位T的脉冲后,拉低使能信号EN;

图 6

PL端逻辑操作步骤:

1、PL发现EN信号拉高表示PS即将发起一段运动操作,于是发出数据请求信号DATA_REQ,之后收到PS发过来的data_vlaid信号确认这是一个新数据,在data_vlaid的上升沿锁存数据,数据保持直到数据被加载。

2、PL在每一个精确的时间单位T结束时刻取数据,此时dataload信号由低变高维持一个时钟周期,dataload变高的时候将新数据加载到脉冲控制程序中;PL拿到新的运动数据参数输出新一轮脉冲控制信号。这里前后两个时间段的逻辑有FPGA确保精确衔接。

操作时序如下:

图 7

3、PL提前一段时间t(t<t)发出数据请求,就是在每个时间单位T的中间时刻开始请求新数据;确保PL有充足的时间进行新数据加载;

4、PL接收编码器反馈信号,实时计算当前位置信息通过AXI4总线反馈给PS端应用程序。

5、PL端执行完某一次运动参数后,发现EN信号被拉低表示电机即将停止转动,从此结束一段运动过程。

通过该方法可以实现对codesys的运动规划参数地精确执行,实现复杂而精确的运动控制。

xlinx项目之基于zynq的多轴伺服电机驱动控制相关推荐

  1. Vitis项目:基于 ZYNQ 的 IMX2221 摄像头实时视频流采集传输 (一)传感器配置

    项目:基于 ZYNQ 的 IMX2221 摄像头实时视频流采集传输 章节:传感器配置(一) 本章目的:使用 ZYNQ 芯片的 PS 端的 SPI 接口对 CMOS 图像传感器进行设置操作,保证 CMO ...

  2. 基于zynq的千兆网udp项目_基于Zynq平台的EtherCAT主站方案实现

    作者:陈秋苑 谢晓锋 陈海焕 广州虹科电子科技有限公司 摘 要:EtherCAT 是开放的实时以太网通讯协议,由德国倍福自动化有限公司研发.EtherCAT 具有高性能.低成本.容易使用等特点,目前在 ...

  3. 基于ZYNQ 的多轴运动控制平台关键技术研发-总体架构设计(一)

    基于多轴运动控制平台的实时通信和同步控制需求,采用 Xilinx Zynq 7020 SoC 作为核心处理器,设计了双核 SoC 多轴运动控制平台的总体架构.结合多轴运动控 制系统与接口特征,完成了 ...

  4. XLINX项目之基于ZYNQ7020的健康码识别系统

    基于ZYNQ7020的健康码识别系统 通过OV5640摄像头,从PL侧采集RGB图像数据,经过使用HLS工具综合出的图像处理IP,实现彩色图像的高斯滤波,去除图像噪声,并将处理后的图像通过VDMA保存 ...

  5. 项目五 基于stc89c52系列单片机环境温湿度检测控制

    前言:作者想要帮助一些童鞋和爱好者进行项目构建,但自知能力有限,不喜可论,创作不易,勿喷. 系统采用stc89c51芯片进行的单片机环境温湿度检测控制,能够实现温湿度检测与调节设定.上代码. 项目包含 ...

  6. 基于ZYNQ的千兆网项目(1)

    基于ZYNQ的TCP Client实现 参考文献 项目描述 TCP协议简述 TCP 三次握手 TCP 数据传输 TCP 四次挥手 PL端设计 PS端设计 下板测试 总结 参考文献 [1].inner_ ...

  7. 基于ZYNQ的千兆网项目(3)

    基于ZYNQ的UDP实现 项目简述 UDP简述 PL端设计 PS端设计 下板测试 总结 项目简述 前面的文章讲解了TCP客户机与主机在ZYNQ上面的实现,其实说白了就是调用现成的API函数,这点与FP ...

  8. 基于zynq的千兆网udp项目_一种基于ZYNQ的四路万兆以太网安全交换机的制作方法...

    本实用新型涉及网络安全.网络通信技术领域,尤其是一种基于ZYNQ的四路万兆以太网安全交换机,适用于大中型企业的交换网络. 背景技术: 随着互联网的高速发展,传统的以太网交换机在功能和性能上已不能满足要 ...

  9. 基于ZYNQ FPGA实现8路ADC数据采集存储(AD7606)

    基于ZYNQ FPGA实现8路ADC数据采集存储(AD7606) 1 ZYNQ FPGA简介 赛灵思公司在ZYNQ系列上成功将ARM的Cortex-A9处理器片上系统与A7系列的可编程逻辑集成在一起. ...

最新文章

  1. 结构体中定义函数指针
  2. PHP Include 文件
  3. JVM 内存模型组成+经典总结
  4. Linux系统个性化设置
  5. 20200701:力扣194周周赛上
  6. java多线程交替打印_java多线程 更优雅的实现线程同步:交替打印A、B LockSupport实现...
  7. 又见n/i下取整+分块
  8. 如何启用sqlplus的AutoTrace功能
  9. Ubuntu18.04终端里,随意拖动或双击会出现ctrl+C的效果,解决
  10. Aqua Data Studio 19中文版
  11. 特征工程之特征选择——来自小白的进阶之路(二)
  12. IPC--印制电路板的一种标准
  13. cesium添加自定义点位图片
  14. Anaconda,tensorflow,keras安装过程以及遇到的问题和解决方案
  15. 华为刀片服务器虚拟化方案,华为刀片服务器配置报价指导e9000.pptx
  16. 微信“公众平台测试账号”接口调试指南
  17. 基于SSM框架的图书馆借阅管理系统
  18. HbuildX打h5包/web2app包注意事项
  19. 白葡萄酒/红葡萄酒质量分析与预测(PCA+MLPClassifier)100%
  20. 江西靖安推行“村庄清洁革命”:设垃圾兑换银行 大数据管理

热门文章

  1. 上线前的最后一公里:灰度测试
  2. 一个女孩的IT创业经历连载(三)
  3. 第七周作业:任务分解
  4. 一些对数学领域及数学研究的个人看法(转载自博士论坛wcboy)
  5. 浅谈即时战略游戏J2ME中应用
  6. mysql级联distinct_mysql的distinct用法
  7. 什么是 openAPI ?
  8. 韩の花样男子 全集跟踪BT下载 每周更新
  9. 奈雪的茶赴港IPO:净利润率0.2%、大店模式存争议、商标悬而未决
  10. Unity Sockect实现画面实时传输