0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于STM32的两轮平衡小车设计

电子工程技术 来源:电子工程技术 2023-07-25 15:48 次阅读

学习一种单片机最快的方式莫过于用它实际制作一个作品了,前些天看到有人在玩平衡小车,感觉非常有趣,于是就决定自己动手制作一个基于stm32的两轮平衡小车。从电路板设计,到程序编写,一步一步的,希望自己在这个过程中有一定的收获。

电路设计的基本过程一般是这样的:需求分析——元件选型——原理图设计——PCB设计——焊接调试。

需求分析:在这里,主要是确定小车需要哪些模块、外设或接口。首先,stm32最小系统是必须的,这是小车控制的核心。然后小车的两个轮子需要两个H桥驱动和编码器接口。需要陀螺仪感知小车的姿态(包括倾角,转向角,角速度等)。

需要一些调试和指示用的外设(蜂鸣器,LED等)。需要电源电路为系统供电。需要电池电压采集电路来实时采集电池电压,做低压报警,防止电池过放。需要下载接口和调试用的串口。基本就是根据自己想要实现功能,然后确定需要那些部分的电路。

元件选型:为需要的各个部分电路选择元件,一般来说,主要是选择何种型号、什么封装的芯片,对于一些比较特殊的电路,即使是电阻电容这样常见的无源器件也需要认真选择,然而平衡小车的电路中并不需要一些高精度或很高速的电路部分,所以,下面主要介绍如何选择各个电路部分的主要芯片。

1.最小系统:考虑到小车的主控板可以作为今后做四轴或其他更高级的机器人的基础电 路,所以主控选择了stm32F405RGT6,这款主控是M3内核的,主频可以达到168M, 有丰富的外设资源可以使用,性能非常强悍,非常适合以后的开发和拓展。

2.电机驱动:小车的两个轮子电机需要两个H桥驱动。驱动的选择和电机的参数紧密相 关。我选用的电机的正常工作电流360mA,并且考虑到小车在正常情况下基本不会出现赌转的情况,并且为了尽

量减小PCB板的面积,所以选择了东芝的电机驱动芯片 TB6612,该芯片有两个集成的H桥,可以同时驱动两个电机,每个H桥可以持续输出1.2A的电流,PWM频率可以到100kHz,芯片的供电电压最大可以到15V,适合用3S电池供电,并且芯片封装很小,节省PCB面积。

3.电源电路:主要考虑输入电压、输出电压、输出电流等。小车电池采用3S锂聚合物电池,放电率25C,以后做四轴还能用。电池的满电电压12.6V左右,电路中需要5V和 3.3V的电源,因此需要选择两款款芯片将12V电压降压到5V,然后再将5V降压到 3.3V。12V-5V的芯片可以选择MPS公司DCDC降压芯片MP2482,该芯片支持最大 5A电流输出,最大28V电压输入,0.8至25V可调电压输出,符合需求。5V-3.3V选用常见的AMS1117-3.3。

4.陀螺仪:选用MPU6050模块,模块自带了软件滤波算法,采用串口对外输出数据, 在115200波特率的情况下,每秒钟可以输出100帧的数据。

0dfb988a-2a0a-11ee-a368-dac502259ad0.jpg

原理图设计:

1.最小系统:包括stm32f405rgt6,晶振电路,复位电路。R2和R3用于配置启动方式。C9和C12是单片机内部电源变换部分的滤波电容。最小系统基本都是一样的,按照常用的电路设计一般没有错。那几个电容式芯片的去耦电容,注意一下,模拟电压、模拟地和数字电源、数字地之间用磁珠隔离,防止数字电路的高频噪声影响到模拟电路的精度。

0e0f6874-2a0a-11ee-a368-dac502259ad0.png

2.电源电路:R22和R23将电池电压分压到1.2V,接到单片机内部的ADC引脚,监控电池电压,防止过放。

0e596938-2a0a-11ee-a368-dac502259ad0.png

3.电机驱动和编码器电路:基本就是按照芯片datasheet上的参考电路设计的,注意做好电源去耦,因为电机的电压较高、电流较大,容易通过电源网络对其它电路产生影响。

0e76ea12-2a0a-11ee-a368-dac502259ad0.png

