智能循迹小车

  • 格式:doc
  • 大小:198.50 KB
  • 文档页数:18

广西工学院作品设计报告书题目智能循迹小车班级电子Z081班组员指导老师2011年5月14日目录前言 (3)第一章方案设计 (4)第二章电路设计介绍 (5)1 电源模块 (5)2 电机驱动模块 (6)3 光电传感器模块 (7)4 声光报警模块 (8)5 显示模块 (9)第三章软件设计部分 (10)第四章结论 (11)参考文献 (11)附录A 总图 (12)附录B 程序清单 (15)前言随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。

全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究。

可见其研究意义很大。

本设计就是在这样的背景下提出的,指导教师已经有充分的准备。

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

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

摘要本课题组设计制作了一款具有智能判断功能的小车,功能强大。

小车具有以下几个功能:自动避障功能;寻迹功能(按路面的黑色轨道行驶);显示行走的时间,遇到十字路口发出声光报警信号。

作品可以作为高级智能玩具,也可以作为大学生学习嵌入式控制的强有力的应用实例。

作品以两电动机为主驱动,通过反射式传感器件来采集信息,送入主控单元AT89C51单片机,处理数据后完成相应动作,以达到自身控制。

电机驱动电路采用高电压,高电流,四通道驱动集成芯片L298N。

其中避障采用红外线收发来完成。

由控制单元处理数据后完成相应动作,实现了无人控制即可完成一系列动作,相当于简易机器人。

关键字:智能控制蔽障红外线收发寻迹行驶第一章方案设计由反射式传感器采集信号,送到单片机,由单片机控制处理采集到的信号然后输出送给电机和声光电路和时间显示电路,由电源电路供电。

第二章电路设计介绍1 电源模块电路如下图所示:电压由6V变成5V2 电机驱动模块L298N是SGS公司的产品,内部包含4通道逻辑驱动电路。

是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。

其引脚排列如图1中U4所示,1脚和15脚可单独引出连接电流采样电阻器。

用L298N驱动我的小车的两个直流减速电机,其实它很好用,1和15和8引脚直接接地,4管脚VS接2.5到46的电压,它是用来驱动电机的,9引脚是用来接4.5到7V的电压的,它是用来驱动L298芯片的,记住,L298需要从外部接两个电压,一个是给电机的,另一个给L298芯片的,6和11引脚是它的使能端,一个使能端控制一个电机,至于那个控制那个你自己焊接,你可以把它理解为总开关,只有当它们都是高电平的时候两个电机才有可能工作,5,7,10,12是298的信号输入端和单片机的IO口相连,2,3,13,14是输出端,输入5和7控制输出2和3, 输入的10,12控制输出的13,14。

各个二极管用来保护电机。

L298N的逻辑功能ENA(B) INl(IN3) IN2(IN4)电机运行情况H H L 正转H L H 反转H 同IN2(IN4) 同INl(IN3) 快速停止L X X 停止3 声光报警电路本系统采用反射式红外线光电传感器用于检测路面的起始、终点(2cm宽的黑线),玩具车底盘上沿黑线放置一套,以适应起始的记数开始和终点的停车的需要。

光线跟踪,采用光敏三极管接收灯泡发出的光线,当感受到光线照射时,其c-e间的阻值下降,检测电路输出高电平,经LM324电压比较器后送单片机控制。

本系统共设计四个光电三极管,分别放置在电动车底盘的前后、左右四个方向,用来控制电动车的行走方向,行走时信号情况如下图所示:4 声光报警电路如上图,它是由555定时器接成的单稳态触发器,。

它的大概原理是:当一个脉冲输给555的TR端时,Q端输出驱动电平,而它定时时间的长短取决于外接电阻R16和电容C5,计算公式为:t=1.1RC。

由此可得到,但传感器测到十字路口时,给一个脉冲TR端,蜂鸣器和发光二极管就开始工作,即产生声光报警信号。

