当前位置 博文首页 > Dir测试_gjy_skyblue的博客:Makerbase oDrive第七课 Step

    Dir测试_gjy_skyblue的博客:Makerbase oDrive第七课 Step

    作者:[db:作者] 时间:2021-09-06 13:21

    淘宝套装链接
    B站视频链接

    第1部分 硬件介绍

    1.1硬件清单

    序号品名数量
    1ODRIVE主板1
    2CH340 USB TO TTL1
    3MKS X2212电机1
    412V 2.0A电源适配器1
    5杜邦线3
    6编码器连接线1
    750W 2欧 耗散电阻1
    8micro USB 线1

    硬件清单如下图所示。
    在这里插入图片描述

    1.2 硬件连接

    电机与ODrive主板接线参考之前课程,这次需要介绍的是Arduino UNO主板与ODrive主板的Step/Dir连接。

    1. ODrive主板的GPIO1为Axis0 Step功能,GPIO2为Axis0 Dir功能;Arduino UNO主板在本次教程中作用为输出脉冲及Dir控制。3端口作为输出脉冲的端口;4端口为Dir控制端口,控制电机方向。如下表格所示。

      功能ODrive主板Arduino UNO主板
      StepGPIO13
      DirGPIO24
    2. 两主板连线,一共连接3根线:
      GPIO1----3,
      GPIO2----4,
      GND----GND。如下图所示。

      在这里插入图片描述

    3. 用USB数据线将Arduino UNO主板与PC连接。

    4. micro USB 线一端连接oDrive主板,另一端连接PC。

    5. 硬件连接如下图所示:
      在这里插入图片描述

    第2部分 下载文件

    1. 本次测试源代码可通过Q群(732557609)下载,如下图所示。
      在这里插入图片描述

    2. 解压后源代码文件如下图所示。
      在这里插入图片描述

    第3部分 Step/Dir配置

    3.1 Step/Dir功能简介

    1. 需要启用Step/Dir功能,禁止UART功能。

    2. 通过脉冲频率与每圈步数控制电机转速,通过Dir高低电平控制电机转动方向。(默认步数为1024(turns_per_step=1/1024),即电机每接收到1024个脉冲转动一圈。)

    3. 本次测试分别通过改变脉冲频率与每圈步数来验证ODrive的Step/Dir功能。

    3.2 Step/Dir功能配置

    1. 打开命令终端,输入odrivetool,如下图1所示。

    2. 启用Step/Dir功能,如下图2所示。

      odrv0.axis0.config.enable_step_dir = True
      
    3. 禁用UART,如下图3所示。

      odrv0.config.enable_uart = False
      
    4. 配置每圈步数。

      odrv0.axis0.config.turns_per_step = 1/1024
      
    5. 保存配置,如下图4所示。

      odrv0.save_configuration()
      
    6. 重启主板,如下图5所示。

      odrv0.reboot()
      

      在这里插入图片描述

    第4部分 脉冲频率控制转速

    固定每圈步数“turns_per_step”为1/1024,

    通过改变脉冲频率来控制电机转速。

    源代码在MKS_StepDir压缩包,解压即可,如下图所示。
    在这里插入图片描述
    完整程序如下图所示。

    将引脚3定义为Step脉冲输出端口,

    将引脚4定义为Dir控制端口,如下图1所示;

    将引脚3、4配置为输出模式,如下图2所示。

    在这里插入图片描述

    4.1 低频率脉冲

    将Dir引脚置高电平,Step引脚输出低频率脉冲(delay(5)),如图3所示。
    控制电机慢速正转2圈。

    在这里插入图片描述

    4.2 高频率脉冲

    将Dir引脚置低电平,Step引脚输出高频率脉冲(delay(0)),如图4所示。
    控制电机快速反转10圈。

    在这里插入图片描述

    4.3 试验现象

    程序上传成功后,电机会慢速正转2圈,然后快速反转10圈,不断循环该动作。

    第5部分 每圈步数控制转速

    固定脉冲频率,通过改变每圈步数来控制电机转速。

    源代码在MKS_StepDir2压缩包,解压即可,如下图所示。

    在这里插入图片描述

    1. 脉冲频率输出设为一致,如下图1,2所示。

    2. 上传程序。

    3. 程序上传成功后,电机会正转2圈,反转2圈,不断循环该动作。

    4. 上传程序。程序上传后下一步需要对ODrive GPIO配置进行修改。

    在这里插入图片描述

    5.1 设置每圈步数为512

    将每圈步数改为512步,保存配置并重启,如下图1所示。

    odrv0.axis0.config.turns_per_step = 1.0/512.0
    
    odrv0.save_configuration()
    
    odrv0.reboot()
    

    在这里插入图片描述

    观察电机转速,此时电机转速是步数为1024时的2倍。

    5.2 设置每圈步数为32

    将每圈步数改为32步,保存配置并重启,如下图2所示。

    odrv0.axis0.config.turns_per_step = 1.0/32.0
    
    odrv0.save_configuration()
    
    odrv0.reboot()
    

    在这里插入图片描述

    观察电机转速,此时电机转速是步数为1024时的32倍。

    至此,ODrive Step_Dir测试完成。
    创客基地oDrive第七课 ODrive Step_Dir测试 到此结束。
    对应的视频课程,可在Q群(732557609)下载,欢迎加入。
    请继续关注后续课程。
    在这里插入图片描述

    cs