引言
对于机器人控制技术,实时性和稳定性是研究的重点。现阶段,机器人控制的主要方法是在离线状态下对步态进行规划,并在主控机上对机器人的运动进行实时的补偿,这种处理方法对处理器的运算速度和处理能力提出了很高的要求。传统的机器人控制器大多以80C196系列单片机作为处理器,当采用12MHz晶振时,其状态周期为167ns,机器周期为1ms,不能满足机器人控制的需要。
DSP芯片处理速度可以达到几纳秒,甚至更高,非常适合于机器人控制。因此,本文选用DSP来代替原有的单片机,同时借助底层电压反馈技术,设计出一种分布式机器人多轴运动控制器。
控制系统结构与功能
本机器人控制系统结构是一个典型的“PC+运动控制器”模式,其中,主控计算机要求体积小、运算速度快,通常采用嵌入式工控机。主要负责整个系统的在线运动规划、动作级运动控制、语音交互控制、视觉导引控制以及人机交互等功能。底层控制单元以控制器为核心,采用电压反馈的方式对各运动轴系进行控制。控制器和主控计算机通过CAN总线相连。这种通信方式降低了连线的复杂程度,提高了通信的速度,增强了系统的稳定性。此外,由于只用两根线进行通信,结构也十分灵活。
控制器是整个控制系统的核心,通过接收主控计算机的控制命令对各关节执行轴系进行控制,同时把底层信息反馈给主控计算机,实现大回路反馈,以便于主控计算机协调规划,统一管理。控制器的控制性能直接关系到机器人的运动能力,本文专门设计了基于DSP和电压反馈的多轴运动控制器。
控制器设计
机器人的各种运动由各个关节轴系完成,每个轴系具有一个自由度,可以完成某一方向的转动任务,所有轴系同时协调工作就可以完成相对复杂的运动。本文研究的所有轴系均由PWM脉冲信号驱动控制。
整个控制器以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路轴系提供控制功能,具体工作过程为:系统开始运行并完成初始化工作;电压传感器把执行轴系的位置信息转换成电压信号;DSP主处理器向ADG508A发送选择信号,选通一路电压信号经放大器AD622放大后送AD976进行A/D转换。选择哪一路电压由主处理器地址线经译码后对ADG508A的端口选择位进行控制,通常是八路轮流选择。AD976的转换起始也由主处理器控制,转换结束时发出结束信号,经译码后提供给主处理器产生外部中断,主处理器在中断子程序中通过启动电平转换电路读取转换后的数据。AD976的最高转换速率为100KSPS,此速率下,8路同时转换,每一路的转换速率为12.5KSPS,完全可以满足控制的需要。
结语
本文设计的控制器,采用先选路、再放大、最后转换的方式为DSP主处理器提供需要的位置信息。整个控制器结构简单灵活,工作稳定可靠,非常适用于机器人控制,经实践证明,此方法是行之有效的。此控制器最多可同时控制8路轴系,可根据实际情况进行选择,单路转换速率最高达100KSPS。同时,本设计还可以方便地移植到其它类似的控制机构中去,以对各种PWM脉冲驱动的轴系进行控制,是一种多功能通用型控制器。