当前位置: 首页 > news >正文

三款经典的轮式/轮足机器人讲解,以及学习EG2133产生A/B/C驱动电机。个人机器人学习和开发路线(推荐)

1,灯哥开源(有使用指南,适合刚入门新手)

机械部分:2个foc无刷电机
硬件和软件部分:没有驱动板子。只有驱动器,主控板esp32和驱动器通过pwm直接通讯。驱动器板子上有蓝色电机接口,直接驱动电机。2个eg2133+1个esp32主控芯片----esp32产生pwm驱动eg2133产生电机驱动的A/B/C相位,开发的实在arduino ide下开发
安装教程:使用指南
开源地址:https://github.com/ToanTech/Balance_Bot_DengFOC

EG2133是一款高性价比的大功率 MOS 管、IGBT 管栅极驱动专用芯片,内部集成了逻辑信号输入处 理电路、死区时控制电路、闭锁电路、电平位移电路、脉冲滤波电路及输出驱动电路。   EG2133高端的工作电压可达300V,低端VCC的电源电压范围宽4.5V~20V。

EG2133可以接收PWM信号并驱动FOC无刷电机。在这种配置中,微控制器(例如ESP32)会生成适当的PWM信号来控制电机的转速和方向123。然后,这些PWM信号被送入EG2133,它会根据这些信号驱动连接到其输出端的电机。这样,你就可以通过改变PWM信号来精确地控制无刷电机的行为12。 值得注意的是,虽然EG2133可以处理PWM信号并驱动电机,但是它并不直接生成PWM信号。相反,PWM信号通常由微控制器或类似设备生成12。此外,使用EG2133驱动无刷电机时,需要确保电路设计得当,以防止MOS管击穿冒烟3。

截图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2,国旋学长(可以快速实现轮足)

机械部分:4个舵机+2个foc无刷电机的方案
板子硬件和软件架构1个esp32驱动板+1个esp32主控板—主控和驱动板之间是esp32到esp32,通过串口通讯,驱动板esp32输出pwm驱动mos管 产生A/B/C,开发工具驱动板和主控板都是在arduino下开发
开源地址:https://github.com/HuGuoXuang/Hyun
截图:
在这里插入图片描述

3,FOC 双轮腿机器人项目(更为先进,使用了主控和驱动板之间使用了can通讯)

电机和机械部分:4个4010无刷电机+2个2804无刷电机(4010无货,有人用)
硬件和软件框架:6个stm32-foc(刷电机驱动板)+1个esp32-controller(主运动控制模块)
驱动板子开发使用的是PlatformIO平台,主控制模块开发使用的是keil IDE开发。主控板和驱动板之间通过can总线直接通讯
platformio平台开发教程:2020年你还在用Arduino??快开始用PlatformIO开发Esp8266/32、Arduino、STM32,十分钟亲测ESP8266
B站视频介绍:https://www.bilibili.com/video/BV1bP411k75b/
开源地址:https://github.com/Skythinker616/foc-wheel-legged-robot
立创开源广场:https://oshwhub.com/skythinker/simplefoc103
图片:
在这里插入图片描述

4,开发工具

开发工具用arduino,它可以开发stm32和esp32以及arduino uno(这个uno被淘汰20年前技术,不推荐),

在arduino ide上开发stm32和esp32非常方便,不用过多的配置底层端口驱动等,只需要注重业务逻辑开发就行了。

调试上位机使用simplefoc studio
学习参考链接:simplefoc开发基础入门,Commander command = Commander(Serial)的含义,以及simplefocstudio如何使用对PID进行调试

5,其他注意事项,以及个人建议

调试方法:使用esp32可以很方便的将motor对象通过串口发送给上位机simplefocsutido,然后进行调试,这个方案很方便开发调试一些pid等算法
架构方案:4个无刷电机+2个无刷(最终方案),可提供足够的弹跳扭矩
学习路线:先学习登哥开源的foc平衡车,然后根据自己掌握的情况在去复刻和实现上述轮足的项目,其他轮足项目暂时不推荐,因为可能有一些难以避免的缺陷。

相关文章:

三款经典的轮式/轮足机器人讲解,以及学习EG2133产生A/B/C驱动电机。个人机器人学习和开发路线(推荐)

1,灯哥开源(有使用指南,适合刚入门新手) 机械部分:2个foc无刷电机 硬件和软件部分:没有驱动板子。只有驱动器,主控板esp32和驱动器通过pwm直接通讯。驱动器板子上有蓝色电机接口,直…...

apache开启https

本文基于windows平台。 个人感觉使用apache配置起来比较繁琐,而使用upupw或者xmpp等集成开发工具更方便。 在httpd.conf中,将下一行的注释去掉:LoadModule ssl_module modules/mod_ssl.so。另外,千万不要注释掉下面的一行&#…...

