单片机实习报告_简易智能小车

单片机实习报告_简易智能小车
单片机实习报告_简易智能小车

指导老师:李勇波 日期:2011年7月

班级:073092-15 | 姓名:赵英俊(20091002410)

简易智能小车报告

摘要

本小车以Atmel 公司生产的AT89S52为核心,完成寻迹、避障、光源检测和车速测量等功能。在机械结构上,对普通的小车进行了改造,即用一个万向轮来代替两个前轮,是小车的转向更加灵敏。采用PWM 驱动芯片控制电机,红外传感器检测白线、

中国地质大学(武汉 )

单片机实习报告

障碍物以及用来测量速度,光敏器件检测光强。基于可靠的硬件设计和稳定的软件算法,基本实现题目要求。

关键字:STC89C52 寻迹光源检测避障测速测量

Abstract

This design is controlled with the MCU (AT89S52) to complete the function of finding trace,avoiding barrier,tending to light and measure speed. In the mechanical structure, about the car, the reform which is a universal wheel instead of two front, the more sensitive to the car. Using PWM motor drive chip control, infrared sensor detection white line, obstacles and used to measure the speed, photodetector detection light intensity. Based on reliable hardware design and stable software algorithm, basically realize the topic request.

Key words: STC89C52 trace avoiding barrier tending to light measure speed

1.系统设计

1.1 设计要求

1. 基本要求

(1)小车从起跑线出发(不得超过起跑线),沿引导线到达B点

在B点有一障碍物需绕过障碍物到达C点

(2)小车到达C点沿一段直到到达D点后进入“弯道区”(中间有一断点),此时有一光源照射,引导小车转弯并通过断点继续进入大弯道区。

(3)小车在光源的引导下通过进入停车区并到达车库

(4)小车在最终在遇到停车标志后停车,并最终显示时间和速度(实时速度)。

1.2方案论证

1. 电机驱动方案的选择和论证

由于普通直流电机更易于购买,小车对于精度要求不是特别高,同时电路和控制相对简单,所以本设计采用直流电机作为驱动单元。

方案一:使用继电器对电机进行开关控制和调制。但缺点很明显,继电器响应慢而且机械结构容易坏。

方案二:使用三极管或达林顿管,结合单片机输出PWM信号实现调速的目的,此方案易于实施,但若控制电机转动方向较

为困难。

方案三:使用PWM控制芯片来实现对电机的控制。

方案选择:采用方案三。该方案电路简单,性能稳定,可以轻松实现对电机方向的控制。

2. 路面寻迹模块

方案一:采用光敏传感器,根据白色背景和黑色反光程度的不同来判断是否位于黑线上。

方案二:采用采用反射式红外传感器来进行探测。只要选择数量和合适的红外传感器,可以准确的判断出黑线的位置。

方案选择:采用方案二。方案一受环境光的影响太大,效果不佳而红外光不易受到环境光的干扰。

3. 趋光模块

方案一:采用单一的光敏电阻,利用其在不同的光强下阻值不同,确定小车的转向,保证其朝着光源最强的角度前进。

方案二:采用多个光敏电阻,在小车车头摆成半圆状结构。

方案选择:方案二精度较高,实现较为复杂,这里采用方案一,实现效果足以。

4. 避障模块

方案一:采用光电式传感器,根据白色背景和黑色反光程度的不同来判断障碍物。

方案二:采用超声波测距的方法,利用超声波传感器,监视测量发射脉冲和接受脉冲的时间差,计算超声波和物体之间的距离。可以将避障和寻光模块一起排列为环状结构。

方案选择:虽然超声波测距有其性能上的优势,但价格过高,且通过算法上的优化光电式传感器测距完全可以满足设计要求,故采用方案一。

5. 测距模块

方案一:采用断电式光电开关测距。

方案二:采用光电传感器,结合轮子外围自身所带白条,通过光电传感器红外检测单位时间内扫描到白条的个数。

方案选择:考虑到小车的实际机械结构,如果采用方案一必然会对小车的结构有较大的改变。方案二结构简单易于在小车上很好的固定安装,而且在软件上也易于实现。

2.硬件电路设计

智能小车总体构成:

STC89C52是一种带8K字节闪烁可编程擦出只读存储器的低电压,高性能COMMOS8的微处理器。该器件采用ATMEL高密度非易失真存储器制造技术制造,和工业标准的MCS-51指令集和输出管脚相兼容。

STC89C52主要完成液晶显示、寻迹、避障、光源检测和车速测量等功能。

2.2 电机驱动模块

电机的驱动芯片选用L298N作为驱动芯片。工作稳定电机驱

动信号由单片机提供,信号经过光耦隔离后传至PWM控制芯片

L298N,通过L298N的输出引脚和两个电机相连。L198N的连接方法如下图所示

本设计中采用脉宽调制技术(PWM)控制使能端(En),然后改变IN1和IN2的状态实现电机的正转和反转。同时可改变脉宽的占空比来调节电机的转速。PWM波形为周期不变的周期性高低电平信号,占空比为高电平时间除以周期,改变占空比实质上是改变了电动机的驱动电压。下图为10%和50%占空比的PWM信号。

2.2 寻迹模块

当小车在白色地面行驶时,装在小车下的红外发射管发射红外线信号,经白色反射后,被接收管接受,一旦接收管接收到信号,输输出端将输出低电平,从而实现了通过红外线检测信号的功能。将检测到的信号传到单片机的I/O 口,当I/O 口检测到的信号为高电平时,表明红外光被地上的黑线吸收了,表明小车正处在黑色的引线上;同理,当I/O 口检测到的信号为低电平时,表明小车行驶在白色地面线上。

反射式红外传感器ST188采用高发射功率红外广电二极管和高灵敏度光电晶体管组成。检测距离可调整范围为4—15mm;采用非接触式检测方式。

当ST188前方为白色时,ST188接收管导通,电阻值减少,输出电压降低,此时比较器同相输入端(3脚)输入电压小,比较器输出为低电平,发光二极管点亮。如下图所示

2.3 趋光避障模块

本设计采用光敏电阻检测光源从而达到趋光效果,光敏电阻阻值随光照强度增大而减小,首先在自然光条件下调节R18改变基准电压,使发光二极管点亮。当光照强度增大,光敏电阻阻值减少,输出电压增加,此时比较器同相输入端(3

脚)输入电压

大,比较器输出为高电平,发光二极管熄灭,如下图所示

在进行避障时采用了反射式红外传感器ST188,放于小车前部,三个ST188,左右中间各一个,且左右两个各向各自的两边倾斜45度角。具体算法如下:

进行扫描,由单片机计算其一秒钟所扫描白条的个数乘以两白条间的距离即可。

显示部分:

控制端口如下:

RS RW E D0~D7 读状态L H H 状态字写状态L L 高脉冲指令码读数据H H H 数据写数据H L 高脉冲数据

2.5 电源模块

小车采用单电源供电,12VDC给电机驱动芯片L298N供电,并经一降压模块输出5V给主控制芯片以及其他芯片供电,电路

如图所示:

3.结论

按照要求,小车已经较好的完成了题目要求的任务。涉及包括机械结构,硬件,软件。其中机械结构是小车能否稳定运行的

基础,硬件电路决定了小车实现的功能,而软件部分则是控制的

灵魂,算法的好坏直接决定了完成任务的质量。

整个设计无疑是一个充满辛苦的过程,期间也遇到了很多的困难,不过在全组组员的共同努力下,在整个实验室同仁的无私