4.陀螺仪:集成的模块,没啥好说的,把引脚连到单片机上就好了,简单在电源脚上并一个电容做一下电源去耦(不做也无妨,因为模块内部已经做了)。

0e957342-2a0a-11ee-a368-dac502259ad0.png

5.CAN通信:在小车上并没有用到CAN通信,但是CAN通信在现在的机器人设计中应用的非常广泛。并且我们做小车本来就是要学东西的,加上调一下,多学习些知识,何乐而不为呢?

CAN通信用的芯片是飞利浦的TJA1050,这是一个CAN收发器,stm32内部集成了CAN控制器。R4是阻抗匹配的电阻,在整个CAN通信网络中有且只有两个节点焊接此电阻,电阻阻值为120ohm。现在也还没有深入学习CAN通信相关的知识,在以后调试CAN通信的时候再详细学习吧。(^.^)

0ea94b06-2a0a-11ee-a368-dac502259ad0.png

6.调试电路和其他的接口:SWD下载接口,USART调试串口,蓝牙接口(根据选择的蓝牙模块不同确定接口不同引脚的用途,比如使能脚、状态输入脚等,后面写蓝牙的时候详细描述)。蜂鸣器和双色LED灯用于调试和指示。另外又引出了几个定时器的引脚,可以留作拓展使用。

0ec519e4-2a0a-11ee-a368-dac502259ad0.png

0ee61180-2a0a-11ee-a368-dac502259ad0.png

0f077960-2a0a-11ee-a368-dac502259ad0.png

PCB设计:不详细说了吧,工程文件在附件里有。注意事项主要有电源去耦(具体做法可以参考我之前关于电源去耦的博文)、线宽控制(大电流的走线要尽量宽)、开关电源的布局布线。

一般来说主要记住三点就好了:一是芯片的SW的信号是电压高,频率高的开关信号,会对其他电路产生严重的干扰,要尽量远离敏感的电路。二是反馈网络是很敏感的网络,尽量避免受干扰。三是电源的电流较大,注意线宽和过孔的数量、孔径等,保证有能力通过这么大的电流。注意了这三点,集成的DCDC电路一般没有问题等。这里贴一下板子正反两面的3D效果图

0f1e07d4-2a0a-11ee-a368-dac502259ad0.jpg

0f45f9d8-2a0a-11ee-a368-dac502259ad0.png

焊接调试:也不多说了,平时多练练手,0603 QFP这些封装的元件就能轻松搞定了。焊接的时候先焊接电源部分,上电测试电源没有问题的话再焊接其他部分,否则一旦电源有问题,整板全白焊了。下面贴一个焊接调试好了的实物图。

0f82545a-2a0a-11ee-a368-dac502259ad0.jpg

0fa7c83e-2a0a-11ee-a368-dac502259ad0.jpg

嗯,就先写这么些吧。上面写的比较啰嗦,也没有什么高大上的技术,差不多都是硬件电路设计需要的基础知识吧。只是希望将自己设计这块平衡小车电路板的过程比较系统和通俗的介绍一下,能将自己这实践过程中学到的只是和经验分享出来,没怎么接触过这方面的朋友可以将其当作参考,快速入门。同时希望各位高手和达人能多多指教。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 原理图
    +关注

    关注

    1268

    文章

    6180

    浏览量

    225681
  • pcb
    pcb
    +关注

    关注

    4220

    文章

    22472

    浏览量

    385778
  • 电路板
    +关注

    关注

    140

    文章

    4621

    浏览量

    92474
  • 平衡小车
    +关注

    关注

    1

    文章

    38

    浏览量

    12452

原文标题:不动手DIY一下,永远不知道两轮平衡小车硬件设计的门道!

