(1) L为赛道检测模块的客体属性检测距离;此值为常量;而车体相对于中心黑线的偏移距离则由赛道检测模块检测之后输入到核心控制模块。

(2) 前轮的转角为舵机控制模块的输出;此转角的大..."> (1) L为赛道检测模块的客体属性检测距离;此值为常量;而车体相对于中心黑线的偏移距离则由赛道检测模块检测之后输入到核心控制模块。

(2) 前轮的转角为舵机控制模块的输出;此转角的大"/>

寻迹小车报告

2024-04-16

寻迹小车报告(通用5篇)

篇1:寻迹小车报告

智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

寻迹小车设计报告

指导教师:

2011年6月12日13:30

小组成员:智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

C8051F单片机的智能寻迹小车

本课题是基于C8051F单片机的智能小车的设计与应用,小车完成的主要功能是能够自主识别黑色引导线并根据黑色引线能快速自主稳定的寻线行驶。小车系统以单片机为系统控制处理器,对整个控制软件进行程序的设计和程序的调试,并最终完成软硬件的结合,完成小车的预期功能。

一、实验目的:

通过设计能进一步掌握单片机的原理、以及能刚好的运用编程实现对小车的控制。

使小车能自主寻找路线,并且能够合理设计单片机的外围电路,并使之与单片机能构成整个 系统。

二、设计方案:

本组小车以单片机为控制处理器、以298为驱动器结合程序,通过芯片发出驱动命令,控制电机的驱动以实现对小车的控制。

三、技术方案概要说明

本模块车的电路系统包括电源管理模块、单片机模块、传感器模块、电机驱动模块、人机界面。

四、工作原理

1、利用红外采集块中的红外发射接收对关检测路面上的轨迹

2011年6月12日13:30 智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

2、将轨迹信号传给单片机

3、单片机采用模糊推理求出转向角度和行走速度,然后去控制行走部分

4、最终完成智能小车可以按照路面上的轨迹运行

五、报告内容安排

第一部分为对整个报告的概括说明,第二部分为整个电路硬件的介绍和说明,第三部分为整个设计的软件程序设计的说明。

硬件电路的设计

一、寻迹模块

寻迹共有8路,前后各4路,它通过TCRT5000是否接受到红外反射光来改变电压大小,从而使单片机发出指令,使小车进行前进、后退、停止、走正等一系列动作。

1、寻迹电路图

2011年6月12日13:30 智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

焊接时,可用一个电位器来代替四个电位器,这样即省材料,也使电路板更加精巧。甚至还能将除TCRT5000以外的部件全部安放到车体板上面。

TCRT5000实物图与内部结构(与地面距离0.2mm~0.8mm之间)

LM393引脚图

2011年6月12日13:30 智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

2、检测

将5V电源连接好,万用表与各组寻迹的GND与输出端相连,用白纸来使红外灯反射,当TCRT5000接收到反射红外光时输出低电平,未接收时输出高电平,最后通过改变电位器阻值来调节寻迹灵敏度。

二、驱动模块

驱动的核心部件是L298N,它通过单片机指令直接控制小车电机电机转速,从而来使小车行驶。

驱动电路图

5,7,10,12与P2.1,P2.2,P2.5,P2.6相连,使能1,2与P0.0,2011年6月12日13:30 智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

P0.1相连,2,3,13,14与小车电机相连,驱动要加散热片,防止过热烧坏。

L298n引脚分辨

电机驱动的检测:

连接好电源,将使能1,2都与电源5V相连,5,10与7,12两组,一组与5V相连,另一组与GND相连,用万用表分别测量2,3与13,14两组引脚,有12V电源输出,则驱动正常。

三、电源模块

电源主要是将12V电压降为5V,输给小车的各部分模块。

电源电路图

电源最好需由两组并联而成,以免7805过载而烧坏。J2与外电源12V

2011年6月12日13:30 智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

相连,需要两个引脚,5V引脚与GND引脚都需要多个,以满足对各模块的供电需求。

LM7805

电源模块的检测:

将12V与GND连接好,输出端有稳定的5V电源输出,则电源正常。

四、1602显示屏(主要用于显示小车运动时间)

1602电路图

2011年6月12日13:30 智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

五、语音模块

当小车完成所有指令动作到达终点时,蜂鸣器发出响声。

蜂鸣器的电路图

六、C8051F020单片机

它是由Cygnal出的一种混合信号系统级单片机。片内含CIP-51的CPU内核,它的指令系统与MCS-51完全兼容。其中的C8051F020单片机含有64kB片内Flash程序存储器,4352B的RAM、8个I/O端口共64根I/O口线、一个12位A/D转换器和一个8位A/D转换器以及一个双12位D/A转换器、2个比较器、5个16位通用定时器、5个捕捉/比较模块的可编程计数/定时器阵列、看门狗定时器、VDD监视器和温度传感器等部分。C8051F020单片机支持双时钟,其工作电压范围为2.7~3.6V(端口I/O,RST和JTAG引脚的耐压为5V)。与以前的51系列单片机相比,C8051F020增添了许多功能,同时其可靠性和速度也有了很大提高。

2011年6月12日13:30 智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

五、组装小车

用适当大小的单孔电路板作为小车底板,在适当位置打上小孔,将各个模块安在上面,使小车质量分布均匀,以免小车走歪。

六、焊接的注意事项

1.呈圆焊接顺序,元器件装焊顺序依次为:电阻器、电容器、二极管、三极管、集成电路、大功率管,其它元器件为先小后大。

2.芯片与底座都是有方向的,焊接时,要严格按照PCB板上的缺口所指的方向,使芯片,底座与PCB三者的缺口都对应。

3.焊接时,要使焊点周围都有锡,将其牢牢焊住,防止虚焊。

2011年6月12日13:30 智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

4.在焊接圆形的极性电容器时(一般电容值都是比较大的),其电容器的引脚是分长短的,以长脚对应“+”号所在的孔。

5.芯片在安装前最好先两边的针脚稍稍弯曲,使其有利于插入底座对应的插口中。

6.电位器也是有方向的,其旋钮要与PCB板上凸出方向相对应。7.取电阻时,找到所需电阻后,拿剪刀剪下所需数目电阻,并写上电阻,以便查找。

8.装完同一种规格后再装另一种规格,尽量使电阻器的高低一致。焊完后将露在印制电路板表面多余引脚齐根剪去。

9.焊接集成电路时,先检查所用型号,引脚位置是否符合要求。焊接时先焊边沿对脚的二只引脚,以使其定位,然后再从左到右自上而下逐个焊接。

10.对引脚过长的电器元件(如电容器,电阻等),焊接完后,要将其剪短。

11.焊接后用放大镜查看焊点,检查是否有虚焊以及短路的情况的发生。

12.当有连线接入时,要注意不要使连线深入过长,以至于将其旋在电线的橡胶皮上,出现断路的情况。

13.当电路连接完后,最好用清洗剂对电路的表面进行清洗,以防电路板表面附着的铁屑使电路短路。

2011年6月12日13:30 智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

14.在多台仪器老化的时候,要注意电线的连接,零线对零线,火线对火线。

