上一篇提到了传感器,我们用的是红外灰度传感器,这里我们就对红外灰度传感器展开来说,理清原理实现,最后能够自己动手做出来。

一、原理分析

  我们先来说一个最基本的电路原理:

  在一个灯泡两端通电,灯泡就会亮。这很简单吧。那深入一点点,灯泡有多亮?能控制吗?用什么控制?电流!划重点,电流控制灯泡亮度!那要怎么控制电流呢?我们介绍另一个简单的电路原理,欧姆定律:电流=电压/电阻,划重点,欧姆定律! 那简单了吧,控制电流要么变电压,要么变电阻。我们选择变电阻。如下图:电阻限流电路

  忽略灯泡内阻,我们就得到了 I = U/R ,就可以计算流过灯泡的电流了。

  可能会有疑问,我们是分析红外灰度传感器的呀,怎么弄到灯泡来了??我们回顾一下红外灰度传感器的样子:

  看,单个的灰度传感器都有两个半圆的点,一个是透明的,一个是暗黑色的,透明的那个其实就是发射红外线的灯泡哦。为什么要装灯泡呢?这里我们了解一下红外灰度传感器工作的原理,先看下图:绿色椭圆代表灰度传感器中的透明点,黑色椭圆代表暗黑色点,绿色的是红外线,箭头是传输方向,最下的黑色横条表示障碍物。

  红外灯泡通电后,发出红外光,红外光遇到障碍物后,反射到红外接收器。在高中物理中我们有学过,黑色物体吸收光多,越黑越多。所以当障碍物为黑色时,红外接收器接收到的红外光就少,当障碍物为白色的时候,红外接收器接收到的红外光就多。判断接收红外光的多少,就可以知道障碍物的黑白啦。当然,这里的障碍物指的就是黑色跑道和白色背景。

  说到这里,我们还不知道红外灯泡和红外接收器的真正名字是什么呢。其实这两者的组合称为红外对管,划重点,红外对管!!!透明的那个是红外发射管,暗黑色那个叫红外接收管。回到上面说到了灯泡亮度问题,是不是红外发射管发出的亮度越高越好呢?不是的,发出的亮度应该是适中且固定的。适中容易理解,固定是什么意思?就是亮度应该由始至终都相同,不然就算是检测同一个障碍物的灰度,红外发射管发射的亮度忽明忽暗,红外接收管接收到的反射光也就忽明忽暗,但是明明是同一个障碍物,这样就不对了。我们一般能够在厂商提供的数据手册中找到红外发射管正常工作时的电流(一般是十几毫安到几十毫安),根据这个电流和电源的电压,求出要加的电阻的大小。

  发射讲完了,那接收呢?红外接收管怎么知道接收红外光有多亮。

  首先我们要了解一个概念:光敏元件,划重点,光敏元件!!!简单来说就是对光敏感的元件,也就是说,环境亮度大小会导致光敏元件某一个物理量发生变化。我们使用的红外接收管就是一种光敏元件,当接收红外光亮度越大时,电阻就越小。

  接收的原理弄懂了,实际实现要怎么做呢?很简单呀,测电阻就行啦。但是单片机没有办法直接测电阻。。。甚至于一般型号的51单片机连电压值都没办法测,只能测电平高低。暂时不管这些,我们就先知道没办法测电阻。。好吧,我们勉强能测电压,至于为什么说勉强,待会再说。我们先来解决一下怎么把测电阻转换成测电压。

  假设我们现在有一个电压表,怎么测电阻大小呢?我们又要来介绍另一个简单的电路原理:电阻分压原理。图中的RL即红外接收管的电阻,R1是我们挑选的固定阻值的电阻。

  从上图,根据电阻分压原理,我们可以得到UL的值,固定电源为5V,我们假设红外接收管在障碍物为黑色的时候(即在跑道上),RL电阻为30K,在障碍物为白色的时候,RL电阻为300,假设R1我们用10K的电阻,求障碍物为黑色的时候电压UL等于多少,障碍物为白色的时候电压UL等于多少。

  因此小车在跑道上跑的时候,UL的值就在0.15到3.75之间变化,我们通过检测UL的大小就可以知道这个红外灰度传感器是否在跑道上了。

  还记得我们前面提到说,“勉强”可以测量电压吗?为什么要说勉强?实际上一般型号的51单片机(不包括某些增强版)是不具备测电压功能的,也就是说,我们没有办法测得出UL的数值。但是51单片机能够输入高低电平,也就是0和1,输入低于0.4V就相当于输入0,输入高于2.4V就相当于输入1。因此,我们需要一种折中的办法,以达到我们的目的。

  我们回顾一下我们的目的,不就是区分黑线和白色背景吗,而且黑线和白色背景对应的UL相差又比较大,我们大概取一个中间值,约为2V。现在我们设计一个元件,这个元件有一个输入和一个输出。当输入小于2V时,输出为0V;当输出大于2V时,输出为5V。如下图理解:

  这样一来我们就将UL的0.15~3.75这样的一个范围值变成了0和5这样的两个数,对应了单片机输入的0和1,分别代表着白色背景和黑色线路。

  这个将数值进行比较后进行输出的元件叫电压比较器,划重点,电压比较器!!! 电压比较器的电路应该这样画:

 

  中间那个带+ -号的三角形叫做运放,这个不用划重点,这里涉及到数字电路的知识,不展开讲,只需要知道的是,当+(正)端输入的电压大于-(负)端电压时,输出5V,否则输出0V。

  回顾一下上面说到的几个电路,电阻限流,电阻分压,比较器。综合以上三个电路,一个红外灰度传感器的电路就出现了,如下图:VCC连接电源正极,GND连接电源负极,TCRT5000是一组红外对管,左边带两个箭头的是红外发射管,右边的是红外接收管。

  电路看起来挺复杂的,实际上这个电路分析起来很简单。首先我们应该注意到,这个电路里面有很多从VCC分出来的并联支路,我们就通过分析每一个支路来进行整个电路的分析。

  首先看下电源支路,有电容滤波支路和电源灯支路,如下图红色部分所示:

  从VCC开始,经过104电容(10^4次方pf,也就是0.1uf)后连接到GND,主要用作电源滤波,就是减少电源波动对电路的影响。其次,VCC经过电源指示led,接一个1k的限流电阻然后接到GND,用作电源指示作用,也就是当VCC和GND接到电源的正负极时,电源指示led发亮。这部分电路只要是辅助作用,不是必须的。

  接下来分析红外发射对管驱动电路。如下图绿色部分所示:

  把VCC换成电源正极,GND换成电源负极,红外发射对管换成灯泡,这不就是本文开头说的电阻限流电路吗?一模一样的,通过一个180欧姆的电阻进行限流,使通过红外发射对管的电流符合厂商提供的工作电流范围。这样红外发射对管就能发出亮度适中且固定的红外光了。

  接下来我们再看红外接收对管的接收电路。如下图蓝色部分所示:

  与发射管同理,将VCC换成电源正极,GND换成电源负极,红外接收管换成电阻RL,这不就和我们上面分析的电阻分压电路一样了吗?而且测量电压的取样点也是在RL之前,跟上面所分析的电路一模一样,这条支路可以输出0.15~3.75之间的信号给比较器。

  下面分析比较器电路,如下图红色部分所示:

  上面我们说的,比较器的原理是什么来着,当运放+(正)输入电压大于-(负)输入电压时,运放输出就为5V,反之输出就为0V。观察此时的+-极输入是什么。+极输入是前面电阻分压电路得到的UL,-极输入是VCC和GND之间的电压经过滑动变阻器(也叫电位器)分压后得到的某一固定电压,在上文的分析中,我们把这个固定电压设置为2V,在这里我们调节滑动变阻器,获得一个2V的电压提供给运放-(负)极即可。

  电路中的其他部分都是辅助部分或者实现别的功能的部分,跟本次所做的红外灰度传感器关系不大,可暂时忽略。

  至此,红外灰度传感器的电路原理分析部分就完成了,其实所用的核心电路知识都是高中物理电学的基础,理解起来还是比较简单的。

