foc原理odrive驱动板的使用,以及功能介绍

文章目录

    • 驱动板引脚:
    • 编码器的安装:
    • 电机参数
      • 编码器设置
    • odrive控制
      • 控制指令
        • 设置模式
        • 设置输入模式
        • 其他指令
      • 调PID
        • 调试准则
        • 先调整内环,再调整外环
        • 在位置模式下调试
        • 结论

使用的灯哥开源的odrive驱动板,外接编码器

驱动板引脚:

板载STM32F405RGT6

编码器的安装:

磁体距离编码器芯片1~2mm最佳;

外接编码器不支持SPI功能;

板载编码器支持SPI;

接线:

电机三相线和板子接口,mr30接口

三条线和电机三相线接起来

电机参数

电机类型,大电流的选这个

5010电机主要需要极对数以及KV值

360KV ;7对极

编码器设置

cpr,每转一圈计数多少次

odrive控制

控制指令

打开odrive:

activate python39//激活python39
odrivetool// 打开odrive

odrv0.reboot//重启

odrv0.axis0.config.can_node_id = //设置电机的id

odrv0.save_configuration()//配置完成后需要保存配置

odrv0.save_configuration()//配置完成后需要保存配置

设置模式

odrv0.axis0.controller.config.control_mode 
//力矩控制
CONTROL_MODE_TORQUE_CONTROL
//速度控制
CONTROL_MODE_VELOCITY_CONTROL
//位置控制
CONTROL_MODE_POSITION_CONTROL

闭环控制

//速度模式
odrv0.axis0.controller.input_vel = [速度目标值]

//位置模式
odrv0.axis0.controller.input_pos = [位置目标值] 
//位置控制1是转到1圈的位置,0.5就是半圈的位置
    

//力矩模式
odrv0.axis0.controller.input_torque = [位置目标值]
    

pid控制

//速度环增益
//速度环积分
//位置环增益

//阻尼
odrv0.axis0.controller.config.vel_gain//最大到0.06,0.07就乱了

//位置模式出现误差回到指定位置,未归位的时间越长,力会越大
odrv0.axis0.controller.config.vel_integrator_gain

odrv0.axis0.controller.config.pos_gain//位置模式到达指定位置的速度

    
设置输入模式
odrv0.axis0.controller.config.control_mode

//1、关闭输入
INPUT_MODE_INACTIVE


//2、直接控制
INPUT_MODE_PASSTHROUGH
//在这种输入模式下,根据所设置的控制模式control_mode来控制电机,指令包括input_pos/input_vel/input_torque, 输入指
//令后电机直接运转至目标值。

    
//3、速度爬升
INPUT_MODE_VEL_RAMP
//这种输入模式下,驱动器需要在速度控制模式下,并会从当前的速度值逐渐爬升/下降到输入
//到 input_vel 的目标速度值。在这种模式下,需要配置
//爬升速率
//载惯量
odrv0.axis0.controller.config.vel_ramp_rate[turn/sec]
odrv0.axis0.controller.config.inertia[Nm/(turn/)]


//4、梯形轨迹模式
INPUT_MODE_TRAP_TRAJ
// 这种输入模式下,驱动器需要在位置控制模
// 式下,通过 input_pos 输入目标位置值,电
// 机按照加速-匀速-减速到达设定位置,即速
// 度变化轨迹为梯形,位置变化接近曲线。
//◼ 梯形轨迹下的速度限制
//◼ 梯形轨迹下的加速度限制
//◼ 梯形轨迹下的加速度限制
odrv0.axis0.trap_traj.config.vel_limit
odrv0.axis0.trap_traj.config.accel_limit
odrv0.axis0.trap_traj.config.decel_limit


//5、力矩爬升
INPUT_MODE_TORQUE_RAMP
// 这种输入模式下,驱动器需要在力矩控制模式下,
// 并会从当前的力矩值逐渐爬升/下降到输入到
// input_tor的目标速度值。在这种模式下,需要
// 配置
// ◼ 力矩爬升速度
odrv0.axis0.controller.config.torque_ramp_rate
其他指令
//查看电压
odrv0.vbus_voltage