15.当最后组转时,应将连线扎起,以防线路混乱交叉。16.要进行老化工艺,可发现很多问题,连线要接紧,螺丝要旋紧,当反复插拔多次后,要注意连线接头是否有破损。

17.焊接上锡时,锡不宜过多,当焊点焊锡锥形时,即为最好。

软件系统设计

若小车偏左的时候,左轮将向右偏转;若小车偏右,车轮将向左偏转;若没有偏移,小车将继续向前;若完全偏离黑色轨迹,小车后退以寻找黑色轨迹。

一、程序设计方法

1、确定程序功能。根据机电硬件中的人机界面、电力电子器件和传感器件的物理特点和运行方式确定外围部件软件功能,根据控制系统设计方案确定控制软件功能,根据系统的功能结构确定前面没有提到的其他软件功能。

2、划分任务。将各类软件功能划分成具体的任务。

2011年6月12日13:30 智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

3、确定任务的组合方式。通过分析任务的优先级和相互关系来确定组合方式。因为这个组合方式通常并不是唯一的,可以采取如前文所介绍的概念设计方法的方案排列和方案选择方法。

4、确定编程方法。根据任务划分、任务的组合方式、软件开发能力和软件开发环境可以确定具体程序编制方法。在确定过程中,也可以采用如前文所介绍的概念设计方法的方案排列和方案选择方法。

5、编程与调试。

二、资源分配

P0^0----电机1用的PWM输出信号(左轮)P0^1----电机2用的PWM输出信号(右轮)L_DIR1A=P3^6----左轮电机方向控制 L_DIR1B=P3^7----左轮电机方向控制 R_DIR1A=P3^4----右轮电机方向控制 R_DIR1B=P3^5----右轮电机方向控制 P3^1----蜂鸣器控制

PCA0CPM0----电机1PWM输出,工作在8位定时器模式,允许比较器匹配中断,每次中断加载新的比较值,实现电机输出的脉宽、周期控制。

2011年6月12日13:30 智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

PCA0CPM1----电机2PWM输出,工作在8位定时器模式,允许比较器匹配中断,每次中断加载新的比较值,实现电机输出的脉宽、周期控制。

P5.0-P5.7;传感器接口 lcdrw=P3^2;----读写控制5 lcdcs=P3^0;----E使能6 lcdrs=P3^3;命令数据选择控制4

三、小车程序

#include #include #include //包含头文件

typedef unsigned char uchar;typedef unsigned long ulong;typedef unsigned int uint;

//变量定义#define L_MOTO_BREAK L_DIR1A=L_DIR1B #define L_MOTO_BACK L_DIR1A=0;L_DIR1B=1 #define L_MOTO_FORD L_DIR1A=1;L_DIR1B=0

2011年6月12日13:30

智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

#define R_MOTO_BREAK R_DIR1A=R_DIR1B #define R_MOTO_BACK R_DIR1A=0;R_DIR1B=1 #define R_MOTO_FORD R_DIR1A=1;R_DIR1B=0 //前走与后走的定义 sbit L_DIR1A=P3^6;sbit L_DIR1B=P3^7;sbit R_DIR1A=P3^4;sbit R_DIR1B=P3^5;sbit P3_1=P3^1;

sbit lcdrw=P3^2;//5 sbit lcdcs=P3^0;//6 sbit lcdrs=P3^3;//4

int a=0;//定时器计数用 uchar minute=0,second=0,sign=0;uchar fb=0;//控制前后方向

//全局变量的声明

//1602液晶的管脚定义

//I/O管脚的定义

/********************************************/ /* 名称:config

*/ /* 用途:初始化配置, 以保证单片机控制功能工作 */ /********************************************/ void config(void)

2011年6月12日13:30 智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

{

WDTCN = 0x07;

//看门狗禁止

WDTCN = 0xde;

WDTCN = 0xad;

XBR0 = 0x50;

XBR1 = 0x00;XBR2 = 0x40;

//配置交叉开关,//交叉开关允许

P0MDOUT=0x00;

P1MDOUT=0x00;

P2MDOUT=0x00;

P3MDOUT=0xfd;//I/O口的推挽与漏极输出 P74OUT=0x00;

//p4--p6 I/O口的推挽与漏极输出

P5=0xff;

OSCXCN = 0x00;

OSCICN = 0x16;//采用内部晶振,频率为 8MHZ }

2011年6月12日13:30 智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

/********************************************/ /* 名称: delay1ms

*/ /* 用途: 延时

*/ /********************************************/ void delay(uint z){ uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);

}

void delay1(uint time){ uint ii;uint jj;for(ii=0;ii

}

//两个延迟子程序

2011年6月12日13:30 智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

/********************************************/ /* 名称: PCA_Init

*/ /* 用途: PCA初始化

*/ /********************************************/ void PCA_Init(){

PCA0MD=0x08;

//PCA采用系统时钟,且PCA溢出中断禁止

PCA0CN=0x40;

//启动PCA计数器

} void PCA0_Init(){

PCA0CPM0=0x42;//CEX0为8位PWM输出模式

PCA0CPM1=0x42;//CEX1为8bit PWM输出模式

}

/********************************************/ /* 名称: PWM_Init

/* */ /********************************************/ void PWM0_set(uchar val){ PCA0CPH0=~val+1;

2011年6月12日13:30

*/ 生

PWM

用途:

//高电平占空比为val/256 智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

} void PWM1_set(uchar val){

}

/********************************************/ /* 名称: L_Operation R_Operation

/* */ /********************************************/ void L_FORD(uchar L_spe_ford){

L_MOTO_FORD;

PWM0_set(L_spe_ford);} void R_FORD(uchar R_spe_ford){

R_MOTO_FORD;

PWM1_set(R_spe_ford);} void L_BACK(uint L_spe_back){

L_MOTO_BACK;

PWM0_set(L_spe_back);

}

2011年6月12日13:30

//高电平占空比为val/256 PCA0CPH1=~val+1;

*/ 用途:

电机正反转及速度的控制

//电机速度 智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

void R_BACK(uint R_spe_back){

R_MOTO_BACK;

PWM1_set(R_spe_back);

} void L_BREAK(){

L_MOTO_BREAK;

} void R_BREAK(){

R_MOTO_BREAK;

}

/********************************************/ /* 名称: 定时器_Init

*/ /* 用途: 定时器初始化

*/ /********************************************/ void time_init()

{ CKCON=0X08;

//12分频与原分频的选择。把定时器1选为系统时钟 TMOD=0X01;//定时器1的方式选择为,把定时器1选为16位定时功能

2011年6月12日13:30 智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

TH0=0X00;TL0=0X00;//定时器1重装初值 ET0=1;//使能定时器1 TR0=1;//开定时器1 } /********************************************/ /* 名称:lcddisplay显示函数

*/ /* 用途:初始化

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

void sendc(uchar c)//给1602的lcd送命令 {

} void sendd(uchar c)//给1602的lcd送数据

2011年6月12日13:30 lcdrs=0;lcdrw=0;lcdcs=1;//E的高脉冲 P7=c;delay(10);lcdcs=0;//E的高脉冲

智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

{ lcdrs=1;lcdrw=0;lcdcs=1;P7=c;delay(10);lcdcs=0;}

void lcd_pos(uchar pos){ sendc(pos|0x80);}

//发送地址定位函数

void lcd_init(void)

//lcd初始化函数 { sendc(0x38);//8位,2行,5*7字体

sendc(0x08);//显示开,光标关;不闪

sendc(0x01);//清屏

sendc(0x06);delay1(1);

2011年6月12日13:30

智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

sendc(0x0C);}

/********************************************/ /* 名称:lcddisplay1

*/ /* 用途:第一次显示

*/ /********************************************/ void lcddisplay1(void)

//显示主函数 {

line1[5]=table[sign%10];line1[4]=table[sign/10];line1[11]=table[second%10];line1[10]=table[second/10];line1[8]=table[minute%10];line1[7]=table[minute/10];sendc(0x01);lcd_pos(0x00);

2011年6月12日13:30 uchar table[]={“0123456789”};uchar line1[]={“time00/00:00”};uchar i=0;sign++;智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

for(i=0;i<12;i++)

{

sendd(line1[i]);

delay(1);

} }

//时间显示

void display()

//最后的显示子函数,显示总时间,与结束标志。{ uchar table[]={“0123456789”};uchar i=0;uchar table1[]={“all_time:00:00”};uchar table2[]={“finish”};table1[13]=table[second%10];table1[12]=table[second/10];table1[10]=table[minute%10];table1[9]=table[minute/10];sendc(0x01);lcd_pos(0x00);while(table1[i]!='){ sendd(table1[i++]);delay(10);

2011年6月12日13:30 智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

} lcd_pos(0x40);i=0;while(table2[i]!=')

}

