发作品签到
专业版

【地阔星】基于STM32的四驱智能小车设计

工程标签

342
0
0
1

简介

基于立创·地阔星STM32开发板设计四驱智能小车项目

简介:基于立创·地阔星STM32开发板设计四驱智能小车项目

开源协议

CC BY-NC-ND 3.0

创建时间:2025-04-06 11:25:17更新时间:2025-04-13 02:31:00

描述

1 电路设计

下面我们将对STM32智能小车的电路进行逐一分析,了解智能小车电路的结构。在看到一张陌生的电路图时先首要找到主控芯片、其次找到电源电路、再看接口辅助电路。

image.png

1.1 最小系统电路

该项目使用立创开发板推出的地阔星STM32核心板作为主控,通过排母直接连接到智能小车上,便于拔插,资料丰富方便入门学习。

image.png

点击超链接查看立创地阔星开发板开源工程及文档教程:

立创·地阔星STM32F103C8T6开发板 - 立创开源硬件平台

立创地阔星开发板学习文档 | 立创开发板技术文档中心

1.2 电源输入电路

核心板电源输入电压为5V,由于小车需要在地上行驶,所以需要考虑电池的便携性。使用1.5V干电池的话至少需要四节,然后再降压,这种方案电池体积太大,而且电池容易电量耗光,成本过高。为此我们选用两节3.7V锂电池,满电状态可以达到8.4V,这个电压无法直接接入系统中,为此还需要经过一个降压芯片降压到5V后给单片机核心板进行供电。
image.png

图中P1为双节14500的电池座,装上电池后,经过D1防反接的二极管,开关SW1打开,电源通过7805线性稳压器稳压到5V输出,C1和C2为电源滤波电容。LED1为电源指示灯,R5为限流电阻,这里取10K,让LED发光不会太亮。U1为7805稳压器的散热片,避免工作过久芯片发热严重,给芯片降温。

1.3 LED驱动电路

为模拟小车车灯效果,使用两个高亮LED分布在小车车头两侧。LED灯的程序控制也比较容易,电阻左端连接一个LED-R/LED-L的网络标签与单片机引脚连接,当引脚输出高电平时,二极管导通,LED点亮。利用定时器及延时以及IO口输出配置,就可以实现车灯闪烁以及高亮和弱亮的呈现效果了。
image.png

1.4 按键输入检测

为了模拟一键启动以及模式切换功能,在智能小车上使用一个独立按键进行控制,可以实现长按以及短按的功能。该按键引脚通过网络标签“KEY”与单片机的GPIOB14引脚相连,检测原理为:单片机的引脚与按键连接,当按键按下时,按键导通接到GND电平,即单片机引脚检测到低电平后告诉单片机我已经检测到按键按下的信号了,你可以去执行所需操作。这就是单片机外部信号检测的基本原理。
image.png

1.5 蜂鸣器驱动电路

为了当智能小车能发出声音,你可能会想加上一个喇叭,但是同样还需要一个声音信号的产生,如此设计的话整体电路会变得比较复杂。在众多电子元器件中,有那么一种神奇的元件,它可以发出固定的声音,它就是有源蜂鸣器。相对于有源蜂鸣器,它还有个亲兄弟叫无源蜂鸣器。

值得注意的是这里的“源”指的是振荡源而不是电源。有源蜂鸣器只要通上电就可以发出响声,无需外围电路设计,缺点是只能固定发出某个频率的音调,不能更改。而无源蜂鸣器不能直接通电使用,还需要外部输入一个振荡信号,缺点是驱动原理相对复杂些,但能够自由控制蜂鸣器输出的声音。

由于单片机的IO口驱动电流太小,不能直接驱动无源蜂鸣器,所以需要专门设计一个驱动电路,如下图所示。S8050三极管起开关作用,当输入信号为高电平时,三极管导通,蜂鸣器发声,二极管D2为续流作用,保护蜂鸣器不被损坏。通过控制单片机输出的PWM频率可以使蜂鸣器发出不同音调的声音,从而实现蜂鸣器播放音乐的功能。
image.png

