走迷宫小车

上传人:壹****1 文档编号:508436708 上传时间:2022-11-22 格式:DOCX 页数:15 大小:538.35KB
返回 下载 相关 举报
走迷宫小车_第1页
第1页 / 共15页
走迷宫小车_第2页
第2页 / 共15页
走迷宫小车_第3页
第3页 / 共15页
走迷宫小车_第4页
第4页 / 共15页
走迷宫小车_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《走迷宫小车》由会员分享,可在线阅读,更多相关《走迷宫小车(15页珍藏版)》请在金锄头文库上搜索。

1、走迷宫小车摘要:本设计给出了以8位单片机STC12C5A60S2为控制核心,合理利用了该芯 片的2路PWM结合L298N芯片驱动减速电机速度,应用三方位红外检测路况和 三方位红外调整小车状态,红外测路程,迷宫算法等技术实现了小车的自动避障, 选择路线,寻找目的地,能在迷宫中找到最优路径从起点走到终点。关键字: STC12C5A60S2 PWM 减速电机 自动避障 红外测距 迷宫算法Abstract:This design gives the 8-bit microcontroller STC12C5A60S2 as the control center, the rational use of

2、 the chip 2-way combination of L298N chip PWM motor speed reducer drive, infrared detection using three position and three-position traffic to adjust the car state infrared, infrared distance measurement, the maze algorithm technology to achieve the cars automatic obstacle avoidance, route selection

3、, find the destination, to find the optimal path in the maze from the start to an end.Keyword:STC12C5A60S2 PWM Reducing_Motor A utomatic_in _Avoiding _Obstracles Infrared_Distance_Measurement Labyrinth_Algorithm 一系统方案1.1 蔽障检测和测距模块方案一:超声波检测避障和测距超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经 常用于距离的测量,如测距仪和物位测量仪等都可

4、以通过超声波来实现。利用超 声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度 方面能达到工业实用的要求,因此在移动机器人的研制上也得到了广泛的应用。 但是超声波程序控制较为麻烦,不易编写程序,价格也比较贵。 方案二:红外对管检测避障和测距小车行进的过程中,采用红外发射和接收电路来进行障碍物检测。在小车的 前端两侧分别安装 2 对红外对管进行红外信号的发送和接受。远距一组 3 对红外 对管用来避障,发射管的阳极发射 38KHZ 的载波信号,阳极为红外二极管的使能 调制端,由单片机输出信号进行调制,通过发射二极管发送调制后的红外信号。 红外接收管接根据有无返回信号即有墙无墙导

5、通或关段,然后通过一电压比较器 输出高低电平,即达到避障的目的。近距一组 3 对红外对管用来调整当前小车状 态,出现偏左或偏右,触发近距红外接收管接收低电平,表示当前偏向这一边, 然后调整小车。同时通过制作码盘,在小车的一边装上,用红外对管检测脉冲测 距,通过计数脉冲的多少了计算距离。综合考虑我们选择方案二。1.2 单片机控制模块方案一:采用 CPLD 可编程逻辑器件利用CPLD可编程逻辑器件作为主控制器CPLD可实现各种复杂的逻辑功能, 规模大、密度高、稳定性高、IO资源丰富、易于进行功能扩展,并可应用EDA 软件仿真、调试,适合作为大规模控制系统的控制核心,但迷宫小车系统并没有 复杂的逻辑

6、运算,且数据处理速度的要求也不高,不能完全发挥 CPLD 的优势, 同时,由于其集成度较高,硬件成本偏高,同时由于芯片引脚较多,实物硬件电 路布线复杂,加重了电路设计和焊接的工作。方案二:采用 STC12C5A60S2采用STC12C5A60S2单片机作为控制器。该单片机扩展功能强,具有2路PWM, 软件编程灵活,自由度大,可通过软件编程实现各种算法和逻辑控制,并具有功 耗低、体积小、技术成熟等优点,使其广泛应用于各个电子控制系统,完全能满 足本系统的功能需求。综合考虑我们选择方案二。1.3 电机控制模块方案一:采用步进电机选用步进电机作为系统的动力系统。步进电机程序易于控制,步进距离精确 可

7、控,但是重量很大,大大加大了小车的惯性,使用电池供电的时候电能消耗很 大,而且步进电机价格较贵。方案二:采用减速电机采用减速电机作为系统的动力设备。减速电机是在直流电机的基础上前置一 个减速箱制成的,减速箱的作用是将直流电机的速度固化在一定的范围内,从而 达到降速的目的,这样一来,在程序设计方面就没有直流电机那么复杂。综合考虑我们选择方案二。1.4 系统总体方案图 1:智能小车系统系统实现框图如图 1:迷宫为 8*8 个格子,采用右遍历,即车子右方有路,先走右转;车子右方没路, 继续前行;车子右方跟前方都没路,则左转;死路,则后转。通过红外检测模块 检测墙面信息,并且不断调整小车状态,每到一个

8、格子,记录这个格子的墙面信 息和可行进的方向,当遍历完后,制作等高表,找出最优路径,然后可以从起点 走最优路径到终点。二理论分析和设计2.1 路径识别的理论依据由红外对管和 LM339N 组成的电路,可以实时的检测到墙壁信息,而得到墙 壁信息的理论依据为:当有白色墙时,红外信号反射,红外接收管导通,输出低 电平0V;当没有墙时,红外接收管不导通,输出高电平+5V。通过调节滑动变阻 器,调节红外发射的功率,从而得到不同距离的电平信息。由于迷宫的每个格子 的宽度在30cm以内,小车的宽度有15cm,所以只测量了 20cm的数据。测量的电压数据如下表2:红外对管输出电压数据表与墙距离电压输出(V)与

