重要通知
《科学技术创新》版面紧张,请大家踊跃投稿。投稿邮箱 :kxjscx@kxjscxzzs.com
科学技术创新期刊信息

主管单位:黑龙江省科学技术协会

主办单位:黑龙江省科普事业中心

编辑出版:《科学技术创新》杂志社

国际标准刊号:ISSN:2096-4390

国内统一刊号:CN:23-1600/N

期刊级别:省级刊物

周   期: 旬刊

出 版 地:黑龙江省哈尔滨市

语  种: 中文;

开  本: 大16开

邮发代号 :14-269

投稿邮箱 :kxjscx@kxjscxzzs.com

在线编辑QQ :959914545

基于Arduino的步进电机教学机械手

时间:2020-02-25  点击:740


       

顾頔 韩鑫

摘 要:使用Arduino Uno开发板、6个步进电机、HC-05蓝牙模块等部件设计了用于教学的机械手及其控制系统。该机械手能接收蓝牙遥控器和PC机的命令,控制步进电机实现6个自由度的运动。旨在为相关专业学生创造一多功能演示教具,可提高学生对机械手结构的了解并增强单片机运用方面的能力。同时该机械手的高度模块化与柔性化也鼓励学生进行自主创新。

关键词:机械手 步进电机 Arduino 蓝牙

中图分类号:TP241 文献标识码:A 文章编号:1672-3791(2019)02(b)-0090-02

Abstract:Robots and control systems for teaching were designed using components such as the Arduino Uno development board, six stepper motors, and the HC-05 Bluetooth module. The robot can receive commands from the Bluetooth remote control and the PC, then control the stepper motor to achieve 6 degrees of freedom of motion.We aim to create a multi-functional presentation aid for relevant students, which can improve students' understanding of the structure of the robot and enhance the ability of the microcontroller.At the same time, the robot's high degree of modularity and flexibility also encourages students to innovate independently.

Key Words: Robot; Step motor; Arduino; Bluetooth

隨着社会的不断进步,尤其是机械技术和自动控制技术的发展,现代工业机器人逐渐取代了传统的手工劳作,把我们从一些机械化的、重复性的劳动中解脱出来[1]。工业机器人可以直接接受人们的指令,也可以按照程序方程式自动运行,实现生产过程的自动化,大大提高了我们的生产效率。同时,Arduino作为开源系统,具有很多优点:源代码和电路原理图开放,程序接口可以免费下载;易于与其他电子元件、传感器、扩展板或机械结构等结合起来,组成智能设备等,适合初学者使用。综上所述,我们设计的这一演示教具希望能够同时促进学生对于机械手和单片机的学习和掌握。

1 功能结构

该机械手主要用于教学示范用具,如图1所示,意在向学生展示机械手的运动方式、控制方式、电路结构、软件程序等。此次设计机械手具有以下功能。

(1)可以实现实现手爪的张开、合并、抓取物体、捏和握等基本动作,达到基本的要求。

(2)结构可以充分体现出机械领域的专业知识。

(3)作品美观大方。在具有相应功能的同时还具有一定的观赏价值和娱乐价值。

模型选择3D打印制造,既方便快捷,也便于同学们DIY各式零部件进行替换。一根机械手爪可视作三连杆机构,主要由3个转动副组成,每个转动副转动范围约为90°。为了保证机械手运行流畅,能够保证工作在各个位置时的稳定性,并且提供一定的力矩,故在各转动副中加入一扭簧。采用的传动方式是机械传动中的绳索传动。绳索传动最大的特点是在给对象施加拉力的同时,可以给一个固定的位置一个相应的推力,使得机械手指的力矩就作用在自身的转动副上,而不是相邻的指节或者根部的指节。绳索传动依靠动力装置牵引内部绳索的抽动,用绳索的抽动带动指节的运动,可以在较为狭窄的地方提供较大的力。在各指关节中布置通孔,传动绳索通过其中并固定,与动力元件相连,从而带中各关节的运动。为了保证传动部分不受干扰,故绳索布置在机械手内部,同时动力装置适当远离机械手,从而保证可靠性[2]。

由于机械手承受载荷较小,转速小时稳定性较好,为了满足此次设计的要求,采用电机驱动当中的步进电机驱动。步进电机是一种常用的控制电机,又称为阶跃电动机或者是脉冲电动机。它的基本工作原理是,根据输入的脉冲信号确定内部励磁线圈的状态,使得转子固定在与通电励磁线圈相同的方向上,当输入信号的状态发生改变,则内部励磁线圈的状态亦发生改变转子也转到相应的方向,使得步进电机的输出轴发生转动,同时,若步进电机的输入信号有规律的改变,则输出轴也会按照预定的方向发生转动,是一种较为理想的控制电机[3]。通过控制步进电机输入脉冲,可以实现对步进电机输出角度的精准控制。

