淘宝套装链接

B站视频链接

2021年3月31日前 入Q群(732557609)可抽奖oDrive主板!
B站视频 创客基地oDrive第二课 X2212电机配置

第1部分 硬件介绍

1.1 硬件清单

oDrive V3.6-56V 主板 1块
12V 2.0A电源适配器 1个
micro USB 线 1条
50W 2欧 耗散电阻 1个
编码器连接线 1条
MKS X2212电机 1个
MKS X2212是改装的X2212电机,增加了径向磁铁和TLE5012B编码器。

1.2 硬件连接

micro USB 线 一端连接oDrive主板,另一端连接PC;
耗散电阻 两端分别接到AUX接口;
电机三相线接入M0电机接口;
编码器连接线一端接主板J4-M0,另一端接电机编码器接口;
12V电源适配器连接主板DC接口,上电后PWR指示灯亮。
硬件连接如下图所示:

第2部分 参数配置

2.1 连接odrivetool

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

2.2 恢复默认参数

进行配置前建议先恢复主板默认参数,并重新启动。
输入 odrv0.erase_configuration() ,按下回车键,如下图所示。

注:以下所有配置参数都在 In [x]: 后面输入。

2.3 主板参数配置

  1. 配置耗散电阻
    我们使用50W 2Ω的耗散电阻,如果没有接耗散电阻,此项配置为0.0 。
    odrv0.config.brake_resistance = 2.0
  2. 配置低压保护阈值
    当电压低于保护阈值时,将停止电机并报错。
    odrv0.config.dc_bus_undervoltage_trip_level = 8.0
  3. 配置过压保护阈值
    当电压高于保护阈值时,将停止电机并报错。
    odrv0.config.dc_bus_overvoltage_trip_level = 56.0
  4. 配置过流保护阈值
    当电流高于保护阈值时,将停止电机并报错。
    odrv0.config.dc_max_positive_current = 20.0
  5. 配置反向过流保护阈值
    当电机制动在母线上产生的反向电流高于此值时,将停止电机并报错。
    odrv0.config.dc_max_negative_current = -3.0
  6. 配置回充电流值
    如果使用的电池供电,可以根据电池组承受的回充电流大小进行配置。使用开关电源供电时,此项配置为0。
    odrv0.config.max_regen_current = 0
    至此,主板参数配置完成。
    保存配置参数
    odrv0.save_configuration()

2.4 电机参数配置

  1. 配置电机极对数
    转子极数除以2,就是电机极对数。
    odrv0.axis0.motor.config.pole_pairs = 7
  2. 配置电机校准时的电流
    此电流值在进行电机参数校准和编码器偏移校准时使用。
    odrv0.axis0.motor.config.calibration_current = 5
  3. 配置电机校准时的电压
    此电压值在进行电机参数校准和编码器偏移校准时使用。
    odrv0.axis0.motor.config.resistance_calib_max_voltage = 2
  4. 配置电机类型
    这里配置为大电流电机
    odrv0.axis0.motor.config.motor_type = MOTOR_TYPE_HIGH_CURRENT
  5. 配置电机运行的最大电流限制
    odrv0.axis0.motor.config.current_lim = 15
  6. 配置电机电流采样范围
    odrv0.axis0.motor.config.requested_current_range = 20

至此,电机参数配置完成。
保存配置参数
odrv0.save_configuration()

2.5 编码器参数配置

  1. 配置编码器类型
    配置电机编码器类型为增量式编码器。
    odrv0.axis0.encoder.config.mode = ENCODER_MODE_INCREMENTAL
  2. 配置编码器分辨率
    编码器分辨率 = 每圈步数4 = 40964 = 16384
    odrv0.axis0.encoder.config.cpr = 16384
  3. 配置编码带宽
    odrv0.axis0.encoder.config.bandwidth = 3000
  4. 配置编码器校准时电机运行电流
    odrv0.axis0.config.calibration_lockin.current = 5
  5. 配置编码器校准时电流上升时间
    odrv0.axis0.config.calibration_lockin.ramp_time = 0.4
  6. 配置电流上升时电机转动距离
    odrv0.axis0.config.calibration_lockin.ramp_distance = 3.1415927410125732
  7. 配置编码器校准时电机加速度
    odrv0.axis0.config.calibration_lockin.accel = 20
  8. 配置编码器校准时电机速度
    odrv0.axis0.config.calibration_lockin.vel = 40
    至此,编码器参数配置完成。
    保存配置参数
    odrv0.save_configuration()