/********************************************/ /* 名称: Founding_Line

*/ { sendd(table2[i++]);delay(10);}

/* 用途: p6八路寻迹

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

void xun1()

//循迹函数,实现小车的寻线行走,与遇黑线停止

{ if(P5==0x00)

{ PWM0_set(230);PWM1_set(245);}

2011年6月12日13:30 智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

if(P5&0x04)//右

{

PWM0_set(170);

PWM1_set(250);

} if(P5&0x02)//左

{

PWM0_set(250);

PWM1_set(170);

} if(P5&0x08)//右

{

PWM0_set(1);

PWM1_set(245);

} if(P5&0x01)//左

{

PWM0_set(245);

PWM1_set(1);

}

if(P5&0x01&&P5&0x02){

2011年6月12日13:30 智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

PWM0_set(255);

PWM1_set(160);

} if(P5&0x04&&P5&0x08)

{

PWM0_set(255);

PWM1_set(160);

} }

void xun2(){ if(P5==0x00)

{

PWM0_set(230);

PWM1_set(245);

} if(P5&0x40)//右

{

PWM0_set(220);

2011年6月12日13:30 智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

PWM1_set(245);

} if(P5&0x20)//左

{

PWM0_set(245);

PWM1_set(180);

} if(P5&0x80)//右

{

PWM0_set(1);

PWM1_set(245);

} if(P5&0x10)//左

{

PWM0_set(245);

PWM1_set(1);

} if(P5&0x10&&P5&0x20)

{

PWM0_set(255);

PWM1_set(160);}

2011年6月12日13:30 智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

if(P5&0x40&&P5&0x80)

{

PWM0_set(160);

PWM1_set(255);

} }

void Founding_Line(){ if(fb<=8){ if((P5&0x06)==0x06)//终点停

{

R_BREAK();

L_BREAK();

fb++;

if(fb==1 ||fb==2)

{

lcddisplay1();

delay1(380);//延时4s R_FORD(230);

2011年6月12日13:30

智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

L_FORD(245);

delay1(50);//延时0.5s

}

if(fb==3||fb==4)

{

lcddisplay1();

delay1(380);//延时4s

R_FORD(185);

L_FORD(245);

delay1(80);//延时0.5s

}

if(fb==5)

{

lcddisplay1();

delay1(380);//延时4s

R_FORD(185);

L_FORD(245);

delay1(80);//延时0.5s }

if(fb==6)

{

2011年6月12日13:30 智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

lcddisplay1();

delay1(380);//延时4s

R_FORD(230);

L_FORD(245);

delay(1800);

R_BACK(235);

L_FORD(245);

delay(6000);

R_BREAK();

L_BREAK();

//前直角拐弯

fb++;

}

if(fb==7)

{

R_FORD(230);

L_FORD(245);

delay1(50);//延时0.5s

}

if(fb==8){

P3_1=0;

2011年6月12日13:30

智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

lcddisplay1();

fb++;delay1(350);//延时4s

P3_1=1;

} } else xun1();

}

if(fb>=9){ if((P5&0xf0)==0xf0)//终点停

{

R_BREAK();

L_BREAK();

fb++;

if(fb==10)

{

lcddisplay1();

2011年6月12日13:30

智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

delay1(350);//延时4s

L_BACK(245);

R_BACK(230);

delay(1000);

R_FORD(200);

L_BACK(250);

delay(6300);

R_BREAK();

L_BREAK();

//后直角拐弯

fb++;

}

if(fb==11)

{

L_BACK(245);

R_BACK(230);

}

if(fb==13)

{

lcddisplay1();

L_BACK(245);

R_BACK(185);

delay1(80);

2011年6月12日13:30

智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

}

}

}

if(fb==12||fb==14||fb==15)

{

lcddisplay1();

L_BACK(245);R_BACK(230);delay1(50);}

else

{ xun2();} }

/********************************************/ /* 名称:main

*/ /* 用途:主程序,调用子程序进行电机控制和寻迹 */ /********************************************/ void main(){ config();

//初始化函数

2011年6月12日13:30

//主函数 智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

lcd_init();PCA_Init();

//1602的初始化

//PCA的初始化

//PCA0和1的初始化

//定时器的初始化

//总中断打开,定时器开始计时,PCA开始PCA0_Init();time_init();EA=1;

PWM输出

P3_1=1;

while(1){ if(fb==0){

R_FORD(230);

L_FORD(245);}

if(fb==9){

L_BACK(245);

R_BACK(230);}

2011年6月12日13:30

智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

if(fb==16){

P3_1=0;

display();

EA=0;

PCON=0x02;

while(1);} Founding_Line();} } void timer0()interrupt 1

时钟提供定时。{ a++;TH0=0X00;TL0=0X00;if(a==145){ a=0;second++;if(second==60)

//中断函数,实现定时器功能。为

2011年6月12日13:30

智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

} { second=0;minute++;if(minute==60)

} {

minute=0;} }

结论

测试结果表明:本小组的智能小车能够很好的完成循迹功能,小车能够沿着如图所示的黑色路线行走。

2011年6月12日13:30 智能寻迹小车

组员:赵一鹏 艾博文 董羽曦

