APP下载

基于双单片机控制的布锥机器人小车设计

2013-08-26石明耀

机械与电子 2013年7期
关键词:舵机机械手小车

唐 炜,张 鹏,高 阳,石明耀,曾 泽,袁 哲

(1.江苏科技大学机械工程学院,江苏 镇江 212003;2.江苏科技大学南徐学院,江苏 镇江 212003)

0 引言

目前,国内的交警和路政等部门在道路上布设路锥主要依靠人工操作,当线路较长时整个布设过程烦琐、劳动强度大、效率低,若采用机械化布锥则将大大缩短作业时间[1]。布锥机器人是以道路路锥布设为目标,具有自动行走和搬运物体功能的智能机器人[2-3]。在此,研究一种采用双单片机进行协同控制的机器人小车,在实验室环境下模拟道路路锥的自动布设。

1 机械本体结构设计

1.1 本体结构

布锥小车采用有机玻璃作车身,车体后部用支座固定2个同型号直流电机,电机输出轴配备减速齿轮组,输出扭矩大,分别驱动左右两车轮,车体前部安装有万向轮起支撑作用[4]。此设计结构使得小车能做到任意角度转向,而无需采用烦琐的差速器和舵机即可实现原地回转。同时,轴驱动轮和万向轮形成了三点结构,可使小车运动过程较为平稳,为车载机械手平稳装夹物体创造了条件。

车载机械手由机械臂和机械爪组成,其中机械臂有2个旋转关节,机械爪有1个张合关节,所有关节均由MG995舵机驱动。机械臂通过一个平行四边形连杆机构与机械爪相连,平行四边形连杆设计的巧妙之处在于使机械爪始终垂直于小车面向下,保证车载机械手可完成半球面范围内任意位置物体的垂直方向抓放与夹持,以实现将车上路锥搬运到车旁地面的动作。

1.2 运动学仿真

在机械结构设计中,运用Pro/E软件对小车和机械手进行运动仿真分析,便于在设计阶段及时发现位移和干涉等问题,降低开发成本。在装配时,采用“先分块装配、再总装配”的原则,即先完成底盘、机械手和机械爪等分块的装配,然后再将各分块总装到小车底盘上。

在Pro/E Mechanism环境下,定义舵机和电机为伺服电动机,设定相关参数后,运用Pro/E提供的干涉检查、轨迹曲线和测量等功能对小车进行运动仿真分析[5]。以机械爪爪尖内表面(路锥夹紧面)上一点作为测量点,测量其速度是否平稳,通过“仿真→机构分析→调整小车参数→仿真”的循环过程,不断优化布锥小车的结构设计,最终获得可使机械手平稳运动的结构及尺寸。小车机械手运动仿真轨迹曲线如图1所示。其中,a点为机械手归位的位置,b点为机械手下降抓取路锥的位置,c点为机械手下降将路锥放置在车旁路面的位置。

图1 小车机械手运动仿真轨迹

2 控制系统硬件设计

2.1 系统结构

小车控制系统结构如图2所示。它以双单片机为控制核心,主、从单片机分别为STC12C5A60S2和STC10F08XE。主单片机模块通过专门电机驱动电路驱动2路直流电机,利用测速传感器检测电机的实时转速,为其速度PID控制环节提供反馈,并依据红外传感器反馈的路面轨迹信息,动态局部调整小车行驶方向以实现自动循迹。从单片机模块通过控制3路舵机旋转,驱动机械手完成三维空间动作。两单片机之间采用自定义通讯协议进行双向交互,使小车和机械手实现协同控制[6]。

图2 小车控制系统结构迹

2.2 电机驱动电路设计

