论文部分内容阅读
摘要:基于小型舵机机器人的控制特点,在阅读国内外重要文献的基础上结合实际情况,对小型仿人机器人控制系统进行了相关的设计。用Atmega16单片机作为微控制器并利用protel99SE完成了控制系统硬件方面的设计,然后根据舵机的控制方式,利用分时成组法,使得单片机控制24个舵机同时转动。最后根据仿人机器人行走的不同位姿来确定每个舵机的转动角度,从而控制机器人稳定行走。
关键词:舵机;Atmega16;protel99S
中图分类号:TB文献标识码:A文章编号:1672—3198(2015)21022102
1引言
仿人机器人汇集了计算机、电子、通信、自动控制、传感器等多领域的尖端技术,代表了机电一体化的最高成就,是一个热门的研究领域。从机器人的发展趋势來看,与人类密切相关的仿人机器人被摆在越來越重要的位置,成为世界各国一致看好并为之努力发展的方向。而仿人机器人控制系统的设计为机器人学、控制理论、机电一体化及其它相关学科提供了良好的实验平台。
本文在研究分析当前舵机仿人机器人控制系统设计的基础上,选择响应速度快、功耗低、并且输入输出可编程控制的Atmega16单片机作为整个控制系统的微控制器,并据此进行了硬件和软件部分的设计。最后将设计好的控制系统成功的运用在设计好了的仿人竞速机器人上,并取得了良好的控制效果。
2舵机简介
根据人体的结构,人的直立行走是由于各个关节协调配合运动的结果。为了模拟人体的各个关节通常采用一个舵机来代表一个关节。仿人机器人在直立行走的过程中,运动的关节最少为16个,因此所设计的控制系统所能控制的舵机数量必须大于或者等于16个。
舵机又叫Servo,是一种位置伺服电机。舵机内部结构包括控制电路、电位比较器、减速齿轮组以及直流电机。舵机的转动角度通过PWM波来控制,舵机内部有一个基准电路,产生周期20ms,宽度1.5ms的基准信号;一个比较器,将外加信号与基准信号相比较,判断出方向和大小,从而产生电机的转动信号。因此对于舵机的控制就是要控制单片机各个引脚产生的PWM波的脉宽也就是高电平的持续时间,不同的脉宽分别对应舵机的不同转动角度。
3电路原理图
本文利用Atmega16单片机做微控制芯片,因此电路要对单片机的最小系统进行设计。单片机最小系统包括复位和晶振电路。同时根据机器人的控制特点需要进行串口通信,因此为单片机设计了RS232通信接口。完整的电路原理图如图1所示。
4PWM波的产生
多路PWM波的输出原理如下:舵机的控制脉冲周期为20ms,而用于舵机控制的可调脉宽为0.5-2.5ms。由于其工作正脉冲的宽度小于脉冲周期的1/8,所以可以把整个PWM周期分成8个时间段。每一个时间段作为一个PWM波输出组每组包含M个输出通道进行PWM波输出,每个时间段启动一组PWM信号正脉冲,这样就可以在一个PWM周期内同步输出8×M路的PWM信号。原理如下图2所示
根据多路PWM波的产生原理,结合ATmega16的片内资源,可以利用ATmega16的定时器1来实现多路PWM波的输出。ATmega16单片机的PA、PB、PC共24个引脚分别对应每个舵机的接口,并把每个引脚用一个一维数组a[i]来表示,那么i总共有24个取值。同时将舵机的转动角度180 °,平均分成500份,每一个转动角度对应一个a[i]的取值,那么a[i]的取值范围为0-500。根据实验将每一份需要的高电平持续时间算出。同时测出Atmega16单片机执行for循环所需要的时间,将俩个时间的对应关系算出来。这样就可以利用for循环来控制每一路高电平的持续时间。
将PWM周期20ms分成六组,则输出PWM的时间为6×2.5=15ms,而舵机电路所识别的PWM周期为20ms,这时可以通过Atmega16单片机上的定时器1来对脉宽进行定时,从而保证周期为20ms。每一组根据期望值和实际值的差来确定高电平的持续时间,当每一组开始输出PWM波时,for循环开始计时,当计到期望值与实际值之差时,通过编程来使得端口电平翻转。这样就完成了多路PWM波的实时输出。
5结束语
通过利用Atmega16单片机作为微控制芯片,设计出的小型仿人机器人控制系统,不仅电路比较简单而且在实际的应用上也有良好的表现。将此仿人机器人控制系统用在所设计的小型舵机仿人机器人上,仿人机器人进行了稳定快速的仿人直立行走。
参考文献
[1]谭冠政,朱剑英,尉忠信.国内外两足步行机器人研究的历史、现状及发展趋势[J].机器人,1992.
[2]李基辅.仿人机器人控制系统的设计及实现[D].广州:广东工业大学,2012.
[3]李岩,孔凡让,万小丹.基于AVR的双足步行机器人舵机控制[J].机械与电子,2007,(12):7072.
关键词:舵机;Atmega16;protel99S
中图分类号:TB文献标识码:A文章编号:1672—3198(2015)21022102
1引言
仿人机器人汇集了计算机、电子、通信、自动控制、传感器等多领域的尖端技术,代表了机电一体化的最高成就,是一个热门的研究领域。从机器人的发展趋势來看,与人类密切相关的仿人机器人被摆在越來越重要的位置,成为世界各国一致看好并为之努力发展的方向。而仿人机器人控制系统的设计为机器人学、控制理论、机电一体化及其它相关学科提供了良好的实验平台。
本文在研究分析当前舵机仿人机器人控制系统设计的基础上,选择响应速度快、功耗低、并且输入输出可编程控制的Atmega16单片机作为整个控制系统的微控制器,并据此进行了硬件和软件部分的设计。最后将设计好的控制系统成功的运用在设计好了的仿人竞速机器人上,并取得了良好的控制效果。
2舵机简介
根据人体的结构,人的直立行走是由于各个关节协调配合运动的结果。为了模拟人体的各个关节通常采用一个舵机来代表一个关节。仿人机器人在直立行走的过程中,运动的关节最少为16个,因此所设计的控制系统所能控制的舵机数量必须大于或者等于16个。
舵机又叫Servo,是一种位置伺服电机。舵机内部结构包括控制电路、电位比较器、减速齿轮组以及直流电机。舵机的转动角度通过PWM波来控制,舵机内部有一个基准电路,产生周期20ms,宽度1.5ms的基准信号;一个比较器,将外加信号与基准信号相比较,判断出方向和大小,从而产生电机的转动信号。因此对于舵机的控制就是要控制单片机各个引脚产生的PWM波的脉宽也就是高电平的持续时间,不同的脉宽分别对应舵机的不同转动角度。
3电路原理图
本文利用Atmega16单片机做微控制芯片,因此电路要对单片机的最小系统进行设计。单片机最小系统包括复位和晶振电路。同时根据机器人的控制特点需要进行串口通信,因此为单片机设计了RS232通信接口。完整的电路原理图如图1所示。
4PWM波的产生
多路PWM波的输出原理如下:舵机的控制脉冲周期为20ms,而用于舵机控制的可调脉宽为0.5-2.5ms。由于其工作正脉冲的宽度小于脉冲周期的1/8,所以可以把整个PWM周期分成8个时间段。每一个时间段作为一个PWM波输出组每组包含M个输出通道进行PWM波输出,每个时间段启动一组PWM信号正脉冲,这样就可以在一个PWM周期内同步输出8×M路的PWM信号。原理如下图2所示
根据多路PWM波的产生原理,结合ATmega16的片内资源,可以利用ATmega16的定时器1来实现多路PWM波的输出。ATmega16单片机的PA、PB、PC共24个引脚分别对应每个舵机的接口,并把每个引脚用一个一维数组a[i]来表示,那么i总共有24个取值。同时将舵机的转动角度180 °,平均分成500份,每一个转动角度对应一个a[i]的取值,那么a[i]的取值范围为0-500。根据实验将每一份需要的高电平持续时间算出。同时测出Atmega16单片机执行for循环所需要的时间,将俩个时间的对应关系算出来。这样就可以利用for循环来控制每一路高电平的持续时间。
将PWM周期20ms分成六组,则输出PWM的时间为6×2.5=15ms,而舵机电路所识别的PWM周期为20ms,这时可以通过Atmega16单片机上的定时器1来对脉宽进行定时,从而保证周期为20ms。每一组根据期望值和实际值的差来确定高电平的持续时间,当每一组开始输出PWM波时,for循环开始计时,当计到期望值与实际值之差时,通过编程来使得端口电平翻转。这样就完成了多路PWM波的实时输出。
5结束语
通过利用Atmega16单片机作为微控制芯片,设计出的小型仿人机器人控制系统,不仅电路比较简单而且在实际的应用上也有良好的表现。将此仿人机器人控制系统用在所设计的小型舵机仿人机器人上,仿人机器人进行了稳定快速的仿人直立行走。
参考文献
[1]谭冠政,朱剑英,尉忠信.国内外两足步行机器人研究的历史、现状及发展趋势[J].机器人,1992.
[2]李基辅.仿人机器人控制系统的设计及实现[D].广州:广东工业大学,2012.
[3]李岩,孔凡让,万小丹.基于AVR的双足步行机器人舵机控制[J].机械与电子,2007,(12):7072.