二、实物制作

  开始实物制作,其实也很简单,按照上面的电路图,把电子元件焊起来就行了。先看看需要什么电子元件:红外对管,电阻,电源指示led灯,电容,运算放大器和万能板。大概就是下面这些东西:

 

    TCRT5000红外对管          电阻                发光led

      瓷片电容        LM339四路比较器          万能板

  来说一下选型,红外对管选择了TCRT5000,方便而且便宜,也可以单独买发射管和接收管,都是可以的。电阻,对电压和功率的要求不大,就一般的碳膜电阻就行了,阻值要有180,1k和10k的。电容,就只是用到了一个作为电源滤波的104电容,瓷片电容足够了。LM339四路比较器,内部其实就是四个运放,做循迹小车用到的红外灰度传感器的数量最少要有5个才能跑得比较好,所以推荐用两个LM339,焊接7路红外灰度传感器。万能板推荐选用这种绿色的玻纤板,黄色那种电木板材质太差,大小选择合适能放下元件和线路即可。

  漏掉了电位器(滑动变阻器)。。。大概是下面这个样子的,能进行分压就行,对阻值要求不大,用10k的就行。

  

  焊接方面就没什么好说的了,电子元件按照电路图放置在万用板上,用焊锡焊起来就行。可以将电路拆分,将红外对管的发送接收电路焊在一块万用板上,电压比较器焊在另外一块万用板上,前一块板就负责输出电压UL到后一块板的比较器+极。焊好之后是下面的样子:

                红外对管板元件面

                  讲解图

  红圈处就是一个红外对管单元的电路,橙色的“1”是红外对管,“2”是180欧限流电阻,“3”是10k分压电阻。电流从VCC流入,经过限流电阻2,对红外发射管供电,然后流入GND。同样地,电流从VCC流入,经过分压电阻3,再连接到红外接收管,最后连到GND,分压电阻与红外接收管中间点的电压就是我们上面分析的电压UL,即0.15v~3.75v那个电压。可以看到在这个中心点连接了一根黑线出来(上面的原图可能清晰一点),这根黑线就可以与比较器的+极相连了。其余六个红外对管单元的电路和这个单元是一模一样的,看看背面线路图:

  接下来看比较器板:

  

  每个LM339比较器芯片有四路比较器,所以做七路的红外灰度传感器用两个LM339比较器芯片就行了。红色的“1”表示这里是比较器+(正)端输入的地方,“2”表示这是分压电位器,以获取2V电压,然后连接到比较器-(负)端。“3”就是比较器输出端输出信号连接单片机的地方。这块板的线路会有一点点复杂,所以建议分两块板,看看这块板的背面线路图:

  

