基于ATMega16单片机的体操机器人控制系统设计

2020-02-22 03:10汪倩倩汤煊琳
现代信息科技 2020年17期
关键词:电机单片机

汪倩倩 汤煊琳

摘  要:体操机器人是一种娱乐性质的机器人,它可以完成高难度的体操动作,受到越来越多人的喜爱。系统完成了一种基于ATMega16单片机的体操机器人控制系统。首先对体操机器人要完成的动作进行编程,送到ATMega16单片机,单片机对传输过来的数据进行处理,接着发出控制信号,驱动十个电机旋转,完成一系列体操动作。其具有待机时间长,成本低,体操动作调试灵活方便等特点,具有一定的应用价值和市场前景。

关键词:体操机器人;单片机;电机;机器人控制系统

中图分类号:TP242      文献标识码:A 文章编号:2096-4706(2020)17-0041-03

Abstract:Gymnastics robot is a kind of recreational robot,it can complete the difficult gymnastics movement,and it is more and more popular. The system completes a gymnastics robot control system based on ATMega16 MCU. First of all,the movement programming of gymnastics robot was sent to the ATMega16 MCU,and then ATMega16 MCU sends control signals,drives ten motors rotation,complete a series of gymnastics. It has the characteristics of long standby time,low cost,flexible and convenient gymnastics movement debugging,which has certain application value and market prospect.

Keywords:gymnastics robot;single chip microcomputer;motor;robot control system

0  引  言

體操机器人属于一类娱乐性质机器人,同时也是江苏省的机器人大赛和中国工程机器人大赛的指定项目。为了在比赛中脱颖而出,提高机器的速度,减少功耗,延长待机时间,在尽量短的时间内完成比赛要求的一系列指定动作,本人与智能工程学院机器人团队成员不断对体操机器人进行研究,改进,由团队老师完成硬件设计,团队学生完成软件编程,安装调试。通过改进,无论是在体操机器人的硬件结构上,还是软件编程上,都在不断进步,该系统完成了一个基于单片机的体操机器人控制系统设计,通过单片机控制舵机协同工作,实现了以低成本完成高要求的智能化设备控制要求[1]。

1  系统概述

体操机器人以ATMega16单片机[2]为核心,具有十个自由度[3],控制十个舵机动作,协同完成体操的一套动作:准备动作、翻滚动作、俯卧撑动作、侧身翻动作、倒立动作以及自编动作个动作,这六个动作也是江苏省机器人比赛中所要完成的任务,每个动作都需要对各个电机进行很多次调试,完成相关动作。做完所有的动作回到起步区,在此过程中体操机器人所做的动作不能超出表演区,这样才符合比赛规则,为一套标准的体操动作。

2  系统硬件设计

该系统采用TA8435驱动电机,使用低功耗8位高性能ATMega16单片机控制电机运行。低功耗8位高性能的单片机可以在一定程度上节约电量,让体操机器人的电压更稳定,做起体操动作更加的流畅。系统框图如图1所示。

2.1  结构设计

体操机器人的结构分为三大部分:舵机控制板、十个舵机、其他固定件脚板支架、短U支架等。在体操机器人的结构构造方面,采用仿人形的机器结构,双臂、腿部以及身体各用2个舵机,构成了体操机器人的基本框架。其他固定件,作者决定采用轻质铝合金材料,不仅加强了机械本身的硬度,更减轻了质量。与传统的材料相比,不仅是在材料的性能上有所提升,其价格也是比较低的。铝合金通过表面处理,具有一些特殊的纹理效果,采用轻质铝合金的优点有:首先,使用轻质的铝合金制成不同的模块,根据不同的需求设计成不同的形状;其次,与传统的材料相比,它不会锈化,后续使用成本低廉,维护方便;再次,安装方便——由于重量轻,安装轻便,做起动作省力,所以也能耗降低了,使得待机时间更长。

2.2  控制板设计

