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

目录

  • 一、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、硬件准备

序号 名称 数量
1 VESC4 1
2 8寸轮毂电机 1
3 36V电源 1
4 USB延长线 1

VESC操作入门(二)——双轮毂电机控制和CAN通信_第1张图片

1.2、硬件接线

VESC 购买链接:某宝购买

1.3、校准电机

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

VESC操作入门(二)——双轮毂电机控制和CAN通信_第2张图片

VESC操作入门(二)——双轮毂电机控制和CAN通信_第3张图片

VESC操作入门(二)——双轮毂电机控制和CAN通信_第4张图片

VESC操作入门(二)——双轮毂电机控制和CAN通信_第5张图片

校准大概需要1分钟,校准后的参数每次都有误差,不必大惊小怪。
注意 VESC ID 是随机的,CAN通信会使用这个ID,下图:
VESC操作入门(二)——双轮毂电机控制和CAN通信_第6张图片

上一步,点击“OK”后等待5秒钟,切换到如下界面:
点击“Fwd”电机向前转动,点击“Rev”电机向后转动。Finish。
VESC操作入门(二)——双轮毂电机控制和CAN通信_第7张图片

1.4、设置爬升率和最小速度


1.4.1、键盘控制

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

VESC操作入门(二)——双轮毂电机控制和CAN通信_第8张图片

1.4.2、直接设置目标速度

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

VESC操作入门(二)——双轮毂电机控制和CAN通信_第9张图片

1.4.3、设置爬升率

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

VESC操作入门(二)——双轮毂电机控制和CAN通信_第10张图片


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

VESC操作入门(二)——双轮毂电机控制和CAN通信_第11张图片


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

VESC操作入门(二)——双轮毂电机控制和CAN通信_第12张图片

二、CAN通信

2.1、硬件连接

2.2、代码说明

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

VESC操作入门(二)——双轮毂电机控制和CAN通信_第13张图片

2.3、发送指令

CAN通信的ID就是校准结束后的VESC ID,下图:
VESC操作入门(二)——双轮毂电机控制和CAN通信_第14张图片

如果没有保存校准结果,还可以在这里查看,下图:
VESC操作入门(二)——双轮毂电机控制和CAN通信_第15张图片

VESC的CAN ID是 “指令+ID” 的格式,下图:
VESC操作入门(二)——双轮毂电机控制和CAN通信_第16张图片

电机反转,发送指令,下图:
VESC操作入门(二)——双轮毂电机控制和CAN通信_第17张图片


上传的4个status含义如下:
没有注明的是我不太确定,留给大家研究。

VESC操作入门(二)——双轮毂电机控制和CAN通信_第18张图片


三、双轮毂电机

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

3.1、校准第二个电机参数

这个 VESC ID 是1,其它参数与第一个略有误差,请无视。
VESC操作入门(二)——双轮毂电机控制和CAN通信_第19张图片

3.2、硬件连接

can盒的位置需要接入120Ω电阻,vesc1和vesc2可以不接入电阻。
VESC操作入门(二)——双轮毂电机控制和CAN通信_第20张图片

VESC 购买链接:某宝购买

3.3、CAN总线发送指令

3.3.1、canable发送指令

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

VESC操作入门(二)——双轮毂电机控制和CAN通信_第21张图片

3.3.2、ESP32发送指令

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

ESP32drive 购买链接:某宝购买

VESC操作入门(二)——双轮毂电机控制和CAN通信_第22张图片

四、把VESC做为USB转CAN模块

这是研究VESC的CAN通信时的意外收获,

VESC操作入门(二)——双轮毂电机控制和CAN通信_第23张图片


VESC操作入门(二)——双轮毂电机控制和CAN通信_第24张图片
VESC3需要接入120Ω电阻,VESC1和VESC2可以不用,

VESC 购买链接:某宝购买

这样接的问题是一次只能发送一个指令,与CANable的功能和毛病完全一样。



(完)

你可能感兴趣的:(VESC,VESC,电机驱动器)