VESC操作入门——双轮毂电机控制和CAN通信

news2024/11/24 6:41:02

目录

  • 一、VESC驱动轮毂电机
    • 1.1、硬件准备
    • 1.2、硬件接线
    • 1.3、校准电机
    • 1.4、主操作界面
  • 二、CAN通信
    • 2.1、硬件连接
    • 2.2、代码说明
    • 2.3、发送指令
  • 三、双轮毂电机
    • 3.1、校准第二个电机参数
    • 3.2、硬件连接
    • 3.3、CAN总线发送指令
  • 四、把VESC做为USB转CAN模块


ODrive、VESC和SimpleFOC 教程链接汇总:请点击

一、VESC驱动轮毂电机

1.1、硬件准备

序号名称数量
1VESC41
28寸轮毂电机1
336V电源1
4USB延长线1

在这里插入图片描述

在这里插入图片描述

1.2、硬件接线

在这里插入图片描述

1.3、校准电机

打开 vesc_tool_3.00 ,这个版本与5.02的固件版本最匹配。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

校准大概需要1分钟,校准后的参数每次都有误差,不必大惊小怪。
注意 VESC ID 是随机的,CAN通信会使用这个ID,下图:
在这里插入图片描述

上一步,点击“OK”后等待5秒钟,切换到如下界面:
点击“Fwd”电机向前转动,点击“Rev”电机向后转动。Finish。
在这里插入图片描述

1.4、主操作界面


1.4.1、键盘控制

左右键控制电机以较低的速度正反转动,上下键控制电机以较高的速度正反转。
轮毂电机不能使用上下键控制,大概是设置速度太高电机容易报错。
注意图中的速度单位是ERPM,对于15对极的轮毂电机,1000ERPM = 66.7RPM = 1.1圈/秒。

在这里插入图片描述

1.4.2、直接设置目标速度

不用键盘控制,还可以左下角直接设置速度

在这里插入图片描述

1.4.3、设置爬升率

没有爬升率的情况下,电机启停都比较突然,体验非常不好。找到爬升率的设置,下图:

在这里插入图片描述


找到代码中的爬升率判断,下图:

在这里插入图片描述


VESC中会限制电机的最小速度,修改了限制后,虽然可以设置更小的速度,但是电机有抖动,尝试修改了PID,作用不大,电机齿槽效应导致的抖动,PID无能为力。
只是对比键盘控制电机启停非常丝滑,但输入目标速度的方式,启停有时就非常不流畅。
PID应该还可以再优化。

在这里插入图片描述

二、CAN通信

2.1、硬件连接

在这里插入图片描述

2.2、代码说明

VESC和ODrive的CAN通信类似,都只有简单的指令,大部分操作都需要通过USB事先配置好。
VESC的CAN波特率默认500K,默认使能,接线既可使用,不需要任何配置。
下图代码的枚举可以看出,设置速度的指令是“3”。两外四个状态 “STATUS” 会在上电主动上传,

在这里插入图片描述

2.3、发送指令

CAN通信的ID就是校准结束后的VESC ID,下图:
在这里插入图片描述

如果没有保存校准结果,还可以在这里查看,下图:
在这里插入图片描述

VESC的CAN ID是 “指令+ID” 的格式,下图:
在这里插入图片描述

电机反转,发送指令,下图:
在这里插入图片描述

三、双轮毂电机

一个VESC只能接一个电机,所以需要两个VESC,利用CAN总线控制。

3.1、校准第二个电机参数

这个 VESC ID 是1,其它参数与第一个略有误差,请无视。
在这里插入图片描述

3.2、硬件连接

can盒的位置需要接入120Ω电阻,vesc1和vesc2可以不接入电阻。
在这里插入图片描述

在这里插入图片描述

3.3、CAN总线发送指令

3.3.1、canable发送指令

VESC需要每隔1000ms发送一次指令,而CANable一次只能发送一个指令,所以不能实现两个电机同时转动。

在这里插入图片描述

3.3.2、ESP32发送指令