在这次的制作过程中,虽然条件艰苦,但是经过我们的不懈努力终于把课题完成。在这个过程中,我们不仅学习了单片机的工作原理和使用方法,而且还增强了动手能力。本次课题的设计,一方面是对我们所学课本知识的考验,另一方面更是对我们自学能力和收集资料能力以及动手能力的考验。通过软硬件的结合让我们充分认识到硬件制作和软件结合的困难,以及C语言对我们课题编译的重要性。我们以后一定会更加努力的。

2011年6月12日13:30

篇2:寻迹小车报告

1、引言

1.1智能小车的设计意义和作用………………………3

2、系统总体设计……………………………………………4

3、硬件设计

3.1循线模块……………………………………………5

4、软件设计

4.1软件调试平台………………………………………7 4.2系统软件流程………………………………………8 4.3系统软件程序………………………………………9

5、调试及性能分析………………………………………12

6、设计总结………………………………………………13

7、作品实物图……………………………………………14

8、参考文献………………………………………………15

1、引言

1.1智能小车的设计意义和作用

智能小车是移动式机器人的重要组成部分,介绍一种基于AT89S52单片机的智能小车。通过不断检测各个模块传感器的输入信号,根据内置的程序分别控制小车左右两个直流电机运转,实现小车自动识别路线,寻找光源,判断并避开障碍物,检测道路上的铁片、发出声光信息并计数显示,智能停车等功能。

作为20世纪自动化领域的重大成就,机器人已经和人类社会的生产、生活密不可分。因此为了使智能小车工作在最佳状态,进一步研究及完善其速度和方向的控制是非常有必要的。智能小车要实现自动寻迹功能和避障功能就必须要感知导引线和障碍物,感知导引线相当给机器人一个视觉功能。避障控制系统是基于自动导引小车(avg—auto-guide vehicle)系统,基于它的智能小车实现自动识别路线,判断并自动避开障碍,选择正确的行进路线。使用传感器感知路线和障碍并作出判断和相应的执行动作。该智能小车可以作为机器人的典型代表.它可以分为三大组成部分:传感器检测部分,,执行部分,cpu。机器人要实现自动避障功能,还可以扩展循迹等功能,感知导引线和障碍物。可以实现小车自动识别路线,选择正确的行进路线,并检测到障碍物自动躲避。考虑使用价廉物美的红外反射式传感器来充当。智能小车的执行部分,是由直流电机来充当的,主要控制小车的行进方向和速度。

2、系统总体设计

AT89S52单片机作为总的控制核心,利用传感器,在循线信号、寻光信号、检测障碍物信号等的输入作用下,控制电机采取相应的动作,从而调整小车做合适的选择。同时,如果有检测到金属片的信号,则将该信号以声光的形式表现出来并令数码管计数显示。主要有循线、寻光、避障、金属检测、数码显示、电机驱动、电源、单片机控制等8大模块,如2-1图所示。

图2-1 功能模块图

3、硬件设计

3.1循线模块

循线模块,循迹是指小车在白纸地板上循黑线行走通常采取的方法是红外探测法,红外探测法即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,可以根据黑带和白纸对光线的发射系数不同,可以利用车底接收到的发射光的强弱来判断“道路”黑带。采用四个红外光电管分别置于移动智能小车前板底座的两侧,确保沿着黑线行驶。红外光电管由一个发射管和一个接收管组成,安装在同一面上。红外光电管的工作原理是由发射管发射出的红外线,经检测面反射后被接收管吸收,由于检测面颜色的不同,对红外线的吸收程度也不同,从而反映在接收管的阻值变化上。这种阻值变化通过外接通路就能转换成单片机能够识别的信号。由于红外光电管发出的是红外线,日光对小车的检测不会产生影响,因而其抗干扰性能好,从而实现小车的循迹功能。但红外探测器探测距离有限,一般最大不应超过3cm。循迹功能如3-1,3-2图所示。

图 3-1 循迹功能图

图3-2循迹功能图

本设计需要检测小车的运动状态,沿着路面黑线运动。采用发射取样式,单光束红外传感器接收信号,电路在5V电压下工作,根据该型号传感器红外发射管所需的工作降压(红外发射管的正向降压在1-1.3V)和工作电流(红外发射管的电流为2-10mA),选取负载电阻R=15千欧,红外发射管负载电阻R=220欧。

4、软件设计

4.1 软件调试平台

Keil for C51是美国Keil Software公司出品的C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,Keil C51软件还提供了丰富的库函数和功能强大的集成开发调试工具,生成的目标代码效率非常高,且容易理解。

C51开发中除了必要的硬件外,同样离不开软件,我们写的源程序要变为C51可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,但现在已极少使用手工汇编。Keil提供了包括C编译器、宏汇编、连接线、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision2)将这些部分组合在一起。如图4-1所示。

图4-1 Keil for C51开发平台

4.2系统软件流程

系统软件流程图如图4-2所示

图4-2系统流程图

4.3系统软件程序

#include #define LED P1 //定义数据显示端口

sbit D1=P2^0;//定义前方左侧指示灯端口 sbit D2=P0^7;//定义前方侧右指示灯端口 sbit ZIR=P3^5;//定义前方左侧红外探头端口 sbit YIR=P3^6;//定义前方右侧红外探头端口 sbit QIR=P3^7;//定义前方正前方红外探头端口 sbit M1A=P0^0;//定义左侧电机驱动A端 sbit M1B=P0^1;//定义左侧电机驱动B端 sbit M2A=P0^2;//定义右侧电机驱动A端 sbit M2B=P0^3;//定义右侧电机驱动B端 sbit SB1=P0^4;//定义语音识别传感器端口 sbit MIC=P0^6;//定义蜂鸣器端口 void delay(unsigned int z){ while(z--);SB1=!SB1;

return;} void car(unsigned char a){ M1A=0;M2A=0;M1B=0;M2B=0;switch(a){ case 1:{M1A=1;M2A=1;break;};case 2:{M1B=1;M2B=1;D1=0;D2=0;break;};case 3:{M1B=1;M2A=1;D2=0;break;};case 4:{M1A=1;M2B=1;D1=0;break;};} } void main(){ car(1);while(1);{ D1=1;D2=1;LED=0x00;if(QIR==0){ car(2);delay(15000);car(1);} if(YIR==0&&ZIR==1){ car(3);delay(15000);if(YIR==0&&ZIR==1){ car(1);} } if(ZIR==0){ car(4);delay(15000);if(YIR==0&&ZIR==1)

{ car(1);} } if(YIR==0&&ZIR==0){ car(2);delay(30000);} } }

5、调试及性能分析

整机焊接完毕,首先对硬件进行检查联线有无错误,再逐步对各模块进行调试。首先写入电机控制小程序,控制其正反转,停机均正常。加入避障子程序,小车运转正常,调整灵敏度达最佳效果。加入显示时间子程序,显示正常。铁片检测依靠接近开关,对检测信号进行处理并实时显示和发出声光信息,无异常状况。路程显示部分是对霍尔管脉冲进行计数,为了尽量达到精确,车轮加装小磁片。接着对黑带检测模块调试,发现有时小车会跑出黑带,经判断是因为红外线收发对管灵敏度不高,调整灵敏度后仍然达不到满意效果,疑是受环境光影响,利用塑料套包围红外线收发后问题解决。趋光电路主要由三个光敏电阻构成,调 整三个光敏电阻的角度同时测试软件,以最佳效果完成趋光功能。

