DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1428|回复: 1
打印 上一主题 下一主题

[待整理] 基于DSP和电压反馈的机器人多轴运动控制器设计

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-5 11:43:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
基于DSP和电压反馈的机器人多轴运动控制器设计

摘    要:本文对一种适合于机器人控制的多轴控制器的总体结构和相关知识进行了介绍,并给出了控制器的详细设计方案和工作流程。该控制器选用DSP为主处理器,采用电压反馈的形式,可应用于其它类似的控制机构中。
关键词:DSP;机器人;控制器;CAN总线
引言
对于机器人控制技术,实时性和稳定性是研究的重点。现阶段,机器人控制的主要方法是在离线状态下对步态进行规划,并在主控机上对机器人的运动进行实时的补偿,这种处理方法对处理器的运算速度和处理能力提出了很高的要求。传统的机器人控制器大多以80C196系列单片机作为处理器,当采用12MHz晶振时,其状态周期为167ns,机器周期为1ms,不能满足机器人控制的需要。
DSP芯片处理速度可以达到几纳秒,甚至更高,非常适合于机器人控制。因此,本文选用DSP来代替原有的单片机,同时借助底层电压反馈技术,设计出一种分布式机器人多轴运动控制器。
控制系统结构与功能
本机器人控制系统结构是一个典型的“PC+运动控制器”模式,其中,主控计算机要求体积小、运算速度快,通常采用嵌入式工控机。主要负责整个系统的在线运动规划、动作级运动控制、语音交互控制、视觉导引控制以及人机交互等功能。底层控制单元以控制器为核心,采用电压反馈的方式对各运动轴系进行控制,具体结构如图1所示。控制器和主控计算机通过CAN总线相连。这种通信方式降低了连线的复杂程度,提高了通信的速度,增强了系统的稳定性。此外,由于只用两根线进行通信,结构也十分灵活。
控制器是整个控制系统的核心,通过接收主控计算机的控制命令对各关节执行轴系进行控制,同时把底层信息反馈给主控计算机,实现大回路反馈,以便于主控计算机协调规划,统一管理。控制器的控制性能直接关系到机器人的运动能力,本文专门设计了基于DSP和电压反馈的多轴运动控制器。
控制器设计
机器人的各种运动由各个关节轴系完成,每个轴系具有一个自由度,可以完成某一方向的转动任务,所有轴系同时协调工作就可以完成相对复杂的运动。本文研究的所有轴系均由PWM脉冲信号驱动控制。
本多轴运动控制器结构如图2所示。整个控制器以DSP为核心,分为四大部分: DSP主处理器模块主要完成信息处理和各种控制功能;A/D转换模块为主处理器提供运动轴系的位置信息;外围电路完成电压监控、参数存储、电路译码、光电隔离等功能;通信模块负责与主控计算机进行信息交互。
DSP主处理器模块
DSP主处理器是整个控制器的核心,负责各种信息的处理,同时与主控计算机进行通信,其运算速度、对信息的处理能力等方面直接影响控制器的性能。本文选用的是TI公司的TMS320LF2407A芯片,该产品集实时处理能力和控制器外设于一身,非常适用于工业控制。
在本文设计的控制器中,TMS320LF2407A 工作电压为3.3V、系统时钟为40MHz,数据总线与A/D转换模块相连,接收A/D转换结果;地址总线和控制总线与外围电路中的译码部分相连,完成各种译码和控制功能;PWM输出端口为运动轴系提供控制信号;通信接口与通信模块相连,负责与主控计算机交互信息;中断接口与译码电路相连,接受A/D转换结束信号触发的外部中断;复位接口连接外部看门狗电路,当外部电压超出规定的范围时复位主处理器;串行接口连接外部存储器,从外部存储器中读取控制算法所需的参数。
A/D转换模块
外部电压传感器把运动轴系的位置信息转换成电压信号,A/D转换模块通过对此电压信号进行A/D转换,为主处理器提供能够识别的数字信号。本文设计的A/D转换电路如图3所示。ADG508A为8选1多路选择器,对输入的多路电压进行选择,选出一路电压送转换器。AD622为电压放大器,同时具有滤波功能,可以把输入的-5V~+5V电压放大到-12V~+12V,以提高A/D转换的精度。AD976为16位A/D转换器,把放大后的电压转换成+5V数字信号。74LVTH245为8位电平转换器,把+5V数字信号转换成主处理器能够接受的+3.3V数字信号送TMS320LF2407A,使用时需两块并联组成一个16位的电平转换器。
外围电路模块
外围电路模块主要负责控制器的电压监控、参数存储、电路译码、光电隔离等功能。其中,电压监控任务由外部看门狗电路完成,本文选用的是DS1834A芯片。此芯片可同时对电路板上+5V和+3.3V电压进行监控,电压安全范围可进行调节,还具有手动复位功能。如果电压超出安全范围,则在相应引脚产生低电平复位信号,直到电压恢复正常后再经过350ms,复位引脚才恢复高电平。若手动复位则两个复位引脚同时产生复位信号。
DSP主处理器执行控制算法所需要的参数存放在外部存储器X25650中,DSP通过串行外设接口(SPI口)模块与X25650相连,从中读取需要的参数数据。
电路译码功能由一块CPLD实现,主要功能包括为ADG508A提供端口选择信号、为AD976提供转换开始信号、为74LVTH245提供输出使能信号、接收AD976转换结束信号并为DSP提供A/D转换结束中断信号、接收DS1834A的复位信号并为DSP提供复位脉冲信号等。
光电隔离器件选用高速光耦6N137,主要是为控制器与外部环境提供隔离,包括PWM脉冲控制信号的隔离和CAN总线通信的隔离。
通信模块
通信模块主要是与主控计算机进行通信,接收主控计算机的命令并为主控计算机提供必要的数据。由于TMS320LF2407A内部带有CAN总线通信模块,所以只需外接一块CAN收发器就可以与外界进行通信。收发器选用的是SN65HVD230芯片,此芯片与传统CAN收发器PCA82C250兼容,且支持3.3V电压,可直接与TMS320 LF2407A连接。为提高通信质量,中间需用光耦进行隔离。
控制流程与分析
此控制器可同时为8路轴系提供控制功能,其工作流程如图4所示,图中虚线所包围部分的功能由控制器完成。
具体工作过程为:系统开始运行并完成初始化工作;电压传感器把执行轴系的位置信息转换成电压信号;DSP主处理器向ADG508A发送选择信号,选通一路电压信号经放大器AD622放大后送AD976进行A/D转换。选择哪一路电压由主处理器地址线经译码后对ADG508A的端口选择位进行控制,通常是八路轮流选择。AD976的转换起始也由主处理器控制,转换结束时发出结束信号,经译码后提供给主处理器产生外部中断,主处理器在中断子程序中通过启动电平转换电路读取转换后的数据。AD976的最高转换速率为100KSPS,此速率下,8路同时转换,每一路的转换速率为12.5KSPS,完全可以满足控制的需要。
结语
本文设计的控制器,采用先选路、再放大、最后转换的方式为DSP主处理器提供需要的位置信息。整个控制器结构简单灵活,工作稳定可靠,非常适用于机器人控制,经实践证明,此方法是行之有效的。此控制器最多可同时控制8路轴系,可根据实际情况进行选择,单路转换速率最高达100KSPS。同时,本设计还可以方便地移植到其它类似的控制机构中去,以对各种PWM脉冲驱动的轴系进行控制,是一种多功能通用型控制器。
参考文献
1 方海军等.基于CAN总线的自主式仿人型机器人控制系统.机器人,2002,24(1)
2 曹禺.仿人步行机器人机载运动控制器的设计与应用.长沙:国防科技大学机电工程与自动化学院档案室(内部资料),2002
3 石宗英等.基于现场总线的仿人型机器人控制系统.工程与应用,2002,(2)
4 饶运涛等.现场总线CAN原理与应用技术.北京:北京航空航天大学出版社,2003
5 江思敏等.TMS320LF240x DSP硬件开发教程.北京:机械工业出版社,2003
6 黄正瑾等.CPLD系统设计技术入门与应用.北京:电子工业出版社,2002
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-12-23 00:31 , 耗时 0.088543 秒, 17 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表