关键词:舞蹈机器人;单片机;舵机控制;PWM波
Abstract: This paper mainly introduces the design of the control system of the dance robot based on the enhanced 51-chip microcomputer. The whole design mainly introduces the mechanical structure, function and technical requirements, the hardware design and the software design of the dance robot. In the aspect of hardware design, an enhanced 51-chip microcomputer is used as the control core, the digital steering engine is selected as the connection of the robot joint, and a series of actions such as the advance, the backward and the rotation of the robot are realized by the software writing the PWM wave control program.
Key words: Rescue robot; Single chip microcomputer; Remote control; Real-time video acquisition.
1 引言
远工业革命发展至今,机器人已经逐渐进入了人们的生活,其中舞蹈机器人是典型的高科技机电一体化产品,现在已成为现在不少人研究的对象,而且也成为人们娱乐休闲的新方式。
本文设计了一种舞蹈机器人控制系统,通过增强型51单片机用来实现6个舵机对机器人关节的控制,从而实现舞蹈机器人的运动,当然不仅仅是简单的前进、后退、旋转等简单的动作,还有一些空翻、劈叉等高难度动作。
2 总体方案设计
舞蹈机器人舵机自由度分配如图1所示,1,2号作为机器人的髋关节,3,4号作为机器人的膝关节,5,6号作为机器人的踝关节。舞蹈机器人控制系统总体方案设计主要分为两个部分,硬件设计和软件设计。在设计硬件电路时,基本设计原则是改善系统集成,减小控制系统的大小,尽可能地降低成本。而在软件设计方面,选用较为先进的ZIDE人机控制界面软件。在这个友好人机界面可以设置各种参数和数据,也可以设置舞蹈机器人的各种运动方式。最重要的是这个软件比较容易调整误差,也方便后期的程序维护。
图1 舵机分配图
3 系统硬件设计与实现
硬件设计可以说是整个舞蹈机器人控制系统设计的最基本的部分,它设计的好与坏将影响到舞蹈机器人的性能。本次设计的舞蹈机器人控制系统主要包括五个模块:CPU控制模块,舵机控制模块,电源模块,显示模块,按键模块。
3.1 CPU控制模块
CPU是整个机器人控制系统的核心部分。所以,选择性能高的CPU非常重要。考虑到机器人的大小,重量,能耗,价格等各方面因素,选择性能相对突出,价格又合适的CPU芯片作为本次设计的选择——增强型51单片机,它的优点就是兼容性强,与那些传统的51单片机完全兼容。此外相比于普通的51单片机,它还增加了向下计数和时钟计数功能。12C5A60S2增强型51单片机引脚图如图2所示。
图2 单片机引脚图
3.2 舵机控制模块
选舵机是机器人的重要组成部分,它的控制方式很简单,就是单片机的I/O端口发送脉冲信号来进行控制,然后通过改变占空比可以控制舵机旋转的角度。这里选择的是ZX361D数字舵机,查阅资料可知,它的信号周期T为20ms,脉冲信号1.5ms的方波信号就是它的基准,单个舵机接口如图3所示。
图3 舵机接口模块
3.3 电源模块
舞蹈机器人选用的ZX361D数字舵机的电压范围是4.8V-7.2V,空载电流为120mA。通过查阅资料可以得知,这款舵机最稳定的工作电压是6V,为了舵机的高效运转,电源模块选用7.4V,2200mAh的充电型锂电池,对于整个设计电路的电源模块,采用对舵机和控制板分开供电的方式,以此保持舞蹈机器人的稳定运行。
3.4 显示模块
在本次舞蹈机器人设计中,选用发光二极管作为显示模块,用于舞蹈机器人的动作提示,电路图如4所示。
图4 显示电路
3.5 按键模块
在整个控制系统中选择按键作为按键模块,用于选择舞蹈机器人执行的各种动作,电路如图5所示。
图5 按键模块电路图
4 系统软件设计
在整个舞蹈机器人控制系统中,控制任务是由程序决定的。远程排爆救援机器人控制系统软件功能设计流程图如图6所示。
图6 系统程序流程图
程序设计可分为多个模块分别编写,舞蹈机器人软件部分包括两个子程序模块,一个是定时器中断模块,另外一个是舵机控制模块。
4.1 定时器中断模块
舵机的工作原理是改变单片机里定时器中断的值来改变它的脉冲信号,这样的话就可以改变舵机的旋转方向和角度。选择的舵机型号为ZX361D,它的脉冲范围为0.5ms-2.5ms,旋转角度是0-180°。这个定时器模块的作用就是为了让一个定时器控制多个动作,这样既节省了设计费用,又提高了机器人运动的效率。
4.2 舵机控制模块
舞蹈机器人运行最依赖的部分就是舵机的运行,对舵机控制是至关重要的。要想控制好多路舵机,要先掌握控制单个舵机的方法。控制单个舵机的主要程序如下所示:
void main()
{
P2M1=0;
P2M0=0XFF;
Timer_Init(); while(1)
{
PWM1_Width=500;
delay(1000);
PWM1_Width=1500;
delay(1000);
}
上述程序的作用是通过给舵机发送脉冲信号,从0.5ms到2.5ms,角度从0°到180°。让舵机可以在0-180°自由旋转,使得机器人完成相应动作。
5 系统测试
通过按键对舞蹈机器人进行控制,控制舞蹈机器人做后仰动作,各个舵机脉宽数据如下所示,实物如图7所示。
{1780,693,1907,600,1884,2162}←→{106.8o 41.6o 114.4o 36o 113o 129.7o}
图7 后仰测试图
{1177,1269,961,1590,1884,2162}←→{70.6o 76.1o 57.7o 95.4o 113o 129.7o}
不同的按键控制不同的动作,每个动作都有其相对应的脉宽数据。其对应关系如下所示。
舞蹈机器人做出踮脚动作:
{1500,930,1500,1053,1916,2160}←→{90o 55.8o 90o 63.2o 115o 129.6o}
{1484,930,1516,992,2254,1762}←→{89o 55.8o 91o 59.5o 135.2o 105.7o}
舞蹈机器人做抬左腿动作:
{1516,992,1516,1084,1884,2070}←→{90.9o 59.5o 90.9o 65o 113o 124o}
{1484,1300,1669,1484,1792,2100}←→{89o 78o 100.1o 89o 107.5o 126o}
舞蹈机器人做抬右腿动作:
{1547,961,1453,1116,1854,2223}←→{92.8o 57.7o 87.2o 66.9o 111.2o 133.4o}
{1177,992,1053,930,1884,2193}←→{70.6o 59.5o 63.2o 55.8o 113o 131.6o}
舞蹈机器人做出前倾动作:
{1500,930,1500,1116,1884,2162}←→{90o 55.8o 90o 66.9o 113o 129.7o}
{1823,653,1947,561,1884,2162}←→{109.4o 39.2o 116.8o 33.7o 113o 129.7o}
6 结束语
本文设计并实现了一种舞蹈机器人,采用增强型51单片机为CPU芯片,选用多个数字舵机连接舞蹈机器人关节,完全可以高效的完成前进、后退,选择等一系列动作。
如今工业化的迅速发展,人们就会发现身边的机器人科技越来越多,而且不像以前那样遥不可及。像舞蹈机器人这种娱乐性质的机器人未来会越看越收到市场重视,成为人们新的解压放松方式。
参考文献:
[1]李小清. 多自由度可控码垛机器人机构的运动分析与仿真[D]. 广西:广西大学, 2013.
[2]陈汝全. 微机与单片机接口及应用[M]. 成都:电子科技大学出版, 2006.
[3]刘歌群. 用单片机产生7路舵机控制PWM波的方法[J]. 机械与电子, 2004, (2):76~78.
[4]刘甘娜. 微机原理及接口技术[M]. 西安:西安交通大学出版社, 2006.
[5]谢自美. 电子线路设计[M]. 湖北:华中理工大学出版社, 2012.
[6]赵景山, 褚福磊著. 机器人机构自由度分析理论[M]. 北京:科学出版社, 2009,91-111.
[7]俞阿龙. 传感器原理及其应用[M]. 南京:南京大学出版社, 2010.
[8]俞国燕. 双足步行机器人的下肢机构设计[J]. 机电产品开发与创新, 2008, 21(1):31-32.
[9]刘海波, 付岩. 智能机器人神经心理模型[J]. 控制理论与应用, 2006, 23(2):175-180.
共0条 [查看全部] 网友评论