![23ba6506c195cf06f74ed4bc2d93f8dd.png](https://i-blog.csdnimg.cn/blog_migrate/077c1ac0656c33ca48a1c22b0f10ef93.jpeg)
不管是对于初学者还是对于一个玩过单片机的电子爱好者来说,或多或少都接触到过小车项目,今天给大家介绍的的一个项目基于STM32超声波避障小车。这也是我曾经的一个课设,在此开源分享给大家,全文5000多字,干货满满,加油读完,保证你收货多多。
![6b8867a49202ae481d953c63524656f4.png](https://i-blog.csdnimg.cn/blog_migrate/1839efccd800136806ce928d4ce6bd6d.jpeg)
处理器电路设计
单片机是系统的CPU,是系统稳定、正常运行的重要前提,以下为单片机选型的两种方案: (1)传统的8位单片机,是通过超大规模集成电路对其进行集成为一个独立芯片的控制器。内部组件包括CPU、随机存储器、只读存储器、I/O接口、中断系统、计时器、串口通讯、数模转换等。STC89C52单片机是最常见的51单片机,但是资源较少,精确度低,处理速度相比STM32单片机差很多。 (2)使用目前市面上最常见的STM32单片机,STM32系列单片机可分为ARMCortex-M3内核体系结构的不同应用领域。它可分为STM32F1系列和STM32F4系列,STM32F1系列单片机时钟频率最高可达72MHZ,在同一产品中性能最好。单片机的基本处理速度为36米,16位单片机的性能也很好。微晶片的内建快闪记忆体相当大,范围从32kb到512kb,可视需要选择。单个设备的功耗非常低,仅360mA,32位单片机产品的功耗最低,每兆赫只有0.5安培。特别值得一提的是,内接单晶片汇流排是一种Harvard架构,可执行速度高达1.25 DMIPS/MHz的指令。此芯片越来越多地被用作主要控制器。 通过对单片机的资源和处理时间的速度我们采用选择STM32103C8T6为本系统主控芯片,程序下载是只需要一个JLINK就可以轻松完成。控制器模块电路如下所示:
![e8b352ba526c940f266c22db29fc1b22.png](https://i-blog.csdnimg.cn/blog_migrate/8dffeb22c06a2ae41ff029c38190fcf6.jpeg)
电源模块设计
本设计采用锂电池供电, 模块的供电电压一般都为5V,同时超声波模块需要较大的电流才能正常工作,所以在降压的基础上也要保证足够大的输出电流。本设计采用可调输出版本,模块的输入电压范围广,输出电压在1.25V-35V内可调,电压转换效率高,输出纹波小。降压电路如下所示:
![ac2569391da223061cf0c1d439d79d86.png](https://i-blog.csdnimg.cn/blog_migrate/d3fd3e493e8b7dd9f04323d97e5378a6.png)
电机驱动模块设计
要完成转向是能够利用单片机实现的,然而单片机I0的带负载能力弱,因此我们选择了大功率放大器件TB6612FNG。TB6612FNG是采用MOSFET-H桥结构的双通道大电流电路输出,可以控制2个电机的驱动。相比普通的电机驱动,外围电路非常简单,只需要一个芯片和一个钽电容进行PWM输出滤波,系统尺寸小。PWM信号输入频率范围广,轻松满足本设计的需求。
![37bcc99c6291d22566ebbf672dd69c83.png](https://i-blog.csdnimg.cn/blog_migrate/dde0ce77140925181300f2d359c9d7d7.png)
电源驱动引脚表
控制芯片:TB6612
控制芯片数量:2
1号TB6612引脚分配:
VM PWMA--------->TIM1_CH1(PA8)
VCC AIN2--------->GPIOB_12
GND AIN1--------->GPIOB_13
AO1 STBY--------->GPIOB_14
AO2 BIN1--------->GPIOB_15
BO2 BIN2--------->GPIOA_12
BO1 PWMB--------->TIM1_CH2(PA9)
GND GND
2号TB6612引脚分配:
VM PWMA--------->TIM