微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于DSP的双足机器人运动控制系统设计

基于DSP的双足机器人运动控制系统设计

时间:06-21 来源:现代电子技术 曲凌 点击:

近年来,仿人机器人一直是自动控制领域研究的热点。在模仿人类进行迈步行走时,由于仿人机器人的重心经常要处于中心线以外的区域,使得它的身体很难保持站姿平衡,能够稳定地实现双足行走是仿人机器人研究的重点也是难点。人类需要大脑和肢体的相互配合来协调动作,机器人需要的则是运动控制器和驱动装置的强大支持,尤其是运动控制器,需要有高效率的芯片为基础,才能最迅速地采集数据、完成计算和发送指令。在本次设计中机器人关节使用的是大功率三相无刷直流电机,控制器采用TMS320F2812芯片,它是TI公司推出的一款针对控制领域做优化配置的数字信号处理器,器件上集成了多种先进的外设,为电机高速度和高精度控制提供了良好的平台。

  1 系统概述

  双足机器人每条腿设有5个自由度,这样既可以实现基本的步行功能,又尽可能的简化了控制变量,系统整体结构如图1所示,L1~L5分别对应左腿髋侧向、髋前向、膝前向、踝前向、踝侧向关节电机,R1~R5对应右腿。考虑到成本因素和驱动性能,选用Maxon的EC-max系列三相无刷直流电机来驱动关节活动,其中1号和5号电机选用EC-max35型,其他均为EC-max30型。受安装空间所限,每条腿的运动控制器都为独立的个体,各运动控制器通过主控计算机进行协调控制并可基于运动指令单独完成动作,类似于人类反射弧的原理,减轻主控计算机的工作量,加快反应速度,主控计算机和运动控制器之间通过CAN总线来传递数据。

  机器人双足步行时,主控计算机根据运动周期向底层运动控制器发送运行和停止等指令,完成对行走状态的监控和数据运算。单个运动控制器由DSP处理和电机控制两部分组成:DSP处理电路负责与主控计算机和传感器之间交换各类信息、分析接收到的数据并运算输出相应关节电机的控制信号;电机控制电路根据控制信号驱动相应的电机动作,达到要求的速度和角度,并对光电编码器信号进行处理,将执行结果反馈给DSP形成闭环控制,保证执行的精度。

  数据处理器选用的是TMS320F2812,它拥有基于C/C++高效32位DSP内核,提高了运算的精度;时钟频率高达150 MHz,增强了系统的处理能力;集成了128 KB的FLASH存储器、4 KB的引导ROM、数学运算表以及2 KB的OTP ROM,改善了芯片应用的灵活性;两个事件管理器模块为电机及功率变换控制提供了良好的控制功能;16通道高性能12位ADC单元提供了两个采样保持电路,可以实现双通道信号同步采样,适合整个运动控制器的开发需求,其代码和指令与F24x系列完全兼容,更是保证了项目开发和产品设计的可延续性。

  2 电机调速原理

  系统用PWM波形给出无刷直流电机的转速信息,即利用电路一周期内的占空比变化,达到平均电压值的改变,以对应电机不同的速度值。

  在TMS320F2812中可以通过配置定时周期寄存器的周期值和比较单元的比较值来产生PWM,周期值用于产生PWM波的频率,比较值用于产生PWM波的脉宽,改变比较值可以改变PWM波的占空比,改变周期值可以改变PWM波的频率。以事件管理器A为例,单路PWM信号的产生过程如下:

  定时器1作为产生PWM信号的时基,通过控制寄存器T1CON和周期寄存器TlPR设置时钟周期,通过寄存器COMCONA设置比较单元的各个参数,产生出三角波信号,在寄存器CMPRl和ACTRA中分别设置比较值和比较输出方式,设定的比较值实时与三角波信号比较,得到相应占空比的PWM信号。将定时器计数器T1CNT设置为连续增计数方式时,产生非对称PWM波形,设定为连续增减计数方式时,可以得到对称的PWM波形。

  图2所示是对称PWM波形产生的原理:若PWM输出为高电平有效,则当三角波的当前值小于比较值时输出为低电平,当三角波的当前值大于比较值时输出为高电平;低电平有效时,则反之。

  如果在寄存器DBTCONx中设置了死区时间值,则相应事件管理器所有PWM输出通道使用同一个死区值。由于加入了死区,PWM波高电平脉冲的宽度减少了一个死区时间,但是周期没有变化,所以高有效和低有效的PWM波形的占空比可分别用式(1)和(2)来计算。

  通过调节占空比,可以调节输出电压,用这种无级连续调节的输出电压可以给出速度信息,因此可以通过调整PWM信号有效电平的宽度达到控制转速的目的。

  3 硬件设计

  整个硬件电路包括DSP芯片TMS320F2812、电源、JTAG仿真接口、通讯、RAM、PWM、A/D、I/O扩展、备用端口、电机驱动和光电信号处理等模块,其控制系统结构如图3所示。

双足机器人总电源采用24 V直流电源,为了满足DSP及外围电路的需要,需将电源转换成5 V,3.3 V和1.8 V。首先使用DC-DC变换器将24 V转换成5 V,再选用TPS767D31

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top