整机综合调试,上电后对系统进行初始化,接着控制电机使小车向前行驶,突然发现系统即刻进入外部中断1,重复多次测试,结果都是自动进入该中断。推断是由刚上电时电机起动所引起,为了避免上电瞬间的影响,在启动小车后延时几毫秒,再开外部中断,结果问题解决。允许的话应采用双电源供电,即电机和电路应分开供电,L293D与单片机之间采用隔离信号控制。这样就不会出现小车启动时程序出错和数码管显示闪动的问题。在计程精度上,可用红外线原理获 得较高精度。

6、设计总结

通过本次实训设计,不仅是对我们课本所学知识的考查,更是对我们的自学能力和收集资料能力及动手能力的考验,本次实训使我们对一个项目整体设计有了初步认识。再有对电路板的制作有了一定的了解。并学会了使用keil软件设计。本次实训使我们意识到实验的更重要性,在硬件制作和软件调试过程中,出现了很多问题,最终都

是通过实验的方法来解决的。还有以前对程序只是一个模糊的概念。通过这次实训极大的锻炼了我们的思考和分析问题能力。并对单片机有利益更深的认识。

总之,实训过程中,无论是对学习方法还是理论知识,我们都有了新的认识。受益匪浅。这将激励我们今后再接再励,不断完善自己的理论知识提高实践运作能力。

8、作品实物图

9、参考文献

1)、《单片机应用技术》 2)、《周立功单片机》 3)、《单片机原理与应用》

篇3:智能小车寻迹的研究

智能作为现代的新发明, 是以后的发展方向, 他可以按照预先设定的模式在一个环境里自动的运作, 不需要人为的管理, 它最适合在那些人类无法工作的环境中工作, 该技术可以应用于无人驾驶机动车, 无人生产线, 仓库, 服务机器人等领域。所有这些用途正逐步渗入到工业和社会的各个层面, 作为20世纪自动化领域的重大成就, 机器人已经和人类社会的生产、生活不可分。

随科学技术的进步, 智能化和自动化技术越来越普及, 各种高科技也广泛应用于机器人玩具制造领域, 使智能机器人越来越多样化。智能机器人是一个多种高新技术的集成体, 它融合了机械、电子、传感器、计算机硬件、软件、人工智能等许多学科的知识, 涉及到当今许多前沿领域的技术。

2 硬件设计与实现

MSP430F16x系列单片机是德州仪器公司的一款超低功耗FLASH型16位RISC指令集单片机。具有16位寄存器和常数发生器, 因而具有最大的代码效率。该芯片特有的FLASH存储器在线设计、开发调试及实际应用上都表现出较明显的优点, 所以本系统选用MSP430F16x系列单片机作为系统核心。

2.1 寻迹、检测及测速模块电路设计

寻迹、检测及测速模块电路的原理近似, 此模块设计中主要用到反射式光电传感器ST188, 利用被测物体对红外光的反射和吸收来实现对被测物体的测量和计数。探测路面黑色寻迹线的原理:光线照射到路面并反射, 由于黑线和白纸的反射系数不同, 可根据接受到反射光强弱由传感器产生高低电平并最终通过单片机判断是否到达黑线从而寻迹上板或偏离跑道。设计中小车履带涂成黑白相间的黑白编码带, 小车电机每转一圈对应ST188检测到6次黑线, 因此小车的移动速度为v=1.2*N (cm/s) (N为每秒钟ST188检测到的脉冲数, 小车黑白线距离为1.2cm) ;该模块的设计特色在于单片机能控制ST188工作状态, 解决了ST188一直处于工作状态带来的电能浪费问题。

2.2 电机驱动模块电路设计

电机驱动模块主要由电机驱动芯片L298组成。L298N是ST公司生产的一种高电压、大电流电机驱动芯片。内含两个H桥的高电压大电流全桥式驱动器, 可以用来驱动直流电动机和步进电机、继电器线圈等感性负载。IN1、IN2控制电机正反转方向, ENA输入PWM波控制电机转速;同理, IN3、IN4和ENB实现对另一电机的控制。单片机控制端与L298之间采用光耦隔离以减少信号干扰。

2.3 音频发声电路设计

音频发声电路主要由LM386芯片组成。LM386是专为低损耗电源所设计的功率放大器集成电路。它的内建增益为20, 通过pin 1和pin8脚位间电容的搭配, 增益最高可达200。LM386输入电压范围为4V~12V, 无动作时仅消耗4mA电流。LM386的IN+和IN-及OUT实质上是运算放大器的三个端口。通过改变滑动变阻器RP2便可改变IN+和IN-的电压来改变输出电压。滑动变阻器与单片机P4.0相连。输出经过滤波之后与扬声器相连接。为降低系统功耗使用0.5W扬声器。单片机由P4.0口输出PWM波就能得到声音提示。

2.4 角度传感电路

本模块选用由芬兰公司生产的TVI SCA60T单轴高精度倾角传感器, 具有单极5V供电、高分辨率, 低噪声、工作温度范围宽等特点;角度传感器有效方向, 测量范围可达-90度到90度, 以电压量输出。SCA60T的7脚为模拟电压量输出端, 水平位置时输出电压为2.60V, -90度时输出电压为0.5V, 90度时输出电压为4.48V, 该管脚接单片机A/D转换输入端口P6.0。

3 软件编程与实现 (下转第59页)

(上接第34页) 小车启动检测扇形内的黑线并通过黑线检测系统寻迹进入跷跷板上, 角度传感器判断达到平衡位置与否, 如到达平衡位置, 延时5秒后继续前进, 检测黑线, 到达B点声光报警, 并停留5s, 然后后退, 检测黑线, 到达A点, 停止, 完成整个控制过程。

4 结束语

本文通过对现有机器人技术的研究, 在参考了有关智能小车系统模型的基础上, 设计了满足实验和实际工作要求的智能移动机器人, 并搭建了一个以寻迹和平衡做反馈的导航方式的机器人控制系统。在建立了相应的运动数学模型基础上, 给出了结合寻迹和平衡检测作反馈的机器人实时运动控制框架和算法。

本设计的特色和创新是在程序算法方面, 一方面选择数字滤波技术, 根据系统的性质和类型, 采用中位置平均滤波算法, 成功有效的解决了小车系统在启停的抖动和准平衡区域跷跷板震荡过程中, 角度传感器采集到的干扰数据对小车运动控制系统造成的误动作。另一方面, 在判断平衡域的算法方面成功的采用了数字PID增量型控制算法, 选择合适的参数, 使平衡域更小, 也即更精确;而且使系统的超调减小、避免振荡、彻底消除误差、调节速度更加快速, 系统的性能更加优化。S