5 显示电路如上图所示,直接用两个七段数码管连接到单片机,加上上拉电阻即可。

可显示小车行走的0——90秒的时间。

第三章程序设计框图结论历时2个星期的设计过程中,我首先边查资料,边在实验室焊接小车的线路板。

在焊接过程中,我感觉到即使是一个简单的电路,要想很轻松的焊好,也不是很容易的事情。

有时是“虚焊”的原因,有时可能是阻值选错。

在焊接显示电路时,我就错将680欧的电阻焊成了6.8千欧。

这使我深深感受到理论与实际间的差距。

通过这样的设计,提高了我的动手能力。

每天在实验室除了焊接线路板,还可以上机编程,使我软件调试知识也提高了。

本设计采用的是AT89C51单片机,这主要是因为该单片机的稳定性比较好。

还可以采用其它系列的单片机。

比如采用陵阳单片机,就可以简化编程,但其稳定性不是很好。

参考文献[1]景东升.单片机自动灌溉控制系统研究、设计及应用.北京农业工程大学,1994 [2」武庆生,仇梅.单片机原理与应用.电子科技大学出版,1998,12[3] 张毅刚彭喜元.单片机原理与接口技术.人民邮电出版社,[4] 刘瑞新.单片机原理及应用教程.机械工业出版社,2003,7其他附录A 总图附录B 程序清单A_TEST EQU 20HB_TEST EQU 21HC_TEST EQU 22HD_TEST EQU 23HF_TEST EQU 24HORG 0000HRESET: AJMP MAINORG 000BHAJMP IT0PORG 001BHAJMP IT1PORG 0100HMAIN: MOV SP,#60MOV R2,#0A0HMOV TMOD,#51HCLR AMOV TH0,#81HMOV TL0,#0CFHSETB ET0SETB EASETB TR0MOV TL1,#0FFHMOV TH1,#0FFHSETB EASETB ET1SETB TR1MOV R4,#03HMOV R5,#02HJNB P0.7,LOOP1LJMP YOOP1LOOP1: MOV P1,#0F5H ;前进寻迹LCALL DELY2LOP1: MOV R3,P2CJNE R3,#0F6H,LOP2MOV P1,#0F6HLOP2: MOV R3,P2CJNE R3,#0FCH,LOP3MOV P1,#0F9HLOP3: MOV R3,P2CLR AMOV A,#0F0HORL A,R3LOOP2: CJNE A,#0F0H,LOP1 ;等待十字路口 CLR P1.5DEC R4CLR AMOV A,R4JZ LOOP3MOV R3,P2CJNE R3,#0B0H,LOOP1 ;判障碍物LOOP3:ZUO: MOV P1,#0F6H ;左转 LCALL DELY2LOOP4: MOV R3,P2CJNE R3,#0F0H,LOOP4LOOP5: MOV P1,#0F5H ;前进寻迹LCALL DELY2LOP4: MOV R3,P2CJNE R3,#0F6H,LOP5MOV P1,#0F6HLOP5: MOV R3,P2CJNE R3,#0FCH,LOP6MOV P1,#0F9HLOP6: MOV R3,P2CLR AMOV A,#0F0HORL A,R3LOOP6: CJNE A,#0F0H,LOP4 ;等待十字路口CLR P1.5MOV P1,#0F0HDEC R5CLR AMOV A,R5JZ LOOP7MOV R3,P2CJNE R3,#0B0H,LOOP5 ;判障碍物LOOP7: ADD A,R4JNZ YOU ;到终点,停止LJMP YOOP9YOU: MOV P1,#0F9H ;右转LCALL DELY2LOOP8: MOV R3,P2CJNE R3,#0F0H,LOOP8CLR AADD A,R4ADD A,R5JZ YOOP9 ;到终点,停止LJMP LOOP1YOOP1: MOV P1,#0F5H ;前进寻迹LCALL DELY2YOP1: MOV R3,P2CJNE R3,#0F6H,YOP2MOV P1,#0F6HYOP2: MOV R3,P2CJNE R3,#0FCH,YOP3MOV P1,#0F9HYOP3: MOV R3,P2CLR AMOV A,#0F0HORL A,R3YOOP2: CJNE A,#0F0H,YOP1 ;等待十字路口 CLR P1.5DEC R5CLR AMOV A,R5JZ YOOP3MOV R3,P2CJNE R3,#0B0H,YOOP1 ;判障碍物YOOP3: MOV P1,#0F9H ;右转 LCALL DELY2YOOP4: MOV R3,P2CJNE R3,#0F0H,YOOP4YOOP5: MOV P1,#0F5H ;前进寻迹LCALL DELY2YOP4: MOV R3,P2CJNE R3,#0F6H,YOP5MOV P1,#0F6HYOP5: MOV R3,P2CJNE R3,#0FCH,YOP6MOV P1,#0F9HYOP6: MOV R3,P2CLR AMOV A,#0F0HORL A,R3YOOP6: CJNE A,#0F0H,YOP4 ;等待十字路口CLR P1.5DEC R4CLR AMOV A,R4JZ YOOP7MOV R3,P2CJNE R3,#0B0H,YOOP5 ;判障碍物YOOP7: MOV P1,#0F6H ;左转LCALL DELY2YOOP8: MOV R3,P2CJNE R3,#0F0H,YOOP8CLR AMOV A,R4ADD A,R5JZ YOOP9 ;到终点,停止LJMP YOOP1 ;没到终点返回YOOP9:LCALL DPLOP1IT0P: PUSH PSW ;定时90SPUSH ACCMOV TH0,#81HDJNZ R2,RETURNMOV R2,#0AHINC R1MOV A,R1MOV B,#10DIV ABMOV A_TEST,AMOV B_TEST,BCJNE R1,#90,RETURNLCALL DPLOP1MOV P1,00HRETURN:POP ACCPOP PSWRETIIT1P: PUSH PSW ;定时器1当外部中断用PUSH ACCMOV TL1,#0FFHMOV TH1,#0FFHINC R0MOV A,R0MOV B,#100DIV ABMOV C_TEST,AMOV A,BMOV B,#10DIV ABMOV D_TEST,AMOV F_TEST,BRETURN1:POP ACCPOP PSWRETIDPLOP1: MOV P1,#00H ;显示停车时间MOV DPTR,#TAB1MOV A,A_TEST ;取个位数MOVC A,@A+DPTR ;查个位数的7段代码MOV P0,AMOV P0,ACLR P3.2 ;开个位显示ACALL DELY1SETB P3.2 ;关闭个位显示,防止鬼影 MOV A,B_TESTMOVC A,@A+DPTR ;查十位数的7段代码 MOV P0,ACLR P3.3 ;开十位显示ACALL DELY1 ;显示1毫秒SETB P3.3DPLOP2: SETB P3.1 ;显示路程SETB P3.0CLR P3.6MOV DPTR,#TAB1MOV A,C_TESTMOVC A,@A+DPTR ;查路程百位MOV P0,ALCALL DELY1SETB P3.1CLR P3.0SETB P3.6MOV A,D_TESTMOVC A,@A+DPTR ;查路程十位MOV P0,ALCALL DELY1CLR P3.1SETB P3.6SETB P3.0MOV A,F_TESTMOVC A,@A+DPTR ;个位MOV P0,ALCALL DELY1CLR P3.1LJMP DPLOP1DELY1: MOV R6,#2 ;延时2MSD1: MOV R7,#248DJNZ R7,$RETDELY2: MOV R6,#248 ;延时2sD0: MOV R5,#30D2: MOV R7,#248DJNZ R7,$DJNZ R5,D2DJNZ R6,D0RETTAB1: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END。