本帖最后由 beyond_笑谈 于 2024-3-10 11:16 编辑
ADI TMC4671伺服电机-速度环、位置环和扭矩环的实轴/虚拟轴控制
测试环境搭建:
- 24V/2.7A的电源适配器为TMC4671电机控制评估板供电
- 电机控制器采用世健公司的TMC4671电机控制评估板
- 直流无刷电机(24VDC,4000rpm)
- 用RTMI工具测试和调试参数
- 用owon的笔式示波器测量信号
测试环境如下图:
电脑截屏如下:
TMCL-IDE 同时支持虚拟轴的控制,包括绝对值(速度、位置、扭矩)和相对值以及加速度/减速度设置
虚拟轴控制如下:
打开TMCL-IDE:
连接RTMI调试模块:
点击Connect,如下图
点击Tools,然后点击Virtual module,如下图
选择TMC4671-LEV-REF,如下图:
虚拟轴控制页面如下:
勾选需要调用到参数项目,如下图:
在下图中可以选择和设置伺服电机控制模式,并且可以显示伺服电机的运行轨迹
伺服电机的运动控制中,经常需要多点自由编程模式。目前codesys通过数学建模拟合的方式可以实现用户自由规划伺服电机的运行轨迹。在TMCL-IDE也可以采用这种方法来实现自由编程伺服电机运行轨迹,如下图
目前市面上主流的伺服驱动器都支持EtherCAT总线,在实际应用中,伺服运动控制器作为主站(EtherCAT Master),伺服驱动器作为从站(EtherCAT Slave),一个伺服运动控制器可以接多个伺服驱动器。
TMCL-IDE不仅支持TMC4671伺服电机控制器方案的设计测试,并且支持ADI公司其他的各种伺服电机控制方案。更加强大的是,TMCL-IDE还支持ADI公司EtherCAT Slave的方案参考。也就说,在TMC4671或者其他伺服电机控制方案的基础上,再根据ADI EtherCAT Slave的参考设计,可以设计一款高端主流的EtherCAT总线伺服驱动器。
EtherCAT总线和CAN或者RS485(Modbus RTU)相比,实时性能和通信速率强太多了。我目前设计的项目中,采用的就是EtherCAT通信总线,运动控制系统(运动控制器和伺服驱动器)非常稳定,设置1ms的同步时钟,信号抖动只有十几个us
ADI TMCL-IDE平台中提供的EtherCAT Slave参考方案如下:
点击Tools,然后点击Wizard Pool,如下图
可以看到当前是TMC4671-LEV-REF的虚拟轴方案,如下图
大家可以点击Servo Quick Start 进去了解快速设计参考
我们现在的关注点回到EtherCAT通信总线上,点击上图左下角的图标,返回。
点击进入Free Wizards, 可以看到EtherCAT的图标,如下图。
点击图中的EtherCAT图标进入,如下图,可以看到ADI提供的EtherCAT Slave通信总线设计方案。
点击右下角的网址链接,即可进入ADI对此设计方案的网站,非常方便,如下图
选择EtherCAT Slave芯片设计方案后,通过Wizard Pool下方的选项,可以快速的配置寄存器,如下图。
配置好寄存器之后,点击Result右边的小圆圈,即可自动生成ESI文件以及C code,这个功能对于EtherCAT总线的伺服驱动器设计非常实用和关键,EtherCAT总线的运动控制器就是通过读取伺服驱动器的ESI文件(有时会成为XML文件,因为文件后缀为 .XML)来获取伺服驱动器的配置信息。如下图