基于单片机的搬运机器人设计

2020-12-10 07:22王志秦左皓家
唐山学院学报 2020年6期
关键词:稳压舵机手柄

王志秦,左皓家

(唐山学院 智能与信息工程学院,河北 唐山 063000)

0 引言

随着工业智能化的迅速发展,机器人应用越来越广泛,可以代替人类从事物料搬运、电气焊接、流水线及危险环境作业等工作。传统搬运机器人多采用固定式或轮式平台。固定式平台的机器人不能自主移动,阻碍了机械手臂向多功能方向的发展[1];轮式平台的机器人只能工作于平坦地形,工作空间受限。本文设计的搬运机器人由六自由度机械臂和履带式移动平台两部分构成。其中,六自由度机械臂比普通的机械臂更加灵活,所能够达到的可控角度更大;履带式移动平台与传统的轮式移动平台相比更适应复杂的操控地形,与足式移动平台相比也具有更快的移动速度。以单片机作为该搬运机器人的主要控制单元,应用嵌入式技术、无线通信技术和PWM波脉宽调制技术,对机器人进行无线操控以及使其实现对物体精准定位和抓取的功能。

1 系统的整体设计

该搬运机器人以STM32为主控芯片,硬件平台部分采用TBSN-K15和TBS-K20两种数字舵机,以及JGB37-520直流减速电机、AMS1117低压降稳压器、RZ7886电机驱动电路芯片、PlayStation2(PS2)无线遥控等模块。通过PS2无线手柄连接主控芯片,使用手柄上的摇杆与按键分别控制搬运机器人的移动平台和机械臂的运动,实现搬运机器人的运动与机械臂的抓取动作。

系统整体组成框图如图1所示。

图1 系统整体组成框图

2 搬运机器人的结构设计

该机器人选用关节型机械臂。关节型机械臂是一种仿生机械臂,依照人类手臂可以分关节弯曲灵活工作的特点进行设计。现阶段关节型机械臂多为六轴或四轴,也称为六自由度和四自由度,机械臂的自由度越大,机械臂工作的灵活性越高,实践证明,当机械臂为六自由度时能够实现精准定位和抓取。机械臂结构包括基座、手臂、手腕和夹持器。机械臂的连接用到了多个合金支架,并使用螺丝将基座、手臂、手腕、夹持与舵机相连接,这样通过控制器对每个舵机的控制达到搬运物品的目的。机械臂结构示意图如图2所示。

图2 机械臂结构示意图

使用两个直流电机分别对履带式移动平台左侧和右侧主动轮进行控制,以实现移动平台前进或后退、左转或右转、左前转或右前转。通过PS2手柄两侧摇杆控制移动平台两侧电机的速度实现移动平台差速转弯,使移动平台更加稳定、灵活。

3 系统硬件设计

系统采用基于ARM Cortex-M内核STM32系列的32位STM32F103C8T6控制芯片,该芯片有64 kB的程序存储器,工作电压为2~3.6 V,内部有4个定时器,包括3个通用定时器和1个高级定时器,多个定时器的存在使它能够产生多路PWM波,从而实现对多个舵机的控制[2]。图3为STM32最小系统原理图。

图3 STM32最小系统原理图

机械臂选用TBSN-K15和TBS-K20两种数字舵机。TBSN-K15数字舵机具有防堵转保护和耐烧特性,该舵机安装于机械臂前端夹持器部位,可控角度可以达到180°;TBS-K20数字舵机的可控角度可达270°,扭力可达20 kg/cm,具有优良的线性度。这两种型号的舵机都是由电源、地线、信号线三根线进行控制。舵机的工作原理是:控制信号由接收机通道进入信号调制芯片而得到直流偏置电压,舵机内部的基准电路产生周期为20 ms,宽度为1.5 ms的基准信号,将获得的直流偏置电压与电位器的电压比较,产生的正负电压差使舵机正反转动。图4为舵机电路设计图。

图4 舵机电路设计图

系统以RZ7886芯片作为电机驱动模块,该模块为双向马达驱动电路,通过两个逻辑输入端子来控制电机的前进、后退和制动。RZ7886电路具有低输出饱和压降和静止电流,有良好的抗干扰性,芯片内置钳位二极管,可逆转感应负载电流释放的影响。系统供电总电源为7.4 V锂电池,稳压电路分为3个模块:舵机稳压模块、5 V稳压模块和3.3 V稳压模块。舵机稳压模块通过可调稳压电路的电位器旋钮将输出电压调节至6 V左右为舵机供电;5 V稳压模块和3.3 V稳压模块通过AMS1117-5.0V和AMS1117-3.3V两块稳压芯片为其他模块供电。AMS1117稳压器为低电流、低压降稳压器,具有内部集成过热保护和限流电路,精度为1%。

