单片机论文.docx

上传人:b****4 文档编号:11529864 上传时间:2023-03-18 格式:DOCX 页数:11 大小:171.60KB
下载 相关 举报
单片机论文.docx_第1页
第1页 / 共11页
单片机论文.docx_第2页
第2页 / 共11页
单片机论文.docx_第3页
第3页 / 共11页
单片机论文.docx_第4页
第4页 / 共11页
单片机论文.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

单片机论文.docx

《单片机论文.docx》由会员分享,可在线阅读,更多相关《单片机论文.docx(11页珍藏版)》请在冰豆网上搜索。

单片机论文.docx

单片机论文

湖南农业大学课程论文

学院:

工学院班级:

08机制1班

姓名:

伍伟学号:

************

课程论文题目:

循环电动小车单片机控制系统

课程名称:

评阅成绩:

 

成绩评定教师签名:

日期:

年月日

 

1.1设计任务和要求..............................................2

1.2总体设计方案………………………………………………………………2

2.1整机电路设计…………………………………………………..4

2.2 各主要单元电路设计………………………………………4

3.2系统主程序流程图………………………………………………6

 

循迹电动小车单片机控制系统

学生:

伍伟

(工学院08机制1班200840614224)

摘要:

本文介绍了一种基于单片机控制的简易自动循迹小车设计,包括小车系统构成软硬件设计方法。

该小车以AT89S52作为系统控制核心,采用光电传感器来检测信号,用两个步进电机分别驱动后轮,电机驱动采用功率放大管,通过单片机给定的控制信号进行换相,灵活方便地对步进电机的速度和转向进行控制,进而达到控制电动车在黑色轨迹上的运动。

关键词:

电动车;双步进电机;单片机;光电传感器

随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注,对于汽车的智能化也越来越得的关注。

本设计就是在这样的背景下提出的。

本题目是结合科研项目而确定的设计类课题。

设计的智能电动小车应该能够实时显示时间、速度、里程,具有自动寻迹、寻光、避障功能,可程控行驶速度、准确定位停车。

所以对于循迹电动小车的研究,现实意义很强。

一、系统设计

1.1设计任务和要求

1.1.1设计任务

设计并制作一个自动寻迹小车,小车从安全区域启动,按指定路线运行,自动区分直线轨道和弯路轨道,在指定弯路处拐弯,实现灵活前进、转弯、倒退等功能。

1.1.2基本要求

在不加配重的情况下,电动车完成以下运动:

(1)公交车从起始站点A出发,沿着黑色引导线,公交车从起始站点A出发,沿着黑色引导线,到达终点B;

(2)小车按指定路线运行,自动区分直线轨道和弯路轨道,在指定弯路处拐弯,实现灵活前进、转弯、倒退等功能,在轨道上划出设定的地图;

1.2总体设计方案

1.2.1系统总体设计思路

本系统实现电动车地板上沿黑色轨迹行驶并实时显示车运行状况。

总体设计思路如图1所示。

系统包括控制器模块、电源模块、信号检测模块、电机及其驱动模块、键盘模块等四部分。

系统工作时,单片机接收传感器的输出信号后输出控制信号,采用黑白线引导、反射式光电传感器检测,使小车在轨道上自动行驶。

1.2.2方案论证与比较

(1)控制器模块的设计方案论证与选择

方案一:

采用FPGA作为系统主控器。

FPGA可实现各种复杂逻辑功能,规模大,集成度高,体积小,稳定性好,IO资源丰富、易于进行功能扩展,处理速度快,但适用于大规模实时性要求较高的系统,价格高,编程实现难度大。

本系统只需完成信号检测和电机驱动的控制,逻辑功能简单,对控制器的数据处理能力要求不高,故不选择此方案。

方案二:

采用嵌入式系统作为主控器。

嵌入式系统工作频率较高,速度较快,控制功能很强,也有较强的数据处理能力。

但同样价格高,编程实现难度大。

方案三:

采用Atmel公司的AT89S52单片机作为主控制器。

AT89S52是一个低功耗、高性能8位单片机,片内含8KBFlash片内程序存储器,256BytesRAM,32个外部双向输入/输出(I/O)口,5个中断优先级,2层中断嵌套中断等。

价格便宜,使用方便,编程实现难度低,适合用来实现本系统的控制功能。

综上分析,本设计选择方案三。

(2)电机控制模块的设计方案论证与选择

为实现电动车对行走路径的准确定位和精确测量,可考虑以下两种方案:

方案一:

采用直流电机。

直流电机转动力矩大,体积小,重量轻,装配简单,使用方便。

主要适合于高速电机系统,本系统要求控制精度较高,不易达到。

方案二:

采用步进电机。

