VESC操作入门(三)——PPM输入控制和ADC输入控制

2023-10-13 11:10

本文主要是介绍VESC操作入门(三)——PPM输入控制和ADC输入控制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 一、PPM输入控制
    • 1.1、硬件准备
    • 1.2、PPM信号
    • 1.3、校准电机
    • 1.4、输入设置
  • 二、ADC输入控制
    • 2.1、硬件准备
    • 2.2、更改固件
    • 2.3、电压信号
    • 2.4、校准电机
    • 2.5、输入设置
  • 三、电动车转把控制
    • 3.1、转把说明
    • 3.2、转把测试
  • 四、ADC的其它模式
    • 4.1、Current No Reverse Brake ADC2
    • 4.2、Current No Reverse Brake Center
    • 4.3、 其它模式


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

一、PPM输入控制

1.1、硬件准备

序号名称数量
1VESC41
25008电机1
312V电源1
4USB延长线1
5遥控器1套

在这里插入图片描述

VESC4 购买链接:某宝购买
电机 购买链接:某宝购买

1.2、PPM信号

  • 一般用油门做为PWM信号输出,油门是通道3,下图:
    在这里插入图片描述

  • 对于左手油门的遥控器来说,就是左边摇杆上下方向,下图:
    在这里插入图片描述

  • 摇杆上下运动,接收机对应输出信号如下图:
    PWM信号周期2.5ms(50Hz),信号输出高电平在1-2ms的范围内变化,摇杆中间位置时高电平为1.5ms,
    在这里插入图片描述

  • 接VESC,下图:
    在这里插入图片描述

1.3、校准电机

  • 硬件接线完毕后,上电,待电脑识别VESC后,点击“AutoConnect”,右下角显示连接成功,
    然后再点击“Setup Motors FOC”,进入配置流程,下图:
    在这里插入图片描述

  • 5008电机选择这两个都可以。检测阶段电机运行在开环状态,选择的电机越大,开环电流越大,电机越容易发热,下图:
    在这里插入图片描述

  • 校准大概需要一分钟时间,请耐心等待,下图:
    在这里插入图片描述
    更多配置说明可以参考前面教程《VESC操作入门——控制霍尔电机、无感电机和AS5047P》。

  • 校准结果,下图:
    点击OK,关闭。
    在这里插入图片描述

  • 正反转测试,下图:
    finish,关闭。
    在这里插入图片描述


1.4、输入设置

  • 选择设置输入,下图:
    在这里插入图片描述
  • 选择PPM,下图:
    在这里插入图片描述

  • 当前界面,上下摇动遥控器摇杆(可多操作几次),进度条根据摇杆变化,准确的测量出PWM的占空比,下图:
    在这里插入图片描述
  • 选择电流模式,下图:
    在这里插入图片描述

  • 实际上也可以选择其它模式,
    在实际操作的时候,因为电机是空载,电流很小就可以到达最大转速,所以 “Current” 模式缺乏行程感,
    而下图另外2个模式就可以清晰的反应摇杆行程对电机转速的控制,
    在这里插入图片描述

  • APP中选择PPM并保存,下图:
    在这里插入图片描述

此时操作摇杆就可以控制电机转动,向上电机正转,向下电机反转。

注意操作时动作要慢,不要快速的上下划动摇杆,电机转速突变容易产生高压反电动势,本人的12V小功率开关电源就这样被击穿了。如果是锂电池可能会好点。

二、ADC输入控制

2.1、硬件准备

在这里插入图片描述

VESC 购买链接:某宝购买
电机 购买链接:某宝购买

2.2、更改固件

  • 因为上面测试PPM时使用了带AS5047P编码器的电机,固件中默认使能了SPI接口,所以需要重新烧写不支持SPI接口的固件。固件差别在 《VESC简介与国产替代方案》 这篇文章第3.3小节有说明。

  • 请使用STlink配合STM32 ST-LINK Utility软件烧写,下图:
    在这里插入图片描述

  • 不要使用vesc_tool更新固件,经本人反复对比测试,确认更新无效,下图:
    在这里插入图片描述

2.3、电压信号

  • 用10K电位器(也可以用其它阻值),下图
    这种电位器质量比较差,测试过程中多注意电压信号输出,
    在这里插入图片描述

  • 接VESC,下图:
    在这里插入图片描述

2.4、校准电机

  • 接入无感电机,所以校准参数如下图,
    校准过程请参考上面1.3小节,
    在这里插入图片描述

2.5、输入设置

  • 选择 setup input,下图:
    在这里插入图片描述

  • 选择ADC输入,下图:
    在这里插入图片描述

  • 选择“Duty Cycle”(也可以不选),转动电位器,进度条根据电位器变化,准确的测量出实时电压,下图:
    在这里插入图片描述

  • 选择占空比,写入,下一步,下图:
    在这里插入图片描述

  • 也可以选择其它模式,待熟练后可尝试,下图:
    在这里插入图片描述

  • 点击下一步,完毕。

  • APP中选择ADC并保存,下图:
    在这里插入图片描述

  • 配置完毕,转动电位器,需先转到最低位(最小电压输出0),然后缓慢调大,当输出电压大于1.2V左右时,电机开始转动。
  • 为什么要大于1V才有输出,这跟电动车的转把特性有关,下面介绍。


