一种基于DSP的移动机器人运动控制器设计

2013-09-25 14:13叶邦彦刘建平
电子设计工程 2013年8期
关键词:电枢中断芯片

管 勋,叶邦彦,刘建平

(1.华南理工大学 机械与汽车工程学院,广东 广州 510640;2.佛山职业技术学院,广东 佛山 528137)

随着科学技术的发展,移动机器人正朝着高速、高精度、开放化、智能化、网络化发展,对运动控制器也提出了更高的要求[1]。机器人控制器时机器人的核心部分,是影响机器人性能的关键部分之一;同时,机器人运动控制器的设计也是最具有难度的工作之一。一方面,对于不同类型的机器人,控制器综合的方法有很大差别;另一方面,机器人是一类强耦合、高度非线性且含有诸多不确定因素的复杂系统,其控制难度非常大,通常机器人系统的先进程度和功能强弱受到控制技术的影响[2]。因此,机器人运动控制器一直受到许多学者的广泛研究[3]。

机器人运动控制器的设计过程包括硬件和软件的设计,高性能的运动控制器需要具备精确的硬件和高效的软件。因此,处理芯片的选择在控制器设计中起着关键作用。近年来,市面上不断涌现出各种高性能处理芯片,而TI公司生产的系列DSP数字信号处理器则是典型代表之一[4]。TMS320F2812是TI公司专门针对运动控制领域设计开发的一款高性能微处理芯片,它以32位定点CPU为内核,配置了完善的外围设备[5],非常适合于各种移动机器人系统的控制。本文以三轮全向机器人为载体,设计了一种高性能的基于DSP芯片的运动控制器,该控制器具有很好的实用性。一方面,该控制器同市场上的控制器相比具有很高的性价比,其成本低,同时又能够很好的满足设计所需的控制要求;另一方面,该控制器具有良好的扩展性,能够在后续的研究中很方便的增加其他传感器的数据采集模块以及一些控制功能模块。

1 控制器整体方案

文中控制器的设计采用控制电路与驱动电路分离的办法,驱动电路共用一个控制电路。它将控制部分和电机驱动部分分开,上位机发送一个机器人车体的平动速度和旋转速度,下位机控制电路利用高性能处理器经特定算法运算出三个电机的速度,进而更新控制电机的PWM波占空比,这样电机几乎同时执行新速度的动作,保证了电机运行的同步性;速度分配运算由高速的下位机执行,减少了低速的串口传输的数据量,有利于系统的实时性和快速性。另外控制电路与PC机只用一根串口线通信,不存信号在竞争的问题,可以实现双向通信,这样可以扩展其他功能,如为了满足图像定位需要,将电机码盘反馈速度上传到PC机中;在控制电路中增加按钮开关;罗盘与控制器共用一条串口线等。控制器的详细结构框图1所示。

2 控制器硬件系统

2.1 驱动电路

2.1.1 直流电机PWM调速

图1 控制器的详细结构框图Fig.1 Detailed configuration block diagram of the controller

直流伺服电机的调速方法可分为改变电枢电压、电枢回路串入电阻和改变主磁通3种方式[6]。其中改变电枢电压调速的方法,通过将电压从额定电压向下调小,来获得比额定转速更低的转速,具有调速范围大的优点。因此,本文的设计采用改变电枢电压的方式。对电枢电压的控制采用的是较为常用的开关驱动方式,通过脉宽调制(PWM)来控制半导体功率器件的开关状态,从而实时改变电机电枢电压,实现调速。

直流PWM调速控制示意图如图2所示。开关S1重复动作时,在电动机电枢两端就形成了一系列的电压脉冲波形。这样,对应着输入的电平高低,直流电机电枢两端的电压平均值Uav为:

式中α称为占空比,α=ton/T。α的变化范围为0≤α≤1。由式(1)可知,平均电压由脉冲占空比及电源电压所决定,与占空比成正比。改变占空比能够相应地改变平均电压,也就实现了对直流电动机的PWM调速。

图2 直流PWM调速控制示意图Fig.2 Schematic diagram of DC PWM speed regulation

2.1.2 H桥驱动电路

