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

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

3天内不再提示

基于DSP芯片TMS320F240和CPLD实现寻路机器人的设计

电子设计 来源: 电子技术应用 作者:侯少云,曹卫华,吴 2021-04-08 09:49 次阅读

在最近的机器人比赛和电子设计竞赛中,较多参赛题目要求机器人沿场地内白色或黑色指引线行进。一些研究人员提出了基于寻线的机器人设计策略,主要是关注指引线的检测,但对于机器人的整体设计未做说明。本文在总结此类赛事的基础上,提出了一种将DSP(Digital Signal Processor)和CPLD(Complex Programmable Logic Device)作为核心处理器,采用模糊控制策略处理来自检测指引线传感器信号的机器人行走机构的通用性设计方法。

1 车体机械设计

由于机器人比赛对参赛机器人有严格的尺寸限制,需要在有限的空间内合理安排各个机构。本文给出车体最小尺寸时驱动轮、光电传感器以及控制芯片之间的相对位置,如图1所示。

机器人采用双直流步进电机驱动方式,其额定电压为24V。车体的前后端分别安装光电传感器检测板实现指引线的检测。相邻光电传感器距离略小于指引线宽度,保证同时有两个传感器可以检测到指引线。

2 硬件电路设计

这部分主要介绍核心控制器DSP与功能扩展芯片CPLD的连接,简要介绍其它功能模块的硬件实现。系统整体结构如图2所示。

2.1 核心控制器设计

目前,机器人核心控制器多选用单片机。笔者考虑到单片机指令周期长、可用资源少,难以满足机器人实时控制的要求,在综合性价比、开发周期等因素后,核心控制器选用TI公司的电机数字控制专用DSP——TMS320F240(以下简称′F240)。它具有运动控制非常有效的事件管理器,其中包括12路比较/PWM通道,可以非常方便地控制直流电机转速;利用其片内的3个可以工作于6种模式的16位通用定时器,可以完成机器人绝大部分动作的控制;16个10位A/D转换器可以方便地读取模拟信号。由于机器人指引线检测模块返回信号可看作反馈信号,因此机器人驱动电机选用步进电机。通过设置′F240定时器,利用I/O端口输出设定脉冲信号,该信号经步进电机驱动电路使步进电机行进设定距离。具体实现在软件设计部分介绍。′F240的其他片内I/O、PWM端口、A/D都引出输入输出线,方便扩展功能的实现。

从′F240的特点可以看出,′F240可用于实现复杂控制算法和进行复杂的机器人动作控制。然而根据车体设计方案,需要在车体上安装20个光电检测传感器,占用控制器的20个I/O端口。这样,′F240可用于扩展功能的I/O端口大大减少。机器人在比赛中会有比较剧烈的撞击,如设计各种功能数字电路会严重降低控制板的可靠性。此处选用Altera公司的EPM7128作为核心处理器的扩展、模糊控制的输入。为满足DSP与CPLD之间的协同处理,′F240与EPM7128可采用如图2所示的电路连接。′F240的16根数据线和A12~A15共4根地址线连到EPM7128,通过选择信号、写信号和读信号完成对EPM7128的读写操作。EPM7128的I/O端口主要在MAX+PlusⅡ编程环境下通过软件和硬件管脚设置实现。这种DSP+CPLD的结构可以在充分扩展系统功能的同时,使DSP更能发挥其运算功能强大的特点。

稳压电路主要由LM7805芯片组成;信号输入电路由微动开关经反相器71HC14后再送往DSP,微动开关输入电路有去耦电路,输出信号加上拉电阻;显示模块采用MAX7219芯片驱动,八位LED数码管,每个LED对应三个I/O端口。

2.2 光电检测模块

光电检测模块的功能是将指引线准确地检测出来。此处主要借助反射式光藕TCRT5000。这是一种自带发光二极管和光敏三极管的器件,其集电极电流Ic与反射距离d之间有图3所示关系。

TCRT5000的应用电路见如4所示。当检测到绿色地面时,由于反射率不高,Ic1太小,三极管T2截止而输出高电平。当检测到白色地面时,由于反射率较高,Ic1较大,三极管T2饱和而输出低电平,从而实现了白线的检测。555构成了施密特触发器,用于去除反射性光耦产生的噪声和波形的整形。

2.3 动作电机控制电路

