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

相关文章

java Stream操作转换方法

《javaStream操作转换方法》文章总结了Java8中流(Stream)API的多种常用方法,包括创建流、过滤、遍历、分组、排序、去重、查找、匹配、转换、归约、打印日志、最大最小值、统计、连接、... 目录流创建1、list 转 map2、filter()过滤3、foreach遍历4、groupingB

Java操作PDF文件实现签订电子合同详细教程

《Java操作PDF文件实现签订电子合同详细教程》:本文主要介绍如何在PDF中加入电子签章与电子签名的过程,包括编写Word文件、生成PDF、为PDF格式做表单、为表单赋值、生成文档以及上传到OB... 目录前言:先看效果:1.编写word文件1.2然后生成PDF格式进行保存1.3我这里是将文件保存到本地后

Python使用Colorama库美化终端输出的操作示例

《Python使用Colorama库美化终端输出的操作示例》在开发命令行工具或调试程序时,我们可能会希望通过颜色来区分重要信息,比如警告、错误、提示等,而Colorama是一个简单易用的Python库... 目录python Colorama 库详解:终端输出美化的神器1. Colorama 是什么?2.

Python视频剪辑合并操作的实现示例

《Python视频剪辑合并操作的实现示例》很多人在创作视频时都需要进行剪辑,本文主要介绍了Python视频剪辑合并操作的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习... 目录介绍安装FFmpegWindowsMACOS安装MoviePy剪切视频合并视频转换视频结论介绍

Windows自动化Python pyautogui RPA操作实现

《Windows自动化PythonpyautoguiRPA操作实现》本文详细介绍了使用Python的pyautogui库进行Windows自动化操作的实现方法,文中通过示例代码介绍的非常详细,对大... 目录依赖包睡眠:鼠标事件:杀死进程:获取所有窗口的名称:显示窗口:根据图片找元素:输入文字:打开应用:依

Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南

《Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南》在日常数据处理工作中,我们经常需要将不同Excel文档中的数据整合到一个新的DataFrame中,以便进行进一步... 目录一、准备工作二、读取Excel文件三、数据叠加四、处理重复数据(可选)五、保存新DataFram

SpringBoot生成和操作PDF的代码详解

《SpringBoot生成和操作PDF的代码详解》本文主要介绍了在SpringBoot项目下,通过代码和操作步骤,详细的介绍了如何操作PDF,希望可以帮助到准备通过JAVA操作PDF的你,项目框架用的... 目录本文简介PDF文件简介代码实现PDF操作基于PDF模板生成,并下载完全基于代码生成,并保存合并P

Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单

《Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单》:本文主要介绍Springboot的ThreadPoolTaskScheduler线... 目录ThreadPoolTaskScheduler线程池实现15分钟不操作自动取消订单概要1,创建订单后

SpringBoot操作spark处理hdfs文件的操作方法

《SpringBoot操作spark处理hdfs文件的操作方法》本文介绍了如何使用SpringBoot操作Spark处理HDFS文件,包括导入依赖、配置Spark信息、编写Controller和Ser... 目录SpringBoot操作spark处理hdfs文件1、导入依赖2、配置spark信息3、cont

使用JavaScript操作本地存储

《使用JavaScript操作本地存储》这篇文章主要为大家详细介绍了JavaScript中操作本地存储的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录本地存储:localStorage 和 sessionStorage基本使用方法1. localStorage