简单路径规划避障轮式移动机器人系统 .docx
精品名师归纳总结基于简洁路径规划的避障轮式移动机器人系统直流电动机驱动子系统设计1. 系统概述本设计的目的是设计一种基于简洁路径规划的避障轮式移动机器人,完成在简洁环境下的避障跟踪任务。通过超声测距系统,测量小车与障碍物之间的距离。小车由两个直流电机分别对两轮进行驱动。同时,通过电子罗盘系统,通过主控单片机的掌握,进行姿势调整。通过光电测速系统测量小车行进速度,并反馈给主控单片机,从而实时转变小车速度。2. 设计方案本设计的移动机器人根据其功能可分为四个子系统(图1):直流电动机驱动子系统、电子罗盘子系统、光电测速子系统和超声测距子系统。其中,直流电动机驱动子系统采纳集成电路驱动器L293D掌握机器人左右两个直流 电动机,电动机可以正转也可以反转,L293D的使能信号和方向掌握信号由型号为AT89C52 的 51 系列单片机的并行I/O 口使能或驱动。电机的调速采纳脉宽调制 PWM 方式进行, PWM 信号时序由单片机定时器(可用T0、 T1 和 T2)产生。电子罗盘子系统选用电子罗盘、电子指南针相关检测的磁的数字罗盘芯片,提取的 磁偏转信号,经A/D 转换或其它变换转换为二轴的磁偏角数字量采纳串行传输方式传送给主控单片机。光电测速子系统选用红外对管并协作安装于车轮上的光电码盘检测车轮转动的角位移,并与单片机定时器协作运算出机器人小车移动的线速度和加速度,并将其传送给主控单片机。避障轮式移动机器人超声测距子系统选用超声换能装置,并采纳带锁相环的音频译码集成芯片 LM567 ,将小车距离障碍物的距离检测出来,并将其传送给主控单片机。直流电子光电超声电机罗盘测速测距驱动子系子系子系子系统统统统图 1. 系统结构可编辑资料 - - - 欢迎下载精品名师归纳总结由于移动机器人系统设计比较复杂,软硬件任务结合紧密,必需综合考虑软硬件资源,合理安排整个设计过程。下图2 说明白整个系统的设计工作流程。图 2. 系统设计工作流程这里,我选取直流电机驱动子系统作为具体设计部分。3. 直流电机驱动子系统的具体设计3.1 硬件挑选3.1.1 AT89C52单片机是整个小车系统的核心,掌握全部模块,本系统采纳型号为AT89C52 (图 3) 的 51 系列单片机。AT89C52 是美国 ATMEL 公司生产的低电压,高性能CMOS 8位单片机,片内含 8k bytes 的可反复擦写的 Flash只读程序储备器和 256 bytes的随机存取数据储备器(RAM ),器件采纳ATMEL公司的高密度、非易失性储备技术生产,与标准MCS-51 指令系统及 8052产品引脚兼容,片内置通用 8位中心处理器( CPU )和 Flash 储备单元,功能强大 AT89C52 单片机适合于很多较为复杂掌握应用场合。可编辑资料 - - - 欢迎下载精品名师归纳总结其主要性能参数:·与 MCS-51 产品指令和引脚完全兼容。· 8k字节可重擦写 Flash闪速储备器。· 1000次擦写周期。·全静态操作: 0Hz-24MHz 。·三级加密程序储备器。· 256×8字节内部 RAM 。· 32个可编程 I/O 口线。· 3个16位定时 /计数器。· 8个中断源。·可编程串行 UART 通道。·低功耗闲暇和掉电模式.AT89C52 供应以下标准功能:8k字节 Flash 闪速储备器, 256字节内部 RAM , 32 个I/O口线, 3 个16 位定时 /计数器,一个 6 向量两级中断结构,一个全双工串行通信口,片内振荡器准时钟电路。同时,AT89C52 可降至 0Hz的静态规律操作,并支持两种软件可选的节电工作模式。闲暇方式停止CPU 的工作,但答应 RAM ,定时 / 计数器,串行通信口及中断系统连续工作。掉电方式储存RAM中的内容,但振荡器停止工作并禁止其它全部部件工作 直到下一个硬件复位。图3 AT89C52 引脚排列图3.1.2L293D本设计采纳的是双轮差速掌握方式,每个车轮分别由一个直流电机单独掌握,移动机可编辑资料 - - - 欢迎下载精品名师归纳总结器人的速度和转向的掌握主要是通过对这两个电机的掌握来实现的。我们采纳集成电路驱动器 L293D 掌握机器人左右两个直流电动机。L293D 是美国德州仪器生产的一款电机掌握器件,该器件具有4 个大电流半H 驱动结构 ,这种结构可以在 4.5 V 36 V 电压的下供应高达600 mA 的电流。该器件主要用于驱动感性负载 ,如继电器、螺线管、直流或者双极性步进电机等。L293D 具有如下特性:·每个电机可供应高达600 mA 的驱动电流。·每个驱动供应高达1.2 A 的脉冲电流。·宽电压范畴 4.5 V36 V 。·隔离的规律电平电源。·热耗少。·内部 ESD 爱护。·抗噪性能好 .L293D 的引脚排列如图 4 所示图 4. L293D 引脚排列图引脚 2、7、 10、15 为掌握信号输入端,用于掌握电机的工作状态。而引脚3、 6、11、 14 为电机掌握输出端,用于直接掌握电机的动作。该器件的全部输入与TTL 兼容,其输出采纳达林顿晶体管接收器和伪达林顿源构成的“图腾柱”驱动电路。电机驱动使能由引脚1 掌握电机 1,引脚 9 掌握电机 2。当 EN 引脚置为高电平,与之相对应的电机就处于使能状态,从而激活电机掌握输出。与 V S 端口隔离的V SS 端口可供应规律输入,以减小电源功耗。L293D 可以工作在 070的范畴内。3.2 硬件设计可编辑资料 - - - 欢迎下载精品名师归纳总结硬件设计电路如图5 所示。图 5. 电机掌握驱动电路采纳 2 个桥式电路的芯片 L293D 直接掌握 2 个电机。 L293D 是驱动二相和四相步进电机的专用芯片,即内含2 个 H 桥的高电压大电流双全桥式驱动器,接收标准TTL 规律电平信号,可驱动36V 、 2A 以下的电机。 L293D 可驱动 2 个电机, 3、6 和 11、14 脚之间分别接 2 个电动机。 2、7、10、15 脚接输入掌握电平,掌握电机的正反转,ENA 、ENB 接掌握使能端,掌握电机停转。单片机输出2 组 PWM 波,每 1 组 PWM 波用来掌握 1 个电机的速度。另外 2 个 I/O 口可以掌握电机的正反转。掌握方法与掌握电路都比较简洁。即2、7 脚掌握第 1 个电机的方向,输入的ENA 掌握第 1 个电机的速度。 10、15 脚掌握第 2 个电机的方向,输入的 ENB 掌握第 2 个电机的速度。单片机 P1 口对 L293D 的掌握如下表所示:表 1. P1 口对 L293D 掌握信号P1.0P1.1P1.2P1.3P1.4P1.5电机运动*00停止010111前进101011后退100111左转011011右转脉冲宽度调制 Pulse Width Modulation-PWM掌握,通常协作桥式驱动电路实现直流电机调速,特别简洁,且调速范畴大。它的原理就是脉冲宽度调制将输出信号的基本周期固定,通过调整基本周期内高电平工作周期的大小来掌握输出功率。电机的转速和电机两端可编辑资料 - - - 欢迎下载精品名师归纳总结电压成正比例,而电机两端的电压与掌握波形的占空比成正比,因此电机的速度与占空比成正比,占空比越大,电机转得越快,当占空比达到1 时,电机转速最大。在实际制作过程中采纳软件模拟PWM 输出调制的方法,掌握信号的频率不需太高,一般在1.5 kHz 以下为宜。本设计最终采纳的信号频率为1 kHz ,在小车正常直线行进过程中,使能端直接接高电平,电机全速转动。在转弯时才进行占空比调制,占空比的大小打算了小车转向的快慢,占空比太小时,电机几乎不转,转向最快,但有可能使小车摇摆不定。占空比太大时, 2 电机转速差很小,小车将转向很慢。3.3 软件设计主控单片机 AT89C52 主要用于接收掌握信号并执行相应操作。主要包括小车的停止、前进、后退、左转、右转等。下图5 给出了移动机器人主控软件设计流程。系统初始化扫描掌握信号判定掌握信号类型前进后退左转右转停止图 5. 主控软件流程图以下给出单片机通过L293D 掌握电机的接口程序代码:.public_F_MotoRun_F_MotoRun:.proc push bp tosp。bp=sp+3 。r1=bp+1 。r3=0xf3ff 。P_IOA_Dir=r3。P_IOA_Attrib=r3。r4=0xffff 。P_IOA_Data=r4 。run:cmp r1,0 。可编辑资料 - - - 欢迎下载精品名师归纳总结jnz left 。/IOB3 input1 IOB4 input2 IOB5 input3 IOB6 input4 IOB0 En1 IOB1 En2r2=0x002b 。/0000 0000 0010 1011r1=P_IOB_Data 。r1=r1|r2 。r2=0xffaf 。/1111 1111 1010 1111r1=r1&r2 。P_IOB_Data=r1 。jmp finish 。left:cmp r1,1 。jnz right 。r2=0x000b 。/0000 0000 0000 1011r1=P_IOB_Data 。r1=r1|r2 。r2=0xff8f 。/1111 1111 1000 1111r1=r1&r2 。P_IOB_Data=r1 。jmp finish 。right:cmp r1,2 。jnz stop 。r2=0x0023 。/0000 0000 0010 0011r1=P_IOB_Data 。r1=r1|r2 。r2=0xffa7 。/1111 1111 1010 0111r1=r1&r2 。P_IOB_Data=r1 。jmp finish 。可编辑资料 - - - 欢迎下载精品名师归纳总结stop:r1=0x0000 。/0000 0000 0000 0000P_TimerA_Ctrl=r1。P_TimerB_Ctrl=r1。r2=0xff87 。/1111 1111 1000 0111r1=P_IOB_Data 。r1=r1&r2 。P_IOB_Data=r1 。finish:pop bp fromsp 。call_ClearWatchDog retf.endp4. 终止语经过一个学期的学习,从对移动机器人一无所知到有所明白,再到对其整体构架和内部组成有了肯定的明白,这个过程是艰辛的,也是欢乐的。本设计中,主要对移动机器人的直流电机驱动进行设计,其中包括软硬件的设计。由于是第一次接触到这个领域,其中确定存在很多的缺点和不足,仍望指正,感谢!参考文献1 金文俊 . 自主移动机器人的定位与运动掌握. 浙江工业高校硕士学位论文,2021.2 张拓 . 基于 AT89S52 单片机的智能循迹机器人的设计J. 工业安全与环保 ,2021, 34 11: 36-38.3 肖 伟,武 强, 闫秀桃 ,刘 根. L293D 在护士移动机器人主控电路板设计中的应用J. 国外电子元器件 , 2007, 11: 64-66.4 AT89C52, L293D芯片资料 .5 可编辑资料 - - - 欢迎下载精品名师归纳总结附录PCB原理图可编辑资料 - - - 欢迎下载