关键词:舞蹈
电源也是一个关键问题,其中,AT89C051电压为+5V,而步进电机要求+12V电压,考虑到整个机器人对重量的要求,我们采用了10节5号干电池串联作为电源POWER。+12V电压经过MC7805电平转换成+5V供给AT89C051,为了保护CPU安全,还增加了若干退耦电容。考虑到AT89C051的带负载能力有限,我们还给每个口增加了上拉电阻,增强它的的带负载能力。同时,灯光控制集成片控制七组发光二极管以“追逐”形式旋环闪烁,以增加美感。
3.软件控制
整个系统采用AT89C51单片机控制,程序采用汇编语言编写。程序的编写思路没有用传统的查数据表形式,其原因主要是:
(1)舞蹈机器人的动作较多,数据表的内容将很庞大;
(2)数据缺乏可读性,给程序的阅读带来不便;
(3)数据表形式不符合现代软件编程的思想。
鉴于以上原因,机器人的控制程序采用模块化的编程思路,首先需要研究机器人的动作特点,将整体的动作进行分解,找到它的基本动作元素,然后通过编写通用的子程序实现各种基本动作,将这些基本元素作为动作库零件。而在编写整个动作时,只需按照要求调用不同的基本元素即可,如果动作有了变化,程序修改起来相当容易,省时省力。这种编程的思想为我们后来程序的修改带来了很大的方便。
一, 步进电机的驱动特点
步进电机是利用数字脉冲激励的,通过输入数字脉冲,如双四拍AB-BC-CD-DA,电机轴即可转动一周,但步进电机的激励频率如果过低会出现振动现象,启动频率过高又会出现丢步的现象,为了克服这种对启动频率和转动力矩的双重需求,机器人的驱动程序采用了加速激励技术,脉冲的频率是通过脉冲延时DELAY子程序来调节的:将加速需要的延时数据做成表的形式存在CPU中,不断地读取这个数据表,作为参数传递给DELAY子程序
例如:下面就是一个典型的A型电机500MS的加速数据:
图五,步进电机加速激励过程
以上就是A型电机在500MS内从静止加速到500PPS的数据表,表示分成11个阶段加速到高速状态,其中延时数据就是传递给DELAY子程序的,调节脉冲的频率。加速的过程如下:
从以上的加速过程可以看出:在500ms内电机的加速几乎是以均匀的加速度进行的,这样可以保证加速过程的平稳性,机器人的动作的平稳性正是来自这种精细的加速激励技术。
选择加速激励技术的原因:
1) 防止低频时与电机的固有频率发生共振现象;
2) 成功地实现从低速到高速的平稳加速过程;
3) 采用加速技术后,电机具有自启动能力,不会出现因突然的阻力而造成的“阻死”现象。
 
机器人软件控制模块如下: