《简易智能电动车设计与总结报告示例.doc》由会员分享,可在线阅读,更多相关《简易智能电动车设计与总结报告示例.doc(62页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、7.2.3简易智能电动车(E题)设计与总结报告示例(以下是一个实际的简易智能电动车(E题)设计与总结报告)简易智能电动车(E题)摘要:本设计采用两块单片机(AT89C51和AT89C2051)作为智能小车的检测和控制核心,实现小车识别路线、判断并自动躲避障碍、选择正确的行进路线、寻找光源等功能。引导方式采用反射式光电传感器感知与地面颜色有较大差别的导引线,障碍判断采用超声波传感器。驱动电机采用直流电机,电机控制方式为单向PWM控制。电机控制核心采用AT89C2051单片机,控制系统与电路用光电耦合器完全隔离以避免干扰。控制上采用分时复用技术对系统进行优化。关键词:智能控制 光电检测 PWM脉宽
2、调制 电动车Simple Intelligentized Electric Motors AutomobileAbstract :Based on two microcontrollers, AT89C51 and AT89C2051, the model car can race intelligently by detecting black lines on the ground. Reflecting-infrared sensors, are applied to detect black lines, and metal-detecting sensors are to detec
3、t metals. By introducing PWM to the system, we are able to control motor revolving speed dynamically and precisely. Key word:intelligently control, reflecting-infrared sensors, PWM, electric motors automobile(注意:以上内容在实际论文中为一页)目 录1. 系统方案选择和论证x1.1 题目要求x1.1.1 基本要求x1.1.2发挥部分x1.1.3说明x1.2系统基本方案x1.2.1 各模块方
4、案选择和论证x1.2.2 系统各模块的最终方案x2 系统的硬件设计与实现x2.1 系统硬件的基本组成部分x2.2 主要单元电路的设计x2.2.1 检测部分的单元电路设计x2.2.2 智能控制部分的单元电路设计x3 系统的软件设计x3.1 检测光电传感器子程序x3.2 寻轨迹子程序x3.3 金属探测子程序x3.4 绕障碍物子程序x3.5 超声波收发子程序x3.6 寻光源子程序x3.7 金属块探测子程序x3.8 其他子程序x3.9 系统主程序流程图x4 系统测试x4.1 测试仪器x4.2指标测试x4.2.1 光电检测部分测试x4.2.2 前轮驱动电路x4.2.3 金属传感器测试x4.2.4 金属片
5、与起跑线的距离测试x4.2.5 小车入库测试x4.2.6 系统实现的功能x4.3 结论x5 总结x参考文献x附录x附录1:元器件清单附录2:系统电路图附录3:程序清单附录4:系统使用说明注意1:目录中的页码根据实际论文的页码编写,此处全部用x表示。注意2:以上部分在实际论文中为一页。1. 系统方案选择和论证1.1 设计要求(注:设计要求与第1章1.3.7节内容相同,本书为节省篇幅,略)1.2 系统基本方案根据题目要求,系统可以划分为控制部分和信号检测部分。其中信号检测部分包括:金属探测模块,障碍物探测模块,路程测量模块,路面检测模块,光源探测模块。控制部分包括:电机驱动模块,显示模块,控制器模
6、块,计时模块,状态和标志模块十个基本模块,模块框图如图1.2.1所示。为实现各模块的功能,分别作了几种不同的设计方案并进行了论证。图1.2.1 小车的基本模块方框图1.2.2 各模块方案选择和论证1.控制器模块根据题目要求,控制器主要用于各个传感器信号的接收和辨认、控制小车的电机的动作、控制显示车速与运行的时间以及小车在停车时发出的声光信号等。对于控制器的选择有以下两种方案。方案一:采用FPGA(现场可编程门列阵)作为系统的控制器。FPGA可以实现各种复杂的逻辑功能,规模大,密度高,它将所有器件集成在一块芯片上,减小了体积,提高了稳定性,并且可应用EDA软件仿真,调试,易于进行功能扩展。FPG
7、A采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模实时系统的控制核心。由检测模块输出的信号并行输入FPGA,FPGA通过程序设计控制小车做出相应的动作,但由于本设计对数据处理的速度要求不高,FPGA的高速处理的优势得不到充分体现,并且由于其集成度高,使其成本偏高,同时由于芯片的引脚较多,实物硬件电路板布线复杂,加重了电路设计和实际焊接的工作。方案二:采用ATMEL公司的AT89C51和AT89C2051作为系统控制器的双CPU方案。单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制,并且由于其功耗低、体积小、技术成熟和成本低等优点,使其在各个领域应用广
8、泛。基于以上分析拟定方案二,小车单片机控制的方框图如图1.2.2所示。在本设计中,我们采用了两片单片机分开对9个单元模块进行监测和控制,这样减轻了单个CUP的负担,提高了系统的工作效率,同时,通过CPU之间的分阶段地互相控制,减少了外围设备。由AT89C2051控制电机的前转后转等功能,同时监测由路面检测模块、障碍物探测模块和光源探测模块的感应信号。AT89C51负责监测金属探测模块和路程测量模块,同时实现车速的显示,计时和控制小车的状态标志等功能。图1.2.2 单片机控制的方框图(2)金属探测模块金属探测模块主要用于跑道中金属块的探测。考虑到金属一般都是导体,根据电磁场理论可知,在受到时变电
9、磁场作用的任何导体中,都会产生电涡流。因此,在本系统中采用电涡流式传感器实现对金属块的检测。电涡流式金属传感器是建立在磁场的理论基础上而工作的。电涡流传感器的探测部分是由空心线圈构成的,当线圈有振荡电流通过时,空心线圈产生一个交变的磁场H1,当有金属导体进入线圈的磁场范围时,金属导体内部便产生感应电流,即,涡流I2,该涡流又产生一个新的感应磁场H2,H2和H1的方向相反,它会削弱原磁场H1,从而使线圈的阻抗、Q值和L的值发生改变。我们要将这种变化转化为电流或电压的变化。相应的,就有三种测量电路: Q值测量电路; 阻抗测量电路; 电感测量电路。在本设计中我们采用谐振法,也就是电感测量电路。它是将
10、线圈的电感L随外作用变化转化为电压或电流变化。所谓谐振法通常是将线圈电感L与固定电容C并联组成谐振回路。由物理学可知,其谐振频率为:谐振回路的阻抗为:当传感器的电感L变化时,频率f0和Z0都随之变化,因此可以通过测量频率和阻抗来测量电感L值的变化量,这就有调幅和调频法之分。在本设计中采用调幅法。调幅法:调幅电路如图。图中,电感L和电容C1和C2接成电容三点式振荡器。LC回路的输出电压为由此可见,当传感器L变化时,回路输出电压u也随之变化,该电压就反映了外作用。当没有被测物体时,先使LC回路谐振,谐振频率为此时阻抗值最大,输出电压为最大。当被测物体与线圈的接近时,导体产生的感应磁场使线圈的电感变
11、化L,从而引起LC回路失谐,振幅下降,输出电压u变小。图1.2.3为金属传感器的方框图,由于LC回路输出的是正弦波,我们在后面接入了整形比较电路,使单片机可根据LC回路的输出电压的变化进行金属块有无的逻辑判断。图1.2.3 金属传感器方框图(3)障碍物探测模块障碍物探测模块是用来判断小车前方是否有障碍物并确定小车与障碍物之间的距离。为了确保小车在行驶过程中避免撞到障碍物,系统需要利用测距传感器检测出障碍物与小车之间的距离,使小车做出正确的动作,避免与障碍物相碰。对于测距传感器的选择有以下几种方案。方案一:采用激光传感器检测距离,利用光的反射原理进行距离的测量, 激光传感器方框图如图1.2.4所
12、示。激光具有方向性强、亮度高、单色性好、传输速度快(C=3108m/s)等优点,因此激光传感器具有抗干扰性强,测量精度高,反应速度快等特点。但由于激光是以光速传播的,距离与时间的关系满足:2S=CT1,在本系统中障碍物离小车的距离最大不超过2m,所以T14/C=1.3310-8s,而单片机的机器时钟为晶体振荡器的十二分之一(一般单片机采用12MHz或6MHz的晶振),远大于T1,因此需要添加外部的发射电路才能适合单片机接收,同时,由于激光传感器的制作比较精细使其价格过高。如图1.2.4所示,单片机控制信号在延时后控制激光发射器发射激光束,同时开始计时,当接收器将接收的信号反馈给单片机时停止计时
13、。通过时间差和光速的特点计算路程。图1.2.4 激光传感器方框图方案三:采用超声波传感器测距离。由于超声波的波长短,超声波射线可以和光线一样,能够反射、折射,也能聚焦,而且遵守几何光学上的定律。即超声波射线从一种物质表面反射时,入射角等于反射角。且超声波具有较好的指向性,频率越高,指向性越强。声波在空气中传播的速度约为345m/s,根据公式:2S=VT2(S2m),可知T21.1610-2s,这在单片机的机器周期内,易于逻辑判断。基于以上分析,拟订方案三。应用单片机发射和接收超声波传感器信号的方框图如图1.2.5所示。图1.2.5 应用单片机发射和接收超声波传感器信号的方框图单片机发出40kH
14、z的脉冲信号,通过驱动电路由超声波的发射器发射出去,连续发十个,同时定时器开始计时,如果接收器在发完十个脉冲后未接收到反馈信号,则判断无障碍物,延时后单片机再发十个脉冲信号;如果接收器收到反馈信号,则判断有障碍物,并通知单片机停止计时。通过时间差计算距离。设超声波在空气中的传播速度为344m/s,则根据计时器记录的时间 t,就可以计算出发射点距障碍物的距离(s),即:s =344t/2。在本设计中,采用高灵敏度、高可靠性、高稳定性、耐高、低温度、耐湿度、耐冲击、发射频率为40kHz的超声波传感器判断障碍物的距离。在本设计中只要绕过C点前的障碍物即可,因此只需要一对超声波传感器400ST(329
15、)。(4)距离测量模块路程测量模块用来测量小车从启动到任意时刻所走的路程。根据题目要求,需要显示金属片与起跑线之间的距离,考虑到小车在行驶过程中,车轮旋转一圈所行走的距离就是车轮的周长,因此只要在某时间间隔内测量出车轮的圈数,依照S=nC(其中S为路程,C为车轮的周长,n为圈数),就可得出路程值。受鼠标的工作原理启发,采用透射式光电传感器。由于透射式光电传感器是沟槽结构,可以将其置于车轮固定轴上,再在车轮上安装鼠标中的编码器滚轴,让其恰好通过沟槽,车轮转动时,透射式光电传感器会产生一个个脉冲。通过对脉冲计数,实现对圈数的测量。该方案也适合用于精度较高的场合。(5)路面轨迹检测模块路面检测模块实
16、现小车跟随黑色轨道行驶,在行驶的途中不能超出轨道。考虑到轨道是一条黑线,周围铺设了白纸,可以利用传感器辨认路面黑白两种不同状态。对传感器的选择有以下方案。方案一:采用热探测器。热探测器是利用所接收到的红外辐射后,会引起温度的变化,温度的变化引起电信号输出,且输出的电信号与温度的变化成比例,当红外线被黑线吸收是、时,温度会减小,电压变低,而红外线没有被吸收时,电压不变,单片机可以根据电压的变化来判断路面的状态。由于温度变化是因为吸收热辐射能量引起的,与吸收红外辐射的波长没有关系,即对红外辐射吸收没有波长的选择,因此受外界环境的影响比较大。方案二;采用光电探测器。光电探测器接收红外辐射后,由于红外
17、光子直接把材料的束缚态电子激发成传导电子,由此引起电信号输出,信号大小与所吸收的光子数成比例。且这些红外光子的能量的大小(即红外光还必须满足一定的波长范围),必须满足一定的要求,才能激发束缚电子,起激发作用。光电探测器吸收的光子必须满足一定的波长,否则不能被吸收,所以受外界影响比较小,抗干比较强。基于以上分析,拟定方案二。并考虑使用两个光电传感器或者使用三个光电传感器两种方案。表1.2.2为使用三个传感器时的状态真值表,从表中可以看出,中间的传感器起到预判的作用,在小车轻微偏离时,可以调整车轮小幅度偏转,一旦小车速度过快,严重偏离轨道时,调整小车大幅度偏转,小车的稳定度和速度得到了保证。使用两
18、个传感器时,只有严重偏离的状态,因此在检测到有高电平时就必须大幅度偏转,速度和稳定度降低。但由于在本题中对速度和稳定度的要求不高,并且三个传感器需要三个驱动电路,增加了电路的复杂程度,因此在本设计中我们使用两个光电传感器,安放在小车的底板下。表1.2.2 光敏传感器状态真值表(6)光源探测模块本题要求小车在光源的引导下,通过障碍区进入停车区并到达车库。光源探测模块的功能主要是引导小车朝光源行驶,使小车具有追踪光源的功能。由于光源会发出光线和热量,我们可以采用光敏三极管传感器和热释电传感器实现追踪光源的功能。考虑到光敏三极管传感的检测电路简单、面积小,同时可以减少系统传感器的种类,因此在设计中采
19、用了光敏传感器。由于采用的是白炽灯,光线是射散的,为了便于小车能够在偏离光源一定角度的情况下仍能检测到光线,我们使用了三个互成一定角度的传感器组,这样增加了小车的检测范围。同时为提高传感器的方向性,在二极管感应平面的前端固定一根2cm长的塑料筒,光源检测实物示意图如图1.2.6所示。图1.2.6 光源检测实物示意图单片机可根据这三个光敏三极管的状态,控制小车动作,寻找光源。小车的动作和传感器的对应关系如表所示。表1.2.3 状态-动作对应表状态光敏三极管A光敏三极管B光敏三极管C光源与车之间的位置小车动作1000非常远-2001在车的右端右转(幅度大)3010正对车直线行驶4011在车的右端右
20、转(幅度小)5100在车的左端左传(幅度大)6101-7110在车的左端左转(幅度小)8111非常近减速直线行驶(7)电机驱动模块电机的驱动电路主要通过电机的正转和反转实现小车的前后或者左右的方向选择。对于电机驱动电路有下面的几种方案。方案一:采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整。图1.2.7为继电器控制电路,其中光偶将单片机和驱动电路隔开,当需要小车左转时由单片机控制光偶4N26-1导通,使继电器RELAY1和RELAY4关闭,RELAY2和RELAY3打开,电机正向导通,当需要小车右转时由单片机控制光偶4N26-2导通,使继电器RELAY2和RELAY3关
21、闭,RELAY1和RELAY4打开,电机反向导通。这个方案的优点是电路比较简单,缺点是继电器的响应时间慢、机械结构易损坏、寿命较短可靠性不高。 图1.2.7继电器式电机驱动电路方案二:采用三极管组成的开关PWM电路。如图1.2.8所示,我们采用了三极管代替了继电器,这种调速方式有调速特性优良、调整平滑、调速范围广、过载能力大,能承受频繁的负载冲击,还可以实现频繁的无级快速启动和反转的等优点。图1.2.8 三极管式电机驱动电路 基于上述理论分析,拟定方案二。本设计中有两路驱动电路:前轮驱动,负责小车的左右运动;后轮驱动,负责小车的前后运动。(8)显示模块在小车运行过程中,系统需要对运行的时间和路
22、程作必要的显示。我们考虑有以下两种显示方案。方案一:使用液晶显示屏显示时间和路程。液晶显示屏(LCD)具有轻薄短小、低耗电量、无辐射危险,平面直角显示以及影像稳定不闪烁等优势可视面积大,画面效果好,分辨率高,抗干扰能力强等特点。但由于只需显示时间和路程这样的数字,信息量比较少,且由于液晶是以点阵的模式显示各种符号,需要利用控制芯片创建字符库,编程工作量大,控制器的资源占用较多,其成本也偏高。在使用时,不能有静电干扰,否则易烧坏液晶的显示芯片,不易维护。方案二:使用传统的数码管显示。数码管具有:低能耗、低损耗、低压、寿命长、耐老化、防晒、防潮、防火、防高(低)温,对外界环境要求低,易于维护,同时
23、其精度比较高,称量快,精确可靠,操作简单。数码管是采用BCD编码显示数字,程序编译容易,资源占用较少。根据以上的论述,采用方案二。在本系统中,我们采用了数码管的动态显示,节省单片机的内部资源。(9)计时模块计时模块要实现的功能是对小车从启动到停止的过程进行计时,最小单位为0.01s。由于本系统的控制器是由单片机构成的,其内部有很好的定时系统,因此系统使用AT89C51内置的定时器/计数器实现该模块功能。在AT89C51内部有2个定时器/计数器,它的计数脉冲的频率为所选晶振频率的1/12。本系统使用的晶振频率为12MHz,则计数脉冲频率为1MHz,通过对定时器/计数器的溢出控制,可以容易的实现最
24、小单位为0.1s的计时功能。本方案在有效地利用系统资源的同时,又减少了单片机的外围电路。(10)状态标志模块 状态标志模块的设计要求是在小车检测到金属时发出光声信号。在发声方面,考虑到体积和功耗的因素,我们使用了蜂鸣器代替普通的扬声器。在发光方面,考虑到电路的简易程度,功耗和电源的因素,系统采用了发光二极管。1.3系统各模块的最终方案经过仔细分析和论证,决定了系统各模块的最终方案如下:(1) 控制模块:采用AT89C51和AT89C2051双CPU控制(2) 金属探测模块:采用电涡流式传感器(3) 障碍物探测模块:采用超声波传感器(4) 车速检测模块:采用光电传感器(5) 光源探测模块:采用光
25、敏三极管(6) 路面检测模块:采用光电传感器(7) 电机驱动模块:采用PWM调制方式控制电机(8) 显示模块:采用数码管(9) 计时模块:采用AT89C51内置的定时器/计数器(10) 状态标志模块:采用蜂鸣器和发光二极管。系统的基本框图如图1.3.1所示。单片机AT89C2051主要用于控制小车电机和处理与小车动作有关的传感信号,实现了小车速度控制、寻迹行驶、躲避障碍物及探测光源的功能。单片机AT89C51主要用于系统的计时控制和状态控制,实现了小车90s停车、金属探测、路程测量以及声光显示的功能。两单片机之间采用查询的方式互相通信,将分别独立的两套系统有机的综合为一体,其工作过程如下:图1
26、.3.1 系统基本框图小车加电,系统开始工作,计时模块运行,当小车进入直道区时,AT89C2051根据红外传感器传达的路面信息控制小车沿着轨道行驶,同时AT89C51根据金属传感器探测的结果,控制蜂鸣器和发光二极管发出声光信息。通过光电传感器所得的信息,AT89C51计算出路程,确定小车进入弯道区,并与AT89C2051通信,使电机加速,提高转弯的力矩。当AT89C51再次探测到金属时,确定该位置在C点,并将该信息告知2051,使小车停止运行5s,同时发出声光显示。小车在C点利用超声波传感器判断障碍物的位置,AT89C2051根据障碍物的位置控制车轮偏转度,绕过物体,随后再利用光源传感器引导小
27、车进库,当小车遇到光源前面的黑线时,AT89C2051控制车轮反转,使车体完全进库。在整个过程中,一旦AT89C51的计时器计满了90s,AT89C2051就控制小车停止一切活动。2. 系统的硬件设计与实现2.1 系统硬件的基本组成部分本题是一个光、机、电一体的综合设计,在设计中运用了检测技术、自动控制技术和电子技术。系统可分为传感器检测部分和智能控制部分。 传感器检测部分:系统利用光电传感器、电涡流传感器、超声波传感器等不同类型的传感器将检测到的一系列的外部信息(例如路面状况、障碍物的有无等)转化为可被控制器件辨认的电信号。传感器检测部分包括五个单元电路:路面检测电路、障碍物探测电路、路程测
28、量电路、光源探测电路和金属检测电路。智能控制部分:系统中控制器件根据由传感器变换输出的电信号进行逻辑判断,控制小车的电机、显示数码管、蜂鸣器以及发光二极管,完成了小车的自动寻迹行驶、探测金属、躲避障碍物、寻找光源、显示路程等各项任务。控制部分包括四个主要单元电路:单片机控制电路、前后轮电机驱动电路、数码管动态显示电路。2.2 主要单元电路的设计2.2.1检测部分的单元电路设计(1)轨迹检测电路的设计 题目要求小车在直道区和弯道区要沿着黑线行驶,但由于小车不可能始终保持一定的方向,必然会偏离黑色轨道,从而导致小车冲出轨道。为了能使小车能在偏离轨道之后能调整方向,重新回到轨道上,系统需要将路面的状
29、态及时的以电信号的形式反馈到控制部分,控制部分控制前轮驱动电机反转或正转,使小车重新回到轨道上。在本设计中采用了两个光电传感器,分别安装在车底的中部的左右两端。当小车往左偏出轨道时,左边的光电传感器被黑色纸带遮蔽,输出为高电平,单片机接收到该信号,控制电机正转,使小车往右偏回轨道,传感器回到白纸区输出为低电平,电机停止转动,小车直线前进。小车右偏时的状态与左偏状态相反。具体电路如图2.2.1所示。一体化红外发射接收IRT中的发射二极管导通,发出红外光线,经反射物体反射到接收管上,使接收管的集电极与发射极间电阻变小,输入端电位变低,图2.2.1 光电检测电路输出端为高电平,三极管导通,集电极C为
30、低电平,再经斯密特反相器后为高电输入到89C51单片机的INT0端口。当红外光线照射到黑色条纹时,反射到IRT中的接收管上的光量减少,接收管的集电极与发射极间电阻变大,三极管截止,三极管的集电极C为高电平,再经反相器后输入到单片机的信号为低电平。在三极管的基极B和发射极E接一个0.1F的电容,减少电路中的“毛刺”,以减轻电路的干扰。由于光电传感器受外界的影响较大,容易引起单片机的误判,因此我们在电路中加入了一个电位器(阻值为1K),通过调整电位器,改变光电传感器的输入电流从而改变其灵敏度。(2)金属探测电路的设计在小车行驶的轨道上放着13块金属片,在弯道区的C点上也有一块金属片,要求小车在行驶
31、过程中对轨道上的金属片个数计数,检测到C点上的金属片后停车。在本设计中我们采用电感谐振测量方法。电感谐振测量电路如图2.2.2所示,电容C3、C4、C5、外测电感L2和反相器U1A构成了LC振荡回路,运放LM393实现了正弦波的整形功能,为了提高电路的带负载能力,在输出加上了一级反相器。电涡流传感器的灵敏度和线性范围是与线性圈产生的磁场强度和分布状况有关,磁场沿径向分布范围大,则线性范围就大,轴向磁场梯度大,则灵敏度高。它们与传感器的线圈的形状和尺寸有关。单匝载流圆线圈在轴线上的磁场感应强度,可以根据毕奥-沙伐尔-拉普拉斯定律求得:式中,0为真空磁导率;I为激励电流;r为圆线圈半径;x为轴线上
32、某点P到线圈平面距离。由上式可知线圈外径大时,传感器敏感范围大,线性范围相应的也增大,但灵敏度降低。线圈外径小时,线性范围减小,但灵敏度增大。线圈薄时,灵敏度高。因此,为提高传感器的灵敏度,使用线圈半径为0.3cm ,电感值为100mH的多匝线圈。图2.2.2 金属探测电路(3)障碍物检测电路的设计在小车行驶的线路中,有两个障碍物,要求小车饶过障碍物行驶,避免与障碍物相撞。为了检测障碍物并确定障碍物的距离,在小车的前部安置了两个超声波传感器,一个用于发射,一个用于接收。如图2.2.3所示,该传感器可发射频率为40kHz的脉冲超声波信号(该信号由单片机从2脚发出),反相器U15C增加驱动能力,传
33、感器向某一方向发射脉冲超声波信号,并以34cm/ms的速度在空气中传播。同时,检测系统开始计时。如果超声波在传播途中碰到障碍物就会反射回来,超声波接收器收到反射声波就通过1脚输出一个信号,通知单片机停止计时。图2.2.3 超声波检测电路(4)路程测量电路的设计设计中所用的编码器滚轴共有45个透光格,所用的电动车车轮的周长约为16cm,滚轴和车轮的圆心在同一直线上,滚轴的转速和车轮转速是同步的。小车工作时,光敏三极管会产生一个个的脉冲,单片机AT89C51对脉冲计数,当需要计算距离时,只需将所计的脉冲总数除以45,得到车轮的圈数,再乘以轮子周长16cm就得到距离值。即其中S为距离,N为脉冲总数。
34、光电检测采用透射式光电传感器,具体电路如图2.2.4所示。图2.2.4 透射式光电检测电路(5)光源检测电路的设计光源离车库距离为0.2m,小车要进入车库,就要准确地判断光源的位置。由于光源距地面0.2m,用金属支架将三个光敏三极管固定在车的中间部分,并使光敏三极管尽量与光源保持水平。如图2.2.5所示,Q5为光敏三极管,三极管Q4、Q6构成达林顿管,三极管Q8是为了提高电路的带负载能力。通过该实物设计,提高了系统判断的准确度。光敏三极管输出是高低电平,单片机可直接对信号进行判断。图2.2.5 光源检测电路2.2.2 智能控制部分的单元电路设计(1) 控制电路的设计单片机接收从传感器检测电路输
35、入的逻辑信号和脉冲信号,并将输入的信号进行处理运算,以控制电流或控制电压的形式输出给被控制的单元电路,完成各项任务要求。单片机AT89C51外接显示电路,金属探测电路和路程测量电路,其中金属探测电路和距离测量电路是信号输入,显示电路是输出。为了方便单片机引脚的使用,我们将单片机的所有引脚用接口引出。具体电路如图2.2.6所示。CON8是数码管的接口,J13是10K排阻;金属传感器的输出由J8接入单片机的IN0中断。用来距离检测的光电传感器的输出由J9接入单片机的定时器T1。定时器T0用做内部定时。声光标志由P2.0、P2.1脚输出;单片机之间的通信和查询由P1脚输出。图2.2.6 AT89C5
36、1的最小系统及外围电路图2.2.7 AT89C2051的最小系统及外围电路通过对路面检测、障碍物探测和光源探测产生的传感信号进行检测,单片机AT89C2051完成控制电机的前转后转等功能。如图2.2.7所示,光电传感器输出的信号由P3.2、P3.3接入单片机的中断INT0,INT1实现路面的检测。电机控制由P1.7P1.4输出。超声波传感器和光敏三极管的输出信号由P1.0P1.3输入,AT89C2051和89C51共用一个复位电路。(2)电机驱动电路的设计电机驱动电路部分分为前轮部分和后轮部分,前轮负责小车的导向,后轮负责小车的前后驱动。PWM调制实现车速控制。前轮驱动电路如图2.2.8所示,
37、电路采用PWM驱动形式,电路主要由三极管5610、三极管5609、三极管9013和光耦元件组成,其中三极管5610和三极管5609组成了对管,驱动电路可控制电机的正反转。电路是由单片机控制,与单片机的接口采用光电耦合器。单片机的输入输出口P1.0输出为高电平, P1.1输出为低电平,这时,左边的光耦导通,右边的光耦不通,VT1、VT 4、VT 5导通,其它三极管截止电机正转,小车左转。反之,P1.0为低,P1.1为高,电机反转,小车右转。若P1.0和P1.1都为低电平电机不转动。小车的后轮驱动电路与此设计相同。图2.2.8 前轮驱动电路(3)数码管动态显示电路的设计在本系统中采用动态显示方式驱
38、动六个七段数码管,六个七段数码管用来显示时间、路程、交替显示时间、小车与起跑线的距离、金属片的个数和距离等信息。图2.2.9 动态显示电路图2.2.9中采用共阳极数码管,由于AT89C51单片机每个I/O口的拉电流只有12 mA,但在灌电流驱动状态下能达到20mA左右,如果采用共阴极数码管需要加驱动电路,而采用共阳极数码管则不需要驱动电路,可使电路得到简化。在电源输入端接入滤波电容器。3. 系统的软件设计系统的软件设计采用汇编语言,对单片机进行编程实现各项功能。程序是在Windows98环境下采用KeiluVision2软件编写的,可以实现小车对光电传感器的查询、输出脉冲占空比的设定、电机方向
39、的确定等功能。主程序主要起到一个导向和决策功能,决定什么时候小车该做什么。小车各种功能的实现主要通过调用具体的子程序。3.1 检测光电传感器子程序检测光电传感器子程序主要用于保证判断的准确性,采样时序图如图3.1.1所示。单片机根据需要直接从端口读取,为了防止出现干扰和错误信号,采用延时读取的方法,即在第一次读取后延时一段时间再读取,如果第二次读取的信号和第一次的不一样,则说明信号是干扰信号,就重新读取并比较,直到两次读取的信号一致,才判断小车遇到黑线。 图3.1.1 采样时序图3.2 寻轨迹子程序在黑线轨道上走直线时,对传感器的信号进行即时判断,左边信号为0时控制电机左转,右边信号为0时控制
40、电机右转。在弯道时,为了不冲出轨道,使左轮一直打偏,直到检测到右边信号为0时控制电机右转,当右信号为1时,继续使左轮一直偏。程序流程图如3.2.1所示。图3.2.1 黑线寻轨程序流程图3.3 金属探测子程序当传感器检测到金属时,使单片机内寄存器加一,当小车进入弯道后停止对寄存器的动作,一旦检测到金属传感器,再有信号输出,认为小车在C点,使小车停止运动,同时启动光声显示程序和5s延时程序。金属探测程序流程图如图3.3.1所示。 图3.3.1 金属探测程序流程图3.4绕障碍物子程序在没有检测到障碍物时调用光源检测子程序,寻找光源。当检测到障碍物时,控制小车左转一定时间后,再右转一定时间,再次判断前
41、方是否有障碍物,直到没有障碍物的信号,再调用寻光源子程序。绕障碍物程序流程图如图3.4.1所示。3.5超声波收发子程序40kHz的信号由AT89C2051的P3.0口输出,同时,使用AT89C51的内部T1定时器(设定工作模式为2)开始计时,当接收到信号时立即停止计时。如果在一定时间内没收到信号(t5.8ms),则重发信号。超声波收发程序流程图如图3.5.1 所示。图3.4.1 绕障碍物程序流程图图3.5.1 超声波收发程序流程图3.6 寻光源子程序根据三个光敏管的组合状态,单片机控制电机进行相应的动作。光敏管的状态与单片机控制小车动作的对应关系如表1.2.3所示。寻找光源程序流程图如图3.6
42、.1所示。图3.6.1 寻找光源程序流程图3.7 金属块探测子程序金属块探测子程序测量金属离起点的距离。在进入金属板时储存距离值,在出金属板时将测的距离减去前一个距离值,即可算出金属的长度,将这个数值除二后加上第一次储存的距离就是金属片中点离起点的距离。金属块探测程序流程图如图3.7.1所示。图3.7.1 金属块探测程序流程图3.8 其他子程序(1)动态显示子程序以高频率控制位码的输出,使数码管依次点亮,但各个数码管的内容不变,即段码不变。程序流程图略。(2)延时子程序 完成延时功能,程序流程图略。(3)90s定时子程序:系统启动90s后停止所有动作。(4)停车子程序:在进车库的时候检测到黑线
43、,控制电机反转很小的时间后停车。(5)辨认子程序:系统运行5s后如果再检测金属则认为小车到达了C点。3.9系统主程序流程图系统主程序流程图如图3.9.1所示。图3.9.1 系统主程序流程图4. 系统测试为了确定系统与题目要求的符合程度,我们对系统中的关键部分进行了实际的测试。4.1 测试仪器测试使用的仪器设备如表4.1.1所示。表4.1.1 测试使用的仪器设备序号名称、型号、规格数量备注1频率发生器:GFG-8216A1南京无线电仪器厂2YB4365双踪示波器1江苏扬中电子仪器厂3UNI-T数字万用表1胜利公司4直流电压源DF1731SC2A1宁波中策电子有限公司5秒表 精度0.01s16软尺
44、最大测量距离300.0cm,最小量程0.1cm14.2 指标测试4.2.1光电检测部分测试红外发射管的电流在520mA之间,电流大,发射的红外线强,但杂散反射光份量多,不易调整,检测误差大;电流小,工作可靠,检测头相对被检测的物体的距离范围窄,对于宽度为2cm的黑色条纹,电流在5mA左右就可以了。将检测头对准在白纸上,适当靠近或拉开与白纸间的距离,调整电位器R3,使得反相器输出为一个高电平。再用一张画有黑白相间条纹的划过检测头,用示波器观察波形是否在高、低电平中跳变(白色条纹为高电平,黑色条纹为低电平)。若没有此现象,可慢慢调整电位器R3,直到满意为止。4.2.2 前轮驱动电路前轮驱动电路直接用稳压可调直流电源供电,用外加信号触发,观看电机转速以及测量电机两端的电压。表4.2.1 电机状态表左右两光电传感器的状态电机状态电机电压/V电机电流/mA白-白停转2.3