0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于S3C44B0X和EPM1270芯片实现智能轮式移动机器人控制系统的设计

电子设计 来源: 国外电子元器件 作者:徐艾,谭宝成,廉 2021-04-07 11:55 次阅读

作者:徐艾,谭宝成,廉春原,张海刚

1 引言

智能移动机器人集成了机械电子、计算机、自动控制、人工智能等多学科的研究成果,在当前机器人研究领域具有突出地位。控制系统是机器人的核心部分,目前应用在机器人底层控制系统的微控制器主要有8/16位单片机数字信号处理器(DSP)两种类型。但使用8/16位单片机处理数据能力低,且硬件电路庞大,系统稳定性弱,DSP的设计初衷是为了数字信号处理,相比而言,嵌入式微处理器ARM具有几乎相同的内部资源和运算速度,但在控制方面性能优于DSP,而且许多ARM器件支持TCP/IP协议,有利于将来机器人的网络控制。综合考虑以上因素,这里提出了一种基于ARM和复杂可编程逻辑器件(CPLD)的智能轮式移动机器人控制系统,实现移动机器人的底层控制。

2 系统组成及工作原理

该系统设计的轮式移动机器人机械导航结构采用四轮差速转向式的机械机构,前面两个轮是随动轮,起支撑作用,后面两个轮是驱动轮,由两台同步电机驱动,分别控制两个驱动轮的转速,可使机器人按照不同方向和速度移动,运动灵活,可控性好。

移动机器人以PC机作为上位机,利用摄像头对机器人的自身位置和外部环境进行分析,建立环境地图,进行路径规划。上位机发送运动控制指令给移动机器人的底层控制系统,提供左右驱动电机的理论速度值。以ARM和CPLD为核心的机器人控制系统与上位机通过无线收发模块实现通讯,根据上位机的命令控制电机的运行和超声渡传感器组的发送与接收;并根据障碍物信息,做出避障决策。智能移动机器人的控制系统结构框图如图1所示。

3 控制系统硬件设计

3.1 主控模块设计

该智能轮式移动机器人控制系统的核心控制器采用Samsung公司的S3C44B0X,它是基于ARM7TDMI核(适用于实时环境)的32位微处理器,具有高速运算能力、A/D转换器、丰富的I/O端口和中断,有利于实现移动机器人的电机控制、传感器信息处理、外部通讯以及复杂的控制算法。系统采用CPLD作为协处理器,提供可编程脉冲产生电路、光电编码器输入电路、超声波传感器输入电路,这里选择ALTERA公司的MAXⅡ系列EPM1270器件。该系统设计充分利用了CPLD的高速逻辑处理能力,主控制器ARM只需设定控制参数,这样就减轻主控制器的负担,提高系统的实时性,同时也减少了外围硬件电路,提高控制系统的稳定性和可重构性。

ARM与CPLD通过并行总线连接,该并行总线包括ARM器件的地址、数据、控制和多路可编程I/O总线。ARM通过访问特定地址和I/O端口来控制CPLD,CPLD则通过可编程I/O端口向ARM发送中断请求。

3.2 电机控制和驱动模块的设计

轮式移动机器人的两个驱动轮速度分别由两台驱动电机控制,实现机器人不同方向和速度的运动。轮式移动机器人的性能要求电机转矩大,脉动小。在高、中、低速下驱动电机均有良好的性能,且控制方式简单,因此驱动电机选用方波驱动的交流永磁同步电机。这种电机根据转子位置反馈信息采用电子换相运行,电机转速与驱动信号的频率成正比,既具备交流电机结构简单,运行可靠,维护方便等优点,又具有直流电机动态特性好,调速性能优良的优点。

系统通过CPLD和外部驱动器件构成控制电路,采用方波驱动和定位控制(通电状态控制)的方式,控制两台永磁同步电机,获得可调的精确速度和位置控制,结构紧凑。两路电机控制原理相同,这里只介绍一路。

