项目介绍
“基于 stm32f4 的蓝牙控制小车”是一个基于意法半导体与 ARM 公司生产的STM32F4 开发板的集电机驱动模块、电源管理模块、stm32f4 主控模块、蓝牙串口通信模块、android 控制端模块。电机驱动模块使用了两个 L298N芯片来驱动 4 路电机,使能端连接 4 路来自主控板的 PWM 波信号,8 个输入端接主控板的 8 个输出端口;电源管理模块使用了 LM2940-5.0 芯片进行 12V 到5V 的转换,12V 用于电机模块的供电,5V 用于蓝牙模块、传感器等的供电;主控模块采用了 MDK 编辑程序,然后下载到主控板,实现硬件与软件的交互;蓝牙串口通信模块则是采用了 FBT06_LPDB 针插蓝牙模块,与主控板进行串口通信,同时与 android 手机进行通信;android 控制端模块是一个集开启蓝牙、搜索蓝牙、控制小车等功能。用户可以通过 android 控制端进行控制小车的运动,实现一些用户需要的功能和服务。
主要步骤思路
-
需求分析:
- 确定小车的功能需求,例如前进、后退、左转、右转、停止等。
- 确定使用蓝牙进行远程控制的需求。
- 确定使用STM32作为控制核心的需求。
-
硬件选型:
- 选择适合的STM32系列芯片作为控制器。
- 选择适合的蓝牙模块,如HC-05或HC-06等。
- 选择电机驱动模块,例如L298N等。
- 选择其他传感器或模块,如电池管理模块、超声波传感器等(根据需求)。
-
电路设计:
- 根据选定的硬件,设计电路原理图。
- 确定电源管理电路,保证各个模块的稳定供电。
- 连接STM32、蓝牙模块、电机驱动模块及其他模块之间的连线。
-
软件开发:
- 编写STM32的固件程序,实现蓝牙模块的初始化和通信功能。
- 设计控制算法,根据接收到的蓝牙指令控制小车的运动。
- 编写电机驱动程序,控制电机的转动。
- 编写其他必要的功能模块,如传感器数据采集等。
-
系统集成与调试:
- 将硬件模块按照电路设计连接起来。
- 烧录STM32固件程序。
- 进行系统调试,验证蓝牙控制功能是否正常,电机驱动是否正确。
- 根据实际调试情况对软硬件进行优化和调整。
-
系统测试与优化:
- 对整个系统进行功能测试,验证各项功能是否满足需求。
- 优化系统性能,提高系统的稳定性和可靠性。
- 进行长时间稳定性测试,确保系统在各种情况下都能正常工作。
-
生产制造与部署:
- 根据实际需求进行批量生产制造。
- 进行产品组装和测试。
- 将产品部署到实际应用场景中,如教育机构、科研实验室、工业生产线等。
系统方案
该系统分为电机驱动模块、电源管理模块、主控板、蓝牙通信模块、android 控制端等 5 个模块,如图所示:
系统硬件设计
电机驱动模块
在设计基于STM32的蓝牙控制小车系统时,电源驱动模块起到了为系统各个部分提供稳定电源的作用。以下是关于电源驱动模块的一些步骤和注意事项:
-
电源需求分析:
- 分析系统中各个模块的电源需求,包括STM32控制器、蓝牙模块、电机驱动模块等。
- 确定每个模块的工作电压和电流需求。
-
选择电源模块:
- 根据系统的电源需求选择合适的电源模块。常见的电源模块包括线性稳压模块、开关稳压模块等。
- 考虑到小车系统可能存在的电池供电情况,选择支持电池供电的电源模块。
-
设计电源部分电路:
- 根据选定的电源模块,设计电源部分的电路原理图。
- 包括输入电源接口、滤波电容、稳压电路等。
-
布局与连接:
- 在电路板上合理布局电源部分的元件,确保电路连接简洁、稳定。
- 连接电源模块的输出端到系统中各个模块的电源输入端。
-
测试与调试:
- 连接电源,对电源模块进行测试,确保输出电压稳定。
- 测试各个模块的工作电压是否符合要求。
-
考虑功耗和效率:
- 在设计电源模块时要考虑系统的功耗情况,选择合适的电源模块以提高系统的能效。
- 在设计中采取有效的节能措施,降低系统功耗。
-
安全性考虑:
- 在设计电源部分时要考虑到安全性,避免因电源问题导致的系统损坏或危险情况的发生。
- 可以采取过压保护、过流保护等措施,提高系统的稳定性和安全性。
-
电源管理:
- 考虑到系统可能存在的待机和工作状态切换,设计合适的电源管理方案,以提高系统的能效和延长电池续航时间。
L298N的封装
L298N是一款常用的双H桥驱动集成电路,用于直流电机的驱动。它通常采用多引脚封装形式,常见的封装为Multiwatt15或PowerSO20。
-
Multiwatt15封装:
- Multiwatt15是一种多引脚封装,通常具有15个引脚。
- 该封装适用于需要控制电机方向、速度和PWM等功能的应用场合。
- 在Multiwatt15封装中,引脚排布合理,易于连接外部电路。
-
PowerSO20封装:
- PowerSO20是另一种多引脚封装,具有20个引脚。
- 与Multiwatt15封装相比,PowerSO20封装提供了更多的引脚,允许更多的功能和控制能力集成到同一颗芯片中。
- 适用于需要更复杂控制功能或者需要连接更多外部设备的应用场合。
这两种封装形式都能满足大多数基于L298N的电机驱动项目的需求,选择封装形式时需要根据具体的应用场景和系统要求来进行。例如,如果项目对引脚数量有较高要求,或者需要更多的控制功能,可以选择PowerSO20封装;如果项目对封装尺寸有限制,或者控制需求较为简单,可以选择Multiwatt15封装。
H 桥电路虽然有着诸多的优点,但是在实际制作过程中,由于元件较多,电路的搭建也较为麻烦,增加了硬件设计的复杂度。由于 H 桥电路有诸多的优点,但是在实际制作过程中电路又比较麻烦,因此在本设计中我们采用 H 桥集成电机驱动芯片 L298。L298N 的工作原理和以上介绍的 H 桥相同,引脚图如下图所示:
L298N 的原理图设计
L298N 是 ST 公司生产的一种高电压、大电流电机驱动芯片。该芯片采用 15脚封装。主要特点是:工作电压高,最高工作电压可达 46V;输出电流大,瞬间峰值电流可达 3A,持续工作电流为 2A;额定功率 25W。内含两个 H 桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用L298N 芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。L298 的参考电路图如下图所示: L298N的原理图设计通常涉及到与微控制器(如STM32)的连接、电机的连接以及电源供应。
-
电源供应:
- 将电源(通常是电池或者适配器)的正负极连接到L298N的VCC1和GND1引脚上,以提供给驱动器芯片的电源。
- 同时,将电机的正负极连接到L298N的OUT1和OUT2以及OUT3和OUT4引脚上,以便对电机进行控制。
-
逻辑输入控制:
- 使用微控制器(如STM32)的GPIO引脚控制L298N的逻辑输入端(IN1、IN2、IN3、IN4)。
- 控制IN1和IN2以控制第一个电机的方向和速度,控制IN3和IN4以控制第二个电机的方向和速度。
- 通过控制逻辑输入端的高低电平来控制电机的正反转和速度。
-
电机保护:
- L298N通常具有过热保护功能,当芯片温度过高时会自动停止工作,以保护芯片免受损坏。
- 如果需要,可以添加温度传感器并连接到芯片上,以便监测芯片温度并触发保护机制。
-
电机驱动:
- 根据逻辑输入信号的变化,L298N会控制电机的转向和速度。
- 通过PWM信号调节IN1和IN2的占空比来控制电机的速度,占空比越高,电机转速越快。
-
电源滤波:
- 为了保证电源供应的稳定性,通常在电源输入端(VCC1和GND1)添加适当的电容进行滤波。
电机驱动模块实物
(1)控制板内部带 5V 逻辑电平转换芯片,不需要额外的 5V 供电。
(2)如果 EN1、EN2、EN3、EN4 不接 PWM 调速信号,次脚需要和对应的管教短接。
(3)GND 和 12V 接电机电源,其中 12V 可以接 7V--24V 电平,板子上的电源开关只是控制逻辑 5V 电平的开关,L298 的 12V 电源不受此开关控制。
(4)输出端和输入端一一对应,当输入端为 5V 时,输出端也为高电平,输入端为低电平时输出亦为低电平。