一起玩儿平衡车(ESP32)——02 平衡车的组装与接线方法

摘要:本文介绍平衡车的组装与接线方法

前边介绍了所要实现的平衡车的组成,接下来就来把小车组装起来。首先是下层底板的底面要固定两个轮子。这个只要固定孔位没有问题,用螺丝直接将轮子支架固定上去就可以了。固定好后如下图所示:

在安装车轮的时候,要特别注意的一点是,一定要保证两个电机的轴在一条直线上,这样两个轮子在同向旋转的时候发力是垂直于轴向并且向同一个方向的,不会出现能量的内耗。另外就是两轮的轴线要位于两个长边中心线的正上方,这样小车初始重心就会落在两轮的轴线上,更有利于最终的直立平衡。同样的,安装其他设备到小车上的时候,也尽量以轴线为中心,将质量平均的分布在轴线的两侧,这样在平衡的时候,你的小车看上去才是平的。否则,可能在小车平衡的时候,车底板不是水平的,看上去会有些怪怪的。

在底板的另一面,我安装了锂电池盒、LM2596S稳压模块和TB6612FNG电机驱动模块,电池安装在了正中央,另外两个模块一左一右。安装好后的样子如下图所示:

电池盒的左边是TB6612FNG电机驱动模块,下边通过一个面包板固定在底板上,中间使用了排针插座,这样将来还可以把TB6612FNG电机驱动模块拔下来继续使用。右侧的LM2596S稳压模块则是利用安装孔和M3铜柱,直接固定在了小车下层底板上。电池盒也是通过螺丝穿过底部固定孔固定在下层底板上的。这些器件的固定一定要牢固,不能晃动,因为在调试甚至运行阶段,小车都有可能有激烈的震动,固定不牢固一方面可能引起导线的短路或者连接不实,另一方面还有可能造成小车重心位置的改变而影响小车直立的稳定性。

下边就是给ESP32系统板和姿态模块MPU6050供电的AMS1117模块,我把它安装在了车身上层板的靠近边上的底面,装完之后,面朝下。之所以这样安装,是因为我在车身顶层板的中间挖了个洞,然后在空洞处安装了一块儿面包板,在这个面包板上焊接底座后,可以在正面插上ESP32系统板和MPU6050模块,所以,将稳压电源模块AMS1117安装在上层板的底面会更方便些,如下图所示:

最后就是ESP32模块和MPU6050模块通过2.54mm的插座插在了面包板上,装好后的样子如下图所示:

好了,全部器件都找到位置安装了,下面就来看一下如何接线了。电池盒内部的过充、过放、短路保护模块的安装就不再介绍了,可以参考前一篇文章。

下面来看一下底层底板和上层稳压模块的接线方法,如图所示:

在上图中可以看到,电池盒的输出正负极直接连接LM2596S稳压模块的输入端IN+和IN-。稳压模块LM2596S稳压模块的输出端分别接稳压模块ASM1117的VIN+和GND以及电机驱动模块TB6612FNG的VM和GND。ASM1117的两个输出端VOUT和GND分别供电给电机驱动模块TB6612FNG的VCC端、ESP32的VCC、GND端和姿态模块MPU6050的VCC、GND端。

在这里需要注意的是,电机驱动模块TB6612FNG的PWMA端、STBY端和PWMB端都要连接到VCC,也就是保持始终是高电平。然后TB6612FNG模块的AIN1、AIN2、BIN1和BIN2连接到ESP32的控制引脚,如果不是使用我标注的引脚,那么在后边编写程序的时候一定别忘了做相应的修改。最后就是TB6612FNG的AO1、AO2连接到左电机,BO1、BO2连接到右电机。电机的两根电源线是随便连接的,后面如果发现电机转动方向不对,软件交换一下控制引脚就可以了。

最后就是ESP32模块和MPU6050的接线了,在完成这两个模块的供电线之后,就只剩下两者之间I2C通讯的SDA和SCL线需要连接了。在这里,将MPU6050的SDA、SCL连接到ESP32的P18和P19就可以了。如果不是这两个引脚,后边注意在程序中做相应的修改。

好了,所有的连线就都介绍完了。为了避免遗漏,给大家整理了一张表格,建议连线的时候对着表格,每连好一根就打勾记录一下,避免遗漏。表格如下所示:

电池盒+

