欢迎光临散文网 会员登陆 & 注册

EtherCAT 从站&ESC AX58100

2023-08-13 16:40 作者:蒙D_0476  | 我要投稿

所用软件&硬件

Nucleo-F446ZE;AX58100 ;STM32CubeMX;STM32CubeIDE;SSC5.11;Twin CAT3

1.SSC设置&文件生成

注意默认情况下SSC工具会有隐藏条目,如:ESC_CONFIG_DATA;可按照以下操作将其显示出来,以便进行必要的编辑。【Tool->【Options->【Editor->【Show advanced setting】。

》打开SSC tool,【File】->【New】选择Default选项,下图1。

图1. 新建使用默认选项(具体条目自己设置)
  •  SlaveInformation部分:从站的自身属性信息,根据需要设置。

  • Generic部分:如下图2所示。

图2. Generic参数设置
  • EL9800_HW置1(在生成的此文件基础上进行修改,适配stm32f4);        CONTROLLER_32BIT置1(32位MCU);                                          ESC_16BIT_ACCESS置1;                                                              ESC_EEPROM_SIZE填写EEPROM的字节容量;                                      ESC_CONFIG_DATA是配置ESC的重要属性值,写在EEPROM的开始地址空间内;将【050E03440A0000000000】默认值改为【050E03CC640000000000】;第4字节 44->CC,将SYNC0和SYNC1添加映射到PDI IRQ上;第5字节 0A->64,调整SYNC0/1信号的脉冲宽度调整到1us;此条目值的各字节功能/含义详见AX58100数据手册。               其他条目配置见下图3。

图3. Hardware设置
  • EtherCAT State Machine设置见下图。

图4. ESM设置
  • AL_EVENT_ENABLE置1:与PDI_IRQ相关。                                              SC_SUPPORT置1:与DC功能SYNC0/1相关。                                      ECAT_TIMER_INT置1:决定着从站使用1ms定时器中断为刷新;若为0,则使用非中断查询计数值的方式来实现。                                                                                                其他参数属性值保持默认。

  • Application设置见图5,其中APPLICATION_FILE留空,当导入对象excel表格后,此内容自动补全。

图5. Application设置
  • Mailbox按需设置,可默认,如需EOE,FOE可自行设置。

》对象填写、导入和生成SSC程序

  • 首次创建SSC,无excel文件,通过下图6所示,创建新表格,excel会自动打开。

图6. 创建新excel文件
  • 此例中,在0x6nnx和0x7nnx中添加PD对象,如下图。注意16bit对齐,M列属性正确填写等,通常情况错误会在导入后的检查中标红以提示。

图7. 在excel中新增input&output对象
  • 首次创建excel并关闭后会自动导入SSC工具;如之后对excel表格做了额外修改,按图6所示使用import功能导入excel表格,使所设置OD对象生效;之后使用下图8所示的功能到处从站堆栈程序。此时在存放该SSC工程的路径中有一【Src】文件夹,图9,其存放从站SSC程序文件,这些文件会添加到STM工程中,以实现完整从站功能。

图8. SSC程序生成
图9. 生成的部分文件

2. MCU配置【STM32】

》使用STM32CubeMX配置外设,与ESC能正常工作密切相关的配置

  • SPI接口:使用SPI3,软件控制CS信号,非中断模式。PC10,PC11,PC12,PA15(CS)

图10.1. SPI3引脚分配
图10.2. SPI3配置信息
  • 1ms定时器:启用自动重装载功能

图11. Timer设置
  • 增加三个GPIO,EXIT模式,连接AX58100 ESC的PDI_IRQ,SYNC0,SYNC1外部中断信号。

图12. 接收外部中断信号管教分配&设置

》其他功能与,用户测试用的外设/接口相关设置

  • LED(3个);Button(1个);ADC(1个通道);DAC(1个通道);SWD(debug);时钟配置。

3. 生成的SSC程序与STM32适配

  • 新建STM32Cube IDE工程,基于STM32CubeMX自动生成。

  • 添加SSC生成的程序,初次编译会报错误,主要集中在el9800hw.c中,为此添加ssc_bsp.c/h文件,提供el9800hw.c/h所需函数或宏定义。

图13. 针对ssc程序添加的适配文件(部分)
  • 运行情况:ESM进入OP正常;input mapping(PD)接收正常(绿色);output mapping(PD)发送控制正常。

图14. 主站控制情况

图15. 整体构成&运行 (https://github.com/maxiufeng258/etherCAT_AX58100)

👆👆👆👆👆👆

EtherCAT 从站&ESC AX58100的评论 (共 条)

分享到微博请遵守国家法律