当前位置:文档之家› 寻迹小车实验报告

寻迹小车实验报告

自动寻迹小车设计报告
一、系统设计
1、设计要求
(1)自动寻迹小车从安全区域启动。

(2)小车按检测路线运行,自动区分直线轨道和弯路轨道,在弯路处拐弯,实现灵活前进、转弯、等功能
2.小车寻迹的原理
这里的寻迹是指小车在白色地板上寻黑线行走,通常采取的方法是红外探测法。

红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。

单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。

红外探测器探测距离有限,一般最大不应超15cm。

对于发射和接收红外线的红外探头,可以自己制作或直接采用集成式红外探头。

3、模块方案
根据设计要求,本系统主要由控制器模块、寻迹传感器模块、直流电机及其驱动模块等构成。

控制器模块:控制器模块由AT89C51单片机控制小车的行走。

寻迹传感器模块:寻迹传感器用光电传感器ST188检测线路并反馈给单片机执行。

ST188采用高发射功率红外光电二极管和高灵敏度双光电晶体管组成。

检测距离:4--13mm
直流电机及其驱动模块:直流电机用L298来驱动。

L298N是一个具有高电压大电流的全桥驱动芯片,它相应频率高,一片L298N可以分别控制两个直流电机,而且还带有控制使能端。

用该芯片作为电机驱动,操作方便,稳定性好,性能优良。

4.系统结构框图:
二、硬件实现及单元电路设计
1、微控制器模块的设计
在本次设计中我们采用了AT89C51位主控制器。

它具有智能化,可编程,小型便携等优点。

2.光电传感器:
本次试验我们采用了ST188光电传感器,ST188采用高发射功率红外光电二极管和高灵敏度双光电晶体管组成。

检测距离:4--13mm。

其连接电路图如下:
3.直流电机及其驱动模块
在直流电机驱动问题上,我们采用一片L298来驱动直流电机。

其连接电路图如下:
控制电机的转速的大小,从而控制小车方向的转变。

总电路图如下:
三.软件设计:
在这次的软件设计中我们用了中断及PWM波来控制电机的转速。

通过控制PWM的占空比的大小来控制电机的速度。

从而达到控制小车在弯道转弯的目的。

程序如下:
#include<reg51.h>
#include<stdio.h>
sbit r1=P2^2;
sbit r3=P2^3;
int a=0,b=0, pwm1=0,pwm2=0;
sbit led_1=P2^0;
sbit led_2=P2^1;
sbit r4=P2^6;
sbit r5=P2^7;
void delay(int k)
{int i,j;
for(i=0;i<k;i++)
for(j=0;j<128;j++);
}
void Timer_Init(void)
{
TMOD=0x01; //定时器0,方式1
TH0=(65535-1000)/256;
TL0=(65535-1000)%256; //方式1,1ms定时
TR0=1;
ET0=1;
EA=1; //开定时中断0
}
void time0() interrupt 1 //定时中断0
{
TH0=(65535-500)/256;
TL0=(65535-500)%256;
a++,b++;
if(a<=pwm1)led_1=0;
else led_1=1;
if(a>=100)a=0;
if(b<=pwm2)led_2=0;
else led_2=1;
if(b>=100)b=0;
}
//生成周期为100ms的方波
void main()
{
IE=0x85; //IE=,允许外部INT0和INT1中断IT0=1; //下降沿
delay(2);
led_1=1;
led_2=1;
while(1)
{
P1=0x05;
pwm1=50,pwm2=50;
}
}
void int0(void)interrupt 0 //外部中断0 {
if(r1)
{ P1=0x01;
delay(200);
pwm1=50,pwm2=70;
}
if(r3)
{
P1=0x04;
delay(200);
pwm1=70,pwm2=50;
}
}。

相关主题