LM2596S的IN+

£

电池盒-

LM2596S的IN-

£

LM2596的OUT+

ASM1117的VIN

£

TB6612FNG的VM

£

LM2596的OUT-

ASM1117的GND

£

TB6612FNG的GND

£

ASM1117的VOUT

TB6612FNG的VCC

£

TB6612FNG的PWMA

£

TB6612FNG的PWMB

£

TB6612FNG的STBY

£

ESP32的VCC

£

MPU6050的VCC

£

ASM1117的GND

ESP32的GND

£

MPU6050的GND

£

TB6612FNG的AIN1

ESP32的P27

£

TB6612FNG的AIN2

ESP32的P25

£

TB6612FNG的BIN1

ESP32的P32

£

TB6612FNG的BIN2

ESP32的P17

£

TB6612FNG的AO1

左电机

£

TB6612FNG的AO2

左电机

£

TB6612FNG的BO1

右电机

£

TB6612FNG的BO2

右电机

£

ESP32的P18

MPU6050的SDA

£

ESP32的P19

MPU6050的SCL

£

有了这个清单,就可以按照清单一点点的来接线了。在下一期中,将详细的介绍接线的流程,以及每一步都要进行的测试,确保整个接线工作可以顺利完成。好了,下期再见!

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

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

相关文章

基础小白快速入门c语言--

变量: 表面理解:在程序运行期间,可以改变数值的数据, 深层次含义:变量实质上代表了一块儿内存区域,我们可以将变量理解为一块儿内存区域的标识,当我们操作变量时,相当于操作了变量…

罐头鱼AI传单功能操作说明|二次剪辑创作|AI智剪|批量剪辑视频

罐头鱼AI传单功能操作说明 1. 首页显示 账号登录状态 可绑定账号数量 已绑定账号数量 已绑定账号显示 显示最近上传视频素材 显示新上传素材列表 QQ:290615413 2. 抖音账号绑定功能 显示登录账号 已绑定账号 可绑定账号数量 可授权绑定抖音账号 3. 账号管理列表 显…

Netty5 入门HelloWorld

