Makerbase oDrive第八课 PWM测试

第1部分 硬件介绍

1.1 硬件清单

序号品名数量
1ODRIVE主板1
2Arduino UNO主板1
3MKS X2212电机1
4USB数据线1
512V 2.0A电源适配器1
6杜邦线2
7编码器连接线1
850W 2欧 耗散电阻1
9micro USB 线1

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

标题1.2 硬件连接

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

  1. ODrive主板的GPIO4为PWM功能,Arduino UNO主板引脚3作为PWM输出。

    功能ODrive主板Arduino UNO主板
    PWMGPIO43
  2. 两主板连线,一共连接2根线:
    GPIO4----3,
    GND----GND。如下图所示。
    在这里插入图片描述

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

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

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

第2部分 下载文件

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

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

第3部分 PWM配置

3.1 ODrive PWM引脚配置

如果GPIO引脚未分配给其他功能,则它们可用于PWM输入。
比如,如果你要用GPIO1,2,就必须禁用UART。
本次我们使用GPIO4。

  1. 打开odrivetool命令窗口。

  2. 配置PWM输入映射最小值,如下图1所示。

    odrv0.config.gpio4_pwm_mapping.min = -200
    
  3. 配置PWM输入映射最大值,如下图2所示。

    odrv0.config.gpio4_pwm_mapping.max = 200
    
  4. 配置PWM映射值的属性,将PWM映射到电机位置,如下图3所示。

    odrv0.config.gpio4_pwm_mapping.endpoint = odrv0.axis0.controller._remote_attributes['input_pos']
    
  5. 保存配置。

    odrv0.save_configuration()
    
  6. 重新启动。

    odrv0.reboot()
    

3.2 Arduino PWM引脚配置

将引脚3定义为PWM脉冲输出端口,如下图1所示。。
将引脚3配置为输出模式,如下图2所示。
在这里插入图片描述

第4部分 PWM占空比逐渐增大

PWM占空比逐渐增大,测试PWM映射电机位置的关系。
源代码在下载文件中,如下图所示。

4.1 设置占空比

  1. PWM初始占空比为60,如下图1所示。
  2. PWM占空比设置为从125→255每2秒增加1,如图2所示。
  3. 上传程序,上传成功后观察电机。
    在这里插入图片描述

4.2 观察电机

  1. 打开电源ODrive主板电源电机会正转一圈,反转一圈进行校准,查询校准位置如下图所示。
    查询位置指令如下。

    odrv0.axis0.encoder.pos_estimate
    

在这里插入图片描述
2. 当占空比<25%时,初始PWM=60(<25%)电机位置不改变。查询位置如下图所示。
在这里插入图片描述

  1. 当25%≤占空比<50%时,设定PWM从125(<50%)开始变化电机会快速转至设定的最小值(min=-200),查询位置如下图所示。
    在这里插入图片描述

  2. 当50%≤占空比<100%时。
    电机位置会从min→max每2秒正转一次,直到转至设定的最大值(max=200)。
    查询位置如下图所示:
    在这里插入图片描述

    电机转至最大值(max=200)后停止,查询位置如下图所示:
    在这里插入图片描述

第5部分 PWM占空比逐渐减小

PWM占空比逐渐减小,测试PWM映射电机位置的关系。
源代码在下载文件中,如下图所示。
在这里插入图片描述

5.1 设置占空比
1.将PWM占空比设置为从254→0每2秒减1,如图4所示。
在这里插入图片描述

  1. 上传程序,上传成功后观察电机。

5.2 观察电机

  1. 若重启ODrive主板,则电机初始位置为0。

  2. 电机会快速转至设定的最大值(max=200),查询位置如下图所示。
    在这里插入图片描述

  3. 当50%≤占空比<100%时,电机位置会从max→min每2秒反转一次,直到转至设定的最小值(min=-200)。
    位置逐渐减小,查询位置如下图所示:
    在这里插入图片描述

    电机转至最小值(min=-200)后停止,查询位置如下图所示。
    在这里插入图片描述

  4. 当25%≤占空比<50%时,电机位置处于设定的最小值(min=-200),查询位置如下图所示。
    在这里插入图片描述

  5. 当0%≤占空比<25%时,电机位置不改变。
    在这里插入图片描述

至此, ODrive PWM测试完成。
创客基地oDrive第八课 ODrive PWM测试 到此结束。

欢迎加入 创客基地 电机控制Q群 讨论电机控制相关问题:732557609

欢迎光临 创客基地 B站 了解技术资料:https://space.bilibili.com/393688975

欢迎光临 创客基地 淘宝店 采购产品:https://makerbase.taobao.com/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值