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

news2025/1/11 15:08:41

目录

  • 一、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、转把测试


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接口的固件,

  • 请使用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、转把测试




待续
刚买了转把,请等待

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

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

相关文章

SpringBoot作日志切面记录

目录 1.WebLogAspect 2.配置log4j2.yml 3.效果 话不多说,直接上代码: 1.WebLogAspect import java.util.Arrays;import javax.servlet.http.HttpServletRequest;import org.apache.commons.lang3.StringUtils; import org.apache.commons.text.Str…

第Y2周:训练自己的数据集

我的环境: 训练自己的数据集 一、准备自己的数据集1. 编写split_train_val.py文件2.生成训练文件索引文件 二、创建训练yaml文件三、开始训练 一、准备自己的数据集 数据集来源:kaggle水果检测 目录结构如下: 1. 编写split_train_val.py…

ClickHouse基本使用总结

查看系统配置 查看系统表 select * from system.clusters; 验证zookeeper #验证zookeeper是否与当前数据库clickhouse进行了正确的配置 SELECT * FROM system.zookeeper WHERE path /clickhouse; 建表 创建本地表 MergeTree,这个引擎本身不具备同步副本的功能&…

Kali Linux 2023.2 发布(Hyper-V 和 PipeWire)

Kali Linux 2023.2 发布(Hyper-V 和 PipeWire) 请访问原文链接:https://sysin.org/blog/kali-linux-2023/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 更新说明 2023 年 5 月 30 日&…

国产上新!芯驰D9多核Cortex-A55核心板,国产车规级平台

随着信息技术的快速发展,市场对芯片的需求越来越大,中国芯片行业自20世纪80年代开始起步,经过近40年的努力,也进入了一个新的时代,芯片国产化乃未来发展的大势所趋。米尔电子作为行业领先的嵌入式模组厂商,…

【Difussion Model】理解和编程

目录 理论框架text-to-imgaedecodergeneration modelclip的原理 FID指标:评估图像生成的好坏数学原理 理论 框架 不断的进行去噪,并且在这个过程中,step也作为“去噪模型(其实就是扩散模型)”的输入: de…

iOS应用上架详细图文教程

App Store作为苹果官方的应用商店,审核严格周期长一直让用户头疼不已,很多app都“死”在了审核这一关,那我们就要放弃iOS用户了吗?当然不是!本期我们从iOS app上架流程开始梳理,详细了解下iOS app上架的那些…

项目管理与任务管理:关键的差异和共同点

在商业世界中,了解项目和任务之间的区别对于有效的工作流程管理至关重要。项目和任务经常被混淆,但它们需要不同的技术和方法来有效管理。本文将比较和对比项目和任务,强调它们的主要区别和各自带来的独特挑战。 项目与任务管理的主要区别在…

三分钟了解Spring Boot 的启动流程

👏作者简介:大家好,我是冰点,从业11年,目前在物流独角兽企业从事技术方面工作,🍂博主正在努力完成2023计划中:以梦为马,扬帆起航,2023追梦人📝联系…

MySQL - 分库分表、MyCat配置、分片规则

文章目录 分库分表一、概述1.1 分库分表原因1.2 拆分策略1.2.1 垂直拆分1.2.2 水平拆分 1.3 实现技术 二、安装Mycat2.1 介绍2.2 安装 三、MyCat入门3.1 环境准备3.2 分片配置3.2.1 schema.xml3.2.2 server.xml 3.3 启动测试 四、MyCat配置4.1 schema.xml 配置文件4.1.1 schema…

你知道探针台的功能有哪些吗

探针台的主要用途是为半导体芯片的电参数测试提供一个测试平台,探针台可吸附多种规格芯片,并提供多个可调测试针以及探针座,配合测量仪器可完成集成电路的电压、电流、电阻以及电容电压特性曲线等参数检测。适用于对芯片进行科研分析&#xf…

你还在用 top?这有几个更牛逼的选择

简介 作为一个运维人员,很多时候需要知道服务器的实时情况,比如 Windows 系统的任务管理器,下面我描述的是基于 Linux 系统,你可能听说最流行的就是‘top’【基于终端的系统监视工具】。 top:实时程序可帮助显示所有正…

< axios封装篇 :一文看懂Axios + ElementUi 配置全局遮罩loading >

axios封装篇 :一文看懂axios配置全局遮罩loading 👉 实现原理👉 Axios封装> loading配置文件> axios封装文件 往期内容 💨 今天这篇文章,主要是用于补充上次的 axios封装相关文章,用于补充全局配置接…

拿捏 二叉树前序遍历、中序遍历、后序遍历非递归实现!

二叉树前序遍历非递归实现 在不使用递归的方式遍历二叉树时,我们可以使用一个栈模拟递归的机制。二叉树的前序遍历顺序是:根 → 左子树 → 右子树,我们可以先将二叉树的左路结点入栈,在入栈的同时便对其进行访问,此时就…

安装Docker使用Docker安装部署MySQL和Redis

Docker安装 sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine sudo yum remove -y yum-utils sudo yum install -y yum-utils sudo yum-config-manager --add-re…

【企业化架构部署】Nginx优化与防盗链

文章目录 引言一、Nginx 服务优化1. 隐藏版本号1.1 网页查看 Nginx 版本1.2 命令查看 Nginx 版本1.3 修改配置文件方式1.4 修改源码文件,重新编译安装 2. 修改 Nginx 用户与组2.1 编译安装时指定2.2 修改配置文件方式 3. 配置网页缓存时间4. 日志分割5. 设置连接超时…

(3)NUC980 kenerl编译

解压 用到的配置文件位置: /NUC980-linux-4.4.y-master/arch/arm/configs/nuc980_defconfig 执行: 编译linux内核源码。了解其 配置文件在 arch/arm/configs/nuc980_defconfig (1) make nuc980_defconfig 载入配置文件 (2) make menuconfig --->Devi…

ImageNet Classification with Deep ConvolutionalNeural Networks

AlexNet网络实现:https://blog.csdn.net/weixin_43912621/article/details/127757396 ImageNet Classification with Deep ConvolutionalNeural Networks Abstract We trained a large, deep convolutional neural network to classify the 1.2 million high-res…

面试官问,Vue.js和React.js之间有什么区别

Vue.js和React.js的区别 Vue.js和React.js都是流行的前端框架,它们都采用了组件化的开发方式,可以将大型应用程序分解为多个小组件,从而更加方便地管理和维护应用程序。尽管Vue.js和React.js在许多方面都有相似之处,但它们之间仍…

flutter android 多渠道打包 --dart-define

多渠道打包需求很普遍,甚至开发环境下 也需要不同环境测试,提供不同名称或者 不同包名的APK(方便测试 防止覆盖) 纯 Android 多渠道思路: 配置 .gradle 中的 buildTypes, 但是这个思路在 Flutter 中有坑&am…