智能避障小车系统_第1页
智能避障小车系统_第2页
智能避障小车系统_第3页
智能避障小车系统_第4页
智能避障小车系统_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、西安邮电学院单片机课程设计报告书题目:智能小车避障系统院系名称:自动化学院学生姓名:专业名称:班 级:2011年9月16日至9月30日智能小车避障系统一、设计目的1、通过本次课程设计加深对单片机课程的全面认识和掌握,对单片机课程的应 用进一步的了解。2、掌握定时器、外部中断的设置和编程原理。3、通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。二、功能概述智能小车采用前轮驱动,前轮左右两边各用一个电机驱动,分别 控制两个轮子的转动从而达到转向的目的,后轮是万向轮,起支撑的 作用。将三个红外线光电传感器分别装在车体的左中右,当车的左边 的传感器检测到障碍物时,主控芯片控制右轮电机

2、停止左轮转动,车 向右方转向,当车的右边传感器检测到障碍物时,主控芯片控制左轮 电机停止转动,车向左方转向,当前面有障碍物时规定车右转。于此三、设计器材器件个数器件个数STC80C521ST1881直流电机2晶振(12M)1驱动79602电容、电阻若干车模1开关2四、设计方案及分析单片机最小系统电路单片机最小系统电路如图所示,由主控器STC89C52、时钟电路和复位电路 三部分组成。单片机STC89C52作为核心控制器控制着整个系统的工作,而时钟 电路负责产生单片机工作所必需的时钟信号,复位电路使得单片机能够正常、有 序、稳定地工作。C133pCRYST- :TE*丁,-U1 Q2 - , I

3、J ,. - .i 33pCRYST- :TE*丁,-U1 Q2 - , IJ ,. - .i 声& - - . *0 0 R1. W.SkC3 -.10uF.:TEE- R2,k!.2k, EAL1PLi.OWlOPD.1/AD1PLi.2Wfi2:TAL2PU.3 闻3pm明FD.5/AD5PLi.R/wIfiRSTPLI.7/AH7P2.0/R:P2.1/.wyP2.2/A10PSENP2.3/A11ALEP3.4/A12EAP2.5/A13P2.6/A14P2.7/A15P1.0P3,0/RXDP1.1P3.1ZDDP1.2P3.2/INTDMl.JN.J/IHI1P1.4P3.4.-

4、TLIP1.5P3.5/T1P1.6PS.fiAii.iRP1.7P3.7XRD19189829 =30 :3139383736.3534333210 IT1212.141?1617APfiycsi=;TEi:T图单片机最小系统时钟电路STC89C52单片机芯片内部设有一个由反向放大器所构成的振荡器。19脚 (XTAL1)为振荡器反相放大器和内部时钟发生电路的输入端,18脚(XTAL2)为振 荡器反相放大器的输出端。在XTAL1和XTAL2引脚上外接定时元器件,内部振荡 电路就会产生自激振荡。本系统采用的定时元器件为石英晶体(晶振)和电容组 成的并联谐振回路。晶振频率为12MHz,电容大小为3