帮助下,以及老师的指导下,最终完成任务,在此对指导老师以

及各位同学一并表示感谢!

程序源代码:

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

后来修改部分:趋光由P1.6 改为P3.0

四传感器将传感器INT去掉,接上P0.3

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

#include

#include

#define uint unsigned int

#define uchar unsigned char

#include "motor.h"

#include "1602.h"

#include "xunji.h"

#define WHITE 0

#define BLACK 1

sbit BUZZER = P1^7;

sbit OPT = P3^0;

sbit zhang_left =P3^3;

sbit zhang_middle =P3^4;

sbit zhang_right =P3^5;

sbit cesu =P0^4;

uchar flag = 0; //全白标志位

char road_status=0;

/******蜂鸣器发声xMs,低电平发声*****************/

void Buzzer(uchar x)

{

BUZZER = 0;

DelayMs(x);

BUZZER = 1;

}

/***********趋光*******************************

函数名称:Park

函数输入:

函数输出:

函数功能:

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

void Park(void) //灯亮(OPT1导通OPT=0 ,左拐)

{

Stop(100,100);

GoHead(0,0);

DelayMs(100);

// if(OPT == 1) // 这种情况下只能用do{}...while 光照一下即可

// do

// {

// {GoHead(52,5);DelayMs(5);}//右转

// } while(RIGHT_ST188 & MID1_ST188& MID2_ST188 & LEFT_ST188); //任何一个检测到白线停止

do

{

TurnLeft(20,20);DelayMs(1000);

GoHead(20,15);

}while(OPT);

}

/***********蔽障*****************************

函数名称:Bizhang

函数输入:

函数输出:

函数功能:

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

void BiZhang(void) // 倒退右转90度前进_ 左转90度{

GoBack(20,20);

DelayMs(200);

TurnRight(25,25); //右转90度

DelayMs(1000);

GoHead(21,21);

DelayMs(1000);

TurnLeft(25,25); //左转90度

road_status = (P0 & 0x0f);

while(!zhang_left || !zhang_middle || !zhang_right );

road_status = (P0 & 0x0f);

}

/********************主函数******************/

void main()

{

Init(); //内部资源初始化

LcdReset(); //液晶初始化

DisplayListChar(0,0,"Time",4);

DispOneChar(7,0,':');

DisplayListChar(0,1,"Speed",5);

DisplayListChar(8,1,"cm/s",4);

// DisplayListChar(8,0,"Time",4);

road_status = (P0 & 0x0f); //取低四位 0000 1111

while(1)

{

road_status = (P0 & 0x0f);

if( (road_status==0)) //一次全白

{

Buzzer(1000); // 1000ms

flag++;

if(flag == 1) //第一次全白,开始趋光

{

Park();//趋光

}

else if(!zhang_left || !zhang_middle || !zhang_right)

{

BiZhang();

}

else if(flag == 2) //第二次全白,终点停车

{

Stop(0,0);

EA = 0; //关总中断

while(1)

{

DispOneChar(5,0,MinuteH+0x30); //显示时间0011 0000 x , y , *DLata , L

DispOneChar(6,0,MinuteL+0x30); // + 48

DispOneChar(8,0,SecondH+0x30);

DispOneChar(9,0,SecondL+0x30);

}

}

}

DispOneChar(5,0,MinuteH+0x30); //显示时间0011 0000 x , y , *DLata , L

DispOneChar(6,0,MinuteL+0x30); // + 48

DispOneChar(8,0,SecondH+0x30);

DispOneChar(9,0,SecondL+0x30);

RoadTrack(road_status); //循迹

DispOneChar(6,1,(b/10)+0x30); //显示速度

DispOneChar(7,1,(b%10)+0x30);

Delay_10Us(5);

}

}

#define dataport P2 //8位数据口#define dataport P0

#define busy 0x80 //忙检测DB7 DB7=1忙,DB7=0允许读写

sbit rs=P0^7; //寄存器选择输入端(硬件)

sbit rw=P0^6; //读写控制输入端(硬件)

sbit e =P0^5; //使能信号输入端(硬件)

/*****************************液晶显示头文件

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

/*-------- 简易延时函数---------*/

void delay(unsigned int i)

{

for(i;i>0;i--);

}

void Delay5Ms(void)

{

uint Temp = 4552;

while(Temp--);

}

/*--------------延时--------*/

void Lcddelay(unsigned char MS)

{

unsigned char i,j;

while(MS!=0)

{

j = 4;

while(j!=0)

{

i=0xf0;

while(i!=0)

{

i--;

}

j--;

}

MS--;

}

}

/*--------------- 检测lcd状态--------------------*/

void WaitForEnable(void) // 等待使能

{

dataport=0xff; // dataport =P2; P2=0xff;

rs=0;

rw=1;

Lcddelay(5);

_nop_();

e=1;

_nop_();

_nop_(); // DB7=1忙,DB7=0允许读写

while(dataport&busy); // busy =0x80 1000 0000

e=0;

}

/*-------------------- 写命令--------------*/

void LcdWriteCommand(unsigned char CMD,unsigned char AttribC)

{

if(AttribC) // en 需要一个高脉冲读出/写入WaitForEnable();

rs=0;

rw=0;

_nop_();

dataport=CMD;

Lcddelay(5);

_nop_();

e=1;

_nop_();

_nop_();

e=0;

}

/*---------- 显示光标定位------------*/

void LocateXY(char polx,char poly)

{

unsigned char temp;

temp=polx & 0x0f; // 0xf =0x0f

poly &= 0x01;

if(poly)

temp |= 0x40;

temp |= 0x80;

LcdWriteCommand(temp,0);

}

/*------------ 写字符---------------*/

void LcdWriteLata(char lataW)

{

WaitForEnable(); //检测忙否且en 需要一个高脉冲读出/写入

rs=1;

rw=0;

_nop_();

dataport=lataW;

Lcddelay(5);

_nop_();

e=1;

_nop_();

_nop_();

e=0;

}

/*------------- 在指定位置显示单个字符-----------------*/

void DispOneChar(unsigned char x,unsigned char y,unsigned char Wlata)

{

LocateXY(x,y);

LcdWriteLata(Wlata);

}

/*--------- 初始化----------*/

void LcdReset(void)

{

LcdWriteCommand(0x38,0); // 显示模块设置0011 1000;

Lcddelay(5);

LcdWriteCommand(0x38,0);

Lcddelay(5);

LcdWriteCommand(0x38,0);

Lcddelay(5);

LcdWriteCommand(0x38,1); // 清屏

LcdWriteCommand(0x08,1); // 0000 1000 关显示,不显示光标,光标不闪烁;

LcdWriteCommand(0x01,1);

LcdWriteCommand(0x06,1);

LcdWriteCommand(0x0c,1);

}

/*--- 在指定位置显示字符串---*/ //

void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code

*DLata,unsigned char L)