在机器人寻线行走过程中,需要完成规定的动作。这些动作的完成不需要控制相应动作电机的转速,本文直接利用I/O输出控制信号驱动固态继电器进而使直流电机动作。固态继电器选用松下电器公司双刀双掷(DPDT)型,型号为DS2Y-S-DC5V。尽管此继电器控制电压为5V,可与TTL的逻辑电平相兼容,但一般TTL芯片的输出电流还达不到其输入电流40mA。集电极开路的门电路(Open Collector Gate,简称OC门)可增大输出电流,并且继电器两控制端的输入电阻刚好可以作为OC门电路输出需要的上拉电阻。具体选用具有OC门结构的芯片ULN2003,它是由7个NPN达林顿管组成的高电压、高电流达林顿驱动器。 因为每个DS2Y-S-DC5V提供两组常开端口,因此如果在两组端口的N.O.端口上分别连上电机电源的正极和地,则可以用两个继电器实现电机的正反转。由于继电器在切换电压时,继电器线圈会产生大的反电动势,需要在继电器切换电压的两端加续流二极管,以消除切换时的电火花,避免出现大的浪涌电流,减少继电器产生的电磁干扰。

机器人的设计思想是利用光电检测传感器检测车体偏离指引线的大小来调整左右驱动步进电机的行进速度,使机器人沿指引线行进。这恰好符合模糊控制的思想。

把前后光电检测板上的光电检测传感器编号,将检测到指引线的编号最大的光电检测传感器的编号作为车体偏离的距离,编号方法如表1。这样,模糊控制器有两个输入:前后光电检测板的输入编号;模糊控制器有两个输出:左右步进电机驱动脉冲数。

模糊控制器的输入量的语言值模糊子集选取为:{LB,LS,ZO,RS,RB}。其中:LB=左大;LS=左小;ZO=中心;RS=右小;RB=右大。输出量的语言值模糊子集选取为:{NB,NM,NS,ZO,PS,PM,PB}。其中:NB=负大;NM=负中;NS=负小;ZO=零;PS=正小;PM=正中;PB=正大。

根据隶属函数的定义和选取规则,输入变量前部位置iF 和后部位置iB的隶属度选择相同,如图5所示。输出变量左轮转速OUL和右轮转速OUR的隶属度选择相同,如图6所示。

根据多次的实验和修正,得到如表2的左轮转速控制规则表(右轮的转速控制规则表内容与左轮的转速控制规则表对应,例如iF为RB、iB为LB时对应的OUL为NB,类似可得到右轮转速控制规则表)。模糊推理采用Mamdani法。反模糊化采用重心法,最终得到如表3所示的左轮转速控制信号输出表(右轮转速控制信号输出表可用类似于右轮转速控制规则表推导的方法得到)。在′F240存储空间中以表格的形式存储表3,根据输入可得到相应输出。

上述模糊信号的获取通过EPM7128用VHDL语言编程实现,此部分的编程相对简单,不再赘述。由于光电传感器信号的改变可以实时反映在CPLD的输出上,′F240只需定时读取此信号并做相应从处理即可。假设前光电检测板和后光电检测板的信号分别保存在RE_CPLD字节的高半字节、低半字节中,若这两个信号大于10则保持原数据不变,否则根据信号的大小计算此值在转速控制信号输出表中的偏移量:

其中#04h为保存转速表的页面,#MATRIXL为转速表起始地址在页面中的偏移量,ADDER_PS为查表值相对转速表起始地址的偏移量。若将查表得到的值变化后保存为控制步进电机转速的定时器的周期,则可以实时改变步进电机的转速:

4 步进电机调速的实现

步进电机是纯粹的数字控制电动机。它将电脉冲信号转换成角位移,即给一个脉冲信号,电机转一定角度。步进电机控制器的输入端口有:VDD——电机电源正极;GND——电源地线;OPTO——控制信号的公共阳极;DIR——电机方向控制端;FREE——脱机输入端;CP——脉冲输入端(CP停止施加脉冲时,要保证CP为高电平,使内部光耦截止)。此处给DIR端加高电平,使机器人只向前行进,在程序中只需对CP端进行处理。

脉冲的产生通过控制I/O端口的电平变化实现。在设定了定时中断的各种参数后,在定时器中断处理程序中使一个标志字不停地加1:

在主程序中可以设定行走距离,定时中断的时间间隔决定脉冲的频率,也即决定步进电机的运动速度:

其中,数值2 000代表机器人行走的距离单位。利用模糊控制策略,改变控制两个步进电机的定时器定时周期的长短以及行进的距离,可以实现机器人的寻线行进。

在总结近期参加的机器人比赛和电子设计竞赛的基础上,针对机器人寻线行走的普遍要求,提出了一种基于DSP+CPLD和模糊控制策略的机器人实现方法。利用该方法设计的机器人参加了多种不同的机器人比赛(如全国大学生机器人电视大赛、足球机器人比赛子项和电子设计竞赛等),运行状况良好,取得了较理想的成绩,进而证实了此设计的有效性。

责任编辑:gt

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

    关注

    552

    文章

    7958

    浏览量

    347849
  • cpld
    +关注

    关注

    32

    文章

    1246

    浏览量

    169136
  • 机器人
    +关注

    关注

    210

    文章

    28068

    浏览量

    205765
  • 电机控制
    +关注

    关注

    3522

    文章

    1848

    浏览量

    268094
  • 脉冲信号
    +关注

    关注

    6

    文章

    392

    浏览量

    36871