5、3pF,时钟电路如图所示。X1 . CRYSTAL. 4 X1 . CRYSTAL. 4 - 图时钟电路(晶振)复位电路STC89C52的复位是由外部的复位电路来实现的,复位电路通常采用上电复 位和按钮复位两种方式,本设计采用的是最按钮复位电路,其电路图如图所示。、I I_ , I。-2.8kI -2.8kI I-T ,. C38.2keT日(Tx图复位电路基于脉冲调制的反射式红外线发射接受器脉冲调制的反射式红外线发射接受器。由于采用该有交流分量的 调制信号,则可大幅度减少外界干扰;另外红外线接受官的最大工作 电流取决于平均电流。如果采用占空比小的调制信号,再品均电流不 变的情况下,顺势电流很

6、大(50100mA),则大大提高了信噪比。并且其反应灵敏,外围电路也很简单。它的优点是消除了外界光线的 干扰提高了灵敏度。避障电路采用漫反射式光电开关进行避障。光电开关是集发射 头和接收头于一体的检测开关,其工作原理是根据发射头发出的光 束,被障碍物反射,接收头据此做出判断是否有障碍物。当有光线反 射回来时,输出低电平;当没有光线反射回来时,输出高电平。单片 机根据接收头电平的高低做出相应控制,避免小车碰到障碍物,由于 接收管输出TTL电平,有利于单片机对信号的处理。5、电机驱动电路采用普通的直流电机。直流电机具有优良的调速特性,调速平滑、 方便。调整范围广;过载能力强,能承受频繁的冲击负载,

7、可实现频 繁的无极快速启动、制动和反转。能满足各种不容的特殊运行要求。五、源程序 :#includeint chz,chyfeng;sbit INZ=P2A7 ;sbit INY=P2A6;void main() if(chz=1&chy=1)INZ=1;INY=1;elseif(chz=0&chy=1) INZ=1;INY=0;feng=0;if(chy=0&chz=1) INY=0;INZ=1;feng=0;六、设计结果1.方案图红外 线光 电传 感器信号转换单片机处理LED 显 示总体电路原理图.I .*FUilJAQ ra.iijvu ro.iAwa 网灿MR m.r.w?FDfM F

8、.IPM 稻主M PJfM 1 K.2 Pi 业W4 FI BTAI4 Pi 册!5孔:好即 E inD PJ JJffJB rmwnM4TO 凹wiFi.e/STi软件流程图结束继续等待定时计数结束继续等待定时计数软件设计#includeII宏定义#define uint unsigned int #define uchar unsigned char sbit count = P3人5;II常量#define weil 0 x01 #define wei2 0 x02 #define wei3 0 x04 #define wei4 0 x08II变量int turn=0,turn_time

9、=0;II显示数组uchar reveal10= 0 x03,0 x9f,0 x25,0 x0d,0 x99,0 x49,0 x41,0 x1f,0 x01,0 x09;II初始化函数及子函数void Init_cnt(void); void Reveal(uint x); void delay(uint z);IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII主函数IIlllllllllllllllllllllllllllllllllllllllllllllllllll void main() turn = 0; count = 1

10、; P2=0 x00; P1 = 0 x00; Init_cnt(); while(1) Reveal(turnI5*2); II 中断 void cnt0() interrupt 1 TH0 = (65536-50000) I256; TL0 = (65536-50000) %256; turn_time+; if(turn_time=10) turn_time=0; turn = TH1*256+TL1; TH1 = 0; TL1 = 0; void cnt1() interrupt 3 TH1 = 0; TL1 = 0; II 初始化 void Init_cnt (void) TMOD

11、= 0 x51; TH0 = (65536-50000) I256; TL0 = (65536-50000) %256; EA = 1; TH1 = 0; TL1 = 0; ET0 = 1; TR0 = 1;ET1 = 1;TR1 = 1;/ 子函数void Reveal(uint x) /a b c d分别传送数码管显示的(从左数)1 2 3 4位uint a,b,c,d;a=x/1000;b=x%1000/100;c=x%100/10;d=x%10;P1=wei1;P2=reveala;delay(1);P1=wei2;P2=revealb;delay(1);P1=wei3;P2=reve

12、alc;delay(1);P1=wei4;P2=reveald;delay(1);void delay(uint z)int x,y;for(x=110;x0;x-)for(y=z;y0;y-);七、设计体会与收获徐舒:这次课程设计相对以前来说,综合性更强,结合了软硬件,对我们的团队合 作要求更高。我们进行了分工合作,我主要负责硬件部分。开始通过查找资料,了解了有关智能小车避障的原理。由于以前做过类似实 验,所以上手较快。连接好仿真图后,几经的修改,仿真实现了。接下来就开始 焊板子了。先是对整块板子的排版,再进行各个模块的焊接。焊接中要极其认真, 否则出错一点就可能导致功能不能实现。连接好电路

13、,接上电源,发现正常避障, 经过我们共同排查,都一一解决了。经过几天的努力,我们成功实现了小车避障 的功能。通过本次课程设计,我对单片机的工作原理和应用有了深入的理解,掌握了 单片机系统硬件设计的基本方法。做一个课程设计不仅要全面的分析和解决在设 计时出现的问题。我深刻体会到单片机技术应用领域的广泛,也让我了解到单片 机技术对当今人们生活的重要性。所以对于我们学习这个专业的学生来说,就要 求我们不断的去了解最新的设计和理论知识,那样才能让我们在本领域有一定的 成绩。范春燕:在本次电机测速课程设计中,我们三个人一组。我主要负责的是软件部分。 其实一开始,我觉得写程序很难,因为以前总是改别人的程序

14、。但最后发现其实 写起来也并没你想象的那么难。我们程序的算法是通过定时器T0定时1S,然后 通过计数器1记出1S内的总脉冲数,然后用总脉冲数除以叶轮的叶数,就是转 速了。其中,我们是通过利用传感器ST151来计脉冲数的。ST151内部是由一个 发光二极管和光敏三极管组成的,在平常没东西挡在他们之间时,它总是输出高 电平,一旦有东西通过,它就变成低电平了。在此次课程设计中我不但克服了平常不爱写程序的坏习惯,还学会了与小组 其他成员的沟通和协作,如果没有我们之间的默契合作,我想就不会有我们现在 的结果。所以,我想说其实没有什么事是做不到的,只要你想干成他,你就能成功。刘蕊玲:在这次的课程设计中,我

15、主要负责的是硬件方面,刚开始拿到题目的时候我 们大体上把主要的硬件流程讨论出来,然后就是在网上搜集资料,主要是直流电 机这部分,由于题目要求我们测的是两种速度,所以本来是想用单片机控制的, 但是通过查找资料得到电机的速度与所加的电压是成比例的,也就是说我们可以 通过改变电机的电压来实现速度的变换,这样就可以不用通过单片机来实现了, 更加容易理解整个题目了。在课程设计的过程中也遇到了很多问题,比如:数码 管的显示刚开始不是很亮,我们通过三极管使信号能得以放大才让数码管显示正 常、还有那个ST151的使用,我们要给它串电阻,但是电阻值是通过多次的尝 试才测出来的等等。焊接的时候有时候一不小心就会把管脚弄错所以要很细心才 彳亍。总之,经过几天的努力终于是做出来了,这点我还是很高兴的,当然通过这 次的课设我也学到了很多,在软件方面我的基础有点不好,总是觉得那有点难时 不时的就退缩,所以以后会在软件编程方面多努力。还有就是我觉得在对于团队 合作上,我们要多听听队员的看法,相互讨论这样才能更

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论