文章出处:【微信号:EngicoolArabic,微信公众号:电子工程技术】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    刀侠DIY洞洞板stm32两轮平衡小车 之 1.物料工具软件准备

    ` 本帖最后由 幻影刀侠 于 2016-4-5 17:01 编辑 刀侠DIY洞洞板stm32两轮平衡小车之1.物料工具软件准备看着发烧友众筹上
    发表于 03-15 09:56

    刀侠DIY洞洞板stm32两轮平衡小车 之 2.底盘电池模块的组装改装

    ` 本帖最后由 幻影刀侠 于 2016-4-5 17:00 编辑 刀侠DIY洞洞板stm32两轮平衡小车之2.底盘电池模块的组装改装准备好所有的物料之后呢,今天对电池、底盘还有其他
    发表于 03-16 13:11

    刀侠DIY洞洞板stm32两轮平衡小车 之 3.原理图和模拟走线

    ` 本帖最后由 幻影刀侠 于 2016-4-5 17:02 编辑 刀侠DIY洞洞板stm32两轮平衡小车之3.原理图和模拟走线继续走起,配置一下管脚,画一下原理图,然后模拟一下走线
    发表于 03-18 14:45

    刀侠DIY洞洞板stm32两轮平衡小车 之 4.控制板焊接

    ` 本帖最后由 幻影刀侠 于 2016-4-5 17:03 编辑 刀侠DIY洞洞板stm32两轮平衡小车之4.控制板焊接开始焊接,本期没多少说的。按照上一期的走线,一点点焊接就好了
    发表于 03-19 18:13

    刀侠DIY洞洞板stm32两轮平衡小车 之 5.APP软件Bluetooth RC Controller解析

    ` 本帖最后由 幻影刀侠 于 2016-4-5 17:05 编辑 刀侠DIY洞洞板stm32两轮平衡小车之5.APP软件Bluetooth RC Controller解析本期介绍一
    发表于 03-21 21:29

    stm32两轮平衡小车速度环

    小车直立环很稳定 加上速度环的p都是可以让小车静止不到但是 加上速度环 I后 车就不能静止车会自己向单方向积分单方向倒#include "pid.h"#include "
    发表于 03-30 17:55

    刀侠DIY洞洞板stm32两轮平衡小车 之 6.走你APP分析

    ` 本帖最后由 幻影刀侠 于 2016-4-1 07:45 编辑 刀侠DIY洞洞板stm32两轮平衡小车之6.走你APP分析本期介绍一款苹果手机蓝牙APP软件“走你”。DFRobo
    发表于 04-01 07:47

    刀侠DIY洞洞板stm32两轮平衡小车 之 7.mbot分析

    ` 本帖最后由 幻影刀侠 于 2016-4-12 17:33 编辑 刀侠DIY洞洞板stm32两轮平衡小车之7.mbot分析本期介绍makeblock推出的mbot软件。这款软件跨
    发表于 04-12 17:30

    DIY一个基于stm32的智能小车,看看有哪些主要设计方式?

    教你DIY一个基于stm32两轮平衡小车, 主要有几个步骤:需求分析——元件选型——原理图设计——PCB设计——焊接调试。有设计过的坛友可以一起交流,我会逐步分享
    发表于 08-19 09:54

    作品秀~DIY基于stm32两轮平衡小车(电路篇)

    学习一种单片机最快的方式莫过于用它实际制作一个作品了,前些天看到有人在玩平衡小车,感觉非常有趣,于是就决定自己动手制作一个基于stm32两轮平衡
    发表于 09-01 14:50

    如何去制作一种基于stm32两轮平衡小车?求过程

    如何去制作一种基于stm32两轮平衡小车?基于stm32两轮
    发表于 07-09 07:47

    stm32两轮平衡小车项目详解 精选资料分享

    的,这是第一个而已。项目所需物料清单主控板用到了c8t6、小车底盘(这个硬件是这项目于最贵的物料了),可以用大鱼电子、或者平衡小车之家的。由于经费的原因,我买了个带电机的车轮、加上了
    发表于 08-03 07:56

    怎样去设计一种基于stm32两轮平衡小车

    两轮平衡小车是由哪些模块组成的?怎样去设计一种基于stm32两轮平衡
    发表于 09-28 06:26

    STM32两轮平衡小车源代码

    基于STM32两轮平衡小车源代码说明。
    发表于 03-17 14:21 62次下载

    stm32两轮平衡小车项目详解

    的,这是第一个而已。项目所需物料清单主控板用到了c8t6、小车底盘(这个硬件是这项目于最贵的物料了),可以用大鱼电子、或者平衡小车之家的。由于经费的原因,我买了两个带电机的车轮、加上了亚克力板,勉强搭成
    发表于 01-14 12:26 8次下载
    <b class='flag-5'>stm32</b><b class='flag-5'>两轮</b><b class='flag-5'>平衡</b><b class='flag-5'>小车</b>项目详解