王临铭,吴晓蕊
(郑州工业应用技术学院 机电工程学院,河南 郑州 451100)
基于单片机的智能类人机器人设计
王临铭,吴晓蕊
(郑州工业应用技术学院 机电工程学院,河南 郑州 451100)
该设计以AT89C51单片机为控制核心。将机器人的机身关节用舵机代替,运用新型的PVC构架相连接。该设计分别从硬件和软件部分对机器人的控制系统进行分析,机器人的硬件部分包括存储模块、舵机的驱动控制模块和防碰撞模块等。软件部分采用分时复用法,运用PWM信号驱动器,对电路进行有机控制,进而完成对类人机器人系统的整体设计,最终制作出符合要求的类人机器人。经实验验证,该系统达到预期的目标。
单片机;控制系统;类人机器人
在传统的教育领域、娱乐休闲行业,机器人尚未普及,因此对类人机器人控制系统的设计进行深入分析和研究,具有较大的社会现实意义。开拓更为丰富的教育模式、丰富人类日常娱乐方式,使其自身更加具有多元化、时代化、科技化和人类智能化,这是该设计对智能类人机器人研究的最终目的。在当下数字时代的发展中,类人机器人不仅可以将与人类行为动作相似的一系列数字进行逻辑和代码记忆,实现文化的有效交流,同时可以满足不同层次人们的需求,进而引起人们的高度重视,激发人们的创造力。[1]
类人机器人所特有的属性是具有较为科学合理和人性化的可行性操作运行系统。该类机器人不仅需要硬件部分来实现最终功能,同时离不开软件部分。特定的机械和控制要求与类人功能的有机融合,是设计的重点内容。控制系统如同人类的大脑,对于实现类人机器人的性能具有决定性意义。[2]在该设计的控制系统中,硬件部分由六大部分构成,其控制系统的硬件框图如图1所示。
图1 控制系统硬件框图
这六大部分不仅仅包含电源模块、单片机及外围接口电路模块和存储模块,同时包含串行通信模块、电机驱动控制模块及防碰撞模块。
2.1 存储模块
该设计在编辑类人动作时,把它与执行部分有机分开,这是设计类人机器人控制系统的内在要求。设计过程中,需要把机器人模仿人类的行为方式进行存储,同时转换到单片机芯片中,这是因为单片机是发出执行动作的指令单元,类人动作得以执行的主要元件就是单片机,而PC机的功能是实现对类人动作的详细编辑和整理。该设计在对类人机器人动作的存储单元进行选择时,采用AT24C16芯片。I2C总线是该元件进行通信的常用格式,所需通信线数量极少,为2根,同时应对单片机具有的输入和输出口引脚进行高效合理利用。[3]
2.2 舵机的驱动控制模块
在本系统的设计过程中,应使得18个舵机的相关功能得以有效驱动,这是因为机器人的硬件部分包含了这些舵机。脉宽调制在达到20ms时呈现的信号,是舵机的控制信号,同时脉冲宽度变化为2ms,最低为0.5ms,最高为2.5ms,与之相对应舵盘是在0~180°之间进行变换,同时呈现出线性相关的变化趋势。若要使得输出的角度转变到新的位置上,在提供一定脉宽的基础上,使输出轴稳定在一个相应的角度,另外对其增加一个不同宽度的脉冲信号。[4]该设计采用CPLD和AT89C51单片机有机结合,实现对舵机进行高效地控制,在控制过程中,采用上、下位机和串口有机结合的方式,这三者缺一不可。对机器人的关节位置和近似速度进行宏观把控,这些上位机控制软件的最终目的含以下两个方面:一是规划和合理调节机器人事先预定的动作,以及对其中不合适的空间位置进行有效插补。二是下位机可以根据其反馈的问题遵循一定的时间间隔与顺序进行调整。下位机的首要任务是使机器人可以顺利按照预先设定的任务进行无误操作,这些都需要及时高效地接收上位机发出的不同数字信号,进而从实际出发,根据要求产生PWM波形,实现对该机器人不同关节舵机的实时控制,以此完成类人动作。[5]对下位机进行一系列分析后发现,其主要由三大部分构成,首先是串口通信,其次是调节和整理数据,最后是18个舵机驱动模块。CPLD的18路舵机驱动原理框图如图2所示。
图2 CPLD的18路舵机驱动原理框图
CPLD在数据存储区内完成对驱动的18个舵机的PWM信号数据的存储,前提是需要一定的数据通道,这就需要将自身中的一个接口与AT89C51单片机有机融合完成彼此的信息传递,进而采用数字PWM生成器驱动18个舵机将其旋转至所需的角度,若想对所需的角度进行不断更新,只需对上述过程进行循环操作。
2.3 防碰撞模块
该设计通过AT89C51的外部中断来进一步设置机器人的防碰撞功能。在设计防碰撞模块时,把压力传感器和逻辑电路有机地融入到其中,目的是当类人机器人发生碰撞时,其自身可以根据压力传感器提供的信号,对应生成一定的逻辑信号,一旦承受的外在物理压力对其自身的内部电路造成一定损害时,机器人便可利用防碰撞模块对该信号进行及时处理,解决面临的问题。此时,AT89C51单片机作为外部中断信号输入端,对压力传感器提供的信号做出反应,进行一些逻辑处理,进而使所有舵机停止工作,最后完成对发生碰撞或卡死情况的处理工作。[6]
采用单片机的软件设计,进行类人机器人的控制系统设计。主程序和对应的中断子程序是单片机上控制程序包含的内容,[7]程序控制总流程图如图3所示。
图3 程序控制总流程图
该设计在分析机器人是否工作时是通过遥控开关判断的,该遥控开关用引脚表示为P0.4,当P0.4=1时,机器人开始动作,反之,保持原状。串行口的开关控制用引脚P0.5表示,当显示的功能状态为1时,直观地显示将执行下一步程序,反之,单片机在此处于等待状态,没有动作指令,进而使得单片机与PC之间的数据进行合理交换。对堆栈指针和中断向量进行设置,这是主程序的主要特点。同时,在设计主程序的过程中,对有可能用到的特殊寄存器进行初始化,以及类人动作的初始化设置。另外,对定时器中断、串口中断和串口通信波特率及开/关中断和P0.4的状态控制无线遥控器启动机器人进行一系列设置,进而对子程序进行不断调试。[8]
本设计的测试需要从硬件、软件两方面进行测试。硬件测试:在不通电的情况下对主控板线路进行测试,检测线路是否导通,与所设计电路是否有区别,检测接线是否牢固,接线是否正确;对芯片及元器件进行测试,检测芯片是否能正常工作,检测元器件的参数标号与电路原理图中的参数是否一致。通电情况下测试电源的输出电压是否为5V;观察指示灯显示电路是否正常显示,及按键控制是否能正常切换。这种检测其实是验证程序逻辑与硬件显示是否相对应,[9]如图4是对机器人进行硬件测试。
图4 机器人进行硬件测试
软件测试:将设计的类人机器人连接电脑,运行程序,看机器人是否有异响或卡死的情况发生,如图5是软件测试界面。
图5 软件测试界面
该设计在多次测试并经历多次失败之后,最终成功地设计出能够正常体现设计者的设计理念的类人机器人;测试现象以及测试结果表明:当类人机器人舵机过热或发生碰撞,且达到对类人机器人内部电路有损时,产生逻辑信号,类人机器人控制系统中的防碰撞模块对该信号进行处理,作为外部中断信号输入AT89C51单片机,让所有电机都停止工作。[10]
该设计介绍了一个以C语言为主要控制语言的智能类人机器人,完成了系统的硬件和软件设计。运用行业内流行的PVC结构,通过设计舵机来高度模仿人类的身体关节,完整实现了机器人的仿人无误动操作。经实验验证,该设计基本达到设计目的,能够满足要求。
[1]解仑,王志良,李华俊.双足步行机器人制作技术[M].北京:机械工业出版社,2008.
[2]王耀南.机器人智能控制工程[M].北京:科学出版社,2004.
[3]万光毅,严义,邢春香.单片机实验与实践教程(一)[M].北京:北京航空航天大学出版社,2006.
[5](美)斯柯兹. 发明者电子设计宝典[M].福州:福建科学技术出版社,2006.
[6]张松林.单片机按键防抖方法的浅析.北京:科学创新导报[J].2010(1):532-533.
[7]沈林成.移动机器人自主控制理论与技术[M].北京:科学出版社,2011.
[8]陈石胜.单片机技术“做中学”实例教程[M].北京:国防工业出版社,2010.
[9]刘 刚.Pritel DXP 2004 SP2原理图与PCB设计[M].北京:电子工业出版社,2008.
[10]谭浩强.C程序设计[M].北京:清华大学出版社,2010.
Class No.:TP242.6 Document Mark:A
(责任编辑:宋瑞斌)
Design of Intelligent Humanoid Robot Based on Single Chip Microcomputer
Wang Linming, Wu Xiaorui
(School of mechanical and electrical engineering, Zhengzhou University of Industrial Technology, Zhengzhou, He’nan 451100,China)
This design uses AT89C51 microcontroller as the control core,with the steering gearre placed fusing elage joint,using the new type of PVC frame connected.This design analies the hardware part and software part of robot control system . The robot's hardware part includes storage module, servo drive control module and collision module, etc. Software part time-sharing multiplexing method is used with PWM drive signal to control the organic circuit, completing robot system overall design. By experiment, it is verified that the system has achieve the desired objectives.
microcontroller;control system;humanoid robots
王临铭,硕士,郑州工业应用技术学院机电工程学院。 吴晓蕊,硕士,郑州工业应用技术学院。
1672-6758(2017)04-0066-4
TP242.6
A