调PID

调试准则

先调整内环,再调整外环

先调整角度环P

1、先调速度:

vel;

调之前把位置环的p清零;

调电机的阻尼

odrv0.axis0.controller.config.vel_gain = 0.05时摩擦感强烈;

在位置模式下调试

odrive官网上面,只是调试了位置环的p,速度环的P、I;

没有负载的情况下调试好后,加上负载后再调,因为有负载的情况下是不一样的;

如果用手转电机,设置积分会使得,电机不在指定角度的时间越久,电机回位置的力越大;

位置环的p,越大,转的越快,定一个稳定的值后调试v的p和i;

速度环的p越大,转的越快,太大会超调,会抖动;

速度环的i,如果偏差一直在的话,电机的力矩会越来越大;

结论

5010电机、AS5047p传感器:

1、官方odrive只是调了位置环的P以及速度环的P、I;

先调p、再调I

2、速度模式下:

位置环的p没用;

只有速度环的p有用:

p越高阻尼越大,速度给高时会越抖,但是速度低时候就比较稳定;

p越低阻尼越小,速度低时比较抖动,但是速度高时就不怎么抖动;

3、位置模式下:

a、位置环p设置数值,给定某个位置,他才会转动:

p越大,去这个位置的速度越快;

b、速度环p决定了阻尼大小,p越大,阻尼越大,太大会超调,就有噪声;

c、速度环I决定了力矩,在没到指定位置时,他的力矩会给的越来越大,用手拧电机,一定角度后保持几秒就能明显感觉到力矩变大了;

d、能转差不多50圈,再多就会启动过流保护,会阻止电源给电机供电;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/880921.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

泳池软管检测系统源码分享

泳池软管检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…

【数学分析笔记】第3章第2节 连续函数(4)

3. 函数极限与连续函数 3.2 连续函数 3.2.9 反函数的连续性定理 【定理3.2.2】【反函数连续性定理】设 y f ( x ) yf(x) yf(x)在闭区间 [ a , b ] [a,b] [a,b]上连续且严格单调增加,设 f ( a ) α , f ( b ) β f(a)\alpha,f(b)\beta f(a)α,f(b)β&#xff0…

web基础之RCE

简介:RCE称为远程代码执行漏洞;是互联网的一种安全漏洞;攻击者可以直接向后台服务器远程注入操作系统命令;从而操控后台系统;也是CTF比较常考的一个方面 1、eval执行 (1)分析后端代码&#xf…

[数据集][目标检测]无人机识别检测数据集VOC+YOLO格式6986张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):6986 标注数量(xml文件个数):6986 标注数量(txt文件个数):6986 标注…

物流管理系统小程序的设计

管理员账户功能包括:系统首页,个人中心,用户管理,员工管理,部门管理,物品分类管理,物流公司管理,物流信息管理,配送信息管理 微信端账号功能包括:系统首页&a…

Mybatis 快速入门(maven)

文章目录 需求建表新建了数据库但是navicat界面没有显示 新建maven项目 注意导入依赖 总结 黑马学习笔记 需求 建表 注意:设置字符集 减少出错 drop database mybatis; create database mybatis charset utf8; use mybatis;drop table if exists tb_user;create…

如何使用MyJWT测试你的JWT是否存在安全问题

关于MyJWT MyJWT是一款针对JSON Web Token(JWT)的安全检测工具,该工具适用于渗透测试人员、CTF 玩家或开发人员,可以快速针对JWT执行安全扫描与检测。 功能介绍 1、支持将新的 jwt 复制到剪贴板; 2、用户界面&#xf…

人脸活体检测系统源码分享

人脸活体检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…

Electron-vue asar 局部打包优化处理方案——绕开每次npm run build 超级慢的打包问题