摘要:本次设计的简易智能小车系统以TI公司的低功耗单片机MSP430F1611作为其控制核心;选用了芬兰VTISCA60T系列高精度倾角传感器构成闭环反馈电路, 采用PID控制算法实现小车自动在跷跷板上达到动态平衡;对于关键的小车动力部分, 经过充分比较、论证, 最终选用了调速特性好、功耗较低、过载能力强的直流电机。通过三个光电传感器ST188采用逐次逼近的控制算法实现了小车按预定轨道行驶, 利用另外两对ST188检测道路上的标志, 控制智能小车的停车及正反向行驶;并利用数字滤波技术使平衡过程顺利快速地完成。

关键词:智能小车,MCU,低功耗,控制算法,传感器

参考文献

[1]谢兴红, 林凡强, 吴雄英.MSP430单片机基础与实践[M].北京:北京航空航天大学出版社, 2008:170-190.

[2]沈建华, 杨艳琴.MSP430系列16位超低功耗单片机原理与应用[M].北京:清华大学出版社, 2007:24-29, 155-165.

[3]彭树生.PIC单片机实践与系统设计[M].北京:电子工业出版社, 2007:29-44.

[4]华成英, 童诗白.模拟电子技术基础[M].4版.北京:高等教育出版社, 2007:18-102.

篇4:寻迹小车报告

寒假社会实践调查报告

寻迹队:

国际经济与贸易104会计101机械设计制造及其自动化106预科108

包蕾 卢姗 张轩 孙英君

关于农民土地意识变迁的调查报告

悠悠五千年,传承五千年,原本足够沉重的历史又承担了许多,记载了许多,中国漫长的农业历史更是让人惊叹不已。散发着弄浓重的泥土气息的农业历史浓缩着变化与发展,农业、农村与农民的变化与发展。

为了了解农民土地意识变迁的原因与过程,特开展本次社会调查。并对调查结果分析如下:

一、年龄

不同年龄的农民的土地意识明显不同,这就诠释了中国几千年不同时代农民土地意识的变迁过程。当代不同年龄段的农民的土地意识是历史的结晶,透过它就可以了解中国几千年历史的变化。.1.18—25岁的农民如今已经不多,他们大多数已经摇身一变成为了农民工,在繁华的都市为自己理想的生活打拼着。18—25岁的青年农民思想开放,易于接受新事物,对外部世界有着强烈的渴望,并且到现在大部分都没有成家,家庭负担小,所以,在这一部分人眼里,土地,尤其是耕地,似乎只是汗水与辛劳的象征,不再神圣。另外,这部分人受教育程度较高,对工作、工资的要求也较高。

2.25—35岁的农民的土地意识与前者相比较为朴素,对于他们来说,耕地只是部分经济收入来源,由于思想程度、婚姻家庭状况等条件的影响,他们对土地的依赖程度较低。

3.35—45岁的农民的土地意识就更为朴素了。在他们眼里,耕地就是他们的工作场所,使他们的主要经济收入来源。家庭生活的各种消费以及子女受高等教育的高额费用要求他们必须要有稳定的收入,所以土地变成了他们的主要依靠。

4.45岁以上的农民虽然现在已经很少到田间劳作了,但是,不管是过去还是现在,对于他们来说土地都是一种自我价值的体现,这主要是受他们的成长环境、社会背景影响的。中国自古便是农业大国,农本思想影响着一代又一代。

这一代又一代的变化就是中国几千年农民的土地意识变迁的缩影,对土地的依赖程度也随着历史的过滤愈来愈轻,愈来愈淡,纵然如此,中国几千年积攒下来的农业文化不会就这样被轻易湮没,农业在中国经济社会发展中的重要地位终究不会动摇。

二、家庭经济收入构成家庭经济收入的构成是农民土地意识的直接体现,同时也进一步影响农民的土地意识。在遥远的封建社会,千百万农民被土地牢牢地拴着,在他们看来,土地就是衣食之源,是生存之本。而今不同了,农业的发展是农民不再仅仅依赖那微乎其微的土地收入,收入的多元化逐渐改变了农民的土地意识。

首先,副食行业的发展使得超市、商店在农村遍地开花,就这样,不仅

许多农民节省了时间、金钱,提高了生活质量,更改变了许多农民家庭的收入框架,并且成为了主要经济收入来源,这样,他们对土地的依赖程度便会越来越弱。

随着农村经济的发展,各种行业开始向农村进军,农资、建材等,乡镇

企业亦是办得风风火火,由此进一步改变了农村的面貌,提高了农民的生活水平,很多人由此走上了幸福的小康之路。

当然,还有很多农民由于经济条件、家庭状况等条件的影响,没有更多的能力发展其他产业,就只能本本分分的种田,这其中固然有很多人也过上了小康生活,但还有很多的农民依旧被经济问题困扰着,对于这部分农民来说,土地就再重要不过了。

三、地区经济发展状况

农村周围地区经济的发展直接影响着本地区的交通状况以及发展潜力,由此影响农民的土地意识。

若是周围地区经济发展状况良好,城市、乡镇繁多,且本地区对外开放程度高,这样,农民与外部世界的联系就较为紧密,思想自然开放得多,对土地的理解就会有所改变。

若是周围地区经济发展欠缺,本地区域外部世界联系较弱,这样不仅会影响农村地区经济发展、农民生活水平的提高,也会深深的影响农民的土地意识。

透过当下这几种主流意识,我们就可以了解中国几千年农民土地意识的变迁,这种变迁是时代发展的产物,是历史流转的必然,世界在每时每刻发展,我们也一样,我们身边的每个人,无论是工人,还是农民,无论是工作人员,还是在校学生,思想意识每时每刻都在变化,也许时间的冲刷让历史变得有些淡化,但如果我们细心就会发现,其实这一切都在我们的生活中重演着,也许时代不同了,内容不同了,但本质还在,这种本质是任何历史与时间都无法改变的,即使没有在史书中有所记载,可是,这一切在大地上留下了痕迹,在树叶上留下了痕迹,在风中留下了痕迹,在河水中留下了痕迹,在农民的脸上留下了痕迹,在我们的故事中留下了痕迹„„这痕迹是在无意中被人们刻下的。

我们都知道中国的历史悠悠漫长,农业的发展历史更是让人回味无穷。在遥远的封建社会,有时和平洋溢,统治者体恤民意,人民能够安居乐业,但是由于阶级的局限性,统治者一直实行重农抑商的政策,由此小农经济更是得到进一步的发展,农民们在自己的几亩田地上男耕女织,过着悠闲自在的日子,似乎没有凡世的喧嚣,物质的迷离,在他们看来,土地就是他们的根,这根连着心,根没了,心就没了。然而,如果战争频繁,土地兼并严重,他们的几亩地就会被战火湮没,再加上统治者昏庸无度,于是生灵涂炭,农民只有在战火中叹息,在了无人烟的拾荒路上寻找属于自己的土地。随着时代的发展,中国的商业终究会有所发展,即使是统治者重农抑商的压制,它也会在夹缝中寻找一线生机,于是,就会有很多较为开明的人离开了自己的几亩地,开始开辟另一条路„„也许规模不大,但始终都是一条路。当然,这只是一小部分人,中国封建社会中,农民,被土地拴住的农民终究是大部分,他们的几亩地又怎能养活得了一大家子人呢?还有地主的无止境的剥削„„