2 电路系统

为控制步进电机按要求进行转动,此次实验选择将步进电机位置的模拟量转化为数字量,通过加减控制字,从而控制步进电机转动,最终达到预定位置。每次得电时电机的位置初值设为4096,转动时控制字改变量为16,电机转动。计算过程如下。

由于电机采用四相四拍驱动,步距角为5.625°/64,控制字每改变1,电机得到整个周期4个脉冲。

由于机械手呈完全对称性,研究人员本打算设计成相对的两爪指节的驱动电机由同一输出口控制,这样既能保证机械手工作时的一致性,也减少了对输出口数量的要求,简化了设计要求。但是实际操作后发现,由于误差累积,很难保证机械手的对称性,故此最终还是选择分别控制6个关节。由于每个关节由步进电机驱动,需4个输入端口,共计24个输入端口,而Arduino板IO端口不足,故需通过74hc238译码器进行IO端扩展。

此次实验采用的步进电机为四相电机,由于端口电压不足需通过ULN 2003芯片驱动。将电机与芯片相连后,芯片的4个输入端就相对应于电机四相定子,只需按通电顺序依次给通电,即可实现电机的转动。

3 程序设计

Arduino语言是用C开发环境编写的,从根本上来讲,它就是一些基本的C语言。Arduino语言之所以受欢迎的原因在于它通过函数把一些相关的功能封存了起来,使得我们不需要去学习最基本的理论,而是直接使用它,大大降低了它的使用門槛,这样一来,即使是非电学专业的学生,只要经过短暂的学习,也可以利用它制作一些有趣的小玩意。

总体的功能分为3部分:数据接收、数据处理和脉冲输出。

数据接受部分:利用手机蓝牙发送控制信号。使用Serial.available()指令可接收和判断手机发送的信号,因此需要首先规定输出的各种信号对应的功能。在此,选择十六进制数0-B分别对应6个电机的正反转,以此为依据编写控制程序,并在手机端预先设置开关和备注名称。

数据处理部分:根据接收到的信号进行运算,按运算结果调用正反转程序,实现电机功能。

脉冲输出部分:按照四相八拍通电方式按序设置对应引脚为高或低电平,每个脉冲输出时间为2ms[4-6]。

4 控制软件

由于蓝牙通讯在短距离交换是较为稳定,同时拥有较为成熟的接收模块,所以控制部分主要选择依靠蓝牙遥控实现,具体如下。

在使用该模块前,需按要求先进入AT模式对其进行初始化设置。全部设置完毕后再次通断电,蓝牙模块指示灯快速闪烁,表示模块进入正常工作状态。

蓝牙模块设置完毕口,在手机端下载蓝牙串口APP与其联接。这样就可以通过手机发送各种数据给蓝牙模块,达到通信控制功能。在后续实验中,为避免占用电机IO口,蓝牙模块TXD,RXD接脚分别接Arduino板0,1口;需要注意的是,上传程序时,需先将此接线断开,避免占用导致上传失败。程序上传完毕后,再将此接线连上蓝牙才能正常工作。在蓝牙部分,我们还加入更多模块化功能,同时预留一定的修改、自由改动空间,有利于学生自主学习发挥[7-9]。

5 结语

该文主要描述了一种基于Arduino的演示教学机械手设计方案。该机械手主要优点在于模块化、柔性程度较高,便于学生在掌握基础的情况下自主进行多样化设计。该文基于科研训练项目,在创作过程中我们本身也受益匪浅。

参考文献

[1] 刘广明.PRRR机械手机构分析及运动实现的研究[D].沈阳工业大学,2013.

[2] 许洪基.现代机械传动手册[D].北京:中国标准出版社,1997.

[3] 杨继志,郭敬.Arduino的互动产品平台创新设计[J].单片机与嵌入式系统应用,2012,12(4):39-41.

[4] 孙宏伟,肖正洪.开源硬件Arduino UNO的原理与应用[J].新校园,2013(9):45.

[5] 付久强.基于Arduino平台的智能硬件设计研究[J].包装工程,2015(10):76-79.

[6] 李明亮.Arduino项目DIY[M].北京:清华大学出版社,2014.

[7] 蔡睿妍.Arduino的原理及应用[J].电子设计工程,2012,20(16):155-157.

[8] Oxer, Jonathan. Practical Arduino [M].Berkeley, CA : Apress,2010.

[9] Evans,Brian.Beginning Arduino Programming[M].Berkeley, CA:Apress,2011.


本文由: 科学技术创新杂志社编辑部整理发布,如需转载,请注明来源。

科学技术创新杂志社

2020-02-25

上一篇:核电厂应急柴油发电机组1E级励磁系统设计探究
下一篇:汽车自动变速器AT油液保养工艺研究