你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

嵌入式——避障小车设计教程

[复制链接]
gaosmile 发布时间:2020-3-30 12:11
微信图片_20200330120236.jpg ; B; ]7 w- |1 O( P* x) |9 U
本系统的功能为通过传感器对小车行驶的周边环境进行探测,遇到障碍物要进行有效的避障处理,并进行相应的危险状况播报,同时还可以根据预定的进行寻迹行驶等。
) y0 @2 X7 m( [9 R6 c3 G
微信图片_20200330120239.jpg 8 z* L- x, R/ ^: h6 u$ _* Z

, O* j* r2 q7 x1 v0 {. G
超声波模块采集小车前面障碍物的距离信息;红外传感器采集小车前部下方预设轨迹的变化信息。

) M0 _2 u. q' J; ?$ _8 |
STM32主控芯片采集红外传感器及超声波传感器输出的信号,对它们的信息进行融合处理,经过数据分析之后发出相应控制指令传给L298N驱动模块及语音模块,对电机作出相应的驱动处理,对危险信息进行播报,实现对小车行驶的自动控制。
" z7 M% U$ i/ K
01
电机驱动电路设计
本次设计中的电机驱动芯片选用了L298N,它是一款接受高电压的电机驱动器,直流电机和步进电机都可以驱动。一片驱动芯片可同时控制两个直流减速电机做不同动作,在6V到46V的电压范围内,提供2安培的电流,并且具有过热自断和反馈检测功能。

9 M6 I( Z; X+ L: G; X6 v
L298N可对电机进行直接控制,通过主控芯片的I/O输入对其控制电平进行设定,就可为电机进行正转反转驱动,操作简单、稳定性好,可以满足直流电机的大电流驱动条件。
4 w: |$ i' @- _8 t# P
微信图片_20200330120242.png
6 @( w/ O2 C4 H
微信图片_20200330120245.jpg
8 B& ~+ j9 n2 ~% {' D
微信图片_20200330120248.jpg
02
超声波避障电路设计
根据智能小车控制器的避障需求,环境探测传感器应具有精确的探测功能,以获得周边环境的完整信息,同时还要为小车运动提供实时的信息。具有处理速度快,低功耗,容易使用等优点,且不受到外界环境的影响。
) W- _2 D' E! D9 [
但也有一些局限:检测角度较小,方向性较差,所以单个超声波模块的准确性并不理想,测量范围存在盲点。在实际开发应用中,会采取一些措施进行补偿处理,然后利用信息汇总技术对准确度进行提高。

7 n4 _5 W+ a8 e( F, h+ m
超声波距离测量原理非常简单,一般采用回波时间法,即检测超声波往返所测距离的时间,当发射器发出一个短脉冲时,定时器启动;当接收器接收到返回脉冲时,定时器立即停止。

% B, }1 O0 |8 x/ V" {
此时记录的时间值为D = CT / 2,
D为超声波传感器与测量对象之间的距离,
C为介质中声波的传播速度,
C = 331.4+t273 / 1m / s,
t是摄氏温度,
T是超声波发射回波时间间隔。
# P% M3 q% T& r. X
理论上,超声波在正常空气中传播速度随着介质温度的升高而有所加快,温度提高了一度,速度提高0.6 m/s左右。

0 Y2 d4 U6 T, k1 Y  C$ y' B& \6 \; ~& v  ~
微信图片_20200330120251.jpg

/ Q* i( T9 r% a3 K: i5 F
超声波传感器主要由三部分组成:控制部分,总线部分,超声波发射接收部分。
) a0 J' w2 M) m: q2 F( l0 z5 a
主控芯片通过I/O口发送信号,通过总线发送到两个发生电路中,控制着两个超声波的发射,然后再由两个信号接收电路对接收超声波信号进行放大,最后通过总线传送到主控芯片的输入端口,然后根据发射接收时间差T,计算出传感器与障碍物之间的距离,最后根据距离对小车的行驶安全性进行判断,并做出相应动作。
03
语音处理电路设计
, I  f/ ?5 \9 {4 n  ~
本设计中采用的是ISD1820语音模块,它是美国ISD公司于2001年推出的一款单芯片8至20秒单段语音录放电路模块,基本结构与之前的ISD1110和ISD1420原理几乎相同,都是采用了CMOS技术,配置振荡器、滤波器、增益控制、话筒前置放大、扬声驱动及FLASH阵列。
微信图片_20200330120254.jpg
. y% [. K6 Y$ d
04
红外循迹电路设计
本次选用的红外对管模块适应环境光的能力很强,具有一对发射接收管,发射管发射一定频率的红外线,当检测到黑线时,不能反射回接收管,比较电路处理完后,绿色灯亮,信号输出接口不能输出数字信号。

6 }( v8 O% E! _1 J2 x4 ~
可以通过电位器的旋钮调节灵敏度,有效检测距离范围为2到30厘米,正常工作电压为3.3到5V。具有抗干扰,易安装使用等特点,广泛应用于自动避障循迹。

: z4 j5 g6 s7 ?. f; i4 P
微信图片_20200330120257.jpg
红外模块电路原理如图所示,图中10K限流电阻,不同性能的限流电阻决定了红外发射功率,限流电阻越小,发射功率越大。当光反射回来三极管导通,LM393两个输入端,同相输入端用“+”表示,反相输入端用“-”表示。用于比较两个电压,任一个输入端加一个固定电压做参考电压,即阈值电平。另一端加上比较电压。
  Q6 Y4 L, k( K$ l8 [
当反相输入电压低于同相输入电压时,输出截止。否则输出端饱和,输出接地。只要LM393的两个输入电压差大于10mv,就可以确保输出从现状态可靠转换到另一状态。

& I% k2 u9 E2 Y8 z( i# X4 R
使用比较器就可以不用AD转换电路,经过LM393后在主控芯片控制端口产生高电平,从而完成检测的目的。模块的灵敏度可以通过变阻器VR1进行调整。
微信图片_20200330120300.jpg
05
显示模块电路设计
LCD1602模块的命令操作端有RS、RW和EN,单片机的P2^5、P2^6、P2^7脚分别与之相连。数据端口DB0~DB7分别接在单片机的P0^0~P0^7。为了保持LCD1602液晶具有较高的亮度,一般电路设计中都会将VL端串联一个2K的电阻接地。
微信图片_20200330120302.jpg

0 _% |+ `* P! p$ |$ W3 E
06
软件主程序设计
开始先是对单片机的初始化,其中包括对外部中断初始化和液晶的初始化。然后调用超声波测距子程序,判断前方300mm处是否存在障碍物,如果存在进行避障处理,如果不存在则进行红外对管检测,并做出相应动作。
微信图片_20200330120306.jpg
% N, q/ [' W0 d& d
07
电机驱动程序设计
开始通过超声波模块和红外模块的检测,判断中断请求,如果没有中断请求则保持原状态,如果有中断请求则调控PWM进行避障或者循迹运动。通过P1^3电平检测,把它赋给temp,根据P1低四位电平,给出相应的驱动电平送到L298N,从而控制小车的直走停止,左右转等动作。
微信图片_20200330120309.jpg
08
超声波避障程序设计
首先,单片机给超声波模块Trig端发送一个高电平且持续20us,再给Trig端发送一个低电平,启动超声波模块,随即超声波模块会发送8个40KHZ的方波,等待信号返回,如果有信号返回则超声波模块的Echo端输出一个高电平,接收高电平的时间就是超声波从发射到接收的时间。
1 Q& s+ t. v/ x: E1 e
测试距离就等于(接收高电平时间*340)/ 2,单位为m。计算出障碍物和智能小车的距离,取前方多个方向的值,然后进行多次采样,以此减小数据误差,最后进行数据处理,通过软件算法判断最优路线,智能小车向目标方向行驶。

% m2 Q# ]9 R; i3 B$ i8 S; `( i. P' j
微信图片_20200330120314.jpg
微信图片_20200330120317.jpg
09
语音处理程序设计
它的工作状态和检测障碍存在信号是同步的,当检测到前方存在障碍物,语音模块就会进行障碍信息播报。
微信图片_20200330120321.jpg
10
红外循迹程序设计
; V" r5 j7 e* a: y8 r* X
首先对小车状态进行检测,如在轨迹上,则调用直走子程序,即两电机都正转;如偏向轨迹左边,则调用右转子程序,即左电机正转右电机反转;如偏向轨迹右边,调用左转子程序,左电机反转右电机正转;如到轨迹终点,则调用停止子程序,即两电机都不转。

' Q9 Y  u; T" t" y4 `+ E" W- f
微信图片_20200330120323.jpg

# ?: D7 z8 H( ~3 s" i3 y+ t
收藏 评论0 发布时间:2020-3-30 12:11

举报

0个回答

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版