基于LPC2136的嵌入式实时机器人控制系统设计与应用.pdf
-
资源ID:70342521
资源大小:486.42KB
全文页数:6页
- 资源格式: PDF
下载积分:15金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
基于LPC2136的嵌入式实时机器人控制系统设计与应用.pdf
基于基于 LPC2136 的嵌入式实时机器人控制系统设计与应用的嵌入式实时机器人控制系统设计与应用 邱铁,司伟生(大连理工大学软件学院,辽宁大连 116621)摘要:摘要:本文以支持实时仿真和嵌入式跟踪的 32 位 ARM7 处理器 LPC2136 为控制核心,设计开发了轮式机器人控制系统硬件平台,通过 ISP 对系统中的 Flash ROM 进行在线编程,采用 PWM 的方式对用于驱动双轮的直流电动机和用于转向的舵机进行速度和方向控制。在此硬件平台下移植了嵌入式实时操作系统C/OS-,依据各个控制功能和微控制器的资源结构对任务进行划分,根据传感器反馈信号对机器人实时控制。关键词:关键词:ARM;电机驱动电机驱动;光电检测;光电检测;C/OS-II;任务任务 Design and Application of Embedded Real-Time Robot-Control System Based on LPC2136 Qiu Tie,Si Wei-sheng(School of Software,Dalian University of Technology,Dalian,116621,China)Abstract:This paper designs a novel hardware platform for the control system of the wheeled mobile robots.It adopts the 32-bit ARM7 processor LPC2136 that supports the real-time simulation as the central control unit.The Flash ROM in the system is programmed with the ISP,and the control of the speed and direction of the DC-motor and helm-motor is realized by using the PWM.The embedded real-time operating system C/OS-is ported into the platform.Tasks are divided according to their control functions and the resource configuration of the MCU.The robot is controlled in real-time by the feedback signals.Keywords:ARM Motor driver Photodetection C/OS-II Task 1.引言引言 轮式移动机器人是机器人研究领域的一项重要内容,它集机械、电子、检测技术与智能控制于一体,是一个典型的智能控制系统。智能机器人比赛集高科技、娱乐、竞技于一体,成为国际上广泛开展的高技术对抗活动。本文以ARM7处理器为控制核心,扩展了应用任务,移植了嵌入式实时操作系统C/OS-,设计了一套智能机器人控制系统。2.硬件设计硬件设计 根据竞技机器人的功能要求进行总体设计,将各个功能进行模块化,控制系统硬件框图如图1所示。中央处理器采用微控制器结构,可以通过ISP(In-System Programming)在线编程,控制外围设备协调运行。舵机控制机器人的运动方向,电动机采用输出轴配有光电编码器的小型直流电机作为驱动电机,驱动车轮旋转。电磁铁作为机械手夹紧的执行元件。设置了两路超声波传感器、八路光电检测输入和八路开关量检测的接口。整个机器人的运行状态和运行参数通过LCD动态显示。图图1 控制系统硬件框图控制系统硬件框图 21 微控制器的选型微控制器的选型 机器人要实现的动作和功能较多,需要多个传感器对外界进行检测,实时控制机器人的位置、动作和运行状态。系统中的所有任务最终都挂在实时操作系统C/OS-上运行,因此不仅要考虑微控制器的内部资源,还要看其可移植性和可扩展性。LPC21361是Phlips公司生产的32位ARM7TDMI-S微处理器,嵌入256KB高速Flash 存储器。采用3级流水线技术,取指、译码和执行同时进行,能够并行处理指令,提高CPU运行速度。由于具有非常小的尺寸和极低的功耗,抗干扰能力强,适用于各种工业控制。2个32位定时计数器、6路PWM输出和47个通用I/O口,使它特别适用于对环境要求较低的工业控制和小型智能机器人系统。因此选用LPC2136为主控制器,设计结构简单、性能稳定的智能机器人控制系统。2 2 ISP Flash 编程下载编程下载 VCC16V+2GND15T1out14R1IN13T2out7R2IN8C1+1C1-3C2+4C2-5T1IN11R1out12V-6T2IN10R2out9IC1MAX3232C1104VDD3.3C2104162738495COM1UART0C3104C4104RxD P0.1TxD P0.0 图2 ISP载器接口 图2 ISP载器接口 2136内部有256KB高速Flash,可以用来存储控制程序,与计算机串之间的通讯接口如图2所示。IC1为电平转换器MAX3232 芯片,其内部有一个电源电压变换器,可以将计算机的电平转换为标准TTL电平,实现计算机与LPC2136之间通过串行口传输数据,完成对片内Flash程序和数据的存储操作。将编好的机器人控制程序进行编译,调试成功后形成二进制或十六进制代码,通过软件LPC210 x ISP将代码直接下载到Flash中。2 3 电机驱动电路电机驱动电路 12J101MOTOR1Q102TIP147Q104Q103TIP142Q105C102C105C103C106R105R108R106R109R110R111M1BM1BM1FM1FR1031KR1041KVCCVCC12IC1AM1FBMVCCQ101R102R101VCCM1PIC2COPT04IC2BOPT04IC2AOPT04M1VCCMGNDM1VCCMGNDR107C104C101D101D102D103D104D105FR107 图3 电机PWM驱动电路 图3 电机PWM驱动电路 根据 PWM 调速原理设计直流电机驱动电路,如图 3 所示。为了防止电机起停时驱动电源的变化影响控制系统的稳定性,分别用光偶 IC2A、IC2B、IC2C 将主控制系统的电源与电机驱动电源隔离。MIP 为系统产生的 PWM 信号,通过光偶和大功率达林顿管 Q101 将信号放大为电动机所需的驱动电压 MVCC。M1FB 为电机的方向控制信号,IC1A 为高速施密特触发器,控制 H 型电路桥臂上的 Q102、Q104 和 Q103、Q105 的导通和截止,实现电动机的正反转控制。在每个桥臂上,都安装有续流二极管和阻容吸收回路,电机断电时释放绕组中的电流,保护达林顿管。机器人的驱动元件主要是电机和舵机,都可以采用 PWM 脉宽调制法进行调速与控制。根据脉冲编码器的反馈信号,对机器人的运动状态进行实时控制。直流伺电机的控制原理如图 4 所示。调节 PWM 的信号就能够快速调节舵机的转角,从而实现机器人的方向控制。图图 4 直流伺服电机的控制原理直流伺服电机的控制原理 22 4 光电检测模块设计 4 光电检测模块设计 241 光电检测过程 241 光电检测过程 设计光电检测模块,使机器人能够检测地面上的白色引导线。光电检测电路主要包括发射部分和接收部分,其原理如图 5 所示。发射部分的波形调制采用了频率调制方法。由于发光二极管的响应速度快,其工作频率可达几MHz或十几MHz,而检测系统调制频率在几十至几百KHz的范围之内,能够满足要求。光源驱动主要负责把调制波形放大到足够的功率去驱动光源发光。光源采用红外发光二极管,工作频率较高,适合波形为方波的调制光的发射2。图图 5 光电检测过程光电检测过程 接收部分采用光敏二极管来接收调制光线,将光信号转变为电信号。这种电信号通常较微弱,需进行滤波和放大后才能进行处理。调制信号的放大采用交流放大的形式,可以将调制光信号与背景光信号分离开来,为信号处理提供了方便。调制信号处理部分对放大后的信号进行识别,判断被检测对象的特性。因此,此模块的本质是将“交流”的、有用的调制光信号从“直流”的、无用的背景光信号中分离出来,从而达到抗干扰的目的。242 光电探头 242 光电探头 光电探头安装在机器人底盘前部,共设置了 5 个检测点,其结构如图 6 所示。图图 6 白色引导线检测探头的结构白色引导线检测探头的结构 从理论上讲,检测点越多、越密,识别的准确性与可靠性就越高,但是硬件的开销与软件的复杂程度也相应的增加。采用该寻线系统保证了检测的精确度,又节约了硬件的开销。发光二极管发出的调制光经地面反射到光敏二极管。光敏二极管产生的光电流随反射光的强弱而线性变化。把这种变化检测出来,就可以判断某一个检测点是否在白色引导线的上方,从而判断出机器人和白色引导线的相对位置。2 5 传感器接口传感器接口 两路超声波传感器用来控制机器人避开障碍物,并预测机器人相对目的地的距离3,起导航的作用,与微控制器的捕获和定时管脚相连接。光电编码器用来测量机器人的运动位移和运动速度,与微控制器的计数和捕获管脚相连接。每个动作是否执行完毕,是否超过预定的界限由行程开关或微动开关来检测和发报警信号。3.实时操作系统实时操作系统COS-II 的移植的移植 31 COS-II 简介简介 COS-II是一个嵌入式实时操作系统内核,包含了任务调度、任务管理、时间管理、内存管理和任务间的通信与同步等基本功能4。COS-II 进行任务调度的时候,会把当前任务的CPU寄存器存放到该任务的堆栈中,然后再从另一个任务的堆栈中恢复原来的工作寄存器,继续运行另一个任务。32 任务划分任务划分 根据各个控制功能和微控制器的资源结构对任务进行划分,共划分为 7 个应用任务,其划分过程如图 7 所示。图图 7 任务划分过程任务划分过程 33 任务建立与实现任务建立与实现 C/OS-建立任务包括定义任务堆栈,设定任务的优先级,初始化本任务要求的系统硬件和具体控制过程的实现四部分,以任务 1 为例介绍应用任务的建立过程。#define TASK_STK_SIZE 256 /*定义任务堆栈的大小*/OS_STK TaskStartStk1TASK_STK_SIZE-1;/*定义任务栈指针*/OSTaskCreate(Task1,(void*)0,&TaskStartStkATASK_STK_SIZE-1,2);/*建立任务 1,优先级为 2*/void Task1(void*pdata)/*Task1 硬件初始化设置*/for(;)/*根据、脉冲编码器 1、2 和传感器的反馈信号对驱动电机 1、2 进行 PWM 控制*/OSTimeDly(1);/*延时一个时钟节拍,切换任务*/在嵌入式实时操作系统环境下,开发实时应用程序使程序的设计和扩展变得容易,不需要大的改动就可以增加新的功能。通过将应用程序分割成若干独立的任务模块,使应用程序的设计过程大为简化;而且对实时性要求苛刻的事件都得到了快速、可靠的处理。通过有效的系统服务,嵌入式实时操作系统使得系统资源得到更好的利用。4.调试运行实验调试运行实验 机器人控制系统起动画面如图 8 所示。在这种状态下C/OS-正在初始化硬件,包括堆栈空间、各个控制寄存器和外设器件的初始化,并设定当前各个功能部件的初始状态。图图 8 嵌入式机器人控制系统启动嵌入式机器人控制系统启动 在实时机器人系统下,机器人正常启动监视机器人的运行状况,若出现某一动作或5.结论结论 能机器人的控制要求,本文设计开发了基于ARM微处理器机器人控制系统,并在此硬件平台上成功的移植oration.LPC2131/2132/2136/2138User Manual Preliminary Release.2004.11.2006.3 M.邵贝贝,等译.北京:北京航空航天大学出版后在比赛场上运行,系统实时功能无效则给出出错信息。正常运行时实时显示机器人在场上的坐标值和动作状态,如图 9 所示。图图 9 机器人运行状态监视机器人运行状态监视 根据智了嵌入式实时操作系统C/OS-,对各个功能执行元件进行协调控制,为嵌入式系统在机器人控制方面的应用和扩展搭建了良好的技术平台。参考文献:参考文献:1Philips corp2 关慧贞,邱铁,叶希贵.基于 51 型单片机的自动巡线轮式机器人控制系统设计.国外电子元器件3罗志增,蒋静坪.机器人感觉与多信息融合北京-机械工业出版社 2002.4Jean J Labrosse.MicroC/OS2II The Real2Time Kernel Second Edition社,2003.