三、电动车转把控制

3.1、转把说明

在这里插入图片描述

  • 转把是由一个固定的霍尔元件和一个能转动的半圆形磁条构成,
    磁条固定在转柄上,它的磁性是一头强一头弱,起初霍尔是对应磁铁最弱的一端,转动转把霍尔对应磁铁的磁性加大,霍尔感应磁场变强,信号线的电压随着升高,
    在这里插入图片描述

  • SS49E接5V电源,随磁场增强,信号输出电压在1—4V,下图:
    在这里插入图片描述

3.2、转把测试

  • 新买的转把,下图:
    在这里插入图片描述

  • 局部拆开,可以看到霍尔元件和磁铁,下图:
    在这里插入图片描述

  • 接轮毂电机,下图:
    电池为7S(28V),
    在这里插入图片描述
    VESC 购买链接:某宝购买

  • vesc_tool校准,参考上面,不再赘述,
    在这里插入图片描述

  • 转把电源接5V,输出信号电压范围是:0.85—4.49V,
    转把电源接3.3V,输出信号电压范围:0.82—2.6V,
    信号电压超过3.3V,AD转换就满量程了,实际操作中,会觉得后面虚位比较大,所以选择3.3V电源。
    在这里插入图片描述

  • 输入模式如果选择 “current”,因为电机空载,稍微加油门就全速转动,
  • 用 “Duty Cycle” 可以更好的体验油门对转速的控制,



在这里插入图片描述

四、ADC的其它模式

4.1、Current No Reverse Brake ADC2

这个操作模式增加了刹车功能,控制逻辑与我们骑电动车的逻辑完全相同,
在这里插入图片描述

  • 油门接ADC1,和上面用法一致,
  • 刹车接ADC2(刹车是一个开关信号,但确实要接在ADC2引脚上),
  • ADC2为低电平时,油门控制电机转速,ADC2为高电平时,电机立刻停止转动无论油门大小。

4.2、Current No Reverse Brake Center

用摇杆控制电机转速,
在这里插入图片描述
在这里插入图片描述

摇杆电位器居中位置,正向加速,反向减速,完全放开刹车,有点“单踏板”的意思。
注意摇杆操作要慢,不要突然松开摇杆,防止反电动势击穿电源,建议用锂电池供电。

4.3、 其它模式

搜到一篇比较好的视频教程,https://www.bilibili.com/video/av930193861/,有兴趣的同学可以细细研究。



(完)

这篇关于VESC操作入门(三)——PPM输入控制和ADC输入控制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/202793

相关文章

Python中模块graphviz使用入门

《Python中模块graphviz使用入门》graphviz是一个用于创建和操作图形的Python库,本文主要介绍了Python中模块graphviz使用入门,具有一定的参考价值,感兴趣的可以了解一... 目录1.安装2. 基本用法2.1 输出图像格式2.2 图像style设置2.3 属性2.4 子图和聚

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

Python中pywin32 常用窗口操作的实现

《Python中pywin32常用窗口操作的实现》本文主要介绍了Python中pywin32常用窗口操作的实现,pywin32主要的作用是供Python开发者快速调用WindowsAPI的一个... 目录获取窗口句柄获取最前端窗口句柄获取指定坐标处的窗口根据窗口的完整标题匹配获取句柄根据窗口的类别匹配获取句

Python位移操作和位运算的实现示例

《Python位移操作和位运算的实现示例》本文主要介绍了Python位移操作和位运算的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 位移操作1.1 左移操作 (<<)1.2 右移操作 (>>)注意事项:2. 位运算2.1

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置

Python ZIP文件操作技巧详解

《PythonZIP文件操作技巧详解》在数据处理和系统开发中,ZIP文件操作是开发者必须掌握的核心技能,Python标准库提供的zipfile模块以简洁的API和跨平台特性,成为处理ZIP文件的首选... 目录一、ZIP文件操作基础三板斧1.1 创建压缩包1.2 解压操作1.3 文件遍历与信息获取二、进阶技

Java中字符串转时间与时间转字符串的操作详解

《Java中字符串转时间与时间转字符串的操作详解》Java的java.time包提供了强大的日期和时间处理功能,通过DateTimeFormatter可以轻松地在日期时间对象和字符串之间进行转换,下面... 目录一、字符串转时间(一)使用预定义格式(二)自定义格式二、时间转字符串(一)使用预定义格式(二)自

Spring Security+JWT如何实现前后端分离权限控制

《SpringSecurity+JWT如何实现前后端分离权限控制》本篇将手把手教你用SpringSecurity+JWT搭建一套完整的登录认证与权限控制体系,具有很好的参考价值,希望对大家... 目录Spring Security+JWT实现前后端分离权限控制实战一、为什么要用 JWT?二、JWT 基本结构

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

Java字符串操作技巧之语法、示例与应用场景分析

《Java字符串操作技巧之语法、示例与应用场景分析》在Java算法题和日常开发中,字符串处理是必备的核心技能,本文全面梳理Java中字符串的常用操作语法,结合代码示例、应用场景和避坑指南,可快速掌握字... 目录引言1. 基础操作1.1 创建字符串1.2 获取长度1.3 访问字符2. 字符串处理2.1 子字