要想让两个电机同时转动,需要在1000ms内连续发送两个指令,手工操作CAN盒的方式肯定达不到。只能通过代码的方式,而能够在最短的时间内实现这个功能的代码,非arduino莫属。
技术细节,请点击这篇文章:ESP32的CAN通信。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

四、把VESC做为USB转CAN模块

这是研究VESC的CAN通信时的意外收获,
在这里插入图片描述


在这里插入图片描述
VESC3记得接入120Ω电阻,
在这里插入图片描述
这样接的问题是一次也只能发送一个指令,与CANable的功能和毛病完全一样。



(完)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【星戈瑞】Sulfo-Cyanine5 mal 磺酸跟水溶性生物标记试剂

水溶性Sulfo-Cyanine5 mal是一种用于生物标记和荧光成像的荧光染料。它的化学名称是Cyanine5 maleimide,分子式为C29H27ClN2O4S,分子量为576.05。Cyanine5 mal属于Cyanine染料家族,具有强烈的吸收和发射光谱,适用于生物分子的标记…

( 数组和矩阵) 769. 最多能完成排序的块 ——【Leetcode每日一题】

❓769. 最多能完成排序的块 难度:中等 给定一个长度为 n 的整数数组 arr ,它表示在 [0, n - 1] 范围内的整数的排列。 我们将 arr 分割成若干 块 (即分区),并对每个块单独排序。将它们连接起来后,使得连接的结果和按升序排序后…

云服务器vCPU和CPU有什么区别?

云服务器的vCPU和物理服务器的CPU有什么区别?阿里云百科以阿里云服务器ECS为例, 阿里云服务器vCPU和CPU是什么意思?CPU和vCPU有什么区别?一台云服务器ECS实例的CPU选项由CPU物理核心数和每核线程数决定,CPU是中央处理…

推荐算法实战项目:FNN 原理以及案例实战(附完整 Python 代码)

本文要介绍的是FNN模型,出自于张伟楠老师于2016年发表的论文《Deep Learning over Multi-field Categorical Data》。 论文提出了两种深度学习模型,分别叫做FNN(Factorisation Machine supported Neural Network)和SNN&#xff0…

如何利用 Kotlin 特性封装 DataStore

Jetpack DataStore是一种数据存储解决方案,由于使用了 Kotlin 协程或者 RxJava 以异步、一致的事务方式存储数据,用法相较于其它存储方案 (SharedPreferences、MMKV) 会更加特别,所以目前网上都没有什么比较好的 DataStore 封装。 个人了解了…

(十)Shapefile文件创建——创建Shapefile和dBASE

(十) Shapefile文件创建——创建Shapefile和dBASE ArcCatalog 可以创建新的 Shapefile 和 dBASE表,并可进行属性项及索引的操作定义 Shapefile 的坐标系统。当在目录中改变 Shapefile 的结构和特性 (Properties)时必须使用 ArcMap 来更新或重…

动态规划 --- 01背包

动态规划 — 01背包 一直到现在都非常害怕动态规划,因为基本上自己都无法想出dp递推式,太难受了 T.T 今天再一次遇到了需要写01背包的情况,根据自己学习的一点点经历,再稍微总结一下01背包吧,虽然是个被认为dp入门的…

自学Python必须知道的优秀社区

国内学习Python网站: 知乎学习平台:Python - 基础入门 - 知学堂黑马程序员视频库:大数据学习路线2023版-黑马程序员大数据学习路线图菜鸟教程:菜鸟教程 - 学的不仅是技术,更是梦想!极客学院:极…

香港服务器租用攻略:如何优化用户体验?

服务器是网站、应用程序和其他在线内容的核心,对于在线业务来说是至关重要的。如今,随着互联网的普及和数字化转型,越来越多的企业选择在香港租用服务器,以满足其业务需求。但是,租用服务器并不仅仅是选择一个服务商并…

让chatGPT给我写一个CSS,我太蠢了

前言 CSS这东西,让AI写的确有点难度,毕竟它写出来的东西,没办法直接预览,这是其次。重要的是CSS这东西怎么描述,不好描述啊,比如我让他给我制作一个这样的效果出来,没办法描述,所以…

AcWIng1085. 不要62(数位DP)

