基于ARM的教学机器人控制系统设计与实现.

合集下载

基于ARM处理器的智慧教室电器开关控制系统硬件设计

基于ARM处理器的智慧教室电器开关控制系统硬件设计

图1 无线传感器网络结构图
由于传感器节点通常安装在特定额区域,因此,对传感器节点的体积和功耗都提出了特定的要求,要求体积小、功耗低。

而目前的微处理器8051等系列单片机可以满足这些要求,传感器节点主要是测量外界的物理量,像本设计需要采样的光强度,传感器将这些物理量采样后存储转发,以便于后续节点处理。

汇聚节点通常扮演者服务器的角色,因此其体积和功耗不受限制。

为了使用的方便,目前汇聚节点主要是采用市电供电。

硬件电路板卡将220V的市电转化为板卡需要的直流电,以供汇聚节点硬件使用。

由于汇聚节点要处理大量的数据,因此汇聚节点的处理能力、存储能力要求很强。

受无线传输距离的影响,为了便于信号的稳定性,汇聚节点还将实现无线通信与有线通信的转换。

因此其通信能力也要求很强。

管理节点是人机交换的窗口,用来监视无线传感器传送的物理量,同时根据网络和系统的要求发布监视的命令,使传感器节点按照人们的要求实时的采集数据。

2 汇聚节点的总体方案
汇聚节点的设计主要考虑其无线通信协议的选择,处理器的选择,操作系统的选择等主要因素。

在比较众多的无线通信协议后,本设计采用
议(即ZigBee协议),该协议满足系统设计的要求,能很好的适用无线传感器网络的通信,最为主要的是该协议使用的功耗低,符合无线传感器节点的要求。

并且该协议对无线传输的安全性能有充分的考虑。

另外,ZigBee还支持多个频段的通信,这样更有利于无线传感器网络的应用。

综合
的优点和我们实际应用的需要,在我们将采用
协议作为无线通信的协议标准。

一款基于ARM的多自由度人形教育机器人控制系统的设计

一款基于ARM的多自由度人形教育机器人控制系统的设计

如图12所示。

3.3.1 地图与定位模型初始化首先初始化3D界面,从服务器上室、自习室的人数,从而在人员密集时实现分流。

(2) 基于SaaS服务层向第三方提供开放的用符合KVP标准的完善目前的指纹采集方法需要耗费大量的人力的思想,图12 3D监管终端系统界面图图10 读者求助 图11 管理员端求助推送的S3050大力矩车用、船用竞赛型金属齿轮数字舵机,如图3(b)所示。

该舵机自重48.8克,尺寸小,在6V电压下工作,能够达到0.16秒/60度的转速,力矩大小为6.5千克/厘米。

17个舵机按照前述的分组和人体分别为髋关节的左右运动1个、前后运动1个、膝关节1个、踝关节前后运动1个、左右运动1个,其中2个肩关节舵机和2个髋关节的左右运动的舵机,上下左右对称紧凑安装,作为身体的一部分,所有其他舵机使用铝合金支撑空比不同的PWM信号转动相应的角度,多个舵机不同的转动角度构成了不同的机器人瞬时动作,多个动作连贯执行就完成与外部命令相应的响应动作。

软件架构如图4所示。

本文主要对关键驱动函数进行说明。

图1 多自由度人形教育机器人控制系统主板硬件结构图2 多自由度人形教育机器人控制系统核心电路机不同的输出位置。

因此可以使用LPC2114内部定时器模拟出17路以20ms为周期、高电平宽度与位置时序止时间。