根据体操机器人对动作的要求,针对舵机控制电路的核心部件我们使用ATMegal16单片机,作为提供舵机的工作状态的主要器件,负责脉冲信号的产生。驱动电路[4]系统应用先进的TA8435芯片。整个驱动控制系统由单片机与驱动芯片结合,提高了舵机运行时控制精准性和稳定性,舵机控制板支持串口和USB接口、支持蓝牙模块、MP3以及手柄模块。采用RS232通信协议,选用MAX232芯片。由MAX232芯片构成的RS232串口负责与单片机和电脑的通信,波特率设定为9 600 bit/s,1位停止,无校验位。

2.3  供电设计

电源部分是分离设计的,舵机控制板和舵机的供电是分开设计的,由于它们相互独立,在体操机器人做仿人的体操动作时,需要对舵机控制板和舵机进行同时供电。因为舵机和舵机控制板两者的电压各不相同,再同时供电就有了一定的难度,舵机的电压为两种:第一种为6 V,第二种为7.4 V。该系统选择的是7.4 V的电压,这样舵机的扭力更大,做起动作更加流畅,而舵机控制板为5 V电压,故舵机电源和舵机控制板电源,各自独立供电。

2.4  舵机的选型

根据体操机器人动作,性能要求,选用了物美价廉的SR-403P舵机,SR-403P舵机价格便宜,控制速度快,扭力大,控制精度高,转动角度可达180度,能够满足体操机器人控制要求。舵机SR-403P的内部有专门负责接收控制信号的装置,当获得直流偏置电压时,此时的电压会与舵机内部的电位器的电压进行相互比较,再经过简单的运算就会得到一个电压的差值,这个电压的差值有正值也会有负值,输送到电机驱动芯片决定电机的正反转。当获得的直流偏置电压的值与电位器的电压值相同时,此时的舵机就会停止转动。

3  系统软件设计

3.1  程序概况

程序部分是体操机器人系统的灵魂,硬件部分只是作为程序的载体。控制系统采用ROBOIDE编程环境,ROBOIDE有众多模块。由于体操机器人需要做出仿人的体操动作,除了肢体结构设计好,还需要编程仿人动作的编程系统。ROBOIDE的编程动作方便简单,其操作界面也非常的人性化。ROBOIDE最多支持控制32个舵机,该系统体操机器人采用10个舵机控制。体操机器人的结构由于属于仿人形的结构,人类每个可以活动的关节,用了一个舵机进行代替,在编程动作时,为了方便分辨电机代表的关节位置,也为了方便编程仿人的体操动作。编程的操作界面進行了调整。该系统中体操机器人每个手臂使用两个舵机,每条腿部使用两个舵机,身体使用两个舵机的设计。

3.2  电机的控制程序

在单片机控制舵机时,通过软件ROBOIDE的图形界面来进行控制舵机。舵机拉动条数字的范围为500~2 500,其范围对应的是舵机所能转动角度的范围,也就是相对应的0~180度。让舵机转动一定的角度,有两种方法:一种方法是用鼠标拖动你想要转动的舵机的拉动条,一直拉到你所需要的位置。另一种方法就是用数字和角度对应的关系,500~2 500对应0~180度(舵机转动度数),输入相应数值就可以得到相应的角度。例如:当需要一个舵机转动到45度的位置的时候,只需在需要转动的舵机的方框里输入1 000这个具体从数值,然后按下键盘Enter键,就可以得到舵机的角度45度位置。

体操机器人的动作的编程就是将动作放慢分成一帧一帧的图片,用其连续性完成一套动作。对于有些复杂的体操动作,只要将其分解成一帧一帧的图片进行编程就可以解决,分解的图片越多,机器人所做出的动作就越流畅。

3.3  动作编程

一套完整的体操动作是由一个一个的小动作组成的。而每一个体操小动作又是由编程者编程完成的,每一个体操小动作都需要耐心的设置每个电机旋转的角度。本次体操动作设计参照江苏省机器人大赛规则的动作标准来进行编程,具体编程调试工作由作者指导参赛学生编程实现。体操机器人动作总流程图如图2所示。