1.6 红外循迹电路

红外循迹电路是以ITR9909传感器为核心,使用XD393比较器进行检测输入状态,配合精度调整的电位器,测量距离在 1mm~15mm 范围内可调节。

小车循迹一般是在白色地板上沿着一根黑线行走,利用红外光在不同颜色的反射情况进行识别。红外光一直对外发射,车底如果是白色地板,光线会被折射回去,此时接收管接收到信号,经过比较器输出低电平,LED指示灯亮,单片机检测到低电平;如果车行驶在黑线周边,红外光被黑色吸收,接收管接收不到发射的信号,此时比较器电路输出为高电平,LED指示灯熄灭,单片机检测到高电平。循迹其实也就是一个寻找黑线以及沿着黑线行走的过程。
image.png

1.7 电机驱动电路

电机驱动是小车的基础所在。单片机直接输出的电流太小,不足以带动小车行走。电机电路采用了RZ7899电机专用驱动芯片,该芯片外围电路简单,非常适合智能小车等小型电机驱动应用。它由逻辑输入端口BI和FI控制电机前进、后退以及制动,配合单片机PWM输出可以控制电机转速。
image.png

image.png

1-8 ADC检测电路

ADC,即模拟信号转数字信号的转换器。电压信号是一个模拟值,一直不断的变化状态的,使用单片机的ADC功能,可以将变化的电压状态转换成我们所需要的电压参数。我们所用的锂电池电压为3.7V不代表电池满电电压是3.7V,而是4.2V,当电池电压为3.7V时电量仅剩20%,此时应注意充电。有了ADC电压检测功能就可以很方便的时刻监控电池的容量,再结合无源蜂鸣器做一个电量过低的警报,提醒我们该去充电了。

智能小车使用两节锂电池供电,即4.2*2=8.4V,这个电压是不能直接接到单片机的IO口的,容易损坏单片机。通用的处理方式是使用电阻进行分压或者说使用运放电路将电压降低到单片机容忍的电压以内。这里我们使用了三颗10K的电阻进行分压,取1/3电压点接到单片机的ADC引脚进行检测。
image.png

1.9 超声波接口电路

为避免小车前进过程中撞到障碍物,可以使用一个超声波模块进行避障。超声波模块的型号为HC-SR04,使用四个引脚与单片机连接,分别是GND、VCC、Trig以及Echo引脚,除去电源引脚,只需要两根信号线就可以检测超声波检测前方障碍物的距离,电路设计简单。
image.png

1.10 蓝牙接口电路

既然是要做一辆智能小车,那么无线控制少不了。常用的智能小车控制方案有红外、蓝牙、WIFI、2/4G等方案。这里所选用的是蓝牙控制,这种方式电路简单,手机就是遥控器,另外还可以学习蓝牙APP的设计。

智能小车上使用HC05蓝牙主从模块,一共有6个引脚。EN引脚用于控制蓝牙模块进入AT指令,设置为高电平时,可以设置蓝牙模块的状态与数据传输;VCC引脚和GND引脚为电源输入引脚,输入电压范围为3.6-6V;TXD和RXD是用于与单片机连接的串口引脚,其中RXD接单片机的TXD,TXD接单片机的RXD引脚,此处需留意不能接反;最后一个引脚为STATE引脚,功能是显示蓝牙配对的状态。当蓝牙连接上手机时,该引脚输出高电平,模块上的LED灯点亮。

image.png

  • 注意事项:HC-05模块与JDY-31蓝牙模块完全兼容,可直接替换使用。

【版权声明】该项目改自未来电子工作室逐梦壹号智能小车:逐梦壹号智能小车立创开源工程链接

2 学习资料

(1)立创地阔星STM32开发板手册立创开发板地阔星入门手册文档

(2)项目代码例程解析STM32四驱智能小车项目开发文档

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
STM32智能小车参考代码.zip
47
克隆工程
添加到专辑
0
0
分享
侵权投诉

评论

全部评论(1)
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航