3.3机器人舵机整体驱动函数ManMoveFrame()设计,Rleg4Time,Rleg5Time;/*与角度对应的(a)机器人控制器结构布局 (b)S3050型数字舵机图3 多自由度人形教育机器人控制器硬件图4 机器人软件架构表1 舵机驱动脉冲宽度与转动角度关系。

基于ARM9和Linux的机器人控制系统设计

基于ARM9和Linux的机器人控制系统设计

基于ARM9和Linux的机器人控制系统设计引言现有智能机器人用直流电机作为驱动轮时一般都是用单片机或者高速的DSP等进行控制,而且同一机器人往往需用多个CPU来实现各自的功能,但随着对机器人的智能化要求越来越高,需要一种新的控制器(使用一个处理器)来满足机器人的各种行为要求,例如视频采集、无线通信。

本文介绍的利用ARM实现的智能机器人平台,为智能机器人的开发提供了一个新方法。

平台采用的ARM9是基于三星公司的S3C2410处理器,主频高达200 MHz,支持蓝牙、触摸屏以及USBHOST接口,可以传输高速图像。

嵌入式Linux系统是一个多用户操作系统,它允许多个用户同时访问系统而不会造成用户之间的相互干扰。

另外,Linux系统还支持真正的多用户编程,一个用户可以创建多个进程,并使各个进程协同工作来满足用户的需求。

Linux的引入使其他智能模块都以设备的形式存在,只有在用户需要的时候才调用相关设备驱动从而使数据融合更方便,运行多任务也更稳定。

利用ARM和嵌人式Linux 作为智能机器人平台具有很大的优势,但在国内还未发现用该平台开发智能机器人的系统。

本设计完成了对该系统驱动的初步编写,并通过实际验证,取得了良好效果。

1 驱动电路及测速方法1.1 总体结构及驱动电路系统的整体结构框图。

本设计采用的LMD18200的真值表如表1所列。

通过ARM的I/0口(例如D口的DO~3)来控制电机的工作状态。

1.2 测速方法 ARM没有捕获外部脉冲的计数器,它的定时器是用来计算内部脉冲的。

码盘输出信号接外部中断处理程序(EINTl)并设置上沿触发变量,在中断中设置一全局变量i,用i++累加。

设置定时器timer0,使它O.36 s产生1次内部定时器中断。

当一个定时器周期完成时引发定时器中断,在timer0中断中读出i的值,即得到O.36 s内码盘转动所产生的脉冲数;接着将i清零,为下一个定时器周期捕获脉冲作准备。

基于ARM的嵌入式系统在机器人控制系统中的应用.

基于ARM的嵌入式系统在机器人控制系统中的应用.

基于ARM的嵌入式系统在机器人控制系统中的应用摘要:依据现代机器人技术的发展特点,提出了一种基于ARM (AdvancedRISCMicroprocessor)、DSP和arm-linux的嵌入式机器人控制系统的设计方法,介绍了嵌入式系统,给出了功能设计、结构设计、硬件设计、软件设计的控制系统的设计过程,并分别从上述各方面对控制系统的通用性进行了探讨。

层次化的体系结构、模块化的硬件、结构化的软件使得设计出的机器人控制系统经过简单的硬件调整和软件定制,就能适用于多种机器人。

通过七自由度串摘要: 依据现代机器人技术的发展特点,提出了一种基于ARM(Advanced RISC Microprocessor)、DSP和arm-linux的嵌入式机器人控制系统的设计方法,介绍了嵌入式系统,给出了功能设计、结构设计、硬件设计、软件设计的控制系统的设计过程,并分别从上述各方面对控制系统的通用性进行了探讨。

层次化的体系结构、模块化的硬件、结构化的软件使得设计出的机器人控制系统经过简单的硬件调整和软件定制,就能适用于多种机器人。

通过七自由度串联机器人抓取工件的实例验证,该机器人控制系统性能稳定、具有一定的通用性。

关键词: 嵌入式系统,控制系统,ARM,机器人1 前言随着科学技术的发展,机器人将在太空探测、救灾防爆、海洋开发等领域有着广阔的应用前景,因而其发展正在成为国内外研究人员关注的焦点[1,2,3]。

分析上述各种用途的机器人,其构成不外乎机构本题和控制系统两大部分。

机构本体在体现机器人特色的同时,也决定了其必然是无人系统,在恶劣的环境下,机器人要具备一定的自主能力。

这就要求机器人有一定的“判断能力”和“想法”,需要复杂的算法,包括运动算法和模式识别算法。

一般的微处理器是无法完成这项任务,而上述各种机器人又无法使用计算机控制作业,32位微处理器和嵌入式操作系统的出现解决了此问题。

嵌入式系统是指以应用为核心、以计算机技术为基础、软硬件可裁剪,以及适应应用系统对功能、可靠性、成本、体积和功耗严格要求的专用计算机系统[4,5,6,7]。

基于ARM的嵌入式移动机器人控制系统的设计

基于ARM的嵌入式移动机器人控制系统的设计

基于ARM的嵌入式移动机器人控制系统的设计嵌入式移动机器人控制系统是基于ARM架构设计的一种智能机器人控制系统,该系统具有灵活性高、性能稳定、功耗低等优点。

本文将从硬件设计和软件开发两个方面来详细介绍基于ARM的嵌入式移动机器人控制系统的设计。

硬件设计方面,嵌入式移动机器人控制系统的核心是基于ARM技术的处理器,可以选择低功耗、高性能的ARM Cortex-A9或Cortex-A53处理器。

处理器上可以集成多个内核,通过多核处理器的并行计算能力,可以提高机器人的实时性和响应速度。

此外,为了实现机器人的移动功能,还需要配备驱动电机的电机控制器和位置传感器,采用PWM控制技术来控制电机的转速和方向。

在软件开发方面,首先需要开发移动机器人的操作系统。

可以选择基于Linux的嵌入式操作系统,如Ubuntu的ARM版本或自主开发的实时操作系统。

操作系统可以负责机器人的任务管理和资源调度,提供良好的多任务处理能力。

其次,还需要设计适配机器人硬件的驱动程序,包括电机驱动、传感器驱动、通信驱动等。

驱动程序负责与硬件设备进行交互,将控制指令转化为相应的电信号或数据信号,并获取传感器的数据反馈。

最后,还需要进行机器人的应用开发,根据机器人的具体应用场景,开发相关的算法和控制逻辑,实现机器人的自主导航、路径规划、避障等功能。

在嵌入式移动机器人控制系统设计过程中,还需要考虑功耗管理、通信接口和外设模块等因素。

功耗管理是嵌入式系统设计中非常重要的一环,可以使用睡眠模式来降低功耗,还可以采用动态电压和频率调节的技术,根据系统负载的大小动态调整处理器的工作频率和电压。

通信接口方面,可以采用以太网、Wi-Fi、蓝牙等无线通信技术,实现机器人与外部设备的数据交换和控制指令的传输。

外设模块可以包括摄像头、激光雷达、超声波传感器等,通过外设模块可以实现机器人的感知和环境理解能力。

总之,基于ARM的嵌入式移动机器人控制系统的设计需要进行硬件设计和软件开发,并考虑功耗管理、通信接口和外设模块等因素。

基于ARM7的远程机器人控制系统设计

基于ARM7的远程机器人控制系统设计

基于ARM7的远程机器人控制系统设计1 总体方案设计远程机器人控制系统由机器人智能控制模块、机器人监视模块、以及远程控制模块等三部分构成。

其工作过程为远端PC 机向机器人控制器发送控制命令,处理器接收到来自远端的命令,发送到控制器,控制器控制机器人运动;机器人监视系统,通过视频摄像头抓取现场图像,传送到远端,在远端PC 上显示现场图像。

其整体结构框图如图l 所示。

(1) 机器人智能控制模块:该部分是系统的核心。

采用嵌入式系统设计,能够自动运行、处理数据,通过RS485 总线管理和控制机器人监视模块。

并且控制器通过GPRS 模块,实现机器人智能控制模块与外部网络的通讯,使用户可以通过短信和互联网等方式实现机器人智能控制模块的远程控制,同时,控制器还通过键盘和显示屏为用户提供人机界面,方便用户实现本地控制。

(2) 机器人监视模块:机器人监视模块通过单片机组成若干小的控制系统控制各驱动单元,并通过统一的控制总线将这些小的控制系统组成网络,连接到机器人智能控制模块,受机器人智能控制模块控制。

2 系统硬件设计2.1 硬件系统结构本文选用三星公司S3C4480 芯片作为控制器的中心控制模块,负责和GPRS 通信模块、机器人监视模块、数据存储、键盘、显示屏等模块进行通讯以及系统的数据采集和处理。

主要分为两个部分:即机器人智能控制模块和机器人监视模块。

2.2 机器人智能控制模块的硬件设计控制器的电路设计部分主要分为如下几个模块:(1)ARM 处理器S3C4480 的外围电路模块:包括电源管理、键盘、显示屏以及SDRAM、Flash 等数据及程序存储设备。

(2)GPRS 通信模块及其外围电路设计:GPRS 模块用。

基于ARM9的智能机器人控制系统的设计


机控制系统的运算与控制能力差,电路庞大,已不能满
足需要。而具有强大运算和控制能力的DSP、ARM等嵌 入式微处理器和实时性强的Linux、WinCE等操作系统 所构成的控制系统,紧跟时代步伐,很好地指明了未来 机器人的发展。本文以ARM9内核¥3C2410为控制系 统的核心,并在该系统中移植Linux操作系统,实现了 智能机器人集行进与自动避障、数据信息采集与处理、 远程通信与监控于一体的智能化控制。
无线通信模块
I ●




S B
I I
nRF 2401
nRF 2401


I I I I I l
usB摄像头b
● ● ●
¨
¥3C2410最小系统
●◆
太 网
●每

■每


位 机
PC

・・・一一一一一一一一一1
● I



● ● ● ● I I I




AHB接口 AHB总线


。一
口 一

一一..一一一垒.......
Cao
Oa-wei,Wang Ren-bo(En舀neefing Research Center of Nuclear Technology Appheation ofTechnology).Ministry ofEducation,Jiang:d Nanehang 330013)
fEast China Institute
1机器人控制系统总体设计
智能机器人控制系统由主控模块、传感器采集模 块、无线通信模块、电源模块、运动控制模块、嵌入式操 作系统软件组成。主控模块是机器人的大脑,负责处理 传感器采集的数据,发送数据到远程控制平台,接收远 程端的控制指令,最终发给运动控制模块执行;传感器 采集模块包括气体、温度、图像、红外等传感器采集的数 据;运动控制模块是智能机器人的运动执行部分,负责 接收主控模块发送的指令,由直流电机驱动完成行进和 转弯;电源模块是智能机器人的能量来源,提供主控模 块和运动控制模块所需的能量;无线通信模块负责接收 主控模块传输的数据到远程端,同时又接收远程端给主 控模块的指令。远程控制平台负责发出控制指令,并显 示采集的数据和图像。嵌入式操作系统移植进控制芯片 中,对多任务进行实时调度,实现主控模块与远程平台 的人机交互哪。智能机器人控制系统总体框架如图1所示。

基于ARM的机器人套件控制系统设计

基于ARM的机器人套件控制系统设计学院自动化学院专业测控技术与仪器班级04070101学号2010040701021姓名王翰章指导教师卢艳军负责教师卢艳军沈阳航空航天大学2014年6月沈阳航空航天大学毕业设计(论文)摘要智能遥控避障循迹小车是基于ARM的创新实验教学平台所开发出的一款产品,既可以作为家庭智能清洁机器人,也可以在工厂仓库中作为沿固定线路运货的货运机器人。

采用先进的嵌入式系统开发,成为服务机器人里一个新的研究领域,具有很强的市场价值。

本设计的智能小车采用基于ARM7架构的LPC2138微处理器,设计开发了智能小车的控制系统,通过对超声波测距原理、红外线NEC协议、PWM舵机调速原理和LPC2138内部寄存器知识的掌握和合理配置,使小车集红外线遥控、超声波避障、红外对射管循迹三种功能于一体。

利用逻辑分析仪对小车三种功能的时序进行采集,根据采集到的时序设计程序,实现了利用红外遥控器对这三种方式的手动切换。

关键词:红外遥控;ARM7;超声波避障;红外对射管循迹基于ARM的机器人套件控制系统设计Title of Paper (in English)AbstractIntelligent Remote obstacle avoidance tracking car is based on ARM innovative experimental teaching platform. either as a family intelligent cleaning robot can also be used as cargo freight robot along a fixed line in warehouse, using advanced embedded systems technology, which become a new research field in service robots, with strong market value. The design of the intelligent car use LPC2138 ARM7 microprocessor architecture, through the principle of ultrasonic distance measurement, infrared NEC protocol, the principle of PWM and the reasonable configuration of LPC2138 internal registers, which also set three functions in one. I use a logic analyzer for collecting the sequence of time, according to the timing of the acquisition to achieve the use of infrared manual remote switching of these three founctions.Keywords:Infrared remote control;ARM7;Ultrasonic obstacle avoidance;Infrared ray tube tracking沈阳航空航天大学毕业设计(论文)目录1 绪论 (1)1.1 课题背景及研究的意义 (1)1.2 课题的研究现状 (1)1.3研究内容和论文的结构安排 (2)2传感器工作原理 (3)2.1主控芯片简介 (3)2.2光电传感器的工作原理 (3)2.3超声波测距的原理 (4)2.4红外通信基本原理 (5)2.5 NEC协议 (5)2.6舵机工作原理 (5)3 总体方案设计 (7)3.1超声波自动避障小车 (7)3.2手动遥控小车 (8)3.3自动循迹小车 (9)3.4利用红外遥控器实现对三种方式的手动切换 (10)4 软件功能设计 (11)4.1高低电平持续时间的捕获模型:按键持续时间采集 (11)4.2 红外编码值捕获程序 (13)4.3 超声波测距捕获程序 (16)4.4 舵机驱动程序 (17)4.5 三种方式切换程序 (18)5.系统调试分析 (20)5.1系统设计中的注意事项 (20)5.1.1外部因素 (20)5.1.2内部因素 (20)5.2硬软件总体调试 (20)基于ARM的机器人套件控制系统设计5.1.1硬件 (21)5.1.2软件 (21)参考文献 (22)致谢 (23)附录Ⅰ智能遥控循迹避障小车程序清单 (24)沈阳航空航天大学毕业设计(论文)1 绪论1.1 课题背景及研究的意义基于ARM7的机器人套件教学实验平台是一个专为学生提供的教学实验平台,鼓励学生亲自动手操作,按照自己的想法来设计硬件结构和软件编程,通过对机器人结构的不断设计、组装和对程序的不断修改、调试来使学生具有广阔的发挥余地并激发出学习热情和创造能力,能够广泛适用于机械、机电一体化、电气工程、自动化工程等方向的就业需求。

基于ARM处理器的智能机器人的设计与实现

基于ARM处理器的智能机器人的设计与实现近年来,智能机器人技术得到广泛应用,而基于ARM处理器的智能机器人更是备受瞩目。

本文将介绍基于ARM处理器的智能机器人的设计及实现。

一、设计思路智能机器人的设计需要从以下三个方面考虑:1.硬件方面:各种传感器、处理器等硬件的选型和布局设计。

2. 软件方面:智能机器人的控制系统、图像处理软件等的编写。

3. 机械方面:机器人的外形设计、机械臂的构造等。

基于ARM处理器的智能机器人,其硬件方面的设计中,首先需要确定ARM处理器的型号及其参数,如主频、内存容量、外设接口等。

另外,还需要根据机器人的应用场景,选用合适的传感器,如红外传感器、超声波传感器、视觉传感器等,并将传感器布局在合适的位置,以便机器人能够准确感知外界环境。

机器人的动力系统也是不可忽视的硬件部分,需选用合适的电机及其控制电路,以保证机器人能够完成各种动作任务。

在软件方面的设计中,需要编写机器人的控制系统软件,以便实现机器人的自主导航、避障、路径规划等功能。

此外,机器人的视觉处理软件也是非常重要的。

通过视觉传感器获取的图像信息,可以实现机器人的目标检测、物体识别等功能。

在机械方面的设计中,需要根据机器人的具体应用场景,设计出合适的外形和机械臂构造。

例如,在智能物流机器人中,需要考虑机器人的载重量和运载方式,因此需设计出合适的物品托盘和机械臂。

二、实现流程基于ARM处理器的智能机器人的实现流程,可以分为以下几个步骤:1. 硬件搭建。

根据设计方案,选购各种硬件器件,如ARM处理器、传感器、电机、电路板等,并进行组装布线。

2. 软件编写。

根据硬件搭建完成后的具体情况,编写控制系统软件、图像处理软件等。

3. 系统调试。

进行机器人的各项功能测试、参数调试,以验证机器人的性能是否符合设计要求。

4. 机械部分的制造和安装。

5. 软件部分的不断优化和更新。

三、应用场景基于ARM处理器的智能机器人适用于多个应用场景,如:1. 智能家居。

基于ARM嵌入式系统的拟人机器人控制器的设计

基于ARM嵌入式系统的拟人机器人控制器的设计基于ARM嵌入式系统的拟人机器人控制器的设计近年来,随着科技的发展,机器人技术的应用越来越广泛。

而拟人机器人作为人工智能领域的重要研究方向之一,丰富的机器人表情和人类行为模仿能力使其在社会各个领域得到广泛关注和应用。

然而,拟人机器人的控制技术是其实现人类行为模拟的关键。

本文以基于ARM嵌入式系统的拟人机器人控制器的设计为研究对象,探讨其设计方法与实现。

1. 引言拟人机器人的控制器需要实现多个功能模块的协同工作,包括人脸识别、语音交互、动作控制等。

而ARM嵌入式系统作为一种低功耗、高性能的处理器架构,可以满足拟人机器人实时反馈和智能决策的需求。

因此,基于ARM嵌入式系统的控制器设计具有重要意义。

2. 系统框架设计拟人机器人的控制器主要分为硬件和软件两个方面。

硬件部分包括传感器、执行器和嵌入式开发板等;软件部分则包括操作系统、驱动程序和算法模块。

2.1 硬件设计传感器模块是拟人机器人控制器的重要组成部分,常用的包括人脸识别摄像头、语音识别麦克风和环境感知传感器等。

这些传感器通过与嵌入式开发板的连接,实现对外界信息的采集。

执行器模块则用于控制机器人的动作,包括舵机、电机和喇叭等。

嵌入式开发板作为核心控制器,负责传感器数据和执行器指令的处理和交互。

2.2 软件设计基于ARM嵌入式系统的控制器软件设计需要满足实时性、可移植性和可扩展性的要求。

首先,选择合适的操作系统,例如Linux嵌入式系统,具备较好的实时性和稳定性。

其次,编写驱动程序,实现嵌入式开发板与传感器、执行器的数据交互。

最后,针对不同功能模块设计相应的算法,实现人脸识别、语音交互和动作控制等功能。

3. 功能模块设计3.1 人脸识别模块人脸识别技术是拟人机器人实现人际交互的重要手段。

该模块通过摄像头采集人脸信息,并通过图像处理算法实现人脸检测、特征提取和比对等功能。

在ARM嵌入式系统中,可以利用OpenCV等开源库实现人脸识别算法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于ARM+μc/os Ⅱ的教学机器人控制系统设计与实现1.引言近年来随着人工智能技术、计算机技术等相关技术的发展,对智能机器人的研究越来越多。

在教育领域,许多院校已在学生中开设了机器人学方面的有关课程。

为了满足机器人学方面的有关课程教学示范和实验教学的需求,我们研制开发了全方位的轮式移动机器人,可以作为各种智能控制方法(包括动态避障、群体协作策略)的良好载体,同时又可以方便的构成网络化的分布式系统,开展多智能体的调度、规划等研究。

本文全面介绍了这种移动机器人的控制系统体系结构,包括传感器、通讯、伺服控制、软件构成等,并给出了实验结果,证明了系统的可行性。

2、机器人控制系统的硬件方案选择与设计本机器人控制器采用“主控器+伺服控制器”的形势。

伺服控制器负责完成单关节的位置闭环,在机器人控制中,要求运动平稳无超调,所以伺服控制器的运算任务很繁重。

主控制器主要完成除伺服控制器所作的位置闭环以外的所有工作,包括上位机命令接收,机器人状态监视、显示,根据一定的控制算法实现空间轨迹插补以及传感器信息综合处理等工作。

所以主控制器的任务也很繁重。

2.1 主控制器选择在移动教学机器人系统中, 应用工业计算机作为其控制系统核心成本高,体积大,功耗大,而采用8位或者16位单片机,又存在硬件资源有限、运算和处理速度有限的困扰,很难应用模糊控制等智能控制理论。

S3C44B0X是SAMSUNG公司推出的一个基于ARM7TDMI核的低功耗的高性价比的32位处理器,它可以在60MHZ频率下运行,采用3级流水线结构 [4] ,处理能力大大超过8/16位的单片机,接近PC机,可以支持大屏幕的液晶显示,提供功能强大的图形用户界面,另外基于ARM的控制器可以内嵌实时操作系统,克服了传统基于单片机的控制系统的软件“前后台”形式造成的实时性差的缺点[1][5]。

S3C44B0X有8个外部中断,两个带有握手协议的 UART接口,另外具有SPI和I2C接口、RTC和5个16位的PWM控制器、8路10位AD以及LCD控制器等[4]。

它丰富的模块很大程度上可以减少控制器的体积,增加系统的可靠性。

控制系统硬件结构如图1所示(系统中共有3个伺服驱动单元和电机,限于篇幅只画了一个)。

包括由S3C44B0X构成的主控制器,由LM629构成的伺服控制部分,通过UART形成的通讯电路、由LMD18200构成的功率放大电路、直流电机构成的执行机构、传感器电路等。

2.2 位置伺服模块在机器人控制中,以单片机为核心构成位置闭环或者半闭环控制系统,不仅外围电路结构复杂,而且软件中轨迹插补运算比较烦琐,难取得好的效果。

而采用美国国家半导体公司生产的可编程全数字运动控制芯片LM629可以解决上述问题。

它具有32位的位置、速度和加速度寄存器,内置PID算法,其参数可以修改;支持实时读取和设定速度、加速度以及位置等运动参数,内置的梯形图发生器能够自动生成速度曲线,平稳地加速、减速,支持增量式光电码盘的四倍频输入,适用于由正交增量式光电编码器提供位置反馈的交直流伺服控制系统,能完成高性能数字运动控制中的实时计算工作(插补周期341微妙),可以方便的与桥式功率放大电路构成位置或速度闭环系统。

LM629通过数据总线和控制总线与主控制器接口,其原理图如图2所示,主控制器将关节转动的角位移、角加速度等命令参数通过总线传递给LM629,LM629在接到S3C44B0X的指令后可以按照设定的控制方式(P、PI、PID)完成位置闭环控制。

它通过500线的增量式码盘的A、B、Z信号构成位置反馈环节。

LM629每个伺服周期进行一次位置、速度的检查,如果未达到指定的位置或速度,则继续运动或者加速,将要达到指定位置时会自动的按照设定的加速度进行减速,完成关节空间的位置闭环控制。

这样不仅克服了运动超调的现象,而且使得系统加减速时运行平稳。

2.3 功率放大模块系统的功率放大部分以LMD18200为核心。

LMD18200是美国国家半导体公司推出的专用于直流电动机驱动的H桥组件,同一芯片上集成了四个DMOS 管,组成一个标准的H型驱动桥,外接很少的器件就可以完成直流电机的驱动。

它瞬间驱动电流可达6A,正常工作电流可达3A,无“shot- through”电流。

LMD18200提供双极性驱动方式和单极性驱动方式[4]。

由于双极性电流波动大,功率损耗较大,所以系统中采用单极性驱动。

具体的接口电路如图2所示(本机器人采用3个全方位正交轮,通过3个轮子配合,机器人可以完成任意方向的运动,限于篇幅图中只画出一个轮子的相关电路),LM629根据PID控制算法在PWM引脚输出占空比变化但频率固定的PWM信号,通过光电隔离加到LMD18200的5脚,这个PWM信号的占空比通过LMD18200可调节电机速度,LM629的DIR脚的高低电平可控制电机的正反转。

为了减少功率电源部分对控制器部分的影响,这两个信号的连接都通过了光电隔离器件TLP521,如图2所示。

引脚2、10接直流电机电枢,正转时电流的方向从引脚2流到引脚10;反转时相反。

此电路驱动功率大,稳定性好,实现方便,体积小,安全可靠。

2.4 通讯模块通讯模块使用S3C44B0X的UART1连接一个无线通讯模块,主要从上位机接收世界坐标系的位置、速度指令。

由于S3C44B0X的UART可以在高达115200波特率下正常工作,并且具有独特的多字节的FIFO结构,当采用中断方式接受数据时只有满足触发深度时才会产生数据可用的中断,很大程度上可以减少处理器响应中断的次数,提高了处理器运行效率。

UART硬件上具有监视“溢出错误、奇偶错误、帧错误”等错误的功能,并且提供相应的中断向量。

实时性好,软件编写方便。

图3系统主控制器、位置伺服单元、功率单元的接口2.5 传感器模块和液晶模块机器人上安装的4个超声传感器模块用来探测周围2米内的障碍物信息。

有单独的处理器进行数据处理,通过总线接口挂接在S3C44B0X的总线上。

液晶模块主要用来显示系统的一些运行状态,也是通过总线接口连接在主控制器上。

在此限于篇幅不做赘述。

2.6 系统的可靠性和低功耗设计措施为了增加系统的可靠性,减少功率电路对弱电的干扰,系统中使用2组不共地的电源。

S3C44B0X最小系统使用的3.3V电源和光电编码器使用的5V电源为 1组,24V的功率电源以及LMD18200用的5伏电源为一组。

两个电源之间的信号传输通过光电隔离器件TLP521隔离。

编码器信号以及LM629的时钟信号都经过施密特触发器整形。

另外使用了S3C44B0X本身的WDT模块。

为了减少系统的功耗,主要采取了以下措施(1):主控制器将未使用的外围模块如SPI、定时器1、I2C等关闭;(2):主控制器控制机器人在到达指定位置而没有新的任务(通过串口接收)之前控制 LMD18200进入刹车状态,这时LMD18200脚4置逻辑高电平、脚5置逻辑低电平,H桥中所有晶体管关断,每个输出端只有约 1.5mA的偏流;(3):主控制执行完(2)中的步骤后进入空闲模式,其各个寄存器的值可以保存,当有新的中断产生时将唤醒主控制器进入正常工作状态。

为了增加系统的可靠性,利用LMD18200的保护功能设计了系统过流过热的保护。

LMD18200内部具有过流保护的测量电路,在LMD18200的8脚输出电流取样信号,典型值为377 µA/A[4]。

接一个对地电阻R2,通过电阻上的电压和给定的电压比较来监测输出过流情况。

LMD18200提供温度报警信号,芯片结温达145℃ 时,LMD18200的9脚变为低电平。

这些保护信号通过光电隔离以后传输给S3C44B0X,实现过热过流的监视。

3、控制系统的软件组织软件平台是基于移植到S3C44B0X的实时多任务操作系统UC/OS II。

它是基于优先级、抢占式的实时内核,主要提供了任务管理、进程调度、任务间通信及内存管理等功能,具有源代码公开、可移植性好等特点,采用全占先多任务机制,可支持56 个用户任务,其中断管理功能提供了深达255层的中断嵌套。

通过uC/ OS II 进行多任务的管理,任务处于休眠、等待(挂起、就绪、运行、中断5种状态之一[5]。

它避免了传统的前后台方式下实时性差、任务混乱及多任务调试困难等缺点[1,7]。

此系统中有如下4个用户任务,Task1:接收上位机命令;Task2:轨迹规划;Task3:系统状态监视,Task4系统状态发送和显示。

任务的优先级是依次降低的。

任务之间通过邮箱完成信息的交换与资源的共享。

主控制器通过Task1接收上位机的位置和速度指令。

由于上位机发送指令是随机的,而下位机除了接受上位机的指令外还要处理其它的事情,为了保证运动过程中命令的不丢失,采取了两种措施:首先将该任务设置为优先级最高的用户任务,另外主处理器允许UART1的接收中断,并根据指令的长度将接收缓冲区的触发深度设置为12字节。

(根据需要,此处上位机发送给下位机的指令每帧长度为12字节,S3C44B0X的UART 接收触发深度可以软件编程设置为4、8、12、16字节)。

当上位机不发送指令时,该任务处于挂起状态,当上位机发送12字节命令时,将激发UART中断。

在该中断服务程序中唤醒Task1进入就绪态。

由于它具有最高的优先级,所以可以马上执行,从接收缓冲区中接收上位机的指令。

这样避免了单个字节就激发中断而导致主处理器频繁的响应中断的情况和没有实时操作系统的前后台调度方式中命令丢失的情况。

Task2根据传感器提供的机器人的当前位置信息和障碍物信息以及接收到的上位机指令进行世界坐标系中的总体任务规划、机器人运动学逆解,生成下一个节拍每个关节应该转动的角位移、转动的角速度,然后通过总线写到相应的LM629的寄存器中,这个任务的优先级仅低于Task1,运行周期100毫秒。

Task3主要处理传感器的信息,运行周期100毫秒。

包括通过LM629的状态寄存器获得当前编码器的信息,再经过运动学计算得到机器人当前位置信息,通过超声传感器获得当前机器人周围障碍物的信息,通过 LMD18200获得的功率放大器的过热过流信息。

另外下位机的一些运行状态,如当前位置、障碍物信息等也需要发送给上位机同时送液晶模块显示,这个由Task4来完成,这个任务具有最低的优先级,运行周期300毫秒。

系统的软件在ADS1.2下调试通过。

由于ARM7TDMI中没有 MMU(内存管理单元),所以其操作系统和用户程序要编译在一起,最后生成一个文件。

在这一点上不同于在DOS或Windows下的概念,它的操作系统和用户程序是分开的,而且可以由多个应用程序同时存在于主机中。

另外在ADS1.2下可以使用c语言进行软件开发,并且可以使用数学库,缩短了软件开发周期。

相关文档
最新文档