《2022年红外避障小车课程设计方案报告 .pdf》由会员分享,可在线阅读,更多相关《2022年红外避障小车课程设计方案报告 .pdf(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、前言-随着生产自动化的发展需要,机器人已经越来越广泛地应用到生产自动化上,随着科学技术的发展,机器人的传感器种类也越来越多,其中红外传感器已经成为自动行走和驾驶的重要部件。红外的典型应用领域为自主式智能导航系统,机器人要实现自动避障功能就必须要感知障碍物,感知障碍物相当给机器人一个视觉功能。智能避障是基于红外传感系统,采用红外传感器实现前方障碍物检测,并判断障碍物远近。由于时间和水平有限,我们暂选最基本的避障功能作为此次设计的目标。本设计通过小车这个载体再结合由AT89S51 为核心的控制板可以达到其基本功能,再辅加由漫反射式光电开关组成的避障电路、555 组成的转速控制电路、电源电路、差分驱
2、动电路就可以完善整个设计。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 23 页目录前言 -1目录 -2摘要 -3功能概述-3硬件设计 -3 避障电路 -4单片机电路-7电机转速控制电路-7电源电路-8电机驱动电路-9主程序设计-12小结 -23参考文献-23精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 23 页1. 【摘要】 : 本文提出一种智能避障小车的设计方法,利用红外技术检测障碍物信息,采用AT89S51 单片机进行实时控制,实现智能避障,智能小车采用后轮驱动,两轮各
3、用一个直流电机控制,避障用的传感器采用红外漫反射式传感器。【关键词】 : 避障光电开关差分控制 LCD 2. 功能概述智能小车采用前轮驱动,前轮左右两边各用一个电机驱动,分别控制两个轮子的转动从而达到转向的目的,后轮是万向轮,起支撑的作用。将三个红外线光电传感器分别装在车体的左中右,当车的左边的传感器检测到障碍物时,主控芯片控制右轮电机停止左轮转动,车向右方转向,当车的右边传感器检测到障碍物时,主控芯片控制左轮电机停止转动,车向左方转向,当前面有障碍物时规定车右转。于此同时测定速度并显示,在避障小车前进的同时从LCD 点阵液晶显示器上显示小车当时速度。在小车左转或右转时在显示器上显示出左或右。
4、3硬件设计如下图所示,是本次设计智能小车的电路框图。以AT89S51 为电路的中央处理器,来处理传感器采集来的数据,处理完毕之后以便精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 23 页去控制电机驱动电路来驱动电机。电源部分是为整个电路模块提供电源,以便能正常工作。4. 避障电路(1)障碍物探测方案的选择方案一:脉冲调制的反射式红外线发射接受器。由于采用该有交流分量的调制信号,则可大幅度减少外界干扰;另外红外线接受官的最大工作电流取决于平均电流。如果采用占空比小的调制信号,再品均电流不变的情况下,顺势电流很大(50100mA ),则大
5、大提高了信噪比。并且其反应灵敏,外围电路也很简单。它的优点是消除了外界光线的干扰提高了灵敏度。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 23 页方案二:采用超声波传感器,如果传感器接收到反射的超声波,则通知单片机前方有障碍物,如则通知单片机可以向前行驶。市场上很多红外光电探头也都是基于这个原理。这样不但能准确完成测量,而且能避免电路的复杂性由以上两种方案比较可知。方案二要比方案一优势大,市场上很多红外观点探头也都基于这个原理。其电路简单,工作可靠,性能比较稳定。从而避免了电路的复杂性,因此我先用方案二作为小车的监测系统。避障电路采
6、用漫反射式光电开关进行避障。光电开关是集发射头和接收头于一体的检测开关,其工作原理是根据发射头发出的光束,被障碍物反射,接收头据此做出判断是否有障碍物。当有光线反射回来时,输出低电平;当没有光线反射回来时,输出高电平。单片机根据接收头电平的高低做出相应控制,避免小车碰到障碍物,由于接收管输出 TTL 电平,有利于单片机对信号的处理。光电开关工作原理:光电开关是通过把光强度的变化转换成电信号的变化来实现控制的。光电开关在一般情况下,有三部分构成,它们分为:发送器、接收器和检测电路。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 23 页避
7、障电路如下:避障电路功能表:传感器避障电路输出(上升沿动作)待执行命令左中右左转信号 (P2.1) 右转信号(P2.0)0 0 0 右转0 0 1 右转0 1 0 右转0 1 1 右转1 0 0 左转1 0 1 右转1 1 0 左转1 1 1 前进注解(“ 0”表示有障碍物;“1”表示无障碍物)精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 23 页4. 单片机电路本设计的主控芯片选择AT89S51 ,负责检测传感器的状态并向电机驱动电路发出动作命令。复位电路采用手动复位。单片机电路如下:5. 电机转速控制电路由555时基电路构成多谐振
8、荡器提供一个 PWM 信号,通过控制该信号的占空比来实现电机调速。阻容元件的取值初步定为图中所示。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 23 页多谐振荡器如下:其中占空比:q=(R1+Rx1)/(R1+R2+Rx) 周期: T=(R1+R2+Rx)Cln2 6. 电源电路本系统所有芯片都需要 +5V 的工作电压,而干电池只能提供的电压为 15V 的倍数的电压,并且随着使用时间的延长,其电压会逐渐下降,则需要LM7805 稳压芯片。 L7805 能提供 300 至 500mA的电流,足以满足芯片供电的要求。虽然微处理器和微控制器
9、不需要支持电路,功耗也很低,但必须要加以考虑。电源电路拟定为:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 23 页7. 电机驱动电路市场上用很多种类的小电压直流电动机,很方便的选择到。主要有普通电动机、和步进电动机。方案一:采用步进电机,步进电动机的一个显著的特点就是具有快速启动和停止能力,能够达到我们所要求的标准。如果负荷不超过步进电机所能提供的动态转矩值,就能够立即是步进电机启动或反转。其转换灵敏度比较高。正转、反转控制灵活。但是步进电机的价格比较昂贵,对于我们的现状相差太远。方案二:采用普通的直流电机。直流电机具有优良的调速特
10、性,调速平滑、方便。调整范围广;过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速启动、制动和反转。能满足各种不容的特殊运行要求。由于普通直流电机价格适宜,更易于购买,并且电路相对简单,因此采用直流电机作为动力源本设计采用差分放大驱动使电机正反转从而做到前进,左转右转。采用四个大功率晶体管组成H桥式电路,四个大功率晶体管分为两组,交替导通和截止,用单片机控制使之工作在开关状态,进而控制电机的运行。该控制电路由于四个大功率晶体管只工作在饱和与精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 23 页截止状态下,效率非常高,并且大功率晶体
11、管开关的速度很快,稳定性也极强,是一种广泛采用的电路。采用与门对两电机进行选择控制,从而实现前进、左转、右转。驱动电路原路框图如下:电路图如下:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 23 页注释:将圆盘12 等分半径 2CM,周长4*pi . 用程序设定 1S 内采集到的脉冲数可以转化为速度。单位时间内前进距离为 S ,则:速度V 大小为S 。驱动状态表:注解:(“ 0”代表低电平“1”代表高电平)电机驱动电路功能表输入小车状态P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 1 1 1 1 1 0 前进1 1 1
12、 1 0 0 停止1 0 0 0 1 1 左转0 1 0 0 1 1 右转精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 23 页8. 主程序流程图源程序:RS BIT P2.2 RW BIT P2.3 E BIT P2.4 ORG 0000H 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 23 页LJMP MAIN ORG 0030H MAIN: MOV P2,#0FFH MOV P1,#1FH 。前进 MOV TMOD,#10H MOV R1,#0C8H SETB TR
13、1 TIME:MOV TH1,#0D8H MOV TL1,#0F0H JNB TF1,$ DJNZ R1,TIME CLR TR1 MOV R7, #00H 。脉冲个数 MOV R1, #64H MOV TMOD, #10H SETB TR1 LOOP6: MOV TH1, #08H MOV TL0, #0F0H NEXT: MOV C, 0 JB TF1, LOOP7 。判断 TF1 是否溢出 ORL C, P3.4 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 23 页 JNC LOOP6 。判断 C 是否为 1 INC R7
14、。1S内出现的脉冲个数 JB TF1, LOOP7 SJMP NEXT LOOP7: DJNZ R1, LOOP6 CLR TR1 CLR C MOV A,R7 。脉冲个数乘以2 ADDC A,R7 MOV R7,A MOV A, #01H 。一个码格的弧长 MOV B, R7 MUL AB 。计算总弧长 DA A 。十进制调整 MOV R5, A MOV A, B 。B 的值给 A JNC LOOP8 。判断十进制调整是CY 有没有被置 1 INC A CLR C LOOP8: DA A 。十进制调整精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第
15、 14 页,共 23 页 MOV R6, A JNC LOOP9 INC 70H 。十进制调整如果CY 被置 1,70H 赋值 1 CLR C LOOP9: MOV A, R6 。解释 R6,R5分别表示总长的高位和低位 ANL A, #0F0H 。取 R6的高四位,赋给 71H SWAP A MOV 71H, A MOV A, R6 ANL A, #0FH 。取 R6的低四位,赋给72H MOV 72H, A MOV A, R5 ANL A, #0F0H 。取 R5的高四位,赋给 73H SWAP A MOV 73H, A MOV A, R5 ANL A, #0FH 。取 R5的低四位,赋给
16、 74H MOV 73H, A /*显示前进 */ MOV SP, #50H ACALL INIT MOV A, 10000000B 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 15 页,共 23 页 ACALL WC51R MOV A, G ACALL WC51DDR MOV A, 0 ACALL WC51DDR MOV A, ACALL WC51DDR MOV A, A ACALL WC51DDR MOV A, H ACALL WC51DDR MOV A, E ACALL WC51DDR MOV A, A ACALL WC51DDR MOV
17、 A, D ACALL WC51DDR MOV A, 11000101B ACALL WC51R MOV A, 70H ACALL WC51DDR MOV A, 71H 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 16 页,共 23 页 ACALL WC51DDR MOV A, 72H ACALL WC51DDR MOV A, . ACALL WC51DDR MOV A, 73H ACALL WC51DDR MOV A, 74H ACALL WC51DDR MOV C,P2.0 JC LOOP1 。判断 P2.0 MOV P1,#0FH 。停车
18、 LCALL LOOP2 MOV P1,#32H 。右转 LCALL RIGHT LJMP LOOP4 LOOP1:MOV C,P2.1 JC NEXT1 。判断 P2.1 MOV P1,#0FH 。停车 LCALL LOOP2 MOV P1,#31H 。左转精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 17 页,共 23 页 LCALL LEFT LJMP LOOP4 NEXT1:LJMP MAIN /* 停车定时 */ LOOP2:MOV TMOD,#10H MOV R0,#64H SETB TR1 LOOP3:MOV TH1,#0D8H M
19、OV TL1,#0F0H JNB TF1,$ DJNZ R0,LOOP3 CLR TR1 RET /* 转向定时 */ LOOP4:MOV TMOD,#10H MOV R1,#0C8H SETB TR1 LOOP5:MOV TH1,#0D8H MOV TL1,#0F0H JNB TF1,$ DJNZ R1,LOOP5 CLR TR1 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 18 页,共 23 页 MOV P1,#1FH 。前进 LJMP MAIN /* 显示左转 */ LEFT: MOV SP, #50H ACALL INIT MOV A,
20、 10000000B ACALL WC51R MOV A, L ACALL WC51DDR MOV A, E ACALL WC51DDR MOV A, F ACALL WC51DDR MOV A, T ACALL WC51DDR RET /* 显示右转 */ RIGHT: MOV SP, #50H ACALL INIT MOV A, 10000000B ACALL WC51R MOV A, R 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 19 页,共 23 页 ACALL WC51DDR MOV A, I ACALL WC51DDR MOV A
21、, G ACALL WC51DDR MOV A, H ACALL WC51DDR MOV A, T ACALL WC51DDR RET /*初始化子程序 */ INIT: MOV A, #00000001H 。清屏 ACALL WC51R MOV A, #00111000B 。使用 8 位数据 LCALL WC51R MOV A, #00000110B 。字符不动,光标自动右移一格 LCALL WC51R /* 检查忙子程序 */ F_BUSY:PUSH ACC 。保护现场 PUSH DPH 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 20 页
22、,共 23 页 PUSH DPL PUSH PSW WAIT: CLR RS SETB RW CLR E SETB E MOV A, P1 CLR E JB ACC.7,W AIT 。忙,等待 POP PSW 。不忙,恢复现场 POP DPL POP DPH POP ACC ACALL DELAY RET /* 写入命令子程序 */ WC51R: ACALL F_BUSY CLR E CLR RS CLR RW SETB E MOV P1, ACC 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 21 页,共 23 页 CLR E ACALL DE
23、LAY RET /* 写入数据子程序 */ WC51DDR:ACALL F_BUSY CLR E SETB RS CLR RW SETB E MOV P1, ACC CLR E ACALL DELAY RET /* 延时子程序 */ DELAY: MOV R6, #5 D1: MOV R7, #248 DJNZ R7, $ DJNZ R6, D1 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 22 页,共 23 页 RET END 9. 小结本文提出了一种经济实用的智能小车设计方法,给出了从硬件电路设计到软件设计的一系列步骤。采用了直流电机作为执
24、行元件,E3F 系列光电开关作为检测元件,AT89S51 单片机作为主控芯片,完成了小车避障功能的实现。与此同时应用LCD 显示状态,本设计不仅对于了解单片机的结构、电路设计及控制功能有一定的帮助,还有益于诱发学习单片机的兴趣。参考文献【1】李朝青单片微机原理及接口技术(第三版)。 M 北京航空航天大学出版社【2】阎石. 数字电子技术基础(清华大学电子学教研组编第五版) 高等教育出版社【3】 康华光 . 电子技术基础(第五版)高等教育出版社【4】 无线电 2009年第 2 期 宋泽清关于灵活避障 快速循迹【5】 杨加国单片机原理与应用及C51程序设计清华大学出版社精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 23 页,共 23 页