步进电机是数字控制电机,控制也简单,具有瞬间启动和急速停止的优越性,比较适合本系统要求控制精度高的特点。

综上分析,本系统选择方案二。

(3)电机驱动模块的设计方案论证和选择

方案一:

采用集成芯片L298N驱动步进电机。

L298N是一个具有高电压大电流的全桥驱动芯片,响应频率较高,稳定性较好。

但本系统两个电机时序不同,会出现需要不同延时程序的情况,系统处理负荷大,影响电机工作,同时价格相对较高。

方案二:

用功率管(如TIP132,8A70W)构成驱动电路来驱动电机。

结构简单,价格低廉,经测试完全可以驱动电机,完成控制功能。

综上分析,选择方案二。

(4)信号检测模块的设计方案论证和选择

方案一:

用光敏电阻组成光敏探测器。

光敏电阻原理简单,使用方便,价格低廉,但受光照强度影响很大,可靠性差。

方案二:

采用角度传感器。

使用角度传感器来测量车体水平方向和竖直方向的角度,感测到的倾角信号经编码后传送给单片机,由单片机控制电动车的运行。

角度传感器灵敏度合适,响应速度好,但是使用复杂,价格昂贵,且不易购买。

方案三:

用光电传感器。

光电传感器原理简单,实现方便,价格低廉,可集发射器和接收器于一体。

使用这类光电传感器电路简单,工作性能稳定,能完成需要的信号检测功能。

综上分析,选择方案三。

 

二、硬件电路设计

2.1整机电路设计

系统整机电路如附录1所示。

单片机系统作为控制核心,实时接收光电传感器的输出信号,经数据处理后送给各单元电路,控制各部分电路工作。

 

2.2 各主要单元电路设计

2.2.1主控器模块的设计

本系统主控制器如图2所示。

单片机接收传感器检测到的输入信号,将此信号进行运算处理,然后以控制电流或控制电压的方式输出给被控制的单元电路,实现各项功能。

 

图2主控制器模块

2.2.2电机驱动模块的设计

电动车左右两轮用电机分别控制,便于控制车转向。

电机采用功率放大管TIP132驱动,电机驱动电路如图3、图4所示。

电机的A、B、C、D端接功率放大管的集电极,功率管基极经限流电阻分别接单片机的I/O端口,控制电机的转向和速度。

图3左轮电机驱动电路图4右轮电机驱动电路

2.2.3信号检测模块的设计

本设计用光电传感器采集信号,四个分别固定在轮子下的反射式传感器用来引导电动车寻迹,使电动车沿着白色轨迹运行,在运动过程中,当车偏离运动轨迹(超出黑线)时,即红外光线照射到黑色线上,反射光较少,接收管集电极和发射极间的电阻增大,输出高电平,复合管导通,输出高电平给单片机,引起系统中断,控制两个电机正转或反转,使车重新回到轨迹上。

车头和车尾的传感器用来检测小车前进时是否到达B点和倒退时是否到A点。

另外两个固定在跷跷板支架上的U型槽传感器用来检测平衡位置,当传感器中心轴被指针遮挡住时,红外三极管接收不到红外光,输出就从低电平跳到高电平,送给单片机,单片机使车停下来,说明平衡位置找到了。

两种传感器的工作原理实质相同,如图5所示。

 

图5光电传感器检测信号原理

图8系统主程序流程图

 

三、系统软件设计

本系统的软件设计采用C语言,利用KeilC完成单片机系统的开发,实现各项设计功能和技术指标要求。

3.1理论计算和分析

本系统要达到设计指标,电动车在跷跷板上的运行速度是关键,电动车的速度有电机控制,本设计使用的步进电机齿数为50,步距角=

Z为电机转子齿数,N为转子运行拍数。

齿数一定,步距角与转子运行拍数成反比。

所以取单双八拍式,则电机步距角小,更利于精确定位。

电机转一圈为800拍,转一圈的周长为188mm,所以每拍转过的长度为

,每转过8拍后长度为0.47*8=3.76mm.

设计要求电动车从A端到平衡位置C时间小于30s,假设电动车到达C运行时间为25s,电机转过的拍数N=800mm/0.47mm=1702.127拍,近似取1702.2拍,则电机每拍要用时间t=25s/1702.2=14.686ms.取电机每拍所用的时间为14ms,则假设电动车从B端返回到A端所用时间为=

满足设计要求。

所以电机运转时序取单双八拍式正、反转。

程序中严格控制电机运转频率达到控制电动车速度。

3.2系统主程序流程图

系统主程序流程如图8所示,由于此系统实时性要求很高,大量数据信号要在尽量短的时间内完成,单片机将集中根据检测到的信号精确控制电机速度和转向,软件中定义电机控制时序缓存区,利用查寻法编程,单片机不断检测外部传感器信号,利用标志位查询电机时序,控制车的运动,输出显示。