CPLD中的电机控制电路由分频电路、调速电路、相序分配电路组成。其中,分频电路由分频器构成;调速电路是利用MAX+PLUSⅡ的LPM宏单元库的算术运算模块lpm_counter构成可预置数的5位减计数器。根据所需的速度,设置预置数,计数器对分频电路输山的clk脉冲信号减计数至零时输出一个借位脉冲,并再次装入预置数进行减计数,将其借位脉冲cout作为调速电路的输出脉冲,cout借位脉冲的频率范围为fclk/1-fclk/31,即引入了步长为1的调速因子(预置数)。可通过改变调速因子对脉冲信号进行1~31倍的连续可调分频,从而调节电机的转速;而相序分配电路是以cout借位脉冲作为输入,利用两个D触发器和门电路输出4路相位相差90°的方波脉冲,作为两相同步电机的控制信号;stop信号控制电机的启停;dir信号控制电机的转向,正转时相电压uCD超前uAB 90°,反转时uAB超前uCD90°,各相信号的频率为cout脉冲频率的1/4。CPLD中输入的调速和相序分配电路原理见图2。仿真结果验证了设计逻辑的正确性,如图3所示。

外部驱动器采用L298双H桥高电压大电流功率集成电路,将脉冲发牛电路产生的4相方波信号经总线收发器74LS245输出至L298的输入端IN1~IN4,控制H桥的通断,使电机正反转或停止。为防止电机在启停瞬间的反馈电压损坏L298,在L298输出端和电机之间加人8个二极管起断电续流的保护作用。

为了改善电机的控制性能,实现对机器人更精确和稳定的运动控制,需要获得电机的速度信息作为电机控制的反馈环节,该系统采用增量式光电编码器作速度检测,两个光电编码器分别与两路电机同轴相连,由CPLD配合ARM器件实现变脉冲数/脉冲周期测速,即变M/T测速,定时对电机速度进行采样。采样速度和上位机的给定速度所得差值传人PID控制器。从而实现对电机速度的闭环控制。

3.3 超声传感模块

避障是智能移动机器人的基本功能,避障的首要任务是确定障碍物位置。PC机基于机器人视觉系统实现的路径规划易受视场光线强弱、背景色等因素干扰,针对这一问题,机器人在单片机控制系统中采用超声传感器测距实现机器人对障碍物的检测和定位。

超声波测距采用时间渡越测距法,即根据从超声波发生器发射出超声波到超声波在传播过程中遇到障碍物后超声波接收器接收到反射波所用时间t,以及超声波在空气中的传播速度v(v=331.4(1+T/273)1/2m/s;T为摄氏温度),得出机器人与障碍物之间的距离l=vt/2。该模块共采用3对超声换能器,分布于机器人的正前方、左前方、右前方。ARM发出控制信号启动内部定时器进行定时。控制信号经功率放大后作为超声传感驱动电路的启动信号,由超声传感器产生遇到障碍物时返回的高频振荡信号放大后通过接收电路引起ARM外部中断,在中断程序中可以获得定时器的计数值,并计算出距离。超声传感模块框图见图4。

4 控制系统软件设计

4.1 嵌入式操作系统

智能轮式移动机器人是一个典型的实时多任务系统,传统单任务顺序执行机制不能满足该系统设计的实时性要求,而且对于复杂系统来说可靠性不高,因此选用实时操作系统μC/OS-Ⅱ。它是一个源码公开,可移植,可固化,可裁剪的嵌入式操作系统,具有代码尺寸小,可占用实时内核,任务多,可确定执行时间,运行稳定可靠等特点。将μC/OS-Ⅱ移植到S3C44B0X上,并对操作系统进行裁剪,以节省存储空间。

基于实时内核的多任务系统可划分为系统层和应用层。系统层由内核和驱动程序库组成;应用层包括用于达成机器人任务目标的全部代码。在该系统软件应用层程序设计中,将机器人的任务分解成通信、信息采集、电机控制等多个用户任务。嵌入式操作系统μC/OS-Ⅱ对任务模块进行管理调度,协调机器人各项任务运行,保证了系统的实时性和可靠性。

4.2运动控制算法

为了保证移动机器人运动的稳定性和准确性,使得系统在控制机器人前进、后退、转弯、刹车等动作时都能快速响应且超调量小,在控制电机的过程中,系统采用了积分分离的PID控制算法。算法的具体实现方法如下:

5 结语

提出了一种基于ARM和CPLD的智能轮式移动机器人控制系统,这一方案充分利用ARM和CPLD的内部资源,既具有ARM微控制器体积小,运算速度快等特点,又具有CPLD的高速逻辑处理能力,灵活的可扩展性和可重构性。软硬件的调试和运行实验证明,系统控制灵活,实时性好,可靠性高,能够满足智能轮式移动机器人的控制需求。这种智能轮式移动机器人的控制系统可用于不同场合的移动机器人控制系统,并具有一定的普遍适用性,且性价比高,具有很强的实用价值。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    6809

    浏览量

    147625
  • cpld
    +关注

    关注

    32

    文章

    1243

    浏览量

    168288
  • 控制系统
    +关注

    关注

    41

    文章

    5963

    浏览量

    108705
  • 移动机器人
    +关注

    关注

    2

    文章

    718

    浏览量

    33316
  • 自动控制
    +关注

    关注

    10

    文章

    649

    浏览量

    43691