于是,社会开始了规律性的变化,经过漫长的抗争,新的社会,新的时代来临了,新中国诞生了,农民有了自己的土地,他们欢呼雀跃,欣喜不已。千年的封建社会的影响使新社会的农民并没有摆脱传统土地意识的模式,当然这并不是什么坏事,无论何时农业在社会以及经济的发展中所起的作用是其它任何行业无法比拟的,农业使我们能够从古代走到现在,我们的衣食住行都来源于她,青出于蓝而胜于蓝的缘故,才致使“农业低”的现象吧。

建国初期,百业待兴,各行各业均是热火朝天,农业也随着人们的热情高涨着,也许过去从没有过自己真正的土地,他们像对待珍宝一样对待每一寸土地,这是他们的根。后来,长期的计划经济使人们开始的热情有些降温,但是,土地始终都是农民的根本。

时代总是在不断地变化着,十一届三中全会,突破性的一次盛会,改变了许多人的想法,不再囿于“土地只是种粮”的想法,于是他们开始了自己的变革,开始了顺应时代、社会的变革,就这样农村也就开始有了新气象,新面貌。这时,农民的土地意识不再像封建社会一样了,开放了„„

这一切都是时代的产物,经济、社会、文化的发展造就了这一切,他们改变了农民的思想,改变了农民的生活,改革开放的年代人们不再是封建社会被地主压迫的农民了。现在,每个人都对土地有了新的认识,农业是国家经济发展不可缺少的基础,而这基础的物质承担着就是土地,土地孕育了我们,土地是生活的载体,没有了土地,我们将无家可归。

农民的土地意识发展的历程蕴含着我们民族的发展与进步,透过它我们更加了解了我们的民族,我们的历史,这些都不是时间能够淡化、流水能够冲刷的。

总之,农民对土地的依赖程度越来越淡,人们的收入结构开始多元化,农村经济的发展也呈现出前所未有的生机,但是,这并不代表土地不再重要,不再神圣,生产力的发展使人们对土地有了正确的使用方法,解放了劳动力,农民开始拓展生存渠道,其他行业也开始在农村崭露头角,使农民不再被土地束缚„„这是社会经济的发展的结果,也是历史发展的必然„„

2011年2月20日

关于农民土地意识变迁的调查表

1、姓名:性别:民族:学历:

2、年龄段: A、18—25B、25—35C、35—45D、45 以上

3、婚姻状况: A、已婚B、未婚

4、家庭消费压力: A、很大B、一般 C、小

5、是否掌握其他技术(例如:瓦工技术,木工技术等): A、是B、否

6、是否有其他经济收入来源(例如:超市,农机维修等): A、是B、否

7、在你的想法中可以用下列哪些词来形容土地(尤其是耕地):

A、衣食之源B、工作场所C、主要收入来源D、自我价值的体现

8、是否有外出打工的经历: A、是B、否

9、本地交通状况:

A、发达B、比较发达C、闭塞

10、本地经济发展状况:

A、较好B、较落后

11、本地与大城市、经济发达地区的距离:

篇5:智能小车实验报告

(嵌入式技术实践(一))

院:电气工程与自动化学院

题 目:智能小车的电路设计与制作 专业班级:自动化123班 学 号: 21 学生姓名:谢斌

指导老师: 王祖麟、张振利 日 期: 2013年6月18日星期二

摘要

我们生活在信息与科技高速发展的信息时代,高科技产品的更新的换代也是越来越快。作为21世纪的大学生,我们身处这样的环境中,就必须使自己能够适应这个社会所需。自动化作为处在科技前沿的专业,我们学生就要打好基础,跟上时代的步伐。

为了让同学们在做中学。同学们自己设计和制作智能小车,并从中深入了解和理解自动化嵌入式。从而为进一步实现人机对话,测量以及控制这些自动化的基本控制做基础。从理论到实践,让同学们更好的理解嵌入式,增长同学的实践和设计能力。

应用P89V51RB2微控制器中端口、外部中断、定时器等基本模块,实现核心控制,再结合驱动板来控制电机的转速、转向,最后加上红外传感器,实现小车的智能寻迹。其中端口结合SPI实现人机对话;定时器与中断结合实现匹配定时,捕获转速;端口、定时器的结合就实现了控制电机的方向与转速;端口与红外传感器结合,让小车可以寻找黑线,这样就实现了智能寻迹。

关键字:

自动化;嵌入式;智能寻迹;实践;外部中断;定时器;能力

目录

第一章 绪论....................................................................................5 1.1 课题背景..................................................................................5 1.2 课题概述..................................................................................5 1.3 设计要求..................................................................................5

第二章 统的系设计........................................................................6 2.1 实践原理..................................................................................6 2.2 实践器材..................................................................................6 2.3 实践目的..................................................................................7

第三章

软件设计..........................................................................8 3.1 硬件开发的软件介绍...............................................................8 3.1.1 TKStudio.................................................................错误!未定义书签。3.1.2

原理图的绘制过程...........................................错误!未定义书签。3.2 编程环境介绍...........................................................................9

第四章

系统实现..........................................................................9 4.1 硬件实现..................................................................................9 4.1.1

单片机外扩...........................................................错误!未定义书签。4.12

电源模块板.............................................................错误!未定义书签。

4.13 循迹模块……………………………………………………………………….5

4.14 电机驱动模块………………………………………………………..........5

4.2 软件实现.................................................错误!未定义书签。4.3 实现效果................................................................................11 结束语:.......................................................................................12 致谢 12 参考文献.......................................................................................12 附录 12

第一章 绪论

1.1课题背景

学习了智能小车的的理论知识后,急需要一场智能小车制作实践实验以加深我们对制板的认识及熟悉制做智能小车的工作流程。

“卓越工程师培养计划”主要强调“理论与实践、教与学、学校与企业”三个紧密结合,全面贯彻和落实“构思、设计、实施、运行”这种在做中学的原则,以及基于项目驱动的教学模式。企业由单纯的用人单位变成为学生联合培养单位,高校和企业共同设计培养目标,共同制定培养方案,共同实施培养过程。“真刀真枪”地实践,以强化学生的工程能力和创新能力。

在一学期的计算机基础理论学习后,需要将理论和实践有机的相结合。在一定程度的专业基础知识的铺垫、学长们的实际操作引导下。展开技能实践。

实验后加以对实验的看法,总结经验,研究智能小车的制作方法及对课题进行讨论研发,特设下此课题。

1.2课题概述

学习智能小车以及板的制作流程,加深对课题的认识,增加理论与实践知识。了解智能小车的制作与使用。

根据原理图焊接好单片机外扩、电源模块、循迹模块、驱动模块四块板子,调试板子,确保板子正确后,将板子与车身用杜邦线正确连接做好实验课题。

1.3设计要求

第一:画出正确的原理图

第二:焊好板子,并使它能正常运行

第三:板上无断线,电路无短路与断路。万能表检测无错误。烧入程序后能显示正确的实验现象

应用P89V51RB2微控制器中的端口、外部中断、定时器等基本模块,实现核心控制,再结合电源板、电机驱动板来控制电机的转向,最后加上传感检测模块,实现小车的智能寻迹。

