刘银萍
(广东工业大学实验教学部,广东 广州 510006)
在足球机器人比赛系统中,足球机器人的运动速度和精度将直接影响球队的胜负。机器人的精确运动控制,主要取决于车轮电机驱动系统的性能。比赛中,机器人小车微处理器大多使用单片机,如:ATMEGA163、C8051和MCS-96等。这些控制芯片有些虽然是面向电机控制的,但并不具备快速处理能力,实时性不强[1]。
本设计采用由美国TI公司生产的16位处理器DSP-TMS320LF2407A作为控制器,之所以没有选用32位DSP或更高档芯片是因为机器人的速度分为正负127档,16位定点处理器精度己经足够[2]。TMS320LF2407A集数字信号处理器(digital signal processor,DSP)的高速信号处理运算能力和适于电机控制的外围电路于一体。采用TMS320LF2407A芯片构造电机驱动系统,不仅简化了电路,降低了系统的损耗,而且提高了系统的准确性和实时性。
本文采用双电机分别驱动左右两轮。电机驱动系统硬件主要包括微控制器TM3S20LF2407A、电机驱动脉宽调制(pulse width modulation,PWM)桥式电路、编码盘等电路。直流电机驱动控制电路方案整体结构设计如图 1 所示。电机驱动系统的电路设计主要使用TM3S20LF2407A芯片的3个模块:PWM 模块、QEP 模块和A/D 模块。电机采用PWM方式驱动,TM3S20LF2407A产生4 路载波比为20 kHz的高分辨率PWM波,用来控制两个电机的速度方向和大小。驱动电路采用含有双H 桥的L298驱动器来驱动电机。两个QEP捕获单元实现对两个电机的光电码盘反馈信号的鉴相和计数。A/D 转换模块用于电机的电枢电流检测。
图1 电路整体结构图 Fig.1 Overall structure of the circuit
由于TMS320LF2407A输出的PWM信号,电压为脉冲形式,输出的电流很小,不足以直接驱动电机运行,需使用驱动器将其转换成可驱动电机的驱动信号。本设计使用L298双H桥驱动器驱动。L298是SGS公司的产品,内部包含4通道逻辑驱动电路,是一种二相和四相电机的专用驱动芯片[3]。由于L298内部集成有两个H桥的高电压大电流双全桥式驱动器,这样就可以用一片L298驱动两个电机。由于其接口简单,直接与TMS320LF2407A事件管理器产生的一对PWM信号相连,就可以控制一个电机的转速与转向,控制方便,大大简化了电路。L298的Vss接控制逻辑电源,Vs接驱动电机电源口[4]。IN1~IN4输入引脚为标准 TTL逻辑电平信号[5],用来控制 H 桥的开与关即实现电机的正反转。ENA、ENB 引脚则为使能控制端,用来输入 PWM 信号,实现电机调速。信号输出端OUTl、OUT2和 OUT3、OUT4之间分别接两个电机[6],用于控制电机。另外,L298 的 SENA,SENB 引脚通过 0.5 kΩ的电阻接地,为电流反馈引脚,以便实现系统的电流闭环控制[7]。由于足球机器人的比赛环境比较恶劣,常有强烈碰撞发生,小车电机经常会发生堵转和快速反转。
本设计利用IN4007二极管进行反接,实现电路保护,防止由于电机因堵转等原因产生高脉冲冲击电压而损坏驱动器[8]。另外,L298中设计了过流保护电路。LM358是一个电压比较器,IN1(+)/IN2(+)电压为1 V。当IN1(-)/ IN2(-)的电压低于IN1(+)/IN2(+)电压时,OUT1/OUT2输出高电平,驱动L298的ENA /ENB管脚使芯片正常工作;否则输出低电平,关闭L298。电机驱动电路如图2所示。
图2 电机驱动电路 Fig.2 Driving circuit of the motor
考虑到机器人的尺寸和功耗的限制,必须选用体积小、功耗低的电机。本设计采用德国FAULHABER公司生产的2224U0006SR微型直流电机,利用电机配套的增量式光电码盘IE2-512来检测电机的转速。增量式光电码盘由光栅盘(码盘)和光电检测装置组成[9]。光栅盘是在一定直径的原板等分地开通若干个孔,由于光栅盘与电机同轴,电机旋转时,光栅盘与电机同速旋转,经发光二极管等电子元件组成的检测装置检测出若干个脉冲信号。通过计算每秒光电编码器输出脉冲的个数就能反映当前电机的转速。利用光电码盘输出两路相位相差90°的两路脉冲这一特性来鉴别电机转向。 电机编码器光电检测电路如图3所示。
图3 光电检测电路 Fig.3 Photoelectric detection circuit
TMS320LF2407A带有两个正交编码脉冲(QEP)电路,用于接收两个电机的编码盘脉冲信号。但是光电编码器输出信号为差分信号,需要转换成单端信号才能输入到TMS320LF2407A的QEP模块。电机编码盘与TMS320LF2407A接口电路如图4所示。本设计采用四差分线路接收器 AM26LS32,将编码盘输出的差分信号A+、A-,B+、B-转换为A、B两路单端正交脉冲信号。由于光电编码器供电电压是5 V,输出的信号也是5 V电平,而DSP工作电压是3.3 V,所以本设计采用双电源供电的双向收发器74LVC4245,将5 V转换成3.3 V电平。TMS320LF2407A控制器的QEP1、QEP2端口将捕获脉冲信号A、B的数据存放在寄存器中,通过比较捕获到的A、B两相脉冲信号,确定电机的正反转状态和转速。
图4 电机编码盘与TMS320LF2407A接口电路 Fig.4 Interface circuit of motor encoder and TMS320LF240TA
电机控制程序流程图如图5所示。在系统上电后,首先初始化控制器参数,实时读取串口通信中断程序接收到的机器人给定转速和定时器中断采样车轮的实际测量速度。若两者速度一致,则实际转速不变;否则TMS320LF2407A处理器根据给定转速与实际测量速度,得到速度偏差值,经过PID控制算法模块计算出新的控制量,输出PWM信号驱动电机。
图5 电机控制程序流程图 Fig.5 Program flowchart of motor control
经试验测定,足球机器人启动时间、制动时间如表1所示。机器人速度测试结果如表2所示。从测试结果可以看出,机器人电机无论正转还是反转,左、右轮的输出线性都很好,两轮的协调性也较好,实际输出转速达到了上位机给定值,控制精度较高,满足实际需要。
表1 机器人启动、制动时间Tab.1 Starting and braking time of robot
表2 机器人速度测试结果Tab.2 Test results of robot speed
本文阐述了以TMS320LF2407A为控制核心的MiroSot足球机器电机驱动系统的软硬件设计。基于H桥功率驱动电路以及PWM脉宽调制原理,选用16位的DSP芯片TMS320LF2407A与H桥芯片L298组成两路电机的可逆调速系统,并采用增量式光电编码器作速度检测,设计了一种直流电机正、反转驱动调速控制电路。该电路克服了传统单片机、32位DSP或其他方法存在的电路复杂、可靠性低、实时性不强等缺点,满足了机器人的功能要求,取得了较为理想的控制效果。
参考文献:
[1] 高健,黄心汉,彭刚.基于DSP的集控式足球机器人控制系统设计[J].计算机工程与应用,2006(12):19-21.
[2] 周科.RoboCup小型组(F-180)足球机器人的运动控制和路径规划[D].杭州:浙江大学,2004.
[3] 杨维,殷希梅.一种微小型侦察球无线控制系统的设计[J].电子设计工程,2012,20(19):157-160.
[4] 李晓鹏,刘建都.基于Smith算法的模糊PID控制器的设计[J].微计算机信息,2009,25(31):66-67.
[5] 陈存,路林吉.基于模糊PID算法的服装送带机控制系统[J].自动化仪表,2017,38(4):37-40.
[6] 缪晓中.一种基于Inte18253与L298N的电机PWM调速方法[J].国外电子元器件,2005(12):26-28.
[7] 王兰兰.集控式微型足球机器人的研究与设计[D].大连:大连理工大学,2005.
[8] 严平锋,凌志浩,蒋炜.步进电机的控制与检测系统的设计与实现[J].自动化仪表,2014,35(4):38-42.
[9] 刘维.全自主足球机器人控制系统研究[D].赣州:江西理工大学,2008.