直流电机驱动采用SGS公司专用H桥集成芯片L298,其输出电流为2A,最高电流为4A,最高工作电压为36V,可通过直接调节输入电源控制输出电压[7]。系统采用5V电源为芯片提供工作电压,以驱动车轮旋转。对应接口电路如图3所示。其中,IN1和IN3为PWM驱动信号输入端;IN2和IN4为转向控制输入端,高电平时正转,低电平时反转;1Y1,1Y2和2Y1,2Y2为控制输出端,分别接驱动电机两端。IN1~IN4引脚分别与主单片机相应I/O口相连,通过主单片机控制L298芯片的输出,来驱动两直流电机而实现小车行走。

图3 L298芯片接口电路

2.3 传感器

系统将4个TCRT5000反射式红外光电传感器用于检测路径,且呈弧形间隔布置在小车底盘前部。传感器分布如图4所示,黑色区域表示小车路面行驶轨迹。小车运动时,红外传感器不断向地面发射红外光。当红外光遇到浅色地面时发生漫反射,红外接收管会接收到反射光,则会导通光电三极管;当红外光遇到黑线轨迹时将被吸收,接收管无法接收到反射信号,三极管处于截止状态。故利用红外传感器输出状态就可判断出小车相对于轨迹的位置。对应的检测电路如图5所示。

图4 传感器分布

图5 路径检测电路

同时,在每个直流电机输出轴外侧安装2个A3144霍尔传感器,电机输出轴尾部固定一个磁铁,以实现对电机转向及实时转速进行检测。每次磁铁转过来靠近霍尔传感器时便产生1个脉冲信号,由于采用了齿轮减速组,最终车轮每转1圈会产生60个脉冲信号。将此脉冲信号送入单片机脉冲累加器的外部引脚,经过换算便可计算出小车实际速度,从而反馈给PID控制环节。由于磁铁先后经过2个霍尔传感器,故利用2路脉冲信号的相位差便可以判断出电机的转动方向。

2.4 单片机对机械手的运动控制

机械手为了实现自动布锥,必须完成4个动作:机械爪抓取并夹持路锥→机械臂转动至车旁路面→机械爪松开→机械臂归位。系统机械手采用从单片机STC10F08XE为核心控制器,通过串口接收主单片机指令后控制舵机,完成抓取、搬运和放下路锥等动作。

舵机是一种位置伺服的驱动器,适用于需要角度不断变化并保持的控制系统。舵机控制信号由输入通道进入信号调制电路,获得一个直流偏置电压,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。该电压差输出到电机驱动芯片决定电机的正反转,同时带动电位器旋转,直到电压差为零,电机停止转动。

系统采用MG995舵机,该舵机控制采用周期为20ms的PWM信号,当PWM占空比改变时,舵机转轴的角度发生改变,角度变化与脉冲宽度的变化成正比,脉宽为0.5~2.5ms,分别线性对应着0°~180°的位置。由于舵机在运行过程中要从电源吸纳较大的电流,若舵机与单片机控制器共用一个电源,舵机会对单片机产生干扰而产生抖舵现象。在此,舵机与单片机控制器采用2个电源供电,两者不共地,通过光耦隔离,并且机械手运动控制采用单步控制方式,以保证其运动的稳定性。

3 系统软件设计

系统软件包括小车的主单片机运动控制和机械手的从单片机运动控制。两单片机之间通过串口进行通讯,以确保小车底盘循迹和机械手抓放物体等动作能够协调完成,从而实现机器人自动布放路锥的全过程。软件设计基于Keil C51进行。

3.1 小车运动控制策略

小车循迹功能由前端4个反射式红外光电传感器来实现。现将中间2个定义为第1级转向控制传感器,外侧2个定义为第2级转向控制传感器。小车前进时,黑线始终保持在2个第1级传感器之间,此时小车处于高速直行状态。当小车稍微偏离黑线时,第1级传感器会检测到黑线,这时单片机会根据检测到的状态对小车的轨迹稍作纠正,使黑线重新回到第1级传感器之间。第2级传感器作为第1级的补充,是为了防止小车由于惯性过大而导致的小车偏离轨迹程度过大,因此当第2级传感器检测到黑线时,单片机会对小车轨迹做出较大纠正。小车具体控制策略如表1所示[8]。

表1 小车控制策略

