基于DSP管道机器人控制系统设计
2010-04-16毛立民郭文利
毛立民,郭文利
(东华大学 纺织装备教育部工程研究中心,上海 201620)
1 前言
随着机器人技术的发展,管道机器人在管道检测、喷涂、接口焊接、异物清理等领域的应用越来越广泛,管道机器人控制系统研究也成为当今研究的热点之一。
本文将PC与DSP相结合,综合应用两者的优势[1-2],设计了一套管道机器人控制系统,上位机PC采用VC++.NET设计机器可视化控制平台界面及其控制策略,下位机应用 TMS320F28335 DSP[3-5]设计管道机器人底层运动控制系统,完成机器人控制系统设计,图像采集,上下位机RS-485通信,下位机与角度传感器RS-232通信,电机控制驱动及角度传感器和压力传感器反馈控制等功能。
考虑到中央空调通风管道有圆管和方管,因此管道机器人的姿态检测与控制策略分为两种方式。
机器人在圆管管道中行进时,机器人以120°周向均布的3组独立全驱动(3组行走机构由单独的电机各自驱动,称为独立全驱动方式)方式驱动控制履带足行进。图1中左右履带足(固定夹角120°)4个直流电机分别控制越障机器人左右两侧的电动机驱动行走履带足,高度调节机构根据管道直径自适应调节支撑履带足的展臂高度,调整各履带足对管壁的压紧力,保证行走机构以稳定的压紧力撑紧在管道内壁上,使机器人具有充足且稳定的牵引力,机器人能在各种直径的管道中行走作业。方管中的机器人行进时情况类似,不复赘述。
驱动电机采用Maxon RE-max系列电机,集成了行星轮减速器和数字增量编码器,具有体积小、重量轻和输出扭矩大的特点,共用6个电机,其中5个电机作为行进电机,驱动机器人行走,另外1个作为调节电机通过齿轮副转动丝杆螺母副带动滑动支座沿导杆移动。
2 机械本体简介
图1 样机机械结构
如图1所示为机器人机械结构,主要由以下几部分组成:支撑履带足、调节臂、滑动支座、机体、行进履带足、摆腿、丝杆、调节电机。
本体主要性能指标为407×250×180(长×宽×高);重量为15 kg(含负载);最高速度为5 m/min;爬坡角度为30°(在光滑的镀锌铁板上保持静止);控制最小有效距离为100m。
3 系统硬件设计
3.1 系统硬件总体设计
对管道机器人控制系统进行功能分析,根据控制器实现方式及其控制特性,结合机器人控制功能要求,设计了PC+DSP运动控制系统,其控制结构如图2所示,机器人控制系统具体分为三级,即:组织级、协调级和执行级,三级之间相互联系,使得整个系统运行更加快速、灵活、准确。
机器人主控计算机,任务规划、环境感知以及与下位机DSP运动控制器的通信;DSP运动控制器接受来自上位机的控制指令,按控制协议进行指令转换与解释,并通过电机伺服控制器完成对电机的伺服控制。
图2 控制系统总体结构
3.2 通信电路模块
TMS320F28335片上外设有3通道SCI异步串口,采用MAX3238CAI完成三路电平转换。
考虑到RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,最大通信距离不超过20m。根据功能需求,在通信流程设计中下位机设置接收优先,F28335串口C通道的中断优先级最高,所以串口C采用RS-232转RS-485芯片SN65hvd08完成与上位机串行通讯,通道A、B采用常用的零调制三线经济型接线方式与倾角传感器通讯连接,其电路如图3所示。
图3 通信电路
485芯片的发送和接收功能转换是由芯片的REn、DE端控制的。RE=1,DE=1时,485芯片处于发送状态;REn=0,DE=0时,485芯片处于接收状态。因此采用一个信号控制485芯片的接收和发送。
3.3 电机驱动模块
采用NS作为直流电动机H桥驱动芯片LMD182000独立控制各行进电机,芯片上集成有CMOS控制电路和DMOS功率器件,与DSP主处理器、电机和增量型编码器构成一个完整的运动控制系统。如图4所示为电机驱动模块。
LMD18200集成电路对电机有两种PWM信号控制模式:单极性控制和双极性控制。系统采用单极性驱动方式,PWM控制信号通过引脚5输入,转向信号由引脚3输入。在转向信号控制电机正转情况下,当PWM控制信号的占空比由[0,100%]变化时,电机电枢两端电压由[0,48]变化。
图4 电机驱动模块
LMD182000还有一个电流监测输出引脚8,该引脚输出一个电流信号,该电流值正比于工作电流,典型值为377μA/A。将该引脚通过精度为1%的采样电阻接地,变电流为电压信号,然后将该电压信号经过由阻容低通滤波后送至DSP的A/D转换输入端口,从而可以实时检监测电机的工作电流。
根据上位机串口指令和光电编码器及反馈的速度信息产生一定占空比的PWM波,并将方向、使能信号送入电机驱动芯片,实现机器人运动和姿态调整的精确控制。
3.4 位置与速度检测模块
位置速度检测电路在电机控制中具有非常重要的作用,其检测的精确性直接反应到对电机控制的精度。系统采用光电编码器来测量电机的转速和位置。光电编码器输出3相信号,其中A相和B相信号先光电隔离、滤波整形后直接送到DSP。图5中6N137是高速光耦,实现模拟信号和数字信号的隔离,74HC14是施密特触发器,锐化其上升沿和下降沿,去除因干扰而可能存在的尖峰毛刺,起到整型和滤波的作用,输出标准的数字式方波。
图5 位置与速度检测模块
3.5 传感器模块
传感器检测系统包括横滚角传感器、俯仰角传感器和压力传感器和限位微动开关。横滚角传感器选用ZCT245AN双轴倾角传感器为机体横滚角检测,采用ZCT100AN单轴倾角传感器作用机体俯仰角检测,倾角传感器均采用RS232方式与DSP控制器通信,完成机体行进姿态感测;压力传感器用于检测调节臂内弹簧压力值的大小;常开限位微动开关用于滑动座行程限位保护及机器人开机初始化时支座初始位移捕获。
F28335采用全新的eQEP模块架构,新增选通脉冲输入端,当微动开关接触闭合时,向DSP的EQEPS引脚输入选通脉冲,触发中断中断调用处理了程序初始化正交编码计数器,完成位置捕获。
4 系统软件设计
机器人系统的软件包括分别运行上位机控制策略平台及下位机软件DSP运动控制软件及两者之间的通信协议。软件设计采用了模块化的设计思想,不仅便于程序的调试与修改,也利于将来程序的扩展[6-7]。上位机采用VC++.NET来实现,调用工业强度的串口类接口,实现上下位机串行通信。工控机与DSP的通信信息由电机控制、传感器信息采集等构成。通过串口RS-232转RS-485完成从工控机和DSP的数据双向单工传输。如图6所示为控制系统软件模块化结构。
图6 控制系统软件模块化结构
4.1 上位机控制策略软件实现
控制决策软件是管道机器人进行各种功能控制决策的核心层,软件主要完成移动机器人基本运动控制、图像采集、水平检测、串口通信。系统上位机控制界面如图7所示。
图7 上位机程序界面
4.2 下位机软件实现
DSP运动控制软件是机器人电机控制的核心层,实现多电机速度位置的精确控制和多传感器的协调控制。DSP主控程序主要包括分配存储空间、初始化、中断、通信协议、电机控制、传感器信号处理等子程序,其控制流程图如图8所示。
图8 下位机主控程序流程图
完成下位机发送数据功能由两个子函数实现,分别为 void Txready()和 void Scia_send()。void Txready函数主要完成将根据上位机请求数据预存在SCITX[]数组内,然后调用Scia_send()完成数据发送。其Scia_send()发送流程如图9所示。
5 结束语
本文提出了一种基于PC+DSP运动控制器的控制平台,阐述了整个管道机器人控制系统的设计与实现。系统设计下位机以TMS320F28335 DSP控制核心,系统采用模块化设计,通过系统功能扩展,具备高度的灵活性和广泛的适用性。
图9 Scia_send()发送数据流程
[1]苏 蕊,欧阳红林.基于ARM芯片的嵌入式运动控制系统设计[J].微计算机信息,2008:4-2(10):137-138.
[2]王 岩.基于DSP的运动控制器的硬件设计.电子器件[J],2004,27(2):299-302.
[3]刘 果,欧阳红林.基于TMS320F28335的PMSM伺服系统的设计[J].电力电子技,2008:42(10):16-17.
[4]雷晓瑜,曹广忠.TMS320F28335及其最小应用系统设计[J].电子设计工程,2009,17(1):91-95.
[5]黄德友,刘卫东.基于TMS320F2812高精度跟踪伺服控制系统设计[J].机械与电子,2008(2):30-32.
[6]许春山,王建平,曹广益等.基于Visual C++6.0的机器人控制系统软件实现[J].计算机应用与软件.2003,5(10):12-14.
[7]刘和平.TMS320LF240x DSPC语言开发应用[M].北京:北京航天航空大学出版社,2002.