发作品签到
专业版

【立创开发板】智能小车驱动板

工程标签

3.1k
0
0
1

简介

基于立创梁山派开发板的智能小车,通过蓝牙连接到智能小车,APP小程序的优势就是可以实现手机控制,提高通用性。

简介:基于立创梁山派开发板的智能小车,通过蓝牙连接到智能小车,APP小程序的优势就是可以实现手机控制,提高通用性。

开源协议

GPL 3.0

创建时间:2023-01-05 08:37:01更新时间:2023-02-20 03:20:30

描述

1、项目功能介绍

基于GD32F450ZGT6制作的梁山派智能小车

2、项目属性

梁山派智能小车前方搭载了两个LED照明灯,左右各一个,可用于模拟行车过车中的车灯状态;
梁山派智能小车有2个独立按键,分别是KEYS与KEYM,可用于启动和运动模式切换;
梁山派智能小车搭载了一个蜂鸣器,可用于遇到障碍物时发出警报,也可使用定时器改变其输出频率让其播放音乐;
梁山派智能小车配置了四个电机驱动和四个N20电机,可实现PWM输出与调速功能;
梁山派智能小车搭载了五路红外循迹,可用于循黑线行驶,学习比较器电路的使用,实现循迹功能;
梁山派智能小车配备了HCSR04超声波模块接口电路,可通过学习模块原理以及底层驱动代码,实现超声波避障功能;
梁山派智能小车利用开发板上的ADC功能检测智能小车电量,方便我们及时充电;
梁山派智能小车提供了HC-05蓝牙模块接口电路,可配合手机蓝牙APP实现无线遥控小车的功能;
梁山派智能小车提供了一个摄像头模块接口电路,可用于学习摄像头识别相关知识;

3、开源协议

GPL 3.0

4、硬件部分

1.主控芯片:

image.png
采用GD32F450ZGT6单片机,预留了全部接口,注意供电3.3V。
image.png
因为参加训练营直接买的立创梁山派开发板,所以驱动板直接做接口用排针排母直插就完全OK。

2.电源降压电路:

image.png
对智能小车系统的供电电路进行分析,通过查阅芯片手册以及立创·梁山派核心板的原理图得知,电机驱动芯片RZ7899的最大供电电压不超过25V,立创·梁山派核心板供电是3.3V(兼容5V),超声波模块是5V供电,其余外设模块均是3.3V。根据这个需求我们就可以开始对电源进行选型了,这里我选用了一款7.4V可充电锂电池。
电源的输入接口P3是一个电池座,通过电池座接入2节3.7V的锂电池后给小车供电。电源进来后经过一个SSP7603降压芯片,该降压芯片的最大输入电压是15V,可固定输出5V电压给单片机和外围器件提供供电,电机驱动芯片则直接由7.4V电池供电。其中,D1是一个肖特基二极管,型号是SS43,作用是防止电源输入端正负极接反,起到一个保护作用。LED1是电源工作指示灯,当电源开关SW1打开时,系统开启供电,LED1会被点亮。C1和C2是10uF的电容,主要作用是上电瞬间可能电流会比较大,使用电容可以起到一个缓冲作用。

3.电机驱动电路

image.png
首先我们都知道单片机本身的IO口电流是非常有限的,如果直接将电机接在单片机IO口,会导致无法正常驱动电机转动,所以我们必须使用电机驱动芯片来驱动我们的电机组,这里我选用RZ7899电机驱动芯片。RZ7899是一款DC双向马达驱动电路,适用于自动阀门电机驱动、电磁门锁驱动等,该电路具有良好的抗干扰性,微小的待机电流、低的输出内阻,同 时它还具有内置二极管能释放感性负载的反向冲击电流。
它通过两个逻辑输入端子BI和FI来控制电机的前进、后退及制动。我们将BI和FI与单片机IO进行连接,通过改变单片机I/O口电平从而改变芯片控制端输出引脚的电平,就可以对电机进行正反转,停止以及制动控制,控制原理非常简单,运用起来非常方便,亦能满足直流电机的大电流要求。
在进行代码调试时我们可以参照以下的引脚功能表和输入输出真值表进行调试。我们只要将BI和FI引脚连接到单片机的定时器通道引脚,就可以结合单片机的定时器PWM输出功能控制电机转速,从而改变我们智能小车行驶的速度。
image.png

4.循迹电路

image.png
循迹电路的设计是利用了红外光遇到不同颜色地面反射程度不同的原理。循迹电路采用LM393电压比较器与ITR9909红外对管进行设计,其中ITR9909的内部集成了红外发射管和接红外收管。循迹的工作原理是将电压比较器的1引脚连接到单片机引脚上,IO配置为输入模式,当电压比较器的1引脚输出高电平时,表示红外光被吸收,检测到黑线,LED1指示灯亮起,单片机IO读取到高电平。
红外循迹的原理:利用红外光在不同颜色的反射情况进行识别

  • 检测黑线的原理是红外发射管发射光线到地面,当红外光遇到白色地面则被反射,红外接收管接收到反射光,经过电压比较器后输出低电平。
  • 检测黑线的原理是红外发射管发射光线到地面,当红外光遇到黑色地面则被吸收,红外接收管未接收到反射光,经过电压比较器后输出高电平。