收藏 人收藏

    评论

    相关推荐

    一种小型移动机器人控制系统研究

    一种小型移动机器人控制系统研究
    发表于 08-20 15:53

    移动机器人运动控制系统设计及控制算法研究

    移动机器人运动控制系统设计及控制算法研究
    发表于 08-20 15:54

    Labview My RIO 移动机器人

    初次使用 NI MyRIO控制器开发四轮全向移动机器人,由四个全向轮和直流电机与增量式编码器和NI 9001控制器组成,安装了红外距离和光电传感器。驱动板由官方提供的H桥驱动板。NI 9001由
    发表于 08-21 12:20

    机器人、协作机器人移动机器人,你分的清楚吗

    我觉得现在是时候讨论一些更有趣的话题,今天的话题是介绍工业机器人、协作机器人移动机器人。我想每个人都知道机器人是什么。机器人是可怕的大型
    发表于 10-30 11:33

    一种基于S3C44B0X智能家居嵌入式系统设计

    、有效。近年来,嵌入式系统设备全面渗透到人们日常生活的各个领域,本文针对智能家居嵌入式系统的软硬件设计需求,以S3C44B0X为处理器进行智能
    发表于 06-21 07:05

    S3C44B0X为处理器进行智能家居系统的硬件设计介绍

    日常生活的各个领域,本文针对智能家居嵌入式系统的软硬件设计需求,以S3C44B0X为处理器进行智能家居系统的硬件设计,以
    发表于 07-25 07:39

    基于FPGA怎么实现三轮全方位移动机器人运动控制系统

    研究了一种用FPGA技术实现三轮全方位移动机器人运动控制系统的方法,与双DSP结构,DSP+CPLD结构,以及DSP+专用集成电路结构等相比,该方法具有简单可靠,扩展性强等特点。且FPGA设计简单,使用方便,开发周期短,能够
    发表于 10-22 07:35

    基于LPC2119的自主式移动机器人设计方案

    自主式移动机器人系统是指根据指令任务及环境信息进行自主路径规划,并且在任务执行过程中不断采集局部环境信息,做出决策,从而实现安全行驶并准确到达目标地点的智能
    发表于 05-11 06:39

    有哪些厂家的轮式移动机器人可以实现力矩控制

    小白,刚入行,想请教一下各位大佬,pioneer 3-AT可以使用力矩进行控制吗?如果不行的话,哪些厂家的轮式移动机器人是开放力矩控制的?
    发表于 09-22 11:00

    如何实现移动机器人的设计?

    基于ARM7TDMI核的低功耗高性能的32位处理器芯片S3C44B0X控制核心,以凌阳16位单片机SPCE061A为辅助处理器来处理传感器探测的障碍物信息,并运用嵌入式实时多任务操作系统
    发表于 11-23 15:08

    请问怎么设计一种室外移动机器人组合导航定位系统

    怎么设计一种室外移动机器人组合导航定位系统?如何实现室外移动机器人组合导航定位系统的硬件设计?如何实现
    发表于 04-19 10:50

    什么是移动机器人软硬件系统问题

    的实践经验,来系统的梳理一下什么是移动机器人软硬件系统问题。文中涉及到的开源项目网站地址如下:开源项目网站Handsfree
    发表于 08-06 06:13

    差速移动机器人轨迹跟踪控制方法

    差速移动机器人轨迹跟踪控制方法一、引言二·、基础准备1.去除GPS数据中的坏点2.经纬度与平面坐标系转换3.差速移动机器人数学建模三、基于PID的差分
    发表于 09-01 08:41

    【科普】干货!带你从0了解移动机器人(三) ——自主导航系统及上位机软件设计与实现

    实现移动机器人控制 移动机器人的自主导航系统及上位机软件设计与实现
    发表于 06-28 09:36

    基于S3C44B0X移动机器人的应用研究

    基于S3C44B0X移动机器人的应用研究 移动机器人利用导航技术,获得机器人的目前所处的位置,结合传感器技术对周围外界环境(障碍物等)作实时探测,并根据环境
    发表于 10-30 08:35 679次阅读
    基于<b class='flag-5'>S3C44B0X</b>的<b class='flag-5'>移动机器人</b>的应用研究