2.6 控制器参数配置

  1. 配置控制模式
    设置为位置控制模式
    odrv0.axis0.controller.config.control_mode = CONTROL_MODE_POSITION_CONTROL
  2. 配置电机最大转速
    设置为 50 圈/秒
    odrv0.axis0.controller.config.vel_limit = 50
  3. 配置位置环增益
    odrv0.axis0.controller.config.pos_gain = 30
  4. 配置速度环增益
    odrv0.axis0.controller.config.vel_gain = 0.02
    odrv0.axis0.controller.config.vel_integrator_gain = 0.2
  5. 配置输入模式
    配置为梯形轨迹模式
    odrv0.axis0.controller.config.input_mode = INPUT_MODE_TRAP_TRAJ
  6. 配置梯形模式电机转速
    odrv0.axis0.trap_traj.config.vel_limit = 30
  7. 配置梯形模式电机加/减速度
    odrv0.axis0.trap_traj.config.accel_limit = 5
    odrv0.axis0.trap_traj.config.decel_limit = 5
    至此,控制器参数配置完成。
    保存配置参数,并重启主板。
    odrv0.save_configuration()
    odrv0.reboot()

2.7 测试参数配置

  1. 检测电机参数
    odrv0.axis0.requested_state = AXIS_STATE_MOTOR_CALIBRATION
    检测电机参数,执行这条命令后大约2秒,应听到电机发出“哔”声音。
  2. 设置预先校准
    odrv0.axis0.motor.config.pre_calibrated = True
    表示电机已校准下次重新启动后可以直接使用上次校准的结果。
  3. 编码器偏移校准
    odrv0.axis0.requested_state = AXIS_STATE_ENCODER_OFFSET_CALIBRATION
    电机将正向转一圈,再反向转一圈。
    注意:等待电机停止转动后,再执行后续指令。
  4. 设置闭环运行模式
    odrv0.axis0.requested_state = AXIS_STATE_CLOSED_LOOP_CONTROL
  5. 设置启动运行模式
    重新启动自动进行编码器校准,并进入闭环控制模式
    odrv0.axis0.config.startup_encoder_offset_calibration = True
    odrv0.axis0.config.startup_closed_loop_control = True
    至此,测试参数配置完成。
    保存配置参数,并重启主板。
    odrv0.save_configuration()
    odrv0.reboot()

至此,所有参数配置完成。

第3部分 电机控制测试

  1. 控制电机正向转50圈
    odrv0.axis0.controller.input_pos = 50
  2. 控制电机反向转50圈
    odrv0.axis0.controller.input_pos = 0
  3. 释放电机
    odrv0.axis0.requested_state = AXIS_STATE_IDLE

第4部分 绘图仪测试

  1. 退出odrivetool,如下图所示
    quit
  2. 启动绘图仪,如下图所示
    odrivetool liveplotter
  3. 绘图仪窗口显示位置轨迹,如下图所示

    创客基地oDrive第二课 X2212电机配置 到此结束。
    对应的视频课程,可在Q群(732557609)下载,欢迎加入。
    请继续关注后续课程。