5.避障电路

避障电路使用的是超声波HC-SR04模块,该模块的类型可自行选取购买,以下是实物图。
image.png
下面是智能小车扩展板上的超声波模块接口。
image.png
超声波测距原理是在超声波发射装置发出超声波,在发射超声波的同时开始计时,超声波在空气中传播,在传播的时刻碰到障碍物,就会返回一个信号给超声波接收器,超声波接收器接收到信号后立即停止计时,这时候会有一个时间t,而超声波在空气中传播的速度为340m/s,通过公式s=340 x t / 200,即可计算出待测距离是多少。
HC-SR04超声波测距模块工作原理

  • 工作电压:DC 5V;
  • 采用I/O口触发方式测距,通过单片机发出至少10us的高电平信号到超声波模块的Trig引脚,用于触发超声波模块工作;
  • 模块的发射探头会自动发送8个40KHz的方波信号,自动检测是否有信号返回;
  • 如果有信号返回,通过Echo引脚连接单片机的I/O口输出高电平,高电平持续时间就是超声波从发射到返回的时间;
  • 根据声音在空气中的传播速度为340米/秒,即可计算出所测的距离

下图为工作时序图
image.png

6.其他电路

6.1 LED车灯与按键电路

(1)LED车灯:

LED灯的一端连接到单片机IO口,通过单片机IO的高低电平控制LED灯,这里设计了2种驱动的方式,LED车灯的电路是低电平点亮,按键指示灯的电路是高电平点亮,其中电阻的大小可以自己结合灯所需的亮度以及欧姆定律计算。比如这里按键指示灯不需要太亮则电阻为1KΩ大一点,LED车灯需要亮一些则电阻为100Ω小一点。
image.png

(2)按键电路:

这里独立按键的电路设计原理是将按键一端连接到单片机IO口,另一端接地,当按键按下时,读取到低电平;按键松开时,读取到高电平。注意这里IO口配置时需要将其配置为上拉输入。当然你也可以加一个上拉电阻将IO口的电平拉高,这样就不需要配置为上拉输入了。
image.png

6.2 蜂鸣器与ADC电压采集电路

(1)蜂鸣器电路:

这里采用的蜂鸣器是有源蜂鸣器,有源蜂鸣器内部自带震荡源,只要一通电就会发出鸣叫。这里设计的电路原理是采用了一个PNP型的三极管充当开关的作用,通过调整单片机IO口的高低电平从而达到控制蜂鸣器的效果。之所以采用三极管是因为我们都知道单片机的电流驱动能力是比较小的,直接驱动器件无法正常工作,所以采用三极管的发射极引导电流进入集电极,而不是将单片机IO口直接加到蜂鸣器上。

  • 当IO口输出高电平时,发射极电压没有远大于基极电压,三极管没有导通,处于截止状态,蜂鸣器没有发出声音;
  • 当IO口输出低电平时,发射极电压远大于基极电压,三极管导通,电流从发射极流入集电极,蜂鸣器发出鸣叫声。

image.png

(2)ADC电压采集电路:

首先我们在使用ADC之前,需要知道它的位数即精度。通过数据手册可以查询到我们的ADC是12位的。

  • 那么如何通过ADC测量的值转换成电压值,判断当前电量呢?要想明白这个原理,我们需要知道这里12位我们计算出的4095的值是代表什么意思。假设最高电压为7.4V,那么ADC测量的值就是最大值4095,当接入电压为GND即0V时,ADC测量的值就为0了。所以我们可以通过计算算出该函数的斜率,从而就可以求出ADC采样值的函数,进而就知道了任意ADC测量值对应的电压值。
    image.png
  • ADC的电路原理图如下,这里通过电阻分压的形式测量ADC,因为IO口最大可以兼容5V,超过5V就会把IO口烧坏,直接采用一个20K的电阻,电阻的大小可以根据IO口电平计算,分压后不要超过IO口容忍的电压的即可,选取一个合适的值。接下来通过计算给大家实际演示如何将ADC值与电压值进行转换。
    image.png
    image.png

设计图

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

BOM

暂无BOM

附件

序号文件名称下载次数
1
My_Car.apk
9
2
Gerber_PCB1_2023-01-29.zip
5
3
2_软件资料.7z
14
4
3_硬件资料.7z
13
5
video_20230218_154952_edit.mp4
21
克隆工程
添加到专辑
0
0
分享
侵权投诉

评论

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

底部导航