绝地求生游戏缺少msvcp140.dll丢失打不开怎么办?这6个方法都能修复

计算机系统中,我们经常遇到各种错误和问题。其中,“MSCVCP140.DLL丢失”是一个常见的错误,它通常出现在运行某些程序或游戏时。这个DLL文件是Microsoft Visual C 2015 Redistributable的一部分,如果它丢失或损坏,可能会…...

【广州华锐互动】石油钻井井控VR互动实训系统

随着科技的不断发展,虚拟现实(VR)技术已经逐渐渗透到各个领域,为人们的生活和工作带来了前所未有的便利。在石油钻井行业,VR技术的应用也日益受到重视,为钻井工人提供了更加安全、高效的培训方式。 广州华锐…...

单链表算法经典OJ题

目录 1、移除链表元素 2、翻转链表 3、合并两个有序链表 4、获取链表的中间结点 5、环形链表解决约瑟夫问题 6、分割链表 1、移除链表元素 203. 移除链表元素 - 力扣(LeetCode) typedef struct ListNode LSNode; struct ListNode* remove…...

Picnic master project interview

picnic Picnic master project interview1. Topics1.1 Systematically identify similar/interchangeable articles1.2 Understanding changing customer behaviour 2. interview等后续 Picnic master project interview 1. Topics 1.1 Systematically identify similar/inte…...

nginx部署vue项目(访问路径加前缀)

nginx部署vue项目(访问路径加前缀) nginx部署vue项目,访问路径加前缀分为两部分: (1)修改vue项目; (2)修改nginx配置; vue项目修改 需注意,我这是vue-cli3配置&#x…...

element-ui中表格树类型数据的显示

项目场景&#xff1a; 1&#xff1a;非懒加载的情况 1&#xff1a;效果展示 2&#xff1a;问题描述以及解决 1&#xff1a;图片展示 2&#xff1a;html <-- default-expand-all 代表默认展开 如果不展开删除就行 --> <el-tableref"refsTable"v-loadin…...

【扩散模型】如何用最几毛钱生成壁纸

通过学习扩散模型了解到了统计学的美好&#xff0c;然后顺便记录下我之前文生图的基础流程~ 扩散模型简介 这次是在DataWhale的组队学习里学习的&#xff0c;HuggingFace开放扩散模型学习地址 扩散模型训练时通过对原图增加高斯噪声&#xff0c;在推理时通过降噪来得到原图&…...

零基础Linux_17(进程间通信)VSCode环境安装+进程间通信介绍+pipe管道mkfifo

目录 1. VSCode环境安装 1.1 使用VSCode 1.2 远程链接到Linux机器 1.3 VSCode调试 2. 进程间通讯介绍 2.1 进程间通讯的概念和意义 2.2 进程间通讯的策略和本质 3. 管道 3.1 管道介绍 3.2 匿名管道介绍 3.3 匿名管道示例代码 3.3.1 建立管道的pipe 3.3.2 匿名管道…...

Redis的BitMap使用

Redis的BitMap使用 Redis 为我们提供了位图这一数据结构&#xff0c;每个用户每天的登录记录只占据一位&#xff0c;365天就是365位&#xff0c;仅仅需要46字节就可存储&#xff0c;极大地节约了存储空间。 位图不是实际的数据类型&#xff0c;而是一组面向位的操作 在被视为…...

java并发编程之基础与原理1

java多线程基础 下面说一下线程的7种状态 下面我重点来说一下阻塞状态 阻塞状态是可以分很多种的&#xff1a; 下面用另外一张图来说明这种状态 简单说一下线程的启动原理 下面说一下java中的线程 java线程的异步请求方式 上面就会先把main执行出来&#xff0c;等阻塞结束之后…...

⟨A⟩ = Tr(ρA) 从数学上来讲什么意思

当给定一个具体的密度矩阵ρ和一个可观测量A时&#xff0c;我们可以通过数值计算来演示〈A〉 Tr(ρA) 的应用。 假设我们有以下密度矩阵和可观测量&#xff1a; ρ [0.6 0.3; 0.3 0.4] A [1 0; 0 -1] 我们首先计算ρA的乘积&#xff1a; ρA [0.6 0.3; 0.3 0.4] * [1 0…...

Vue中的v-model指令的原理是什么?

在Vue中&#xff0c;v-model是一个双向绑定指令&#xff0c;它的原理是将表单元素的值与Vue实例中的数据属性进行双向绑定。当表单元素的值发生变化时&#xff0c;会自动更新Vue实例中对应的数据属性&#xff1b;反之&#xff0c;当Vue实例中的数据属性发生变化时&#xff0c;也…...

