完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
先从几个模块开始:
需求分析:在这里,主要是确定小车需要哪些模块、外设或接口。首先,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帧的数据。 |
|
|
|
几个模块电路参考:
原理图设计: 1.最小系统:包括stm32f405rgt6,晶振电路,复位电路。R2和R3用于配置启动方式。C9和C12是单片机内部电源变换部分的滤波电容。最小系统基本都是一样的,按照常用的电路设计一般没有错。那几个电容式芯片的去耦电容,注意一下,模拟电压、模拟地和数字电源、数字地之间用磁珠隔离,防止数字电路的高频噪声影响到模拟电路的精度。 2.电源电路:R22和R23将电池电压分压到1.2V,接到单片机内部的ADC引脚,监控电池电压,防止过放。 3.电机驱动和编码器电路:基本就是按照芯片datasheet上的参考电路设计的,注意做好电源去耦,因为电机的电压较高、电流较大,容易通过电源网络对其它电路产生影响。 4.陀螺仪:集成的模块,没啥好说的,把引脚连到单片机上就好了,简单在电源脚上并一个电容做一下电源去耦(不做也无妨,因为模块内部已经做了)。 5.CAN通信:在小车上并没有用到CAN通信,但是CAN通信在现在的机器人设计中应用的非常广泛。并且我们做小车本来就是要学东西的,加上调一下,多学习些知识,何乐而不为呢?CAN通信用的芯片是飞利浦的TJA1050,这是一个CAN收发器,stm32内部集成了CAN控制器。R4是阻抗匹配的电阻,在整个CAN通信网络中有且只有两个节点焊接此电阻,电阻阻值为120ohm。现在也还没有深入学习CAN通信相关的知识,在以后调试CAN通信的时候再详细学习吧。(^.^) 6.调试电路和其他的接口:SWD下载接口,USART调试串口,蓝牙接口(根据选择的蓝牙模块不同确定接口不同引脚的用途,比如使能脚、状态输入脚等,后面写蓝牙的时候详细描述)。蜂鸣器和双色LED灯用于调试和指示。另外又引出了几个定时器的引脚,可以留作拓展使用。 |
|
|
|
PCB设计,这里贴一下板子正反两面的3D效果图
焊接调试:也不多说了,平时多练练手,0603 QFP这些封装的元件就能轻松搞定了。焊接的时候先焊接电源部分,上电测试电源没有问题的话再焊接其他部分,否则一旦电源有问题,整板全白焊了。。下面贴一个焊接调试好了的实物图。 |
|
|
|
实物完成了没,效果怎么样。想看看实物
|
|
|
|
stm32做小车是不是有些浪费了
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1252 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1184 浏览 3 评论
2263 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1351 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1774 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-28 06:08 , Processed in 0.879422 second(s), Total 100, Slave 84 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号