51单片机智能小车循迹PPT_基于51单片机的智能小车

51单片机智能小车循迹PPT_基于51单片机的智能小车第3章系统硬件电路设计3.1总体设计智能小车采用两个前轮和一个万向轮的方式,在前轮的左右两端各安装一个电机驱动,利用电机驱动芯片L293D来控制两个前轮的左右转向和停止,后轮是一个万向轮,有支撑和转向的作用。在车体底盘的前端装有4个红外光电传感器,用以实现路迹检测和避障功能。小在小车的车头还装置有超声波探测模块HC-SR04,当前方检测到障碍物时,小车能够做出相应的反应。总体设计框图如图3-1。…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

第3章 系统硬件电路设计3.1总体设计

智能小车采用两个前轮和一个万向轮的方式,在前轮的左右两端各安装一个电机驱动,利用电机驱动芯片L293D来控制两个前轮的左右转向和停止,后轮是一个万向轮,有支撑和转向的作用。在车体底盘的前端装有4个红外光电传感器,用以实现路迹检测和避障功能。

小在小车的车头还装置有超声波探测模块HC-SR04,当前方检测到障碍物时,小车能够做出相应的反应。

总体设计框图如图3-1。

图3-1 总体设计框图(见附件)

3.2电源电路设计

电压的稳定性尤其重要,对此专门设计了稳压电路。使用7805三端稳压集成块,可以保持电压为+5V不变。同时开关起到了为最小系统板上的程序烧写提供电源的作用。电源电路如下图3-2所示。

93b566a6e4a19a22fd828978dd539c95.png

图3-2 5V稳压电源3.3电机驱动电路设计

L293D 共有16个引脚,属于DIP封装。是四倍高电流的H桥驱动程序。双极型脉冲调宽有很多的优点,比如低速时更平稳;释放连续电流;能够四角限运行;电机停止工作后产生微振电流,有助于除去转动时的静摩擦死区等。L293D的使能信号可以起到调节脉宽的作用,给H桥电路输入不同的值后,那么马达向什么方位旋转就会有所不同。不仅如此,在L293D的一个芯片上存在有两个H桥电路,这就说明两个电机可以同时被一个芯片直接控制。电机含有三个必备的信号,一个是使能信号EN12,另外的是旋转方向的控制信号IN1和IN2。当IN1=1、IN2=0时,电机开始正向的进行转动,当IN1=0、IN2=1时,电机开始相反的进行转动。选中一PWM与使能端引脚相连接,那么PWM的占空比直接与整个电机的旋转速度挂钩。选中一I/O口,通过反向器74HC14与两个方向控制信号的引脚相连接,使其控制转向问题。

L293D引脚图如下图3-3所示。

d0f7f27e4c615a9122d3fb41bbd16e7e.png

图3-3 L293D引脚图

其中L293D电路原理图和内部逻辑等效图如下图所示。

e4ac8b1d04ae0496d6ad5f22cfd418c4.png

图3-4 电机驱动原理图

698fcef064271e9f1462d66d5eb9216a.png

图3-5 L293D内部等效图3.4黑线循迹设计与实现

小车循迹的原理是在白色路面中贴有黑色胶带的轨道上运行,因为不同的颜色对光线的吸收程序不一样,自然反射回去的数据就不同,所以通过最后收到的反射光的情况就可以判断道路的黑白。本设计采用应用广泛且操作比较简单的红外光线探测方法。

红外光线探测法其实原理十分简单,就是红外线对于各种各样的颜色有不同的反射性质。小车开始前进,那么传感器的红外发射二极管就会往外放出红外线,若此时小车行驶在白色的路面上,置于车底的红外发射管发出的红外线会被反射回来,接收管一旦接收到红外信号,那么就会导通光敏三极管,从而输出低电平,经过电压比较器后送往单片机控制。若小车一旦开始位于黑色胶带轨道的上方,黑色物体就能够吸收一直释放出来的红外线,此时的三极管立即就被阻断了,放出的信号变化为高电平。这样一来用到红外线就可以判断是否有信号。然后前面的信号会被传送往单片机继续判断,若I/O口发现是高电平的信号,则意味着光线并没有被反射回来而是被黑色吸收,小车是处于黑色胶带上前进。相反,若是发现信号为低电平,说明车子正处于在白色路道上。即是说若小车底部的红外线接收管遇到黑线则输入电平为高电平,反之则为低电平。避障亦是此原理。