这些仿人形的体操动作不仅考验机体自身质量的大小和舵机性能的优劣,更加考验机体自身的结构设计以及手臂部分和下肢部分的比例关系是否协调。如果这些条件有一条不符合,体操机器人就很难编程出或者做出这些仿人形的体操动作[5]。情况严重的甚至会对体操机器人的机器造成永久性的损伤。体操机器人的每一个动作又可以进行细分,比如倒立动作是一个连续的动作,可以将这个倒立动作分为8个关键的姿势[6],这些姿势是组成倒立体操动作的关键。根据倒立动作的完成规范,把倒立动作进行分解,流程图如图3所示。

把倒立动作分解为八个姿势后,再对所分解的每个姿势进行编程,以弯腰且双手接触地面为例,图4是体操机器人弯腰双手接触地面图形,图5是弯腰且双手接触地面编程界面。倒立动作的编程就是对分解流程里的姿势,做成一帧一帧的图形,连续起来完成一套动作。分解的姿势越多,机器人所做出的动作就越连贯,完成的越流畅。

3.4  安装调试

安装体操机器人时按照体操机器人的身体,头部,手臂以及腿部顺序安装。安装过程中需要保障各个肢体的安装符合标准,装配的精度合格。在安装舵机时注意舵机绞线的排布,防止在做体操动作时被舵机绞线所缠绕,而对体操机器人造成一定的损伤。由于SR-403P舵机转动范围为180度,所以在安装舵机的时候需要特别留意安装时舵机所处的角度,以及此处关节所需要的活动角度。

调试时,首先将体操机器人的电源开关关闭,用数据线将体操机器人和电脑进行连接,当编程软件出现体操机器人连接的标识时,舵机控制板上的指示灯点亮,在软件界面的选择相对应的串口,选好串口后,进行联机,调试的准备工作就做好了。即可开始对各个动作进行分解,再对每个分解的姿势进行调试,直到各个姿势符合预期标准为止,分解的姿势越多,做出的动作越连贯。每个动作做好了,一整套的动作就会流畅,再整体调试,提高速度直到整套动作的效果令人满意为止。

4  结  论

系统完成对体操机器人的控制系统的设计,通过ATMega16单片机提供脉冲信号,驱动控制舵机旋转,通过ROBOIDE图形化界面对十个舵机进行编程,实现一系列预定体操动作,也可以编程其他的动作,该系统待机时间长,运行可靠,调试动作灵活方便,在2019年江苏省机器人体操比赛中取得了优异的成绩。

参考文献:

[1] 孙成安.体操机器人摆起和倒立平衡的控制研究 [D].哈尔滨:哈尔滨工业大学,2018.

[2] 韩玉龙,赵瑾,申忠宇,等.竞赛机器人多舵机控制方法的研究与实现 [J].自动化仪表,2016(7):46-49.

[3] 郭悦.基于视觉的五自由度运动平台控制系统研究 [D].北京:北京理工大学,2016.

[4] 邢倩,胡现波.用于自由体操机器人的舵机PWM控制技术实现 [J].自动化技术与应用,2019,38(7):65-69.

[5] 孙佳亨,孟晓亮,梁豪,等.基于MEMS传感器的体操动作识别 [J].电子测量与仪器学报,2020,34(3):94-99.

[6] 黄晴晴,周风余,刘美珍.基于视频的人体动作识别算法综述 [J/OL].计算机应用研究:1-8(2019-12-26).https://doi.org/10.19734/j.issn.1001-3695.2019.08.0253.

作者简介:汪倩倩(1980—),女,汉族,江苏徐州人,就职于自动化教研室,讲师,硕士,主要研究方向:单片机、PLC等机电一体化控制技术;汤煊琳(1978—),女,汉族,江苏无锡人,就职于自动化教研室,讲师,硕士,主要研究方向:单片机、PLC等机电一体化控制技术。

猜你喜欢
电机单片机
小番茄发电机
Arduino 入门之步进电机试验
单片机在智能控制中的应用
Sky RC OSPREY穿越机
X2412S多旋翼专用电机
电机Ⅱ个股表现
C8051F020与80C51单片机的异同点
基于ARM—Cortex—M4内核的DSP驱动BLDC的一种方法
单片机I/O口模拟串行通讯的C51实现方法
单片机调试方法的探讨