这次课程实践要求每一个人都动手都制作出一辆寻迹小车,真正实现从听中学到做中学,提高同学们的动手能力。这次实践最基本的功能底线就是能够实现循迹,然后有兴趣的同学再一步步进行拓展,比如:加上测速模块、遥控模块,水平更高的还可以实现避障模块、液晶显示模块等等

第二章 系统的设计

2.1 实践原理

探测路面黑线的基本原理:光线照射到路面并反射,由于黑线和白纸对光的反射系数不同,可以根据接收到的反射光强弱来判断是否是黑线。利用这个原理,可以控制小车行走的路迹。

这里的循迹是指小车在白色地板上循黑线行走,通常采取的方法是红外探测法。红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。处理器就根据是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。红外探测器探测距离有限,一般最大不应超过3cm。智能小车系统以处理器为核心,为了使智能小车能够快速行驶,处理器必须把路径的迅速判断、相应的转向电机控制以及直流驱动电机的控制精密地结合在一起。如果传感器部分的数据没有正确地采集和识别,转向电机控制的失当,都会造成模型车严重抖动甚至偏离赛道;如果直流电机的驱动控制效果不好,也会造成直线路段速度上不去,弯曲路段入弯速度过快等问题。

2.2 实践器材

四块万能版、两个红外传感器、四个1K的电阻、两个3.3K的电阻、两个电源、插针、插座多排、三个LED灯、两个电容器、一个单片机、八个三极管(其中四个为透明的三极管)、两个二极管、两个玻璃电阻、两个轮子、两个马达。两个电池盒、一块较大的塑料板、杜邦线若干、焊锡少许、一个万能表、一个电烙铁、一个焊台、胶带。

1:插针、单片机、一个万能版、焊锡——用于焊接单片机外扩。

2:插针、插座、两个继电器、四个透明三极管、四个三极管四个1K电阻、焊锡——用于焊接驱动模块板。

3:一个LED灯、插针、插座、两个电容器、两个玻璃电阻、两个二极管、一个3.3K电阻、焊锡——用于焊接电源板。

4:两个红外传感器、两个LED灯、四个电阻、焊锡——用于焊接循迹模块。5:万能表——用于检测板子电路是否短路、断路、电路是否正确。6:焊台——将器件焊接到板子上。

7:轮子、马达、较大的塑料板——为车身的组成部分。8:电池——为智能小车的驱动提供电压。9:电池盒——盛装电池。

10:胶带——将板子固定在车身上。

2.3 实践目的

增加智能小车板的制作实践知识,了解智能小车原理图的绘制与智能小车板的制作流程。学习智能小车板的焊接知识与技术。增加智能小车板的制作经验,体会智能小车板的 制作原理提高我们对智能小车的认识。

使智能小车能够在烧入实验程序后能够沿着胶带跑动,显现出正确的实验现象。

第三章 软件设计

3.1 硬件开发的软件介绍 3.1.1 系统控制器的选择

P89V51RB2是一款由美国NXP半导体公司提供的增强型80C51微控制器,包括16KBFlash程序存储器和1KB数据RAM,且功能上完全覆盖标准80C51单片机系列。3.2 电源模块

交流电经过全波电路在经过电容滤波,在经过稳压电源芯片做成稳压电路,输出电压5V、7.2V的直流电源。小车的电机驱动模块的供电电压为7.2V,经过电容滤波后接7805进行稳压,稳压输出5V的电压。提供单片机所需的电压,其电源电路原理图如下图所示:

电机驱动模块

这次电机驱动模块没有采用往年的,直接用三极管构成H桥的形式来驱动电机,而是用继电器来驱动电机,其原理图如下:

3.4 传感检测模块

红外线传感检测电路原理其实很简单,就是利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收,80C51内核采集到的电压就是高电平;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光,然后80C51内核采集到的电压就是低电平。其基本原理图如下:

3.2 编程环境介绍

编程环境与实验程序本身有密切的联系。实验程序在不同的编程环境下也可能编译出不同的实验结果。

第四章

系统实现

4.1 硬件实现

4.1 模块驱动程序 4.1.1 电机驱动模块

电机驱动板有四出信号输出端,PWM1,PWM2,DIR1,DIR2,分别控制从而控制两个电机的停止与正反转。其具体程序控制见程序清单如下: void motor_stight()//小车前进 { PWM_1=1;PWM_2=1;DIR_1=0;DIR_2=0;} void motor_right()//小车右转 { PWM_1=1;PWM_2=0;DIR_1=0;DIR_2=0;} void motor_left()//小车左转 { PWM_1=0;PWM_2=1;DIR_1=0;DIR_2=0;} void motor_stop()//小车停止 { PWM_1=0;PWM_2=0;DIR_1=0;DIR_2=0;} 4.1.2 传感检测模块驱动

红外线模块只要80C51单片机向其供5V电压就能工作,然后通过引脚采集其高低电平,就可以根据不同情况做出相应的处理。

第五章 硬件总体调试程序 简单的循迹小车外加遥控模块的程序如下:

4.3 实现效果

烧入实验程序后,智能小车能沿着黑色胶带正常跑动

5.实验心得

第一:在看原理图时,要注意图中各器件的排布情况。

第二:认真仔细地将各个器件焊接到板自上

第三:焊接过程过程中要注意焊锡的使用,用焊锡将器件焊接到板子上。

第四:在调试的过程中,要用万能表检测板子的电路状况,如遇到短路或断路等状况要及时修正直到板子上电路正确为止。

第五:将四块板子一一固定在车身上,用杜邦线将板子与车身连好,注意要认真仔细连接,要避免短路情况,否则可能烧坏器件。

第六:如连接好出现电容器冒烟,电源发热较大则可能出现短路,则要立即拔下连接电源的杜邦线否则可能引起电容器的爆炸。

第七:在调试的过程中,首先检查的是电源线和GND线,其次再按照原理图所示的连线一条一条进行检查。

最后:实验时要小心谨慎,认真执行好实验的每一个步骤,仔细观察实验现象,在实验中得出结论,吸取教训,总结经验,做一个合格的实验者。

结束语:

实验前要备好充分的实验材料,熟记实验步骤。

做实验时,我们要严谨的按照实验步骤一一进行,按部就班,认真的执行好每一步骤。仔细观察实验现象。

实验后认真总结实验经验,吸取教训为下次实验打好基础。

电类专业是一门实践性很强的学科,如果没有很强的动手能力,势必很难做出好的科研成果,而计算机智能控制技术的核心之一就是计算机逻辑设计。

致谢

感谢王祖麟、张振利老师的实验莅临教导和学长们认真努力的教授实验知识给我们;感谢同学间的相互学习与合作;感谢学校给我们提供了一个实验室供我们学习与研究实验

参考文献

[1] 周立功等.《项目驱动-单片机应用设计基础》.北京:北京航空航天大学出版社,2004 [2] 周立功等.《新编计算机基础教程》.北京:北京航空航天大学出版社,2004

附录

上一篇:定金的合同下一篇:持轻物掷准教学设计教案林俊华