3.2 电机转速PID调节

电机驱动是机器人小车前进的动力,对电机速度控制的好坏,直接影响到小车运行的稳定性和快速性。在此,电机转速调节采用增量式PID控制算法。在连续系统中,模拟PID控制器是一种线性调节器,其微分方程为:

KP为比例增益;TI为积分时间常数;TD为微分时间常数;u(t)为控制量;e(t)为偏差。将模拟PID控制器数字化后,可得到增量式PID算法为:

3.3 小车与机械手的协同控制

主、从单片机之间双向通信必须实时可靠:小车在规划好的路径上循迹行驶,在遇到4个传感器都检测到黑线的情况时自动停止,这意味着已到达布锥位置,主单片机立即给从单片机发送指令,以改变3个舵机相关转动参数,使3个舵机协调配合以完成机械手预定动作。主、从单片机协同控制流程如图6所示。

图6 主、从单片机协同控制流程

主、从单片机之间采用自定义通讯协议[9]。如主单片机发送给从单片机代码为“#03A70!”,其具体含义如下:“#”代表双单片机之间的握手指令开始;“03”代表3号舵机;“70”表示舵机旋转70°;“!”代表该握手指令结束。机械手完成动作后,会回到初始位置,并且从单片机通过串口给主单片机发送约定好的握手信号“00”,即要求小车继续循迹前行。直到下一次4个传感器都检测到黑线轨迹为止(开始下次布锥)。

4 结束语

对布锥机器人小车进行了大量的测试,主要包括机械本体测试、系统硬/软件测试、联调测试以及各项控制参数的确定等,经过反复调试与优化,该装置可成功模拟路锥自动布设的全过程,达到了设计预期。实验表明,机器人小车本体结构简单、控制系统工作可靠、运行效果良好,可实现小车行走与机械手动作的无缝衔接。尤其是车载机械手结构设计及双单片机之间的协同控制具有一定的创新性,系统的设计方法对实际道路的布锥自动化也具有一定参考价值。

[1]朱文天.交通工程新设备:路锥摆放与回收[J].交通世界(建养.机械),2011,(10):50-51.

[2]Skog I,Handel P.In-car positioning and navigation technologiesa survey[J].IEEE Transactions on Intelligent Transportation Systems,2009,10(1):4-21.

[3]曹卫华,吴 敏,桂卫华.Mirosot足球机器人小车控制器设计与开发[J].哈尔滨工业大学学报,2004,36(7):864-866.

[4]李新科,高 潮,郭永彩.基于语音识别和红外光电传感器的自循迹智能小车设计[J].传感器与微系统,2011,32(12):105-108.

[5]赵淑娟,周 忆,王亚斌.斜拉桥缆索检测机器人结构设计与运动仿真[J].现代制造工程,2011,(10):75-78.

[6]任卫东,杨 杰,华 蕊,等.一种基于双单片机控制的智能存取机器人[J].制造业自动化,2007,29(6):44-47.

[7]宋 健,姜军生,赵文亮,等.基于单片机的直流电动机PWM 调速系统[J].农机化研究,2006,(1):102-103.

[8]黄大志,周庆贵,刘明芹,等.三轮移动机器人直线行进数字PID 控制的研究[J].微计算机信息,2009,25(35):199-200,213.

[9]李 阳,黄石生,陆沛涛,等.双丝脉冲熔化极气体保护焊的数字化协同控制[J].华南理工大学学报(自然科学版),2006,34(2):22-26.

猜你喜欢

舵机机械手小车
大车拉小车
自制小车来比赛
含齿隙弹载舵机的全局反步模糊自适应控制
刘老师想开小车
两轮自平衡小车的设计与实现
基于dsPIC单片机的飞艇舵机控制实现
基于粒子群迭代的一种冗余机械手逆解算法
基于高速同步485总线通信的多通道舵机控制器设计
搬运机械手PLC控制系统设计
基于ADAMS与MATLAB的机械手控制系统仿真研究