创客基地oDrive第二课 X2212电机配置相关推荐

  1. 创客基地oDrive第一课 入门配置

    淘宝套装链接 B站视频链接 *** 特别注意 *** 请勿带电拔插主板上的所有接口接线,特别是USB接口. 请勿带电拔插主板上的所有接口接线,特别是USB接口. 请勿带电拔插主板上的所有接口接线,特别 ...

  2. ODrive实例 #1 电机配置实例(4250-520KV + TLE5012B-E1000)

    ODrive干货 #4 电机配置实例(4250-520KV + TLE5012B-E1000) 以下内容将详细介绍使用 ODrive 驱动无刷电机的过程,如果您的硬件和本文中所使用的一样的话,配置参数 ...

  3. ODrive实例 #2 电机配置实例(小米9号平衡车轮毂电机)

    ODrive实例 #2 电机配置实例(小米9号平衡车轮毂电机) 以下内容将详细介绍使用 ODrive 驱动无刷电机的过程,如果您的硬件和本文中所使用的一样的话,配置参数按照本文中的配置即可达到同样的效 ...

  4. 第二课计算机ppt,第二课计算机系统.ppt

    第二课计算机系统 主要部件功能及参数指标 机 箱 外 壳 一个完整的计算机系统是由硬件(Hardware)系统和软件(Software)系统两大部分组成. 计算机硬件是指系统中可触摸得到的设备实体,是 ...

  5. java 获取ip地址_老杜带你学Java【第二课】

    上期链接:老杜带你学Java[第一课] 01 写在前面 欢迎来到杜老师的「零基础学Java」课堂~今后,我们就是Java软件工程师了.(此处应该有掌声???)本专题为<零基础学Java>专 ...

  6. 第二课 程小奔之辨别颜色

    广西●河池学院 广西高校重点实验室培训基地 系统控制与信息处理重点实验室 本篇博客来自河池学院: 409教育机器人组 写作时间: 2020年8月6日 程小奔第二课 回顾上节课内容 第二课课程简介 开始 ...

  7. 【C++探索之旅】第一部分第二课:C++编程的必要软件

    内容简介 1.第一部分第二课:C++编程的必要软件 2.第一部分第三课预告:第一个C++程序 C++编程的必要软件 经过上一课之后,大家是不是摩拳擦掌,准备大干一场了呢. 这一课我们来做一些C++开发 ...

  8. 开始Python学习第二课(python环境安装)

    *** 开始Python学习第二课*** 一. Python语言简介 1. Python语言 1.1 Python的命名 2. Python基本概念 2.1 Python的简单介绍 2.2 Pytho ...

  9. Python 学习第二课:Python要点

    第二课目录 进制 进制之间的转换 进制的计数 计算机中的单位 1.Python 语言 1.1 Python语言的基本概念 1.2 Python的特色 1.3 Python的发展及应用 2. 搭建环境 ...

最新文章

  1. 防止熊猫烧香的微软补丁
  2. centos7最小安装没有 ifconfig netstat 命令
  3. Adobe Prelude 2020中文版
  4. CentOS 7 安装Boost 1.61
  5. JS删除String里某个字符的方法
  6. 软件设计师习题笔记-重点习题一
  7. JAVA面试题:你怎么设计一个消息队列?
  8. 关于linux下的命令
  9. matlab如何判断两个矩阵的元素是否相同_蚁群算法及其MATLAB实现
  10. 分享一些视频加密播放技术业内知识
  11. 零基础转行网络安全可以做什么工作
  12. Insyde uefi 隐藏设置_利用rufus制作Linux/Windows安装启动盘(支持UEFI+GPT)
  13. excel如何选中空单元格并计算总计、平均值、率
  14. linux驱动与设备实例(字符设备(互斥读写),misc设备和platform_device)
  15. python中的sep函数_python sep函数是什么?怎么用?
  16. 因果推断笔记—— 相关理论:Rubin Potential、Pearl、倾向性得分、与机器学习异同(二)
  17. 什么是路由器 路由器和路由器之间怎么连接
  18. 小程序CMS(开通预览)
  19. with recompile
  20. Axure 9元件使用

热门文章

  1. 斯坦福大学《机器人学》-运动学Kinematics-2
  2. python pdb调试
  3. 【转】黑鹰破解大师破解经验总结
  4. USACO2011Open Silver Running Laps题解
  5. 苹果手机左上角的数字怎么弄_出了新朋友,莫忘老朋友,苹果Macbook这款小键盘能让你键步如飞...
  6. 华为数字化转型规划“三阶十二步法”
  7. PAT甲级 1030 Travel Plan
  8. 本笔记为阿里云天池龙珠计划SQL训练营的学习内容,链接为:https://tianchi.aliyun.com/specials/promotion/aicampsql;Task4:集合运算-JOIN
  9. 关于青蛙跳台阶问题(动态规划)
  10. 设置 html 最大长度,在CSS中设置最大字符长度