{

unsigned char i;

for(i=0;i

DispOneChar(X++,Y,DLata[i]);

}

// 扫到白线输出为低/***********道路检测循迹**********************

函数名称:RoadTrack

函数输入:

函数输出:

函数功能:

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

void RoadTrack(road_status)

{

switch (road_status)

{

case 1: GoHead(64,30); break; //小小右转0001 0x01

case 3: GoHead(65,13); break; //小右转0011 0x03 //

case 7: GoHead(65,6); break; //大右转0111 0x07 //

case 11: GoHead(80,81); break; //直线前进1011 0x0b //

case 13: GoHead(80,81); break; //直线前进1101 0x0d //

case 9: GoHead(80,81); break; //直线前进1001 0x09 //

case 8: GoHead(30,64); break; //小小左转1000 0x08

case 12: GoHead(13,65); break; //小左转1100 0x0c //

case 14: GoHead(6,64); break; //大左转1110 0x0e //

case 15: GoBack(20,21); DelayMs(2); break; //倒退1111 //

0x0f

//case 0x00: GoBack(50,50); break; //直线后退

default:break;

}

}

/*

//***********直道循迹**********************

void RoadTrackZ()

{

road_status = P0&0x0f;

switch (road_status)

{

case 0x09: GoHead(50,50);DelayMs(2);break; // 1001 前进

//一下:P0.0-P0.3

case 0x0d: GoHead(40,55); break; // 1011 一级左转

case 0x0c: GoHead(40,55); break; // 0011 二级左转

case 0x0e: GoHead(20,55); break; // 0111 三级左转

case 0x0b: GoHead(55,45); break; // 1101 一级右转

case 0x03: GoHead(55,40); b reak; // 1100 二级右转

case 0x07: GoHead(50,20); break; // 1110 三级右转

case 0x00: Stop(98,98); break; // 0000 全白停车

case 0x0f: break; // 1111 全黑保持

default: break;

}

}

//*****************弯道寻迹************

void RoadTrackW()

{

road_status = P0&0x0f;

switch (road_status)

{

case 0x09: GoHead(40,40);DelayMs(2);break; // 1001 前进

case 0x0d: GoHead(30,55); break; // 1011 一级左转

case 0x0c: GoHead(20,55); break; // 0011 二级左转

case 0x0e: GoHead(10,70); break; // 0111 三级左转

case 0x0b: GoHead(55,30); break; // 1101 一级右转

case 0x03: GoHead(55,20); b reak; // 1100 二级右转

case 0x07: GoHead(75,10); break; // 1110 三级右转

case 0x00: Stop(98,98); break; // 0000 全白停车

case 0x0f: break; // 1111 全黑保持

default: break;

}

}

//***********对齐白线**********************

void Duiqi()

{

road_status = P0&0x0f;

switch (road_status)

{

case 0x0e: TurnLeft(20,20); break; // 0111

case 0x0c: TurnLeft(20,20); break; // 0011

case 0x08: TurnLeft(20,20); break; // 0001

case 0x07: TurnRight(20,20);break; // 1110

case 0x03: TurnRight(20,20);break; // 1100

case 0x01: TurnRight(20,20);break; // 1000

case 0x00: Stop(98,98); break; // 0000停止

default: break;

}

}

//*************顺时针旋转,实现90度、180度转弯************** void TurnR()

{

road_status = P0&0x0f;

while(road_status!=0x0e) // P0.0-P0.3: 0111

{

TurnRight(20,20);

road_status = P0 &0x0f;

}

road_status = P0&0x0f;

while(road_status!=0x07) // P0.0-P0.3: 1110

{

TurnRight(20,20);

road_status = P0&0x0f;

}

road_status = P0&0x0f;

while(road_status!=0x0b) // P0.0-P0.3: 1101 {

TurnRight(10,10);

road_status = P0 &0x0f;

}

Stop(98,98); // 方向对准,停车

}

void TurnL()

{

road_status = P0 &0x0f;

while(road_status!=0x07) // P0.0-P0.3: 1110

{

TurnLeft(20,20);

road_status = P0 &0x0f;

}

road_status = P0 &0x0f;

while(road_status!=0x0e) // P0.0-P0.3: 0111

{

TurnLeft(20,20);

road_status = P0 &0x0f;

}

road_status = P0 &0x0f;

while(road_status!=0x0d) // P0.0-P0.3: 1011 {

TurnLeft(10,10);

road_status = P0 &0x0f;

}

Stop(98,98); // 方向对准,停车

}

*/

电子实习报告智能循迹小车

电子实习报告智能循迹 小车 文件编码(008-TTIG-UTITD-GKBTT-PUUTI-WYTUI-8256)

电子实习报告 学院:电气学院 专业班级: 学生姓名: 指导教师: 完成时间: 2014/8/29 成绩:

目录 一、设计要求及注意事项 (2) 二、设计的作用、目的 (2) 三、设计的具体实现 (2) 1.系统概述 (2) 2.单元电路设计(或仿真)与分析 (3) (1)电源模 块 (3) (2)电机驱动模块 (4) (3)简易控制模 块 (6) (4)红外循迹模 块 (7) 3.电路的安装与调试 (8) (1)安装 (8)

(2)调 试 (10) 四、心得体会,存在的问题和进一步改进的意见 (11) 五、附录 (11) 1.元件说明 (11) (1)电 阻 (11) (2)电解电 容 (11) (3)LED................................................. ..12 (4)芯 片 (12)

电子实习报告 一、设计要求及注意事项 1.能独立完成设计内容并完全掌握其内部结构、工作原理和安装调试过程。 2.要求在设计过程中能熟练掌握其元器件的计算、焊接技术和电路故障的判别方法。 3.焊接顺序,先贴片后插件。 4.要求焊接的电路板调试时正常且安装好小车后能正常运行。 5.进入实习基地后按指定的实验台就位,未经许可,不得擅自挪换仪器设备。 6.要爱护仪器设备及其它公物,凡违反操作规程,不听从教师指导而损坏者,按规定赔偿。 7.未经指导教师许可,不得做规定以外的实验项目。 8.要保持实习室的整洁和安静,不准大声喧哗,不准随地吐痰,不准乱丢纸屑及杂物。 9. 必须严格按设备操作书的要求去使用设备,注意人身及设备安全,不要盲目操作。 二、设计的作用、目的 1.利用所学过的基础知识,通过本次电子实习培养独立解决实际问题的能力; 2.巩固本课程所学的理论知识和实验技能;

智能小车单片机课程设计报告

题目: 智能小车设计 打开命令行终端的快捷方式: ctr+al+t:默认的路径在家目录 ctr+shift+n:默认的路径为上一次终端所处在的路径. linux@ubuntu:~$ linux:当前登录用户名. ubuntu:主机名 :和$之间:当前用户所处在的工作路径. windows下的工作路径如C:\Intel\Logs linux下的工作路径是:/.../..../ ~:代表的是/home/linux这个路径.(家目录). ls(list):列出当前路径下的文件名和目录名. ls -a(all):列出当前路径下的所有文件和目录名,包括了隐藏文件. .:当前路径 ..:上一级路径 ls -l:以横排的方式列出文件的详细信息 total 269464(当前这个路径总计所占空间的大小,单位是K) drwxr-xr-x 3 linux linux 4096 Dec 4 19:16 Desktop 第一个位置:代表的是文件的类型. linux系统下的文件类型有以下几种. b:块设备文件 c:字符设备文件 d:directory,目录 -:普通文件. l:连接文件. s:套接字文件. p:管道文件. rwxr-xr-x:权限 r:读权限-:没有相对应的权限 w:写权限

x:可执行权限 修改权限: chmod u-或者+r/w/x 文件名 chmod g-或者+r/w/x 文件名 chmod o-或者+r/w/x 文件名 第一组:用户权限 第二组:用户组的权限 第三组:其他用户的权限. chmod 三个数(权限) 文件名 首先根据你想要的权限生成二进制数,再根据二进制数转换成十进制的三位数 rwxr-x-wx 111101011 7 5 3 chmod 753 文件名 rwx--xr-x 第二个位置上的数字:对应目录下的子文件个数,如果是非目录,则数字是1 第三个位置:用户名(文件创造者). 第四个位置:用户组的名字(前边的用户所处在的用户组的名字). 第五个位置:对应文件所占的空间大小(单位为b) 第六~八个位置:Dec 4 19:16时间戳(最后一次修改文件的时间) 最后一个位置:文件名 操作文件: 1.创建一个普通文件:touch 文件名 2.删除一个文件:rm(remove) 文件名 3.新建一个目录:mkdir(make directory) 目录名 递归创建目录:mkdir -p 目录1/目录2/目录3 4.删除一个目录:rmdir 目录名.//仅删除一个空目录 rm -rf 目录名//删除一个非空目录 5.切换目录(change directory):cd 路径 linux下的路径分两种 相对路径:以.(当前路径)为起点. 绝对路径:以/(根目录)为起点, 用相对路径的方式进入Music:cd ./Music 用绝对路径的方式进入Desktop:cd /home/linux/Desktop 返回上一级:cd ..

智能循迹小车实验报告18447

简单电子系统设计报告 ---------智能循迹小车 学号201009130102 年级10 学院理学院 专业电子信息科学与技术姓名马洪岳 指导教师刘怀强

摘要 本实验完成采用红外反射式传感器的自寻迹小车的设计与实现。采用与白色地面色差很大的黑色路线引导小车按照既定路线前进,在意外偏离引导线的情况下自动回位。 本设计采用单片机STC89C51作为小车检测、控制、时间显示核心,以实验室给定的车架为车体,两直流机为主驱动,附加相应的电源电路下载电路,显示电路构成整体电路。自动寻迹的功能采用红外传感器,通过检测高低电平将信号送给单片机,由单片机通过控制驱动芯片L298N驱动电动小车的电机,实现小车的动作。 关键词:STC89C51单片机;L298N;红外传感器;寻迹 一、设计目的 通过设计进一步掌握51单片机的应用,特别是在控制系统中的应用。进一步学习51单片机在系统中的控制功能,能够合理设计单片机的外围电路,并使之与单片机构成整个系统。 二、设计要求 该智能车采用红外传感器对赛道进行道路检测,单片机根据采集到的信号的不同状态判断小车当前状态,通过电机驱动芯片L298N发出控制命令,控制电机的工作状态以实现对小车姿态的控制,绕跑到行驶一周。 三、软硬件设计 硬件电路的设计 1、最小系统: 小车采用atmel公司的AT89C52单片机作为控制芯片,图1是其最小系统电路。主要包括:时钟电路、电源电路、复位电路。其中各个部分的功能如下: (1)、电源电路:给单片机提供5V电源。 (2)、复位电路:在电压达到正常值时给单片机一个复位信号。

图1 单片机最小系统原理图 2、电源电路设计: 模型车通过自身系统,采集赛道信息,获取自身速度信息,加以处理,由芯片给出指令控制其前进转向等动作,各部分都需要由电路支持,电源管理尤为重要。在本设计中,51单片机使用5V电源,电机及舵机使用5V电源。考虑到电源为电池组,额定电压为4.5V,实际充满电后电压则为4-4.5V,所以单片机及传感器模块采用最小系统模块稳压后的5V电源供电,舵机及电机直接由电池供电。 3、传感器电路: 光电寻线方案一般由多对红外收发管组成,通过检测接收到的反射光强,判断黑白线。原理图由红外对管和电压比较器两部分组成,红外对管输出的模拟电压通过电压比较器转换成数字电平输出到单片机。

电子实习报告智能循迹小车

电子实习报告智能循迹小 车 Prepared on 24 November 2020

电子实习报告 学院:电气学院 专业班级: 学生姓名: 指导教师: 完成时间: 2014/8/29 成绩:

目录 一、设计要求及注意事项 (2) 二、设计的作用、目的 (2) 三、设计的具体实现 (2) 1.系统概述 (2) 2.单元电路设计(或仿真)与分析 (3) (1)电源模 块 (3) (2)电机驱动模块 (4) (3)简易控制模块 (6) (4)红外循迹模 块 (7) 3.电路的安装与调试 (8) (1)安装 (8) (2)调试 (10) 四、心得体会,存在的问题和进一步改进的意见 (11) 五、附录 (11) 1.元件说明 (11)

(1)电阻 (11) (2)电解电容 (11) (3)LED (12) (4)芯片 (12)

电子实习报告 一、设计要求及注意事项 1.能独立完成设计内容并完全掌握其内部结构、工作原理和安装调试过程。 2.要求在设计过程中能熟练掌握其元器件的计算、焊接技术和电路故障的判别方法。 3.焊接顺序,先贴片后插件。 4.要求焊接的电路板调试时正常且安装好小车后能正常运行。 5.进入实习基地后按指定的实验台就位,未经许可,不得擅自挪换仪器设备。 6.要爱护仪器设备及其它公物,凡违反操作规程,不听从教师指导而损坏者,按规定赔偿。 7.未经指导教师许可,不得做规定以外的实验项目。 8.要保持实习室的整洁和安静,不准大声喧哗,不准随地吐痰,不准乱丢纸屑及杂物。 9. 必须严格按设备操作书的要求去使用设备,注意人身及设备安全,不要盲目操作。 二、设计的作用、目的 1.利用所学过的基础知识,通过本次电子实习培养独立解决实际问题的能力;2.巩固本课程所学的理论知识和实验技能; 3.掌握常用电子电路的一般设计方法,提高设计能力和实验、动手能力,为今后从事电子电路的设计、研制电子产品打下基础。 4.熟练掌握焊接机能、电子元器件的识别。 5.了解智能循迹小车构成的设计方法。

智能迷宫小车方案

首届ST-EMBED电子设计大赛参赛作品:走迷宫的小车 A Robot System Based On Wireless Communication 参赛学校:华中科技大学 参赛学生:静超、肖骁、刘焱、孙姚聪、吴正华 指导老师:钟国辉 参赛队号: 2006年1月27日 华中科技大学电子与工程系Dian团队

走迷宫的小车 摘要:本系统采用ST公司ARM7芯片STR710FZT6为核心进行设计,合理利用了该芯片上丰富的资源,实现小车智能蔽障、寻迹,信息无线传输等功能,从而在远端PC上对获取的信息进行实时显示。本系统针对现实中出现的对于未知区域实时探测的需求,适当进行了简化,利用迷宫进行模拟。其中,有一台智能小车,和一个PC端。小车在迷宫行进的过程中,会自动蔽障、选择路线,并通过无线模块将行进的信息实时传送给远端PC机,从而在PC端显示出小车在迷宫中行进的路线。为了达到在迷宫中行走的目的,我们要设计蔽障和迷宫算法,为了使小车的信息能够实时传输到远端PC机,就需要设计一套较为实用和可靠的无线通信协议。 关键词:蔽障,迷宫算法,无线通信协议 A Robot System Based On Wireless Communication Abstract:This system uses STR710FZT6 ARM7 chip as a core and its rich resources to achieve a smart car with functions of intelligent languishing impaired, motion, wireless transmission of information and others, PC on the remote will obtain the information for real-time display. In view of the reality of the system for real-time detection of unknown regional demand, we make a proper conduct of a simplified, using simulation maze. Among them, they have a smart car, and a PC terminal. In the process, the smart car will automatically languishing barriers, choose route and the road line will be through wireless module and real-time transmission of information to distant PC which shows it. In order to achieve the purpose, we have to design languishing impaired and maze algorithm, and also with the purpose of making Dolly have the ability of real-time transmission of information to distant PC, we should design a more practical and reliable wireless communication protocol. Keywords: languishing impaired, maze algorithm, wireless communication protocol.

智能小车课程设计报告书

※※※※※※※※※ 级学生※※2015※※课程设计材料※※※※※※※※※※※ 课程设计报告书 课题名称智能小车蓝牙操控和循迹的实现 名姓 学号 院学 专业 指导教师 2019年2月15日 设计目的1 通过设计进一步掌握51单片机的应用,特别是在嵌入式系统中的应用。进一步学习51单片机在系统中的控制功能,能够合理设计单片机的外围电路,并使之与单片机构成整个系统。 2功能要求

智能小车作为现代的新发明,是以后的发展方向,他可以按照预先设定的模式在一个环境里自动运作,不需要人为的管理,可应用于科学勘探等等用途;并且能实现显示时间、速度、里程,具有自动寻迹、寻光、避障等功能,可程控行驶速度、准确定位停车,远程传输图像、按键控制加速,减速,刹停,左转和右转、实时显示运行状态等功能。 3 总体设计方案 在现有玩具电动车的基础上,加了四个按键,实现对电动车的运行轨迹的启动,并将按键的状态传送至单片机进行处理,然后由单片机根据所检测的各种按键状态实现对电动车的智能控制。这种方案能实现对电动车的运动状态进行实时控制,控制灵活、可靠,精度高,可满足对系统的各项要求。本设计采用AT89C51单 片机。以AT89C51为控制核心,利用按键的动作,控制电动小汽车的状态。加 装光电、红外线、超声波传感器,实现对电动车的速度、位置、运行状况的实时测量,并将测量数据传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对电动小车的智能控制,如图1所示。简易智能电动车采用AT89C51单 片机进行智能控制。开始由手动启动小车,并复位初始化,当到达规定的起始黑线,由小车底部的红外光电传感器检测到第一条黑线后,通过单片机控制小车[2]。在白纸所做轨迹道路中,小车通过超声波传感器正前开始记数、显示、调速方检测和光电传感器左右侧检测,由单片机控制实现系统的自动避障功能。在电动车进驶过程中,采用双极式H型PWM脉宽调制技术,以控制小车调速;并采用 动态共阴显示行驶时间和里程。小车通过光电传感装置实现驶向光源并通过循迹保持小车在白纸范围内行驶。当小车到达终点第二次检测到黑线时,单片机控制小车停车。 总体设计框架图图1 4 硬件电路选取与设计

智能循迹小车实训报告

实训报告课程名称:单片机实训 完成日期:2014 年 7 月 10 日

任务书 实训(习)题目: 智能小车的功能设计与实现 实训(习)目的: (1)、巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力; (2)培养针对课程需要。锻炼学生查阅有关手册、图标及文献资料的自学能力,提高组成系统、编程、调试的动手能力; (3)对课程的方案分析、选择、比较、熟悉单片机系统开发、研制的过程,软硬件设计的方法、内容及步骤。 实训(习)内容: 安装智能小车及相关功能设计、调试 实训(习)要求: 1. 本实训要求由一个团队完成,团队人员不超过8个人。 2. 通过所学知识并利用智能小车、计算机、 keil软件、烧写软件等完成实训项目,并拟定实训报告。 3. 能正确组装和调试智能小车。 4. 实训完成后,根据实训内容撰写实训报告书一份。 实训报告应包括的主要内容(参考) 1 系统硬件组成与工作原理 1.1 控制器与最小系统 1.2 显示模块与按键模块 1.3 报警模块 1.4 电机与驱动模块的工作原理与接口 1.5循迹模块的工作原理与接口 1.6 避障模块的工作原理与接口 2 功能方案及软件设计 2.1 功能设计 2.2 软件设计 (结合某一赛道、障碍设置说明程序设计思路,给出流程图、程序代码) 3功能调试与总结 3.1 功能调试 排版要求:正文小4宋体;段首缩进2字,行间距固定值18磅。内容展开可以

按3级标题形式,如:按1 ……、1.1 ……、1.1.1 形式(如果需要)。每个1级标题另起一页,1级标题三号黑体居中,题序和标题之间空两个空格,不加标点,段前、段后均为1行,固定值22磅。2级标题:四号黑体左起,四号黑体,段前、段后均为12磅。三级标题:小四号黑体左起,段前、段后均为6磅。 图名、表名五号黑体,英文、数字字体为Times New Roman 页边距:上、下、左3厘米,右2厘米,A4纸打印。 1系统硬件组成与工作原理 1.1.1控制器与最小系统 最小系统:要使一块单片机芯片工作起来最简陋的接线方式就是单片机的

智能小车的实训报告

智能产品设计实训报告书 课程名称:智能产品设计 班级:应用电子技术15级2班 小组成员(学号):商育诚(39)王少勇(91) 实训项目:智能小车 实训时间:2017年5月8日 指导老师:何敬银老师 填表日期:2017年5月14日星期日

实训目的-------------------------------------3 实训要求-------------------------------------3 实训内容-------------------------------------4 智能小车元器件清单-----------------------------------------------4 智能小车代码-----------------------------------------------------5 智能小车电路图---------------------------------------------------10 智能小车焊接-----------------------------------------------------11 智能小车模块系统详解---------------------------------------------12 实训成果展示---------------------------------13 收获和体会-----------------------------------14

实训目的: 制作一个基于单片机控制的智能小车,可以进行多种功能。也让我们自己学习,学习到单片机的知识和单片机编程的知识还有电阻的识别和一些电路的知识。提高了我们焊接技术和团队合作能力,增加了我们制作电子产品产品的经验。这个实训还有对于一些需要进行PPT的演讲,不经给我们一个展示自己作品的平台,更重要的是给我一个增强自信心的机会,展现自己和展现自己的作品这个实训不仅让我们学会更多的知识而且还满足我们自己对自己亲自动手制作电子产品的愿望。 实训要求: 能够熟练对老师进行智能小车源代码的讲解,还有对于电路图的了解和电路知识的应用,还有对于另一些芯片的知识进行学习。还有熟练掌握元器件的名称大小的识别。还有在焊接过程中可以可以让我们的焊接技术更加地熟练,可以让我们的小组成员合作更好,增强了小组成员的合作默契。

智能寻迹小车实训报告

目录 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单片机作为总的控制核心,利用传感器,在循线信号、寻光信号、检测障碍物信号等的输入作用下,控制电机采取相应的动作,从而调整小车做合

北邮电子工艺实习智能小车实习报告附程序

北京邮电大学实习报告

附页:学生实习总结 一、初步设计 走迷宫小车利用单片机STC900C52RC 作为中控核心,光电开关E18-D80NK 作为走迷宫小车的探测障碍的传感器,以及其它L298N电机驱动芯片、LM1117-5.0/LDO电源。 小车走迷宫使用的是左手算法(即摸墙算法),迷宫是简单连通的,即迷宫的墙总是相互相连的或与迷宫的外轮廓相连,那么迷宫的搜索者从起点开始将左手扶在墙面前行,总能保证不会迷失并且找到迷宫中存在的出口(若忽略出口将回到迷宫起点)。这种策略在刚进入迷宫时即执行的效果是最佳的。小车采用一个L298N电机驱动模块、LM1117-5.0/LDO电源、两个E18-D80NK光电开关(一个放置在小车正前方,一个放置在小车正左方),分别判断小车的前方和左方是否有障碍,并将高低电平传递至传递给单片机,使单片机控制电机实现左转、右转、前进、掉头(实际为连续两次右转)的功能穿越迷宫。 小车是三轮小车,前两个是驱动轮,后一个是支点轮(从动轮),两个驱动轮是分别由两个电机驱动,通过同速率同向转动前进和同速率反向转动转向。 二、具体工作 1) 元器件的焊接与组装 2) 部分代码的编写与调试 3) 小车外观的设计与制作 三、小车焊接与电路测试 1)在我们焊接小车之前,我们用了两天时间学习和熟悉焊接工艺,同时还 做了个发光二极管的小实验,这些基础让我在焊接小车电路板的时候 有了底气,做起来也有些轻车熟路。我们用了半天的时间就几乎完成 了全部的焊接任务,按照小车的装配步骤,我们依次焊接了电阻、晶 体、排阻、二极管、开关、三极管、二极管、电容、数码管、电源电 机端子、排针、驱动芯片等,同时也学会了“先焊矮的后焊高”的道 理。在完成焊接之后,小车的组装也颇为顺利,在实验步骤的指导下, 顺利完成了小车的组装,小车已初现其形。 2)在小车焊接与组装之后,开始进行小车电路测试,植入CHECK程序之后, 小车完美的实现了前进与后退的功能,而且前行的轨迹相对笔直,这 和我们的焊接与组装有很大关系。但是,在实现前进功能的同时也出 现了问题,数码管有一个数字不显示,在查看电路图,和老师同学讨 论之后,我们确定了问题的源头,是有一个三极管在焊接过程中烧坏 了,在更换了三极管之后,数码管全都亮了。同时我也帮其他电机不 转的同学发现和解决了问题,大都是电元件被烧坏了。这也提醒我们 在焊接的时候,要小心谨慎。 四、小车硬件调试