收藏 人收藏

    评论

    相关推荐

    TMS320F240 pdf datasheet

    The TMS320F240 (F240) device is a member of a family of DSP controllers based on the TMS320
    发表于 08-07 20:15 45次下载

    TMS320F240在高频PWM调速器中的应用

    TMS320F240 在高频PWM 调速器中的应用-The Application of TMS320F240 in High Frequency PWM Governor 摘要在高速数据芯片中,
    发表于 02-09 10:50 22次下载

    TMS320F240 中断系统分析及C 语言编程

    首先,分析TMS320F240 DSP 芯片的中断系统结构,包括其内核中断、事件管理模块的中断和系统模块中断。然后, 分析DSP 中断的处理过程和中断程序的编制方法。最后, 给出中断系
    发表于 05-15 13:30 38次下载

    基于TMS320F240 的摄影点阵系统设计

    TI 公司生产的TMS320 系列的DSP 有很好的实时信号处理能力,该系列将实时处理能力和控制器外设功能集成于一体[1]。主要阐述了一种基于TMS320F240 的小型摄影点阵控制系统的设计方案
    发表于 07-08 16:22 12次下载

    TMS320F240开发板的研制

    本文介绍了TMS320F240 的功能及其特性,详细地给出了TMS320F240 开发板的硬件和软件说明,最后介绍了该开发板的特点。关键词: dsp ; 开发板Abstract: this paper presents the
    发表于 08-07 08:40 39次下载

    基于TMS320F240的串行通讯设计

    本文介绍了用VB 开发PC 机和TMS320F240 的串口通讯模块SCI 之间的通信,较系统的介绍了TMS320F240 串口通讯模块SCI 和 MAX485 以及它们之间的通讯软件的设计。TMS320F240 系列是美国TI
    发表于 08-11 08:11 7次下载

    TMS320F240 DSP与C51单片机串行通讯的实现

    本文介绍一种实现TMS320F240 DSP与C51单片机串行通讯的方法。详细说明了TMS320F240 DSP与C51单片机的硬件构成和软
    发表于 11-23 15:55 27次下载

    TMS320F240DSP的SPI口的扩展

    DSP之间的相互扩展和扩展串行EEPROM为例,讨论了TI公司的TMS320F240DSP的串行外设接口(SPI)模块的功能扩展。     关键词
    发表于 05-06 20:41 1865次阅读
    <b class='flag-5'>TMS320F240</b>型<b class='flag-5'>DSP</b>的SPI口的扩展

    TMS320F240与PC机串行通讯的设计

    简要介绍了数字信号处理器TMS320F240串行通信接口模块SCI和RS-485标准接口芯片MAX485的原理和应用,并给出了TMS320F240与PC机串行通信接口电路,最后,编程实现
    发表于 05-17 12:43 1137次阅读
    <b class='flag-5'>TMS320F240</b>与PC机串行通讯的设计

    基于TMS320F240的空间电压矢量PWM的实现

    基于TMS320F240的空间电压矢量PWM的实现   摘要:叙述了空间电压矢量(SVPWM)的基本原理,介绍了采用矩阵求解两相邻向量作用时间的方法和用数字信号处
    发表于 07-08 10:24 1324次阅读
    基于<b class='flag-5'>TMS320F240</b>的空间电压矢量PWM的<b class='flag-5'>实现</b>

    AD7711与TMS320F240接口设计

    AD7711与TMS320F240接口设计 介绍温度调理芯片AD7711的寄存器和它的使用方法,接口电路和以C语言编写的TMS320F240接口子程序。  关键词:温度测量
    发表于 10-13 18:54 2702次阅读
    AD7711与<b class='flag-5'>TMS320F240</b>接口设计

    TMS320F240单片机

    TMS320F240
    发表于 01-12 13:04 3次下载

    TMS320F240 DSP求解旋转变压器角位置和速度的方法

    该应用报告提出了一种用于获得旋转变压器角位置和速度的TMS320F240 DSP解决方案。
    发表于 05-22 15:29 18次下载
    <b class='flag-5'>TMS320F240</b> <b class='flag-5'>DSP</b>求解旋转变压器角位置和速度的方法

    基于TMS320F240 DSP的开关磁阻电机控制系统

    介绍了一种基于数字信号处理器(DSPTMS320F240的开关磁阻电动机控制系统。论述了其各组成部分的工作原理,该控制系统充分利用了TMS320F240周边接口富、运算速度快、适于电动机控制的特点,使系统硬件结构简单,并
    发表于 04-27 09:42 15次下载
    基于<b class='flag-5'>TMS320F240</b> <b class='flag-5'>DSP</b>的开关磁阻电机控制系统

    TMS320F240官方数据下载

    TMS320F240官方数据下载
    发表于 11-25 17:59 3次下载