9、墙距离电压输出(V)2cm012cm0或54cm0或514cm0或56cm0或516cm0或58cm0或518cm0或510cm0或520cm0或5从以上数据可以1知道,距离一定时,当调节发射功率可以得到所需的电平信息。出于实际考虑,避障的左前右3对红外对管调节在10cm的发射功率距离上, 即距在10cm内有墙,红外接收管导通,输出低电平,当10cm内没有墙,红外 接收管不导通,输出高电平。在路口处,由于距离大于10厘米,无法检测到墙, 所以接收管关断,输出高电平。左前右3个方向可能出现的情况如下:000左前 右都有墙;001 左前有墙,右没墙;010 左右有墙,前没墙;011 左有墙,前右

10、没墙;100 前右有墙,左没墙;101 前有墙,左右没墙;110 左前没墙,右有墙;111 左前右都没墙。通过单片机不断检测这3 个传感器的输出,即可得到墙壁的 信息,为转弯等提供了支持。2.2 红外检测仲2.2.1 直线行驶图3: 从上图3可以看到位子时,小车的左边近距红外触发,然后调整小车偏向右 行驶。刚开始的的时候,近距红外调节在很短的距离上,使得小车走折线,后来 通过调试,发现当把近距红外调大些,把小车固定在很窄的位子上,小车直线行 驶效果非常好。2.2.2 路口仲裁 当小车进入到迷宫后,会遇到8 中情况,这 里只拿其中的一种进行说明,即 001 的情况。小 车的左方跟前方有墙,接收红

11、外导通,输出 ,0, 右方没墙,右方接收管关断,输出 1,停住后, 然后控制电机,使小车右转。在各种情况下,以 右转优先,前行次之,然后才是左转,死路则后 转。经过测试发现红外的反应良好,在各种路口 下,返回对应的电平信息。策略如图 4:红外对管的输出信号左、几前右应对策略000后转001右转010前行011右转100左转101右转110前行111右转图 4 :小车路口应对策略23 STC12C5A60S2 的 2 路 PWM 配置由于stc12c5a60s2自带了 2路硬件PWM,所以只要配置好PWM寄存器, 就可以得到不同占空比的方波,然后接到L298N的EN端控制电机的速度。这里 以我们

12、配置的PWM为列进行说明:首先配置PCA时钟模式,即CMOD寄存器, CMOD=OxOa得到系统的四分频时钟,系统采用的是foc=11.0592M晶振,所以PCA 时钟为foc/4,然后配置好模式CH=0,CL=0,装上PWM的高低位, CCPA0L=CCPA0H=0x20,然后使能 PCA 和 PWM 模式 CCAPM0=0X42,8 位 PWM, 无中断,这样就得到一定频率的方波,而且精确稳定。24 电机驱动通过 L298N 驱动电机运行,控制方式如下图 5:使能EN左电机右电机左电机右电机小车状态A1A2B1B2PWM0000停止停止停止PWM0110正转反转右转PWM1001反转正转左

13、转PWM0101正转正转前行转弯程序控制还要结合红外码盘测距,同时调节PWM,当右转时减小右轮子的 速度,当红外测距脉冲达到11个时,转外结束此时转过90度;,左转同理,后 转时则脉冲个数达到 22 个时,后转结束。通过软硬件同时调试,得到了非常漂 亮的转弯。25 红外码盘测距我们测距选择的是红外对管和码盘结合,当码盘随轮子转动时,红外对管将产生计数脉冲,用计数脉冲可以很简单的算出小车的行进距离。我们的码盘分为24格,即产生24个脉冲前进轮子周长的距 离。格子的一格为30cm,轮子周长为20.4cm,即产35个脉冲走完一格,然后 计数脉冲清零,重新计数。三硬件电路3.1 STC12C5A60S

14、2 控制模块1 AJ1TJLLlP0.1 .4D1XTALJP&iADCPC-J-.4E-3 RM-AD4 眈心PCi.5_.4DSPO.7-AD7Ji=TEAWPFL.O.TJPSENPL 1 T2ESALE PROGPl.2 ECIPWO.RsDF1.3.CEX0PL4.CEX1P1J.CEGP3 L.TiDP1-85.CEX3P5J.IXTaP1_.CEX4P3J INTIP3 4.T0RLO MP3.5.T1PU.ASP12.A10P5RDIll AllvssMA Al 2PL5.A13P1&A143.2 直流稳压电源我们采用的是2节3.6V的可充电电池串联供电,采用2路7805输出+5V电压,减少电机驱动对单片机的干扰。其电路如下图:3.3 红外对管检测模块红外检测模块共有 5 路,还有一路测距,其电路图如下图:3.4 电机驱动模块采用L298N的H桥驱动电路如下图:珂FlIK1YS31X2IK3IN4OUTIOTJT2ENAOTJTJENBOUT4I5ENAGND15OUTA1OET-V31N4-KL-1N4W7系统的整机电路见附录 2四软件设计4.1 算法分析右手法则:首先建立一个结构体,包含 cX,cY 两个坐标,然后再构建一个结 构体数组,用来记录墙面的信息,高四位用来记录节点支路数,低四位用来记录 墙面信息。第一次慢探测,小车初始方向程序可以设定,假如

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号