1、概述

2、红外光电管的工作原理

3检测电路设计

4、LM339模块及红外对管模块介绍

5、红外循迹程序

1、概述

红外探测传感器由于发出的是红外光,常见光对它的干扰极小,且由于价格便宜,而被广泛应用于智能小车的循线、避障以及其它机器人中物料检测、灰度检测等系统中,图1是利用红外光电管做传感器模块。

图1红外传感器

市面上的红外传感器一般有两种,一种是集发射和接收于一体的红外对管,一种是发射管和接收管分立的的红外管,分别如下图2和图3所示。

图2发射接收一体的红外对管图3分离的红外传感器

2、红外光电管的工作原理

上图中,红外光电管有两种,一种是无色透明的LED,此为发射管,它通电后能够产生人眼不可见红外光,另一部分为黑色的接收部分,它内部的电阻会随着接收到红外光的多少而变化。

无论是一体式还是分离式,其检测原理都相同,由于黑色吸光,当红外发射管照射在黑色物体上时反射回来的光就较少,接收管接收到的红外光就较少,表现为电阻大,通过外接电路就可以读出检测的状态;同理,当照射在白色表面时发射的红外线就比较多,表现为接收管的电阻较小,此时通过外接电路就可以读出另外一种状态,如用电平的高低来描述上面两种现象就会出现高低电平之分,也就是会出现所谓的0和1两种状态,此时再将此送到单片机的I/O口,单片机就可以判断是黑白路面,进而完成相应的功能,如循迹、避障等。

3、检测电路设计

上面介绍了红外光电管检测黑线的基本原理,但光只有红外发射和接收管不行,必须加外部电路才能实现功能,这里我们用到了LM339。LM339为内部集成了四路比较器的集成电路。因为内部的四个比较电路完全相同,这里仅以一路比较电路进行举例。如图4所示为单路比较器组成的红外检测电路图,比较器有两个输入端和一个输出端,两个输入端一个称为同输入端,用“+”号表示,另一个称为反相输入端,用“-”表示。用作比较两个电路时,任意一个输入端加一个固定电压作参考电压(也叫门限电压),另一端则直接接需要比较的信号电压。当“+”端电压高于“-”端电压时,输出正电源电压,当“-”端电压高于“+”端电压时,输出负电源电压(注意,此处所说的正电源电压和负电源电压是指接比较正负极的电压)。

图4红外对管循迹电路图

下面分4点说明下该原理图的原理

1)、比较器的输出端相当于一只不接集电极电阻的晶体三极管,在使用时输出端到电源端需要接一只电阻(称为上拉电阻,选3-15K)。选用不同阻值的上拉电阻会影响输出端高电位的值,因为当输出晶体管三极管截止时,它的集电极电压基本上取决于上拉电阻的值,一般选10K左右比较合适。

2)、图中R1、R2为限流电阻,不同大小的限流电阻决定了红外发射管的发射功率,R1越小,红发发射管的功率就越大,多个并联后小车的能耗也大幅增加,但同时增加了光电管的探测距离,此处值的大小应根据需要通过实验得到。R2的选择和采用红外接收管的内阻有关,具体的选择只需按照分压的原理进行一下简单的计算就可以。一般在设计时可以加一个发光二极管,照射不同路面时,通过观察发光二极管的亮亮灭来看是否达到想要的效果。

3)、图中R3为分压电阻,为比较器提供参考电压,具体参考电压的设定应根据R2上端的电压来决定,此时一般通过调节此电阻来适应不同的检测路面与高度。

4)在设计时,4、5两端的信号输入位置可以交换,如可以把传感器的信号从比较器的正端送入。只需注意的是两种不同的接法,表现在输出端的电平会出现两种相反的结果,这个根据需要进行设计即可。

5)、最后一点需要注意的是,由于51单片机没有内置AD,所以采用比较器的方式(其实比较器也相当于一个一位AD),对于有的单片机带有AD模块的,我们则可以通过单片机的AD口直接读取电压信号的变化值,不仅可以简化外部电路,同时还能保留红外接收管连续变化电压信号信息,通过软件算法进行位置优化,不仅可以得到更精确的位置信息,还可以消除环境光线的影响,缺点就是加重了软件设计的难度。

4、LM339模块及红外对管模块介绍

图5和实验室设计的红外循迹模块,主要分为两大部分,LM339比较器模块和红外对管模块,由于上面已经分析的其工作原理,下面给出两部分的原理图,如图6、图7所示,具体的原理及接口定义请大家参考此原理图和LM339的资料进行分析。

图5LM339模块及红外光电管模块

图6LM339模块原理图

图7红外循迹原理图

5、红外循迹程序

下面给出一个简单的程序用以实现小车的循迹,为了便于对程序的理解,此处用非PWM的方法写出,即电源电压直接加了电机两端,以固定速度实现循迹。

#include

#define uint unsigned int

#define uchar unsigned char

sbit PWM1=P2^0;//接IN1控制正转

sbit PWM2=P2^1;//接IN2控制反转

sbit PWM3=P2^2;//接IN1控制正转

sbit PWM4=P2^3;//接IN2控制反转

sbit PWM5=P2^4;//接IN1控制正转

sbit PWM6=P2^5;//接IN2控制反转

sbit PWM7=P2^6;//接IN1控制正转

sbit PWM8=P2^7;//接IN2控制反转

sbit ss1=P1^0;//左二级

sbit ss2=P1^1;//左一级

void main()