2023服务端测试开发必备技能:Mock测试

什么是mock测试 Mock 测试就是在测试活动中&#xff0c;对于某些不容易构造或者不容易获取的数据/场景&#xff0c;用一个Mock对象来创建以便测试的测试方法。 Mock测试常见场景 无法控制第三方系统接口的返回&#xff0c;返回的数据不满足要求依赖的接口还未开发完成&#…...

ExoPlayer架构详解与源码分析(5)——MediaSource

系列文章目录 ExoPlayer架构详解与源码分析&#xff08;1&#xff09;——前言 ExoPlayer架构详解与源码分析&#xff08;2&#xff09;——Player ExoPlayer架构详解与源码分析&#xff08;3&#xff09;——Timeline ExoPlayer架构详解与源码分析&#xff08;4&#xff09;—…...

控制一个游戏对象的旋转和相机的缩放

介绍 这段代码是一个Unity游戏开发脚本&#xff0c;它用于控制一个游戏对象的旋转和相机的缩放。以下是代码的主要功能&#xff1a; 控制游戏对象的旋转&#xff1a; 通过按下Q键和W键&#xff0c;用户可以选择以逆时针或顺时针方向绕游戏对象的Y轴进行旋转。旋转角度和速度可…...

【数据结构】线性表(二)单链表及其基本操作(创建、插入、删除、修改、遍历打印)

目录 前文、线性表的定义及其基本操作&#xff08;顺序表插入、删除、查找、修改&#xff09; 四、线性表的链接存储结构 1. 单链表&#xff08;C语言&#xff09; a. 链表节点结构 b. 创建新节点 c. 在链表末尾插入新节点 d. 删除指定节点 e. 修改指定节点的数据 f. …...

label的作用是什么?是怎么用的?(1)

Label&#xff08;标签&#xff09;在不同的上下文中有不同的作用和用途。以下是几种常见的用途和用法&#xff1a; 1. 数据标注&#xff1a;在机器学习和数据科学中&#xff0c;标签用于标识数据样本的类别或属性。标注数据是监督学习中的一项重要任务&#xff0c;它为算法提…...

C- 使用原子变量实现自旋锁

自旋锁 自旋锁&#xff08;Spinlock&#xff09;是一种常用于多线程编程中的低开销锁&#xff0c;其特点是当线程尝试获取锁而锁已被其他线程占用时&#xff0c;该线程会处于一个持续的忙等待&#xff08;busy-wait&#xff09;状态&#xff0c;直到它可以获取到锁为止。这种方…...

大数据学习栈记——Neo4j的安装与使用

本文介绍图数据库Neofj的安装与使用&#xff0c;操作系统&#xff1a;Ubuntu24.04&#xff0c;Neofj版本&#xff1a;2025.04.0。 Apt安装 Neofj可以进行官网安装&#xff1a;Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

LeetCode - 394. 字符串解码

题目 394. 字符串解码 - 力扣&#xff08;LeetCode&#xff09; 思路 使用两个栈&#xff1a;一个存储重复次数&#xff0c;一个存储字符串 遍历输入字符串&#xff1a; 数字处理&#xff1a;遇到数字时&#xff0c;累积计算重复次数左括号处理&#xff1a;保存当前状态&a…...

c++ 面试题(1)-----深度优先搜索(DFS)实现

操作系统&#xff1a;ubuntu22.04 IDE:Visual Studio Code 编程语言&#xff1a;C11 题目描述 地上有一个 m 行 n 列的方格&#xff0c;从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子&#xff0c;但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

多种风格导航菜单 HTML 实现(附源码)

下面我将为您展示 6 种不同风格的导航菜单实现&#xff0c;每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

10-Oracle 23 ai Vector Search 概述和参数

一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI&#xff0c;使用客户端或是内部自己搭建集成大模型的终端&#xff0c;加速与大型语言模型&#xff08;LLM&#xff09;的结合&#xff0c;同时使用检索增强生成&#xff08;Retrieval Augmented Generation &#…...

【JVM面试篇】高频八股汇总——类加载和类加载器

目录 1. 讲一下类加载过程&#xff1f; 2. Java创建对象的过程&#xff1f; 3. 对象的生命周期&#xff1f; 4. 类加载器有哪些&#xff1f; 5. 双亲委派模型的作用&#xff08;好处&#xff09;&#xff1f; 6. 讲一下类的加载和双亲委派原则&#xff1f; 7. 双亲委派模…...

微服务通信安全:深入解析mTLS的原理与实践

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、引言&#xff1a;微服务时代的通信安全挑战 随着云原生和微服务架构的普及&#xff0c;服务间的通信安全成为系统设计的核心议题。传统的单体架构中&…...