为了实现电机双向控制,采用H桥电路。这种驱动电路驱动效率高、耐压高、驱动电流大,另外可以很方便实现直流电机的正转、正转制动、反转、反转制动。可逆直流PWM控制中的H桥电路[7]如图3所示。

图3 H桥电路原理图Fig.3 Principle diagram of H bridge circuit

为控制电机方向,可通过S1、S2、S3、S4的通断来实现。S1、S2为一组同时通断,S3、S4为一组同时通断。当S1、S2接通,S3、S4 关断,电流通过 S1 流向 S2,电机正转;当 S3、S4 接通,S1、S2关断,电流通过S4流向S3,电流反向,电机反转。

为构建H桥电路,需要选用IRFR4105作为MOS门功率器件。它能快速实现通断,工作频率可达1.0 MHz通流30 A,耐压55 V,且体积很小,成本低。为驱动H桥电路的功率管,这里选用悬浮自举电源驱动电路,以保证栅极与源极或射极间的驱动电压在10~20 V之间,使功率管工作在饱和状态。为此,采用美国IR公司生产的IR2110驱动芯片。它体积小,应用电路简单灵活。内部高、低压侧驱动电路相互独立;输入信号可低至5 V,可直接用TTL电平控制;芯片内部包含一个关断保护信号输入SD[8]。IR2110驱动芯片输出信号与输入信号同相,且利用自举技术使功率管工作在饱和状态,从而达到PWM控制H桥电路的功能。其设计电路如图4所示。

图4 IR2110驱动功率管电路Fig.4 Driver power tube circuit with IR2110

2.2 多电压输出电源电路

移动机器人要求能够自由行走,因而系统结构比较复杂,各个功能模块都有不同的供电电源要求。本文设计的移动机器人平台共需要4种供电电压:电机驱动电压24 V、5 V外部电子器件供电、DSP外设3.3 V供电、DSP内核1.8 V供电。其中包括TTL和CMOS电平,所以这是一个混合的多电压系统。设计中,拟选择24 V的车载电源,经过一定的稳压滤波措施后直接驱动电机。同时24 V电压通过两级电压调节器,分别输出系统所需要的5 V电压,以及向DSP供电的3.3 V和1.8 V。解决方案如图5所示。

图5 电源解决方案Fig.5 Solution for power supply

根据系统的抗干扰和稳定性要求,采用WRB_S-2W电源模块,产生输出电流为400 mA的+5 V电源。该电源模块有很多优点,体积小(只有 22.0×9.5×12.0 mm),宽输入电压(18.0~36.0 V),短路保护(自恢复),供电电压地与输出电压地隔离。同时,设计采用TI公司生产的带上电次序的电源管理芯片TPS70151。该芯片特别适合于DSP应用的场合,功耗低,工作稳定。TPS70151芯片输入电压为+5 V,提供双电源输出,分别为3.3 V和1.8 V。在本设计中,TPS70151芯片的SEQ 端上拉,使得 Vout2(1.8 V)先上电,Vout1(3.3 V)后上电,可以满足DSP芯片上电顺序的要求。同时该芯片具有手动复位和上电复位功能,每个电源输出都有单独的输出使能和复位控制,具有快速瞬态响应功能。

3 控制器软件系统设计

3.1 程序整体框架

机器人的各个功能主要由主程序和中断程序完成。主程序主要任务为:完成各模块初始化工作,调配各个模块的程序运行,如调用PID调节函数设置PWM波占空比,上传DSP检测到的信号等。其余工作由中断函数自行完成。如串口接收中断,能自动完成指令接收及提取;T3定时中断完成3个电机转速分别采样,及启动AD转换。程序整体框图如图7所示。

图6 电源和复位电路Fig.6 Circuit of power supply and RST

图7 程序整体框图Fig.7 Program diagram of the whole

3.2 主程序