{

while(1)

{

if(ss1==0&&ss2==0)//直走

{

PWM1=1;

PWM2=0;

PWM3=1;

PWM4=0;

PWM5=1;

PWM6=0;

PWM7=1;

PWM8=0;

}

if(ss1==1&&ss2==0)//右边检测到,向右转

{

PWM1=0;

PWM2=0;

PWM3=0;

PWM4=0;

PWM5=1;

PWM6=0;

PWM7=1;

PWM8=0;

}

if(ss1==0&&ss2==1)//左边检测到,向左转

{

PWM1=1;

PWM2=0;

PWM3=1;

PWM4=0;

PWM5=0;

PWM6=0;

PWM7=0;

PWM8=0;

}

}

}

水下自动循迹机器人_机器人教程4:红外循迹及LM339模块相关推荐

  1. 水下自动循迹机器人_机器人简易循迹方式

    龙源期刊网 http://www.qikan.com.cn 机器人简易循迹方式 作者: 来源:<发明与创新 · 中学生> 2017 年第 10 期 循迹机器人是一种能按事先预定的路线自主行 ...

  2. 中鸣循迹机器人_基于智能i5的寻迹机器人的设计

    基于智能 i5 的寻迹机器人的设计 江旭 贾婷 杨超 张婷婷 沈阳工学院信息与控制学院 [摘 要] 摘要:本文论述了基于单片机的智能循迹小车的控制过程.智能循迹 是基于自动引导机器人系统,用以实现小车 ...

  3. 作文 深海机器人_机器人

    科学?什么是科学?我终于渐渐地明白.科学就好像发明家,发明一些新的东西.如,电视.电脑.电灯.机器人等等.在这写发明当中,我最喜欢机器人. 机器人顾名思义是由机器做成的"人".机器 ...

  4. 作文 深海机器人_机器人作文(共10篇)

    机器人三(3)张琪今年是2013年,科学更发达了,人们发明了许多东西,如:机器人.电视.不断铅的自动笔.神奇魔法鞋.四季随你变.其中就有我发明的机器人电视,下面由我来介绍一下它吧.机器人电视的外表非常 ...

  5. keeko机器人_机器人零距离,创意搭建编程妙趣多!——瑞云社区开展全国科普日活动...

    2020年9月23日下午,由福清市科学技术协会主办,福清市龙山街道瑞云社区.福清市城关幼儿园协办的"机器人零距离,创意搭建编程"活动在福清市城关幼儿园举行.通过本次活动,激发了孩子 ...

  6. 谭民机器人_机器人技术研究进展_谭民

    2013 机器人技术研究进展 谭 民 1 王 硕 1 摘 要 机器人技术的研究已从传统的工业领域扩展到医疗服务. 教育娱乐. 勘探勘测. 生物工程. 救灾救援等新领域 , 并快 速发展 . 本文简要介 ...

  7. 安徽关节式焊接机器人_机器人自动焊接技术的优势及应用介绍

    焊接生产线机械自动化技术的应用经历了仿制.自行研制.稳步发展三个阶段.焊接制造行业的焊接专机将得到普遍应用,焊接生产过程中,机械化与自动化程度将提高15%左右,焊接自动化程度将达到40-50%,为了发 ...

  8. 手绘线条图画机器人_机器人插画绘制教程

    机器人插画 原作者:Justas Galaburda 分析:机器人整体几乎对称,所以接下来的教程中对称功能会运用的会比较多. 绘制遇到的困难点可能是: 1.头型的布尔运算制作: 2.明暗色彩分割: 3 ...

  9. python自动发微信天气预报_【教程】Python微信定时自动给女朋友发送天气预报

    原标题:[教程]Python微信定时自动给女朋友发送天气预报 先上效果图 主要思路 1.从wxpy获取好友列表 2.创建定时器 3.定时器触发函数 4.函数执行,遍历好友列表 5.好友对象执行带参函数 ...

最新文章

  1. Rabin-Karp ( 字符串匹配 )详解
  2. 兼容微信小程序的流式网络请求库
  3. CSS样式----文字样式
  4. 复习计划15.4.24(待完善)
  5. c语言实现灰度图像阈值分割,灰度图像--图像分割 阈值处理之平均阈值
  6. 你在学校我安排了你没有做到最多凶你一顿,在公司不一样,直接得让走人!...
  7. 两个数相乘积一定比每个因数都大_人教版五年级数学:因数、倍数与分数的整理与复习...
  8. v html是双向绑定吗,vue自定v-model实现表单数据双向绑定问题
  9. Java二叉搜索树转循环链表,关于java:二叉搜索树转换为单向链表interview1712
  10. Shell:export命令
  11. 学习模式上的记录之统计篇一 秩和检验
  12. jQuery砸金蛋抽奖活动php源码
  13. 高考0分作文精选--秋细雨PK叶闲花
  14. 微星GE62 2QC-264XCN刷黑苹果详细教程亲测有效,完美双系统,双屏!
  15. 20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises26
  16. 【思维题 细节】loj#6042. 「雅礼集训 2017 Day7」跳蚤王国的宰相
  17. 电商用户行为和可视化分析
  18. c++ 安装、打开、停止、卸载服务实例
  19. 效率工具集 uTools v1.3.1
  20. DataTraveler 3.0 群联PS2251-07 爆红 报错0x1042和ID issue 0002

热门文章

  1. windows cmd命令行切换路径
  2. lvgl v8之Snapping
  3. Threejs示例一
  4. Realtek千兆PHYRTL8211F简介及引脚图外接图
  5. Android 一个TextView中字体设置不同颜色和大小
  6. 即时消息:一个完整的IM系统是怎样的
  7. 相空间重构、时间序列重构、状态空间重构、phase space reconstruction、state space reconstruction
  8. 多元函数中的泰勒公式的表达
  9. zabbix安装报错解决
  10. 正在自学C,请大家多多指点,共同进步!谢谢