红外寻迹小车实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

重庆交通大学计算机与信息学院

综合性设计性实验报告

班级:电子信息工程专业2013 级01 班姓名(学号):杨云森(631306020101)

实验项目名称:红外循迹智能小车

实验项目性质:设计性

实验所属课程:电子设计实践

实验室(中心):现代电子实验中心

指导教师:李星星

实验完成时间: 2016 年 6 月 17日

一、实验目的

学习智能小车的制作流程,加深对单片机开发的理解和应用

二、实验内容及要求

做好单片机外扩,电源模块,寻迹模块,驱动模块四块板子,使小车能够正常的循迹。

三、实验原理

这里的循迹是指小车在地板白纸上循黑线行走,通常采取的方法是红外探测法。激光探测法,即利用激光激光在黑白颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射激光,当激光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则激光被吸收,小车上的接收管接收不到激光。单片机就是否收到反射回来的激光为依据来确定黑线的位置和小车的行走路线。激光探测器探测距离可以比较远,一般有60cm 左右。

1. 单片机最小系统

单片机最小系统采用5V供电,并接有指示灯, 5mA左右电流足以驱动LED,LED 导通电压1.7V左右,因此配上1K电阻;蜂鸣器由8550驱动,1N4007二极管起到保护左右。单片机根据接收的按键输入数据和传感器输出电平信号,输出一定脉冲数控制电机A和电机B的转动,从而控制小车的运动。

2. 电源电路设计

智能车控制系统中,不同电路模块需要的工作电压和电流容量各不相同。芯片需要提供5V的工作电压,而电机所需的电压为9V,本设计中用到的是9V的电源供电,然后通过三端稳压器LM7805将电压变换为5V电压供给电路系统。电源系

统的电路图如图所示。

3.电机驱动电路设计

电路采用PWM(脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码)驱动形式,四路输入和输出以控制电机运转。电路主要由L298N、光电耦合器、稳压二极管组成,驱动电路可控制电机的正反转。电路是由单片机控制的,与单片机的接口采用光电耦合器,利用光电耦合器传输信号可以消除相互之间的干扰,提高系统的稳定性。单片机的输入/输出口P1.0输出为高电平,P1.1输出低电平,这时左边的光耦导通,右边的光耦不导通,电机正转。反之,P1.0为低电平,P1.1为高电平,电机反转。若P1.0和P1.1都为低电平。则电机不转动。

4.循迹电路设计

循迹是指小车在白色地板上循黑线行走通常采取的方法是红外探测法,红外探测法即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射反射光被装在小车上的接收管接收,如果遇到黑线则红外光被吸收小车上的接收管接收不到红外光 ,单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线 ,从而实现小车的循迹功能。

四、实验仪器、材料

笔记本电脑,51单片机,电机,红外对管模块,电机驱动模块。

五、方案设计

在进行单片机控制系统设计时,除了系统硬件设计以外,大量的工作就是如何根据系统每一个现象或者作用设计应用程序。因此,软件设计在单片机控制系统设计中占有重要的地位。对于本系统,软件更为重要。本次软件设计需要完成以下两个任务。

1:单片机根据传感器I/O口的输入状态,来相应的执行判断程序,来达到小车的前进,后退,停止;

2:单片机两个I/O口同时产生两个占空比不相同的方波,来控制小车电机的车速,来达到小车的左转弯、右转弯;

为了完成上述任务,在进行软件设计时,通常把整个过程分成若干个部分,

每一部分叫做一个模块。所谓“模块”,实际上就是完成一定功能,相对独立的程序段,这中程序设计方法叫做模块化程序设计法。

六、实验过程及原始记录

//stc12c5a60s2

# include

#include "intrins.h"

#include

//黑1 白0

#define uint unsigned int

#define uchar unsigned char

#define FOSC 12000000L

#define uchar unsigned char

sfr CCON = 0xD8;

sbit CCF0 = CCON^0;

sbit CCF1 = CCON^1;

sbit CR = CCON^6;

sbit CF = CCON^7;

sfr CMOD = 0xD9;

sfr CL = 0xE9;

sfr CH = 0xF9;

sfr CCAPM0 = 0xDA;

sfr CCAP0L = 0xEA;

sfr CCAP0H = 0xFA;

sfr CCAPM1 = 0xDB;

sfr CCAP1L = 0xEB;

sfr CCAP1H = 0xFB;

sfr PCA_PWM0= 0xf2;

sfr PCA_PWM1= 0xf3;

/*********************************/

/*

相关文档
最新文档