到这里,红外灰度传感器就写完了。回顾一下有什么:

  1. 电阻限流电路,用来点亮红外发射管。
  2. 电阻分压电路,用来测量红外接收管接收到的反射红外光的强度。
  3. 电位器分压电路,分压出一个2V电压提供给比较器-(负)端。
  4. 电压比较器,+(正)端接红外接收管的电阻分压电路得到的UL,-(负)端接电位器分压出来的2V。
  5. 实物制作的材料选型,元件的布局,焊接线路的布线。

  

转载于:https://www.cnblogs.com/liangda/p/9901003.html

从零开始做循迹小车-1-基础篇-红外灰度传感器相关推荐

  1. 简单循迹小车实验心得_红外自动循迹小车实验报告

    红外自动循迹小车实验报告 1摘要 本实验完成采用红外反射式传感器的自寻迹小车的设计与实现.采用与白色地面色差很大的黑色 路线引导小车按照既定路线前进,在意外偏离引导线的情况下自动回位,并能显示小车停止 ...

  2. 循迹小车智能搬运:调车篇

    循迹小车智能搬运:调车篇 文章目录 循迹小车智能搬运:调车篇 前言 一.调车的原则 二.调车步骤 1.走直线 1.传感器的位置 2.电机的转速 3.修正函数的好坏 2.左右转90° 3.在十字路口停下 ...

  3. Arduino循迹小车教程四----代码篇

    文章目录 一.完整的代码 二.循迹代码详解 1.循迹的原理 2.判断情况 3.调速代码 4.循迹代码 5.调试问题 总结 代码分享给同学们啦,在同学们运行小车的过程中,总会遇见各种奇怪的情况,比如小车 ...

  4. c32循迹小车c语言程序,stm32篇--小车循迹

    小车的循迹算法 循迹小车使用红外对射寻黑线,根据轨道的不同,我使用了两种不同算法: (1)第一种是在轨道外有影响的,比如轨道外有黑色,车出去一点就会碰到黑色,那就是检测到歪了之后除非检测它 回来了,否 ...

  5. 基于arduino的循迹小车(含有PID算法)

           循迹小车一般分为两方面:一方面是简单的闭环赛道只有直道和弯道,另一方面是毕设类型的包括一些元素:90度弯道.十字道路.S形弯道等. 1.CSDN下载: 含有PID:https://dow ...

  6. 51单片机智能小车循迹完整程序_电气与信息工程学院双创协会开展循迹小车培训...

    为培养青年学子创新意识和创新能力,激发勇于创新的主动性和积极性,营造良好科技创新氛围,10月29日至30日,电气与信息工程学院双创协会于一教609.三教102和三教202开展循迹小车培训,该培训由电子 ...

  7. 电赛 | 循迹小车(省电赛一等奖作品)

    1024G 嵌入式资源大放送!包括但不限于C/C++.单片机.Linux等.关注微信公众号[嵌入式大杂烩],回复1024,即可免费获取! 刚入职的时候,公司组织参观,参观的时候看到了公司的AGV循迹小 ...

  8. 单片机寻迹小车ppt_基于单片机循迹小车的设计.doc

    目录 [摘   要]  2 第一章  绪论  3 1.1智能小车的来源  3 1.2研究智能小车的目的和意义  4 1.3智能小车的现状及未来  4 第二章  方案的设计与论证  4 2.1主控系统  ...

  9. 电子系统综合实践------智能循迹小车(一)硬件电机控制部分(基于STC15F2K60S2)

    上周是真的惨,做了快一周的课程设计,智能循迹小车.这周又有期末考试,我是真的服了 终于 考完闲下来写个博客,总结总结,打算把硬件搭配到代码分开整理然后都写一下 目录 小车电机与L298N的问题 PWM ...

