创客基地oDrive第二课 X2212电机配置
淘宝套装链接
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 主板参数配置
- 配置耗散电阻
我们使用50W 2Ω的耗散电阻,如果没有接耗散电阻,此项配置为0.0 。
odrv0.config.brake_resistance = 2.0 - 配置低压保护阈值
当电压低于保护阈值时,将停止电机并报错。
odrv0.config.dc_bus_undervoltage_trip_level = 8.0 - 配置过压保护阈值
当电压高于保护阈值时,将停止电机并报错。
odrv0.config.dc_bus_overvoltage_trip_level = 56.0 - 配置过流保护阈值
当电流高于保护阈值时,将停止电机并报错。
odrv0.config.dc_max_positive_current = 20.0 - 配置反向过流保护阈值
当电机制动在母线上产生的反向电流高于此值时,将停止电机并报错。
odrv0.config.dc_max_negative_current = -3.0 - 配置回充电流值
如果使用的电池供电,可以根据电池组承受的回充电流大小进行配置。使用开关电源供电时,此项配置为0。
odrv0.config.max_regen_current = 0
至此,主板参数配置完成。
保存配置参数
odrv0.save_configuration()
2.4 电机参数配置
- 配置电机极对数
转子极数除以2,就是电机极对数。
odrv0.axis0.motor.config.pole_pairs = 7 - 配置电机校准时的电流
此电流值在进行电机参数校准和编码器偏移校准时使用。
odrv0.axis0.motor.config.calibration_current = 5 - 配置电机校准时的电压
此电压值在进行电机参数校准和编码器偏移校准时使用。
odrv0.axis0.motor.config.resistance_calib_max_voltage = 2 - 配置电机类型
这里配置为大电流电机
odrv0.axis0.motor.config.motor_type = MOTOR_TYPE_HIGH_CURRENT - 配置电机运行的最大电流限制
odrv0.axis0.motor.config.current_lim = 15 - 配置电机电流采样范围
odrv0.axis0.motor.config.requested_current_range = 20
至此,电机参数配置完成。
保存配置参数
odrv0.save_configuration()
2.5 编码器参数配置
- 配置编码器类型
配置电机编码器类型为增量式编码器。
odrv0.axis0.encoder.config.mode = ENCODER_MODE_INCREMENTAL - 配置编码器分辨率
编码器分辨率 = 每圈步数4 = 40964 = 16384
odrv0.axis0.encoder.config.cpr = 16384 - 配置编码带宽
odrv0.axis0.encoder.config.bandwidth = 3000 - 配置编码器校准时电机运行电流
odrv0.axis0.config.calibration_lockin.current = 5 - 配置编码器校准时电流上升时间
odrv0.axis0.config.calibration_lockin.ramp_time = 0.4 - 配置电流上升时电机转动距离
odrv0.axis0.config.calibration_lockin.ramp_distance = 3.1415927410125732 - 配置编码器校准时电机加速度
odrv0.axis0.config.calibration_lockin.accel = 20 - 配置编码器校准时电机速度
odrv0.axis0.config.calibration_lockin.vel = 40
至此,编码器参数配置完成。
保存配置参数
odrv0.save_configuration()
2.6 控制器参数配置
- 配置控制模式
设置为位置控制模式
odrv0.axis0.controller.config.control_mode = CONTROL_MODE_POSITION_CONTROL - 配置电机最大转速
设置为 50 圈/秒
odrv0.axis0.controller.config.vel_limit = 50 - 配置位置环增益
odrv0.axis0.controller.config.pos_gain = 30 - 配置速度环增益
odrv0.axis0.controller.config.vel_gain = 0.02
odrv0.axis0.controller.config.vel_integrator_gain = 0.2 - 配置输入模式
配置为梯形轨迹模式
odrv0.axis0.controller.config.input_mode = INPUT_MODE_TRAP_TRAJ - 配置梯形模式电机转速
odrv0.axis0.trap_traj.config.vel_limit = 30 - 配置梯形模式电机加/减速度
odrv0.axis0.trap_traj.config.accel_limit = 5
odrv0.axis0.trap_traj.config.decel_limit = 5
至此,控制器参数配置完成。
保存配置参数,并重启主板。
odrv0.save_configuration()
odrv0.reboot()
2.7 测试参数配置
- 检测电机参数
odrv0.axis0.requested_state = AXIS_STATE_MOTOR_CALIBRATION
检测电机参数,执行这条命令后大约2秒,应听到电机发出“哔”声音。 - 设置预先校准
odrv0.axis0.motor.config.pre_calibrated = True
表示电机已校准下次重新启动后可以直接使用上次校准的结果。 - 编码器偏移校准
odrv0.axis0.requested_state = AXIS_STATE_ENCODER_OFFSET_CALIBRATION
电机将正向转一圈,再反向转一圈。
注意:等待电机停止转动后,再执行后续指令。 - 设置闭环运行模式
odrv0.axis0.requested_state = AXIS_STATE_CLOSED_LOOP_CONTROL - 设置启动运行模式
重新启动自动进行编码器校准,并进入闭环控制模式
odrv0.axis0.config.startup_encoder_offset_calibration = True
odrv0.axis0.config.startup_closed_loop_control = True
至此,测试参数配置完成。
保存配置参数,并重启主板。
odrv0.save_configuration()
odrv0.reboot()
至此,所有参数配置完成。
第3部分 电机控制测试
- 控制电机正向转50圈
odrv0.axis0.controller.input_pos = 50 - 控制电机反向转50圈
odrv0.axis0.controller.input_pos = 0 - 释放电机
odrv0.axis0.requested_state = AXIS_STATE_IDLE
第4部分 绘图仪测试
- 退出odrivetool,如下图所示
quit
- 启动绘图仪,如下图所示
odrivetool liveplotter
- 绘图仪窗口显示位置轨迹,如下图所示
创客基地oDrive第二课 X2212电机配置 到此结束。
对应的视频课程,可在Q群(732557609)下载,欢迎加入。
请继续关注后续课程。
创客基地oDrive第二课 X2212电机配置相关推荐
- 创客基地oDrive第一课 入门配置
淘宝套装链接 B站视频链接 *** 特别注意 *** 请勿带电拔插主板上的所有接口接线,特别是USB接口. 请勿带电拔插主板上的所有接口接线,特别是USB接口. 请勿带电拔插主板上的所有接口接线,特别 ...
- ODrive实例 #1 电机配置实例(4250-520KV + TLE5012B-E1000)
ODrive干货 #4 电机配置实例(4250-520KV + TLE5012B-E1000) 以下内容将详细介绍使用 ODrive 驱动无刷电机的过程,如果您的硬件和本文中所使用的一样的话,配置参数 ...
- ODrive实例 #2 电机配置实例(小米9号平衡车轮毂电机)
ODrive实例 #2 电机配置实例(小米9号平衡车轮毂电机) 以下内容将详细介绍使用 ODrive 驱动无刷电机的过程,如果您的硬件和本文中所使用的一样的话,配置参数按照本文中的配置即可达到同样的效 ...
- 第二课计算机ppt,第二课计算机系统.ppt
第二课计算机系统 主要部件功能及参数指标 机 箱 外 壳 一个完整的计算机系统是由硬件(Hardware)系统和软件(Software)系统两大部分组成. 计算机硬件是指系统中可触摸得到的设备实体,是 ...
- java 获取ip地址_老杜带你学Java【第二课】
上期链接:老杜带你学Java[第一课] 01 写在前面 欢迎来到杜老师的「零基础学Java」课堂~今后,我们就是Java软件工程师了.(此处应该有掌声???)本专题为<零基础学Java>专 ...
- 第二课 程小奔之辨别颜色
广西●河池学院 广西高校重点实验室培训基地 系统控制与信息处理重点实验室 本篇博客来自河池学院: 409教育机器人组 写作时间: 2020年8月6日 程小奔第二课 回顾上节课内容 第二课课程简介 开始 ...
- 【C++探索之旅】第一部分第二课:C++编程的必要软件
内容简介 1.第一部分第二课:C++编程的必要软件 2.第一部分第三课预告:第一个C++程序 C++编程的必要软件 经过上一课之后,大家是不是摩拳擦掌,准备大干一场了呢. 这一课我们来做一些C++开发 ...
- 开始Python学习第二课(python环境安装)
*** 开始Python学习第二课*** 一. Python语言简介 1. Python语言 1.1 Python的命名 2. Python基本概念 2.1 Python的简单介绍 2.2 Pytho ...
- Python 学习第二课:Python要点
第二课目录 进制 进制之间的转换 进制的计数 计算机中的单位 1.Python 语言 1.1 Python语言的基本概念 1.2 Python的特色 1.3 Python的发展及应用 2. 搭建环境 ...
最新文章
- 防止熊猫烧香的微软补丁
- centos7最小安装没有 ifconfig netstat 命令
- Adobe Prelude 2020中文版
- CentOS 7 安装Boost 1.61
- JS删除String里某个字符的方法
- 软件设计师习题笔记-重点习题一
- JAVA面试题:你怎么设计一个消息队列?
- 关于linux下的命令
- matlab如何判断两个矩阵的元素是否相同_蚁群算法及其MATLAB实现
- 分享一些视频加密播放技术业内知识
- 零基础转行网络安全可以做什么工作
- Insyde uefi 隐藏设置_利用rufus制作Linux/Windows安装启动盘(支持UEFI+GPT)
- excel如何选中空单元格并计算总计、平均值、率
- linux驱动与设备实例(字符设备(互斥读写),misc设备和platform_device)
- python中的sep函数_python sep函数是什么?怎么用?
- 因果推断笔记—— 相关理论:Rubin Potential、Pearl、倾向性得分、与机器学习异同(二)
- 什么是路由器 路由器和路由器之间怎么连接
- 小程序CMS(开通预览)
- with recompile
- Axure 9元件使用
热门文章
- 斯坦福大学《机器人学》-运动学Kinematics-2
- python pdb调试
- 【转】黑鹰破解大师破解经验总结
- USACO2011Open Silver Running Laps题解
- 苹果手机左上角的数字怎么弄_出了新朋友,莫忘老朋友,苹果Macbook这款小键盘能让你键步如飞...
- 华为数字化转型规划“三阶十二步法”
- PAT甲级 1030 Travel Plan
- 本笔记为阿里云天池龙珠计划SQL训练营的学习内容,链接为:https://tianchi.aliyun.com/specials/promotion/aicampsql;Task4:集合运算-JOIN
- 关于青蛙跳台阶问题(动态规划)
- 设置 html 最大长度,在CSS中设置最大字符长度