运动控制器接收上位机发送的控制指令,获取机器人的运动参数,通过接收和处理反馈信息,实现闭环控制。主程序主要工作有:系统初始化、读取上位机指令、调用指令执行函数、进行PID运算及PWM波输出等。系统初始化是后续软件设计的基础,主要完成系统寄存器的设置和变量的初始化等工作;为便于扩展功能和实时响应上位机命令,采用逐条指令的读取串口信号,然后逐条执行命令;PID运算及PWM波形输出是控制器的主要功能,需要实时更新,故放入主函数的循环函数当中,将所有的空余时间用于PWM的实时更新。具体的控制流程框图如图8所示。

3.3 T3定时中断程序

码盘脉冲计数需要用软件来实现脉冲数采集及转换,得到电机的转速值。这里采用T3定时中断实现这一功能。T3每中断一次,就分别采集3个电机对应的计数值,然后利用周期求出转速。为使AD转换不过于频繁,可以通过T3来控制它的转换频率。具体程序流程图如图9所示。

3.4 串口接收中断程序

为了有效识别上位机的发送指令,需要逐条指令地对接收的数据进行读取。怎么判断一条命令结束呢,可通过一个或者多个结束符来标识。每收到一个字符产生一个串口中断,暂时保存起来。一旦接收到命令结束符后,就结束该条命令的接收,产生一个接收命令的标志以及指令标号,以供主程序判断是否接收到一条完整的命令及该条指令为哪条指令,并调用相应的函数。串口中断程序流程图如图10所示。

图8 主程序流程图Fig.8 Main programming flow chart

图9 T3中断程序流程图Fig.9 T3 interrupt programming flow chart

4 结束语

随着机器人技术的不断发展,机器人将变得越来越复杂,对运动控制器的要求也越来越高。因此,机器人运动控制器也将逐渐成为机器人研究领域的热点。

运动控制器作为移动机器人的核心部分之一,对机器人平稳运行起着重要作用。本文在现有的机械系统平台下,为该机器人建立全方位运动模型,同时从硬件和软件两个方面设计了一款以DSP为核心的运动控制器[9],该控制器能够很好的满足控制精度高、稳定性好、扩展性能好的要求。另一方面,有关机器人的研究正逐渐从单个机器人系统向多机器人系统发展,所以下一步的工作将是在现有的控制器基础上,考虑实现多机器人协作的功能扩展。

图10 串口中断程序流程图Fig.10 Serial port interrupt programming flow chart

[1]蔡自兴.机器人学[M].北京:清华大学出版社,2000.

[2]朱其光.不确定性机器人轨迹跟踪控制策略及其实验研究[D].北京:燕山大学,2005.

[3]龚根华.轮式移动机器人控制器设计与研究 [D].南京:南京航天航空大学,2004.

[4]代普,韩崇伟等.基于DSP控制的车载俯仰电液伺服系统研究[J].机床与液压,2008,36(6):73-75.

DAIPu,HAN Chong-wei.Study aboutvehicle-carried electrical-hydraulic pitching servo system based on DSP control[J].Machine Tool&Hydraulics,2008,36(6):73-75.

[5]孙丽明.TMS320F2812原理及其C语言程序开发[M].北京:清华大学出版社,2008.

[6]李宁,刘启新.电机自动控制器[M].北京:机械工业出版社,2003.

[7]袁涛.H桥功率驱动电路的设计研究[D].成都:电子科技大学,2005.

[8]楚斌.IR2110功率驱动集成芯片应用[J].机械电子工程,2004,30(10):33-35.

CHU Bin.Application of integrated power drive chip IR2110[J].Electro-Mechanical Engineering,2004,30(10):33-35.

[9]李鹏,来新泉.基于双机热备的航天发动机控制器设计[J].火箭推进,2010(3):58-62.

LI Peng,LAI Xin-quan.Design of dual-processor hot standby aerospace engine controller[J].Journal of Rocket Propulsion,2010(3):58-62.

猜你喜欢
电枢中断芯片
基于电接触特性的电枢臂形状优化设计
芯片会议
四轨电磁发射器电枢-轨道初始接触特性研究*
关于射频前端芯片研发与管理模式的思考
双层电枢结构设计及其电磁力和电流密度分布*
电枢装配后接触压力不均匀特性研究*
基于FPGA的中断控制器设计*
跟踪导练(二)(5)
千里移防,卫勤保障不中断
多通道采样芯片ADS8556在光伏并网中的应用