最新文章

  1. JDK1.8日期的使用(转)
  2. sql远程mysql服务器查询_sql server 使用链接服务器远程查询
  3. 安装ie9提示未能完成安装_IE9浏览器无法安装怎么办?如何解决?
  4. 郴州郴锦机器人_减税降费宣传走进郴州市民营企业高质量发展专题培训班
  5. Webstorm React Nodejs 整合
  6. JDK6和JDK7中的substring()方法
  7. 分布式数据库的字符集
  8. codeforces 460C - Present 二分加模拟
  9. Qml文件的两种加载方式
  10. java web代码混淆_JAVA WEB 项目的代码混淆
  11. 图片URL转换为base64的两种方式
  12. 一个简单的条码/二维码扫描App
  13. Jscript流程控制语句
  14. 西方红玫瑰和辣条先生黑产组织深度分析报告
  15. 工作中少说这“五句话”(必读)
  16. [心得]写文章不是求评论,而是自我总结提高
  17. ZYNQ中的AXI总线时序详解
  18. 有ip可以建网站服务器,云服务器有独立ip吗?
  19. 计算机进行加法运算的原理,计算机系统原理(九) 二进制整数的加法运算和减法运算...
  20. VMware安装mac的流程及unlocker 报错 、出现的一些问题解决方案整理

热门文章

  1. 5G手机大规模上市,现在入手4G手机还值得吗?这三点要考虑清楚
  2. c++string常用函数
  3. UESTC-1057 秋实大哥与花
  4. 凯利公式在期货交易中杠杆比例控制上的应用举例及组合投资策略探讨
  5. 虚拟现实三维数字沙盘电子沙盘可视化交互开发教程第5课
  6. trapz 函数在matlab 和 python中的区别
  7. 快速禁止Chrome浏览器缓存
  8. drools 规则引擎 javaDemo版
  9. 装饰器模式的使用总结
  10. 规避RDP协议被屏蔽,lanproxy+noVNC实现web远程桌面