文章目录 一、问题二、分析三、代码 一、问题 二、分析 这道题涉及的算法是数位DP。如果大家不懂数位DP的话,可以先去看作者之前的文章:第五十章 动态规划——数位DP模型 假设一个数 n n n,我们先求出从 1 1 1到 n n n当中,所有…

《花雕学AI》如何用ChatGPT提升工作效率:适合不同场合的实用技巧大全

实用技巧分类目录 一、最佳ChatGPT 4提示 二、最佳写作和内容创作ChatGPT提示 三、最佳趣味性ChatGPT提示 四、最佳网络开发的ChatGPT提示 五、最佳音乐主题ChatGPT提示 六、最佳职业主题ChatGPT提示 七、最佳用于教育的ChatGPT提示 八、最佳用于市场营销的ChatGPT提示 九、最…

MEET开发者 | 选择和努力一样重要,专访杭州三汇测试工程师齐雪莲

「MEET开发者」栏目的第二期嘉宾是来自杭州三汇的测试工程师——齐雪莲。她是从小在新疆长大的甘肃人,10岁的时候回到了甘肃,大学又考回了新疆,在塔里木大学就读计算机科学与技术专业。 毕业后齐雪莲入职了三汇新疆办事处任测试一职&#xff…

电脑没有网络连接怎么办 电脑无法连接网络怎么解决

这个问题至少困扰我一周 目录 电脑没有网络连接怎么办? 方法一 方法二 方法三 方法四 方法五 方法六 电脑没有网络连接怎么办? 其中也包括了改IP。。电脑就是不好使 #include <iostream> using namespace std; int main(){system("netsh interface ip s…

日志收集系统:将应用产生的数据通过flume收集后发送到Kafka,整理后保存至hbase

目录 前言&#xff1a;功能描述 第一步&#xff1a;flume拉取日志数据&#xff0c;并将源数据保存至Kafka flume配置文件&#xff1a; users&#xff1a; user_friends_raw&#xff1a; events&#xff1a; train&#xff1a; 第二步&#xff1a;Kafka源数据处理 方式一…

滚珠螺杆在设备上的应用

滚珠螺杆跟直线导轨一样&#xff0c;是很多机械设备上不可或缺的重要部件&#xff0c;它是确保机器能够具备高加工精度的前提条件&#xff0c;因此本身对于精度的要求也相当地高。今天&#xff0c;我们就来了解一下滚珠螺杆在不同设备上的应用吧&#xff01; 1、大型的加工中心…

磁盘U盘变本地磁盘寻回教程

磁盘损坏怎么恢复&#xff1f;磁盘是我们工作、学习和生活中常用的信息存储工具&#xff0c;因为容量大、价格便宜而深受人们的喜爱&#xff0c;因此磁盘也成为了我们一些重要信息的信息载具。磁盘U盘变本地磁盘寻回教程这时我们该如何恢复我们丢失的数据呢&#xff1f;这个时候…

ubuntu 安装 notepad++,显示中文菜单,并解决中文乱码问题

1.安装notepad sudo snap install notepad-plus-plus sudo snap install wine-platform-runtime2. notepad中文乱码问题 安装完成之后&#xff0c;输入中文会显示“口口…”&#xff0c;实际上并不是缺少什么windows字库&#xff0c;而是刚安装好的notepad默认字体是Courier …

4月VR大数据:PICO平台应用近400款,领跑国内VR生态

Hello大家好&#xff0c;每月一期的VR内容/硬件大数据统计又和大家见面了。 想了解VR软硬件行情么&#xff1f;关注这里就对了。我们会统计Steam平台的用户及内容等数据&#xff0c;每月初准时为你推送&#xff0c;不要错过喔&#xff01; 本数据报告包含&#xff1a;Steam VR硬…

软件测试面试题最牛汇总,不会有人没有这份文档吧

常见的面试题汇总 1、你做了几年的测试、自动化测试&#xff0c;说一下 selenium 的原理是什么&#xff1f; 我做了五年的测试&#xff0c;1年的自动化测试&#xff1b; selenium 它是用 http 协议来连接 webdriver &#xff0c;客户端可以使用 Java 或者 Python 各种编程语言…