智能寻迹小车实验报告

DIY 达人赛 基于STC89C52 单片机智能寻迹小车 实 验 报 告 参赛队伍: 队员: 2014 年 4 月

一、引言 我们所处的这个时代是信息革命的时代,各种新技术、新思想层出不穷,纵观世界范围内智能汽车技术的发展,每一次新的进步无不是受新技术新思想的推动。随着汽车工业的迅速发展,传统的汽车的发展逐渐趋于饱和。伴随着电子技术和嵌入式技术的迅猛发展,这使得汽车日渐走向智能化。智能汽车由原先的驾驶更加简单更加安全更加舒适,逐渐的向智能驾驶系统方向发展。智能驾驶系统相当于智能机器人,能代替人驾驶汽车。它主要是通过安装在前后保险杠及两侧的红外线摄像机,对汽车前后左右一定区域进行不停地扫描和监视。计算机、电子地图和光化学传感器等对红外线摄像机传来的信号进行分析计算,并根据道路交通信息管理系统传来的交通信息,代替人的大脑发出指令,指挥执行系统操作汽车。 1、来源汽车的智能化是21 世纪汽车产业的核心竞争力之一。汽车的智能化是以迅猛发展的汽车电子为背景,涵盖了控制、模式识别、传感技术、电子、电气、计算机、机械等多个学科交叉的科技。 2、智能汽车国外发展情况 从20 世纪70 年代开始,美国、英国、德国等发达国家开始进行无人驾驶汽车的研究,目前在可行性和实用化方面都取得了突破性的进展。目前日本、欧美已有企业取得实用化成果。与国外相比,国内在智能车辆方面的研究起步较晚,规模较小,开展这方面研究工作的单位主要是一些大学和研究所,如国防科技大学、清华大学、吉林大学、北京理工大学、长安大学、沈阳自动化所等。我国从20 世纪80 年代开始进行无人驾驶汽车的研究,国防科技大学在1992 年成功研制出我国第一辆真正意义上的无人驾驶汽车。先后研制出四代无人驾驶汽车。第四代全自主无人驾驶汽车于2000 年 6 月在长沙市绕城高速公路上进行了全自主无人驾驶试验,试验最高时速达到75.6Km/h。 3、我们的小车 我们做的是基于STC 8 9 C52单片机开发,主要是研究3轮小车的路径识别及其遥 控运动。