传感器原理图如图3-6所示。

4706af141836fdcec781e8a95d1e0c54.png

图3-6 传感器模块电路原理图3.5红外避障电路的设计

红外线避障的原理和黑线循迹基本相似,都是利用光线反射性质,只要有阻碍物体在前方挡路,之前施放出的光线就可以被反射回来。所以传感器会输出的电平就为0,L3、L4灯会亮起来。当前方没有遇到障碍物时,由于传感器位于小车的上方,因此传感器反射能力不强,只能反射少许的红外光线,不能够使得传感器运作,所以传感器输出电平1。只要通过单片机来检测传感器的输出端电平是高还是低,就能得知是否遇到障碍。3.6超声波避障的设计3.6.1超声波避障原理

本设计实现避障功能选取的是超声波探测传感器。把这个传感器固定在小车的最前方,事先调整好测量的距离,只要在能够检测到的距离内,一旦有阻碍物体出现在道路前面,单片机就可以立即收到由传感器发来的信号,从而发出命令让小车开始改变原始的方向,避免撞上障碍物。所以超声波传感器的优点还是很多的,频率高,速度快,方向性又好。3.6.2超声波模块工作原理

本设计采用的是HC-SR04超声波探测模块,给一个高电平的信号(大于10千赫兹),HC-SR04模块就会释放出八个方波(约40千赫兹),而且检测是否信号返回来完全是自动的。一旦模块这边收到了返回的信号,就会让IO输出一个高电平,高电平维持了多长的时间,就表明超声波从发出到回来一共是多少时间。测试距离有一个公式等于高电平维持的时间乘以声速,因为是往返的距离,所以还要除以2。

选取超声波完成避障的电路连接如图3-7所示。

33ca0ee374daa6033185e3b391750359.png

图3-7 超声波避障电路原理

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/180892.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • js layui 弹出子窗体_Layui弹出层 加载 做编辑页面的方法[通俗易懂]

    js layui 弹出子窗体_Layui弹出层 加载 做编辑页面的方法[通俗易懂]layui是一款优秀的模块化前端框架。利用layui弹出层做编辑页面先上效果图基本准备,引入layui的layui.css,layui.js文件Js方法/***页面内弹出编辑窗口//需要引入layui.jslayui.css文件*@param{}title标题不显示为false*@param{}area大小[“400px”,”500px”]或者”400px”—&…

  • java缓存技术的介绍

    java缓存技术的介绍一、什么是缓存1、Cache是高速缓冲存储器一种特殊的存储器子系统,其中复制了频繁使用的数据以利于快速访问2、凡是位于速度相差较大的两种硬件/软件之间的,用于协调两者数据传输速度差异的结构,均可称之为Cache二、缓存的分类1、基于web应用的系统架构图2、在系统架构的不同层级之间,为了加快访问速度,都可以存在缓存操作系统磁盘缓存->减少磁盘机械操作

  • Django(22)Django执行SQL语句「建议收藏」

    Django(22)Django执行SQL语句「建议收藏」前言Django在查询数据时,大多数查询都能使用ORM提供的API方法,但对于一些复杂的查询可能难以使用ORM的API方法实现,因此Django引入了SQL语句的执行方法,有以下三种执行方式ext

  • 【转载】如何实施异构服务器的负载均衡及过载保护?

    【转载】如何实施异构服务器的负载均衡及过载保护?

    2021年11月20日
  • RenderControl (asp.net)

    RenderControl (asp.net)当要把一个控件的html代码包括内容输出时(比如导出word或excel或直接输出来,或通过httpxmlrequest返回)就要使用控件的rendcontrol()方法,比如gridview  :         System.IO.StringWriteroStringWriter=newSystem.IO.StringWriter();        System.Web.UI.Ht…

  • Inno Setup:x64 vs x86

    Inno Setup:x64 vs x86BydefaultInnoSetupalwaysinstallsyourapplicationin32-bitmode.Butifyourapplicationiscompiledto64-bitbinaries(atleast,partly)youwill,probably,wanttouse64-bitmode.Firstthin

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号