背景 因为组员对于 Electron 打包过程存在比较迷糊的状态,且自己也没主动探索 Electron-vue 打包细节,导致每次打包过程都消耗 5-6 分钟的时间,在需要测试生产打包时,极其浪费时间,为此针对 Electron-vue 打包的几个环…

快手可灵AI全球升级1.5模型:引入“运动笔刷”功能 画质大幅提升

9月19日,快手公司宣布其可灵AI模型进行了全球范围内的重磅升级,推出了1.5版本。新版本在多个方面实现了显著提升,包括视频画质、动态效果、美学表现、运动合理性以及语义理解等。 新升级的1.5模型支持在高品质模式下直接输出1080p高清视频&am…

【笔记】2.1 半导体三极管(BJT,Bipolar Junction Transistor)

一、结构和符号 1. 三极管结构 常用的三极管的结构有硅平面管和锗合金管两种类型。各有PNP型和NPN型两种结构。 左图是NPN型硅平面三极管,右图是PNP型锗合金三极管。 从图中可见平面型三极管是先在一块大的金属板上注入杂质使之变成N型,然后再在中间注入杂质使之变成P型,…

Unity携程Coroutine用法

一.携程概述 官方的解释是,携程允许你可以在多个帧中执行任务。在Unity中,携程是一个可以暂停并在后续帧中从暂停处继续执行的方法。 二.携程写法 下面示例使用携程和Update打印前5帧的时间间隔,展示了携程的基础写法 using System.Colle…

[数据集][目标检测]不同颜色的安全帽检测数据集VOC+YOLO格式7574张5类别

重要说明:数据集里面有2/3是增强数据集,请仔细查看图片预览,确认符合要求在下载,分辨率均为640x640 数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件…

使用Rust直接编译单个的Solidity合约

这里写自定义目录标题 使用Rust直接编译单个的Solidity合约前言预备知识准备工作示例 使用Rust直接编译单个的Solidity合约 前言 我们知道,我们平常开发Solidity智能合约时一般使用Hardhat框架,但是如果你是一个Rustacean (这是由 “Rust” 和 “crust…

C++速通LeetCode中等第3题-盛最多水的容器

双指针法:两个指针分别指向左右边界,记录最大面积,由于面积由短板决定,两个指针中较短的短指针向内移动一格,再次记录最大面积, 直到两指针相遇,得出答案。 class Solution { public:int maxAr…

Qt与Udp

(1)绑定端口 (2)广播 用udp实现广播通信_udp广播-CSDN博客 数据的发送是面向整个子网的,任何一台在子网中的计算机都可以接收到相同的数据。 如果一台机器希望向其他N台机器发送信息,这时候可以使用UDP的广播。 --------------- 广播地址&#xff1…

微服务_入门1

文章目录 一、 认识微服务二、 微服务演变2.1、 单体架构2.2、 分布式架构2.3、 微服务2.4、 微服务方案对比 三、 注册中心3.1、 Eureka3.2、 Nacos3.2.1、服务分级存储模型3.2.2、权重配置3.2.3、环境隔离 一、 认识微服务 二、 微服务演变 随着互联网行业的发展,…

【题解】CF1983E

翻译 原题链接 分析 显然,两人得分总和等于所有球的分数之和,所以我们只需要研究一个人即可,这里我们考虑Alice。 分析哪些球会被Alice拿走。我们称前 k k k个球为 1 1 1,其他球为 0 0 0。然后把一个 0 0 0和与前一个 0 0 0之间…

U 盘显示需要格式化才能用?一针见血的修复方法在这里!速看!

在日常使用电脑的过程中,我们常常会遇到各种让人头疼的问题,其中之一就是当插入 U 盘时,突然弹出提示 “U 盘需要格式化才能使用”。这可让很多人慌了神,毕竟 U 盘里可能存储着重要的文件资料。别着急,下面就为大家介绍…

【QT】系统-上

欢迎来到Cefler的博客😁 🕌博客主页:折纸花满衣 🏠个人专栏:QT 目录 👉🏻事件QWidget中常见的事件 👉🏻处理鼠标事件:leaveEvent和enterEvent👉&a…