智能小车循迹报告

智能小车循迹报告 电工电子实习报告 学院: 专业班级: 学生姓名: 指导教师: 完成时间: 成绩: 评阅意见: 评阅教师日期 智能循迹小车设计报告一. 设计要求 (1)(通过理论学习掌握基本的焊接知识以及电子产品的生产流程。 (2)(熟悉掌握手工焊接的方法与技巧。 (3)(完成循迹智能小车的安装与调试 二. 设计的作用、目的 1.利用所学过的基础知识,通过本次电子实习培养独立解决实际问题的能力; 2(巩固本课程所学的理论知识和实验技能; 3(掌握常用电子电路的一般设计方法,提高设计能力和实验、动手能力,为今后从事电子电路的设计、研制电子产品打下基础。 三.设计的具体实现 1. 系统概述 智能机器人小车的设计中我们使用的是一体反射式红外对管,所谓一体就是发射管和接受管固定在一起,反射式的工作原理就是接收管接收到的信号是发射管发

出的红外光经过反射物的反射后得到的,所以使用红外对管进行循迹时必须是白色地板 红外寻迹是利用红外光电对管对路面信号进行检测,经过比较器处理之后,送给软件控制模块进行实时控制,输出相应的信号给驱动芯片驱动电机转动,从而控制整个小车的运动。(为简化操作,本次实习只安装了两侧的探头) 1)行驶直线的控制:利用红外传感器的左右最外端的探头检测黑线,如果全白则说明在道中间,没有偏离轨道,走直线;一旦右侧探头检测到黑线,说明小车外侧探头已跑出轨道,让车左拐;同理一旦左侧检测到黑线,说明左侧探头已经出线,执行右拐命令。 2)拐直角弯的控制:当车前探头检测到黑线,执行直走,让车中心探头去检测,一旦探头检测到黑线开始左拐,直到车位探头检测到跳出左拐命令,继续开始执行循迹,通过设置车中间探头与车尾探头的间距,便可以实现拐弯的角度,进而顺利入弯。 小车的硬件主要包括4大模块:即电源模块、电机驱动模块、红外循迹 模块、简易控制模块。 系统工作框图如下: 驱动电机检测黑线简易控制控制小车 2.单元电路设计与分析 1)电源模块 电源模块电路板

智能寻迹小车

智能寻迹小车 作者:李毅卢仁义吴甜解放军炮兵学院(安徽合肥230031) 时间:2008-06-18 来源:电子产品世界 浏览评论推荐给好友我有问题个性化定制 关键词:51单片机智能小车光电对管寻迹脉冲宽度调制 摘要:本文介绍了一种基于51单片机的小车寻迹系统。该系统采用两组高灵敏度的光电对管,对路面黑色轨迹进行检测,并利用单片机产生PWM波,控制小车速度。测试结果表明,该系统能够平稳跟踪给定的路径。 关键词:智能小车;光电对管;寻迹;脉冲宽度调制 在历届全国大学生电子设计竞赛中多次出现了集光、机、电于一体的简易智能小车题目。笔者通过论证、比较、实验之后,制作出了简易小车的寻迹电路系统。整个系统基于普通玩具小车的机械结构,并利用了小车的底盘、前后轮电机及其自动复原装置,能够平稳跟踪路面黑色轨迹运行。 总体方案 整个电路系统分为检测、控制、驱动三个模块。首先利用光电对管对路面信号进行检测,经过比较器处理之后,送给软件控制模块进行实时控制,输出相应的信号给驱动芯片驱动电机转动,从而控制整个小车的运动。系统方案方框图如图1所示。 图1 智能小车寻迹系统框图 传感检测单元 小车循迹原理

该智能小车在画有黑线的白纸“路面”上行驶,由于黑线和白纸对光线的反射系数不同,可根据接收到的反射光的强弱来判断“道路”—黑线。笔者在该模块中利用了简单、应用也比较普遍的检测方法——红外探测法。 红外探测法,即利用红外线在不同颜色的物理表面具有不同的反射性质的特点。在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色地面时发生漫发射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,则小车上的接收管接收不到信号。 传感器的选择 市场上用于红外探测法的器件较多,可以利用反射式传感器外接简单电路自制探头,也可以使用结构简单、工作性能可靠的集成式红外探头。ST系列集成红外探头价格便宜、体积小、使用方便、性能可靠、用途广泛,所以该系统中最终选择了ST168反射传感器作为红外光的发射和接收器件,其内部结构和外接电路均较为简单,如图2所示: 图2 ST168检测电路

智能小车单片机课程设计报告

单片机课程设计 题目: 智能小车设计 专业: 计算机科学与技术 班级: 14级2班 姓名学号组长 成员 成员 成员 成员 2016 年 12 月 23 日

打开命令行终端的快捷方式: ctr+al+t:默认的路径在家目录 ctr+shift+n:默认的路径为上一次终端所处在的路径. linux@ubuntu:~$ linux:当前登录用户名. ubuntu:主机名 :和$之间:当前用户所处在的工作路径. windows下的工作路径如C:\Intel\Logs linux下的工作路径是:/.../..../ ~:代表的是/home/linux这个路径.(家目录). ls(list):列出当前路径下的文件名和目录名. ls -a(all):列出当前路径下的所有文件和目录名,包括了隐藏文件. .:当前路径 ..:上一级路径 ls -l:以横排的方式列出文件的详细信息 total 269464(当前这个路径总计所占空间的大小,单位是K) drwxr-xr-x 3 linux linux 4096 Dec 4 19:16 Desktop 第一个位置:代表的是文件的类型. linux系统下的文件类型有以下几种. b:块设备文件 c:字符设备文件 d:directory,目录 -:普通文件. l:连接文件. s:套接字文件. p:管道文件. rwxr-xr-x:权限 r:读权限 -:没有相对应的权限 w:写权限 x:可执行权限 修改权限:

chmod u-或者+r/w/x 文件名 chmod g-或者+r/w/x 文件名 chmod o-或者+r/w/x 文件名 第一组:用户权限 第二组:用户组的权限 第三组:其他用户的权限. chmod 三个数(权限) 文件名 首先根据你想要的权限生成二进制数,再根据二进制数转换成十进制的三位数 rwxr-x-wx 111101011 7 5 3 chmod 753 文件名 rwx--xr-x 第二个位置上的数字:对应目录下的子文件个数,如果是非目录,则数字是1 第三个位置:用户名(文件创造者). 第四个位置:用户组的名字(前边的用户所处在的用户组的名字). 第五个位置:对应文件所占的空间大小(单位为b) 第六~八个位置:Dec 4 19:16时间戳(最后一次修改文件的时间) 最后一个位置:文件名 操作文件: 1.创建一个普通文件:touch 文件名 2.删除一个文件:rm(remove) 文件名 3.新建一个目录:mkdir(make directory) 目录名 递归创建目录:mkdir -p 目录1/目录2/目录3 4.删除一个目录:rmdir 目录名.//仅删除一个空目录 rm -rf 目录名//删除一个非空目录 5.切换目录(change directory):cd 路径 linux下的路径分两种 相对路径:以.(当前路径)为起点. 绝对路径:以/(根目录)为起点, 用相对路径的方式进入Music:cd ./Music 用绝对路径的方式进入Desktop:cd /home/linux/Desktop 返回上一级:cd .. 返回加家目录的三种方式 (1).cd

智能小车实训报告

智能小车实训报告 摘要: 本课题是基于AT89C52单片机的智能小车的设计与实现,小车完成的主要功能是能够自主识别黑色引导线并根据黑线走向实现快速稳定的寻线行驶。小车系统以 AT89S52 单片机为系统控制处理器; 采用红外传感获取赛道的信息,来对小车的方向和速度进行控制。此外,对整个控制软件进行设计和程序的编制以及程序的调试,并最终完成软件和硬件的融合,实现小车的预期功能。 一、实验目的: 通过设计进一步掌握51单片机的应用,特别是在嵌入式系统中的应用。进一步学习51单片机在系统中的控制功能,能够合理设计单片机的外围电路,并使之与单片机构成整个系统。 二、设计方案 该智能车采用红外传感器对赛道进行道路检测,单片机根据采集到的信号的不同状态判断小车当前状态,通过电机驱动芯片L298N 发出控制命令,控制电机的工作状态以实现对小车姿态的控制。 三.报告内容安排 本技术报告主要分为三个部分。第一部分是对整个系统实现方法的一个概要说明,主要内容是对整个技术原理的概述;第二部分是对硬件电路设计的说明,主要介绍系统传感器的设计及其他硬件电路的设计原理等;第三部分是对系统软件设计部分的说明,主要内容是智

能模型车设计中主要用到的控制理论、算法说明及代码设计介绍等。 技术方案概要说明 本模型车的电路系统包括电源管理模块、单片机模块、传感器模块、电机驱动模块。 工作原理: 利用红外采集模块中的红外发射接收对管检测路面上的轨迹 将轨迹信息送到单片机 单片机采用模糊推理求出转向的角度,然后去控制 行走部分 最终完成智能小车可以按照路面上的轨迹运行。 硬件电路的设计 1、最小系统: 小车采用atmel公司的AT89C52单片机作为控制芯片,图1是其最小系统电路。主要包括:时钟电路、电源电路、复位电路。 其中各个部分的功能如下: 1、时钟电路:给单片机提供一个外接的16MHz的石英晶振。 2、电源电路:给单片机提供5V电源。 3、复位电路:在电压达到正常值时给单片机一个复位信号。

智能迷宫寻迹小车报告

题目名称:迷宫寻迹机器人(E题) 参赛队员:************************ 摘要:本寻迹小车选用8位89C52单片机为控制器,通过6个红外光电传感器TCRT5000对信号进行采集,采集到的信号经比较器LM393处理后传给89C52单片机,经单片机处理后,发出控制命令给L298N,驱动2台直流电动机进行相应的动作。该小车能够识别出黑色轨迹并能沿着黑色轨迹前进直到终点,并能显示出运行时间。 1方案论证与比较 1.1 传感器的选择与比较 方案一采用摄像头,然后用CCD处理技术,对采集的信号进行分析。 方案二使用光敏传感器,能够采集回来黑与白两种信号,然后进行处理与分析。 由于采用摄像头进行CCD处理所用的硬件搭接较为繁琐,并且处理起来还比较麻烦,而光敏传感器TCRT5000可以虽然智能识别黑与白两种颜色由于现场条件,并不能对其造成干扰,而且其反应速度快,响应时间短,故此,我们选用光敏传感器TCRT5000。 1.2 车体的选择与比较 方案一采用4轮小车,前轮由舵机控制转弯,后轮由动力电机控制前进与后退。 方案二采用三轮小车,前面两轮由两个电机分别控制,用其速度差来实现转弯与调整,后前轮为万向轮,用来维持小车的平衡 由于采用4轮车,小车在转弯时会产生转弯半径,会偏离轨迹,不能按照黑色轨迹前进,而转弯半径无法缩小到满意的程度,由于三轮小车用两个电机来控制两个轮子,故很容易来实现转弯与调整,是理想的车体模型。 1.3前进路径与返回路径的最优选择 由于小车需要按照黑色轨迹寻到终点,并且按最优路径返回,故小车应能识别迷宫的路况,普通寻迹小车智能按照黑色轨迹走,但不能识别路况,这样小车寻到终点的效率很低,又不能按照最优路径返回。考虑到以上情况,我们给小车加上了识别路口程序,并且让小车按照右手原则前进,在每个路口处让小车记录出所走过的路况,并且记忆,以便于在返航时调用记录信息,使小车顺利返回。

智能小车课程设计

精心整理 智能循迹小车 【摘要】 本课题是基于低功耗单片机的智能小车的设计与实现,小车完成的主要功能是能够自主识别黑色引导线并根据黑线走向实现快速稳定的寻线行驶。小车系统以单片机为系统控制处器;采用红外传感获取赛道的信息,来对小车的方向和速度进行控制。此外,对整个控制软件进行设计和程序的编制以及程序的调试,并最终完成软件和硬件的融合,实现小车的预期功能。 一、实验目的 ????这次设计智能小车的目的是为了掌握电路设计的方法和技巧。如何将学习到的理论知识运用到实际当中去,怎样能够活学活用,深入的了解电子元器件的使用方法,了解各种元器件的基本用途和方法,能够灵活敏捷的判断电路中出现的故障,学会独立设计电路,积累更多的设计经验,加强焊接能力和技巧,完成基本的要求。并能完美的完成这次实训。 根据老师给的控制要求,和自己的发挥扩充能力,独立的,大胆的去实践,开拓创新,能够将自己的想法体现到实际电路当中去。 二、设计方案 该智能车采用红外传感器对赛道进行道路检测,单片机根据采集到的信号的不同状态判断小车当前状态,通过电机驱动芯片发出控制命令,控制电机的工作状态以实现对小车姿态的控制。三、各芯片说明 W981216BH-6 一种髙速度同步动态随机存取存储器(SDRAM),具有1M字(words)*4层(banks)*16位(bits)的存储结构组织.传输数据带宽最高达166M字/秒(-6)。 对SDRAM是否访问是突发导向。在一个页面连续的内存位置可在一个1,2,4,8或整页突发访问时长和行选择组由活动命令。列地址自动生成的SDRAM的内部计数器在突发运作。随机栏也可以通过阅读在每个时钟周期提供其地址。该多组特性使交织在内部银行隐藏预充电时间。通过让一个可编程的模式寄存器,该系统可以改变突发长度,延时周期,交错或连续突发最大限度地发挥其性能。W981216BH是在理想的主内存高性能应用。 特征: 1、.3V±0.3V电源

电子实习报告智能循迹小车

电子实习报告智能循迹小车

电子实习报告 学院:电气学院专业班级: 学生姓名: 指导教师: 完成时间:2014/8/29 成绩:

目录 一、设计要求及注意事项 (2) 二、设计的作用、目的 (2) 三、设计的具体实现 (2) 1.系统概述 (2) 2.单元电路设计(或仿真)与分析 (3) (1)电源模块..................................... (3) (2)电机驱动模块........................................ (4) (3)简易控制模块 (6) (4)红外循迹模块..................................... (7) 3.电路的安装与调试........................................ .. (8) (1)安装 (8) (2)调试 (10) 四、心得体会,存在的问题和进一步改进的意见 (11)

五、附录 (11) 1.元件说明 (11) (1)电 阻 (11) (2)电解电容 (11) (3)LED (1) 2 (4)芯片 (12)

电子实习报告 一、设计要求及注意事项 1.能独立完成设计内容并完全掌握其内部结构、工作原理和安装调试过程。 2.要求在设计过程中能熟练掌握其元器件的计算、焊接技术和电路故障的判别方法。 3.焊接顺序,先贴片后插件。 4.要求焊接的电路板调试时正常且安装好小车后能正常运行。 5.进入实习基地后按指定的实验台就位,未经许可,不得擅自挪换仪器设备。 6.要爱护仪器设备及其它公物,凡违反操作规程,不听从教师指导而损坏者,按规定赔偿。 7.未经指导教师许可,不得做规定以外的实验项目。 8.要保持实习室的整洁和安静,不准大声喧哗,不准随地吐痰,不准乱丢纸屑及杂物。 9. 必须严格按设备操作书的要求去使用设备,注意人身及设备安全,不要盲目操作。 二、设计的作用、目的 1.利用所学过的基础知识,通过本次电子实习培养独立解决实际问题的能力;2.巩固本课程所学的理论知识和实验技能; 3.掌握常用电子电路的一般设计方法,提高设计能力和实验、动手能力,为今后从事电子电路的设计、研制电子产品打下基础。 4.熟练掌握焊接机能、电子元器件的识别。 5.了解智能循迹小车构成的设计方法。 6.培养团队的协作和沟通能力。 三、设计的具体实现 1.系统概述 智能移动机器人平台以双电机轮式小车为底层移动平台,单片机为控制核心,通过红外探测模块实现对行车路线的感知,电机驱动模块实现对直流电机的驱动控制,从而完成自动行驶的功能。 如图:

智能小车中的迷宫算法

智能小车中的迷宫算法 2008-10-27 15:20 智能小车中的迷宫算法 看了周立功上面的电脑鼠走迷宫的视频感觉非常有趣,一直都做个小车玩,可没材料,只能看着视频上的小车路行轨迹整出来了这个算法,我不知道真正的算法是怎么实现的,这只是我自己想的一个算法,而且没有完整的小车程序,有空买了小车的再整理总程序。 https://www.360docs.net/doc/8811376391.html,/pro_ydkz/MicroMouse615.asp这是视频地址。 先看看那大体的迷宫图,随便画的,不是很准确,红色的是小车的运行轨迹,蓝色小圈表示要保存的节点,右下角是起始点: 首先是数据结构,对于整个程序来说,首先要做的是把整个图存下来,有过数据结构基础的这个应该不难,图一般是以结点的方式存储,也就是图中的蓝色小圈,结点的存储格式也是很重要的,我前后尝试了好几种才确定下来。节点有两中逻辑相连方式,一个是图形连接,对应* lt_north,*lt_west,*lt_south,*lt_east,一个是线性连接,对应*frontpoint和*nextpoint,线性连接是为了容易判断当前小车所到结点是否已经记录,也为了后面迷宫算法的树形实现。如下:Struct mappoint { Float point_x,point_y; //我是以坐标形式存储,这事相对坐标 Bool ltb_north,ltb_west,ltb_south,ltb_east; //这是记录每个结前后左右 是否有相通结 Mappoint * lt_north,*lt_west,*lt_south,*lt_east; //这是前后左右相通节点的地址

相关文档
最新文档