无线遥控模块是搬运机器人的“指挥者”。系统采用现阶段应用较广泛的PS2手柄来进行遥控,该遥控模块采用2.4 G无线遥控技术,控制距离可达20 m[3]。将接收器与单片机相连,实现手柄与单片机数据信息之间的传递。PS2手柄与接收器共包含9个引脚:除引脚3和引脚8悬空外,引脚1为DAT数据引脚,与单片机37引脚相连,负责信号数据的交流,由手柄将信号数据传递给主机,该信号数据是一个8位的串行数据,在时钟下降沿触发完成数据的传送和读取;引脚2为CMD数据引脚,负责信号数据的交流,但与DAT口的功能是完全相反的,该信号数据由主机传递给手柄,也是一个8位的串行数据,在时钟的下降沿同步触发传送数据;引脚4接地;引脚5与电源相连,工作电压为3~5 V;引脚6为ATT引脚,与单片机33引脚相连,提供手柄的触发信号;引脚7为CLK引脚,与单片机32引脚相连,用于保持数据的同步;引脚9为ACK引脚,是手柄与主机的应答信号。PS2手柄接口电路设计图如图5所示。

图5 PS2控制手柄接口电路设计图

4 系统软件设计

4.1 系统总体设计

系统主控板由主程序控制,程序在运行前首先将各个模块和所有用到的芯片进行初始化设置,包括配置时钟初始化、配置I/O口初始化、PS2无线遥控初始化以及各个定时器的初始化。在主控电路中配置了通过改变占空比来进行脉宽调制的PWM模式定时器。主程序流程图如图6所示。

图6 主程序流程图

4.2 定时器配置程序设计

定时器的初始化需要配置函数void setup_dj_timer(void),用此函数配置一个向上计数的PWM波输出,通过定时器1使能了通道1作为TIM2;同时也通过定时器2使能了通道2作为TIM3;通过OCx输出一路PWM波。定时器配置流程图如图7所示。

图7 定时器配置流程图

4.3 GPIO电平反转程序设计

GPIO电平反转程序是用来控制舵机的正转和反转的,所用函数为void tb_gpio_init(void),它通过switch语句中12个不同分支的case语句中的每两句来对一个舵机的电平状态进行控制,当舵机当前占空比的数值传递给定时器中的预装载值时,通过PS2手柄上的按键来改变占空比,使与之对应的舵机产生相应的转动,以这种方法来控制各个舵机,进而实现机械臂搬运物体的目的。GPIO电平反转流程图如图8所示。

图8 GPIO电平反转流程图

4.4 无线通信模块程序设计

无线通信模块的运行程序首先要对各个端口进行初始化。主板与手柄之间的通信使用void setup_ps2(void)函数,并对PS2手柄进行初始化的设置,因为PS2手柄分为红灯与绿灯两种工作模式,本次设计使用的是红灯工作模式,所以需要对手柄的工作模式进行判断,当确认是红灯的工作模式后,void loop_ps2_data(void)函数循环读取手柄数据,通过对比两次按键值是否相同来判断是否产生动作。无线通信模块流程图如图9所示。

图9 无线通信模块流程图

5 结论

本文进行了基于单片机的搬运机器人的硬件设计和软件设计。通过对搬运机器人机械臂和移动平台的安装及调试,完成了搬运机器人的测试。

经实验测试,通过无线手柄能够有效控制搬运机器人机械臂和移动平台的运动。无线手柄的最远控制距离为20 m,机器人运动速度最高可达0.5 m/s,机械臂的夹持器部位舵机扭矩为15 kg/cm,可控角度为180°,其他关节部位舵机扭矩为20 kg/cm,可控角度为270°,机械臂的直线方向可抓取范围为520 mm,举重能力为0.27 kg。系统实现了对物体的准确定位和抓取,而且工作稳定、可控角度大、移动速度快、灵活性高,具有一定的实用价值。

猜你喜欢
稳压舵机手柄
洋马高速插秧机株距调节方法
一种多功能无线手柄的设计
基于dsPIC单片机的飞艇舵机控制实现
超音速舵机保护器
太阳能直流稳压稳流电源的制作与调试
基于迟滞比较器的双阈值稳压供电控制电路
石油化工企业稳高压消防水系统中稳压设施的设置探讨
菜鸟看模型
为什么厨具的手柄不是金属的?
银行家