一、客户端代码及关键类说明 /*** netty5的客户端* author -zhengzx-**/ public class ClientSocket {public static void main(String[] args) {//服务类Bootstrap bootstrap new Bootstrap();//workerEventLoopGroup worker new NioEventLoopGroup();try {//设置线程池boo…

RC正弦波振荡电路

RC正弦波振荡电路 RC正弦波振荡电路又称文氏电桥振荡电路,可以设计频率为f1/2πRC的正弦波发生器。 RC正弦波振荡电路设计:50Hz,振幅为3.47V 电路分析: 1.起振条件取决于R1, R4,R2与1N4148并联电阻(下面简称Rf&#…

B端系统:OA界面设计,把用户当傻瓜吧, 少让用户吃瓜

OA系统是稍具规模的企业最常用的系统,有些OA系统体验非常逆天,把用户当成了吃瓜群众,看看热闹还行,一旦上手操作就抓瞎了,大千UI工场结合自身经验对这个问题进行分析,希望可以抛砖引玉。 一、OA概述 OA系…

【飞桨EasyDL】飞桨EasyDL发布的模型转换onnx(附工程代码)

一个愿意伫立在巨人肩膀上的农民...... 一、paddle转onnx转rknn环境搭建 paddle转onnx和onnx转rknn两个环境可以分开搭建,也可以搭建在一起。这里选择分开搭建,先搭建paddle转onnx。 1.1、创建环境 选择python3.8.13包进行创建环境 conda create --nam…

Day09:基础入门-算法逆向散列对称非对称JS源码逆向AESDESRSASHA

目录 算法加密-概念&分类&类型 加密解密-识别特征&解密条件 解密实例-密文存储&数据传输 思维导图 章节知识点: 应用架构:Web/APP/云应用/三方服务/负载均衡等 安全产品:CDN/WAF/IDS/IPS/蜜罐/防火墙/杀毒等 渗透命令&am…

电子科技大学《数据库原理及应用》(持续更新)

前言 电子科技大学的数据库课程缩减了部分的课时,因此,可能并不适合所有要学习数据库的宝子们,但是,本人尽量将所有数据库的内容写出来。本文章适用于本科生的期中和期末的复习,电子科技大学的考生请在复习前先看必读…

MySQL相关知识汇总

MySQL是一个广泛使用的开源关系型数据库管理系统,它以其高性能、稳定性和易用性而备受开发者喜爱。在软件开发领域,无论是大型项目还是小型应用,MySQL都扮演着重要的角色。本文将对MySQL的一些关键知识点进行汇总,帮助读者更好地了…

5. informer源码分析-概要分析

k8s client-go k8s informers 实现了持续获取集群的所有资源对象、监听集群的资源对象变化功能,并在本地维护了全量资源对象的内存缓存,以减少对 apiserver、对 etcd 的请求压力。Informers 在启动的时候会首先在客户端调用 List 接口来获取全量的对象集…

日常科研中经常使用的命令

Linux目录树状结构 1. Windows是磁盘分区,Linux不区分盘符,所有文件都在根目录斜线下面; 2. 根目录显示不同,Linux是一个斜线,而windows是盘符,然后冒号; 3. 分割目录Linux用斜线&#xff0c…

化肥工业5G智能制造工厂数字孪生可视化平台,推进化肥行业数字化转型

化肥工业5G智能制造工厂数字孪生可视化平台,推进化肥行业数字化转型。随着科技的不断发展,数字化转型已经成为各行各业发展的必然趋势。在化肥工业领域,5G智能制造工厂数字孪生可视化平台的应用正在逐渐普及,为行业数字化转型提供…

租用云服务器租时要注意的问题有哪些?

随着云计算的不断发展,对云计算服务器的需求也越来越大。 那么,我们应该如何以正确的态度和方法来选择云服务器呢? 租用云服务器需要注意哪些问题? 1.了解您需要的云服务类型 了解您的云计算需求将使您了解您正在寻求的服务类型…

让两个电脑通信的方法(TCP连接,UDP连接,C/S架构)

目录 TCP-面向连接UDP-面向无连接C/S架构服务器和客户端的工作过程C/S架构例子 让两个电脑通信的方法是 在C/S的基础上,采用TCP和UDP的方式连接 TCP-面向连接 UDP-面向无连接 C/S架构 服务器和客户端的工作过程 C/S架构例子 服务器与客户端通信的过程类似公司与客户…

微信小程序云开发教程——墨刀原型工具入门(添加交互事件)

引言 作为一个小白,小北要怎么在短时间内快速学会微信小程序原型设计? “时间紧,任务重”,这意味着学习时必须把握微信小程序原型设计中的重点、难点,而非面面俱到。 要在短时间内理解、掌握一个工具的使用&#xf…

殿堂级Flink源码极精课程预售

一、为什么我们要读源码? 1、让个人技术快速成长: 优秀的开源框架,底层的源码设计思想也非常优秀,同时还有含有大量的设计模式和并发编程技术,优秀的解决方案,熟读源码对猿们技术提升有很大帮助 2、新技术学习能力: Java开源码框架的源码熟读后,若出现…

【Datawhale组队学习:Sora原理与技术实战】Sora技术原理

Sora能力边界探索 最大支持60秒高清视频生成,以及基于已有短视频的前后扩展,同时保持人物/场景的高度一致性如奶茶般丝滑过渡的视频融合能力同一场景的多角度/镜头的生成能力具有动态摄像机运动的视频。随着摄像机的移动和旋转,人和其 他场景…

javaScript 深浅拷贝

javaScript深浅拷贝 浅拷贝 自己创建一个新的对象,来接受你要重新复制或引用的对象值。如果对象属性是基本的数据类型,复制的就是基本类型的值给新对象,但如果属性是引用数据类型,复制的就是内存中的地址,如果其中一个…

Python 编程中的迭代器、生成器和装饰器探究【第110篇—迭代器】

Python 编程中的迭代器、生成器和装饰器探究 在Python编程中,迭代器(Iterators)、生成器(Generators)和装饰器(Decorators)是三个强大的概念,它们为代码的可读性、效率和灵活性提供…

PaddleOCR的部署教程(实操环境安装、数据集制作、实际应用案例)

文章目录 前言 PaddleOCR简介 一、PaddleOCR环境搭建 因为我之前安装过cuda和cudnn,查看cuda的版本根据你版本安装合适的paddlepaddle版本(之前没有安装过cuda的可以看我这篇文章Ubuntu20.04配置深度学习环境yolov5最简流程) 1.创建一个…