附录2:

实现程序

 

#include

#include

#defineucharunsignedchar

#defineuintunsignedint

//****************电机控制时序*******************************

//低四位为右轮,高四位为左轮

ucharcodezz[8]={0x91,0x83,0xc2,0x46,0x64,0x2c,0x38,0x19};//前进时序

ucharcodeleft[8]={0x11,0x33,0x22,0x66,0x44,0xcc,0x88,0x99};//前进左拐(后退右拐)时序

ucharcoderight[8]={0x99,0x88,0xcc,0x44,0x66,0x22,0x33,0x11};//前进右拐(后退左拐)时序

/**********方向灯定义**********/

sbitred=P1^0;//红灯

sbityel_r=P1^1;//右黄灯

sbityel_l=P1^2;//左黄灯

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

/**/

/*延时函数*/

/**/

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

voiddelay(intms)

{

while(ms--)

{

uchari;

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

{;}

}

}

//*******************前进函数****************************

voidqj()

{

uchari;

for(i=0;i<8;i++)//八拍一个周期,转过3.76mm

{

P0=zz[i];

delay(5);//延时5ms

}

}

//********************前进左拐(后退右拐)函数******************************

voidleft1_turn()

{

uchari;

yel_l=1;//左黄灯亮

for(i=0;i<8;i++)//八拍一个周期

{

P0=left[i];

delay(5);

}

yel_l=0;//左黄灯灭

}

//********************前进右拐(后退左拐)函数******************************

voidright1_turn()

{

uchari;

yel_r=1;//右黄灯亮

for(i=0;i<8;i++)//八拍一个周期

{

P0=right[i];

delay(5);

}

yel_r=0;//右黄灯灭

}

 

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

voidmain()

{

ucharQ;

P0=0xff;

P2=0xff;

Q=P2&0x0f;

//EA=1;

//EX0=1;//开外部中断0

//IT0=1;//下降沿触发

delay(10);//上电,等待稳定

while

(1)

{P2=0xff;Q=P2&0x0f;

switch(Q)

{

//if(Q==0x01|Q==0x02)//前进左出轨

case(0x01):

;

case(0x02):

;

case(0x03):

delay(10);

right1_turn();break;//右拐

//if(Q==0x04|Q==0x08)//前进右出轨

case(0x04):

;

case(0x08):

;

case(0x0c):

delay(10);

left1_turn();break;//左拐

case(0x0a):

P0=0x00;break;

default:

qj();//未出轨,继续前进

//elsegotoqj1;

//gotoqj1;

}

/*if(P2^0|P2^1)

right1_turn();

if(P2^2|P2^3)

left1_turn();

qj();*/

}

}

//*************定时器中断******************

/*voidmotor_onoff()interrupt1

{

P2=0x00;

if(a==1)

{qj();}

elseif(a==2)

{left1_turn();}

elseif(a==3)

{right1_turn();}

}*/

 

四、系统测试分析

 设计完成后,对系统关键部分进行了测试分析,如语音播放电路,光电检测电路、电机控制电路,并进行了模拟场地试运行测试。

第一阶段:

车的未接入检测信号时的运动

Ø通过电动车上固定好两个步进电机作为两个后轮。

Ø后轮的驱动电路连接好

Ø将电源接上,观察小车是否会沿着直线运行,不断的调试,适当的修改程序,使小车正常运行。

第二阶段:

检测装置测试

Ø将小车的检测电路连接好,用万用表测试小车遇到黑色物质时是否会出现高电平。

第三阶段:

整机测试

Ø连接好各部分电路,观测小车是否会按设计要求一样运行。

五、结束语

本系统以单片机为核心部件,利用光电检测技术和一定的软件算法实现了电动车在黑色轨迹上自行运动,在设计过程中,力求线路简单,充分发挥软件的灵活性来满足系统设计的要求。

但因时间有限,系统还存在一些误差和有待改进的地方。

在设计的过程中我不仅复习了书本的知识,还学到了一些课本上没有的东西。

虽然设计过程非常的累,但非常的充实。

参考文献

[1]张虹,单片机原理及应用,北京:

中国电力出版社,2009

[2]黄智伟,王彦,陈文光等.全国大学生电子设计竞赛训练教程.北京:

电子工业出版社,2005

[3]胡汉才.单片机原理及接口技术.北京:

清华大学出版社,2006

[4]王为青,程国钢.单片机KeilCx51应用开发技术.北京:

人民邮电出版社,2007

[5]黄俊,王兆安.电力电子技术(第三版)[M]北京:

机械工业出版社,1999

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 自我管理与提升

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1