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 中的 with open文件操作的最佳实践

《Python中的withopen文件操作的最佳实践》在Python中,withopen()提供了一个简洁而安全的方式来处理文件操作,它不仅能确保文件在操作完成后自动关闭,还能处理文件操作中的异... 目录什么是 with open()?为什么使用 with open()?使用 with open() 进行

Linux ls命令操作详解

《Linuxls命令操作详解》通过ls命令,我们可以查看指定目录下的文件和子目录,并结合不同的选项获取详细的文件信息,如权限、大小、修改时间等,:本文主要介绍Linuxls命令详解,需要的朋友可... 目录1. 命令简介2. 命令的基本语法和用法2.1 语法格式2.2 使用示例2.2.1 列出当前目录下的文

使用Python实现一键隐藏屏幕并锁定输入

《使用Python实现一键隐藏屏幕并锁定输入》本文主要介绍了使用Python编写一个一键隐藏屏幕并锁定输入的黑科技程序,能够在指定热键触发后立即遮挡屏幕,并禁止一切键盘鼠标输入,这样就再也不用担心自己... 目录1. 概述2. 功能亮点3.代码实现4.使用方法5. 展示效果6. 代码优化与拓展7. 总结1.

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Mysql表的简单操作(基本技能)

《Mysql表的简单操作(基本技能)》在数据库中,表的操作主要包括表的创建、查看、修改、删除等,了解如何操作这些表是数据库管理和开发的基本技能,本文给大家介绍Mysql表的简单操作,感兴趣的朋友一起看... 目录3.1 创建表 3.2 查看表结构3.3 修改表3.4 实践案例:修改表在数据库中,表的操作主要

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Python使用DrissionPage中ChromiumPage进行自动化网页操作

《Python使用DrissionPage中ChromiumPage进行自动化网页操作》DrissionPage作为一款轻量级且功能强大的浏览器自动化库,为开发者提供了丰富的功能支持,本文将使用Dri... 目录前言一、ChromiumPage基础操作1.初始化Drission 和 ChromiumPage