2个红外传感器循迹原理_智能循迹小车

2021年11月7日 2点热度 0条评论 来源: weixin_39682673

今天我们来学习制作智能循迹小车

那么什么是智能小车呢?

智能小车作为现代的新发明,是以后的发展方向,它可以按照预先设定的模式在一个环境里自动的运作,不需要人为的管理,可应用于科学勘探等等的用途。智能小车能够实时显示时间、速度、里程,具有自动寻迹、寻光、避障功能,可程控行驶速度、准确定位停车,远程传输图像等功能。




我们本次智能小车制作

主要是让小车实现根据黑线的路径进行循迹的功能

(避障功能可自由完成)

智能小车可以分成三个部分——传感器部分、控制器部分、执行器部分

    •  控制器部分:接收传感器部分传递过来的信号,并根据事前写入的决策系统(软件程序),来决定机器人对外部信号的反应,将控制信号发给执行器部分。好比人的大脑。

• 执行器部分:驱动机器人做出各种行为,包括发出各种信号(点亮发光二极管、发出声音)的部分,并且可以根据控制器部分的信号调整自己的状态。对机器人小车来说,最基本的就是轮子。这部分就好比人的四肢一样。

• 传感器部分:机器人用来读取各种外部信号的传感器,以及控制机器人行动的各种开关。好比人的眼睛、耳朵等感觉器官。

一智能循迹小车简介  小车工作原理

本系统采用较为简单的设计方案,通过红外传感器循迹模块判断黑线的路径,然后由80C51单片机通过IO口控制L298N电机驱动模块改变两个直流电机的工作状态,最后实现循迹功能。

 系统构成——系统框图

系统构成——工作流程

第一阶段:接通电源,系统初始化,红外传感器收集路径信息,传输给单片机主控模块。

第二阶段:单片机主控模块对采集的信号进行处理和逻辑判断发出控制信号,传输给电机模块 

第三阶段:电机驱动模块执行单片机主控模块发来的指令,驱动电机运转。

第四阶段:智能小车自动循迹,根据黑线前进、左转、右转、后退 。                                     

二组件说明

1、单片机主控电路

本次小车制作用89C51单片机作为其主要控制器部分,接受由传感器传输来的信息,进行判断后将控制信号发送给执行部分。

控制器部分的制作即是制作一个51单片机最小系统。通过传感器部分和执行部分的连接,编写程序来判断接收到的信息然后做出响应。

2、红外传感器模块

采用的是TCRT5000红外循迹探头传感器,检测发射距离:1mm~25mm适用。所以安装红外传感模块要尽量在此检测距离内。其上有三个引脚,分别是VCC、GND、OUT。VCC:连接电源正极;GND:连接电源负极;OUT:输出信号端口,与单片机IO口相连。

工作原理:传感器的红外发射二极管不断发射红外线,当发射出的红外线没有被反射回来或被反射回来但强度不够大时,光敏三极管一直处于关断状态,此时模块的输出端为低电平(即输出0),指示二极管一直处于熄灭状态;被检测物体出现在检测范围内时,红外线被反射回来且强度足够大,光敏三极管饱和,此时模块的输出端为高电平(即输出1),指示二极管被点亮

注意:由于各个厂家生产的红外传感器模块原理图不尽相同,高低电平逻辑也不相同。例如模块发射的光线被反射回并被模块识别到,即输出高电平信号,但是,不同厂家生产的可能输出低电平信号。因此红外传感器的工作模式需要自己甄别。

3、超声波测距模块

采用HC-SR04,有四个引脚分别是VCC、GND、TRIG(控制开始测距)、ECHO(响应输出)

工作原理:

(1)通过TRIG触发测距,给至少10us的高电平信号;

(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;

(3)有信号返回,通过ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2;

本模块使用方法:一个控制口(TRIG)发一个10US以上的高电平,就可以在接收口(ECHO)等待高电平输出。一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离。如此不断的周期测,即可以达到你移动测量的值。

4、L298N电机驱动模块

采用光电耦合器件隔离单片机与L298N的控制电路,工艺精度高,性能可靠。L298N模块内部通过H桥电路实现直流电机的正转,反转,还可以通过单片机输出PWM控制使能端进而控制直流电机的转速,实现前进、后退、转弯。

主要参数:

电流-输出\通道:2A

电流-峰值输出:3A

电源电压:4.5~46V(一般采用12V供电)

工作温度:-25℃~130℃

工作原理及实物图:

通过改变逻辑输入端,输入高\低电平使直流电机工作状态发生改变。

5、直流电机

电机有正负极,把电机的+和-分别接到电源的正极和负极,电机即可转动,如果要改变电机的转动方向,改变正负极即可。电机的转速我们可以理解为和外接的电压是正相关的。电源电压一般是已经确定了,因此如果我们要对电机进行调速,就需要用PWM波对电机进行调速。

6、电源模块

电源建议采用两个18650电池给L298N电机模块供电,再通过L298N上的5V输出端口给单片机和传感器供电。

三PWM简介

什么是PWM:

PWM是脉冲宽度调制的简称,脉冲宽度调制是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。

PWM产生过程:

利用51单片机的T0定时计数器,工作在预装载模式下。设置定时器定时中断时间(本次设计采用0.1ms)中断一次从而产生占空比可调的方波信号,即PWM信号。

(占空比是指在一个脉冲循环内,通电时间相对于总时间所占的比例。)

PWM调速原理:

通过输出PWM调节驱动电压脉冲宽度的方式,并与电路中一些相应的储能元件配合,改变了输送到电枢电压的幅值,从而达到改变直流电机转速的目的

PWM产生流程图

那么如何编写程序使51单片机产生PWM信号呢?

你们可以参考以下例程

PWM调速例程

void time0(void)interrupt 1   //中断程序
{
  i++;                        //调速在中断中执行
  j++;
  if(i<=Duty_left)
     ENA=1;
  else ENA=0; 
  if(i>100)
     {ENA=1;i=0;}
  if(j<=Duty_right)
     ENB=1;
  else ENB=0;
  if(j>100)
     {ENB=1;j=0;}
TH0=(65536-66)/256;       //取约150HZ,12M晶振,每次定时66us,分100次,这样开头定义的变量
TL0=(65536-66)%256;        //正好直接表示占空比的数值

四程序设计思路

我们组装好小车后,关键的是如何编写小车的程序

程序决定了小车能否根据黑线的路径

正确平稳地运行

以下是程序设计的思路框图

除此之外,我们还需要了解小车循迹的流程

以三路循迹为例,当中间的红外传感器检测到黑线,则小车在轨道中间,直流电机正转,两个轮子保持前进;当左边的红外传感器检测到黑线,则说明小车要进行左拐弯,左边的电机停止转动,右边的电机保持转动,实现左转弯;当右边的红外传感器检测到黑线,则说明小车要进行右拐弯,右边的电机停止转动,左边的电机保持转动,实现右转弯。

根据以上的分析,我们就可以动手编写小车的循迹程序了

END

审核:凯勇哥

图文编辑:周周



    原文作者:weixin_39682673
    原文地址: https://blog.csdn.net/weixin_39682673/article/details/110257442
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。