P2 = FFW[v];
delay(t);
v++;
break;
case 3: //手爪电机
P3 = FFW[v];
delay(t);
v++;
break;
default:break;
}
}
}
else break;
}
Else //脉冲数和设定的相等,则停止运行
{
number=0;
onoff[i]=0;
if(i==0) P0=0x0f;
else if(i==1)P1=0X0f;
else if(i==2)P2=0X0f;
else P3=0x0f;
break;
}
(2)电机反转程序和正转程序相似,只需将环形脉冲调用由FFW[v]改为REV[v]。
(3)电机停止程序:
{
if(i==0) P0=0x0f;
else if(i==1)P1=0x0f;
else if(i==2)P2=0X0f;
else P3=0x0f;
}
4.3 整个系统软件流程图
(1)上、下微机通讯流程图如图4.4所示:
图4.4 上、下位机通讯流程图
(2)下位机主控程序流程图如图4.5所示:
图4.5下位机主控程序流程图
(3)下位机控制电机运行程序流程图如图4.6所示
图4.6 下位机控制电机运行程序流程图如5系统调试
程序编好,编译无误后,通过烧写器将程序可执行文件烧入单片机。单片机通过USB转串口线与上位机串行口连接,运行上位机程序,输入控制命令,看机械手能否满足设计要求。程序烧写如图5.1所示:
图5.1 程序烧写界面
5.1实际调试硬件设施介绍
由于实验条件、时间和成本的限制,未做出机械手实体,整个调试过程是在一个二文云台上完成,二文云台由两个28BYJ-48步进电机组成,其为四相八拍型电机。为了更好地模拟四个电机的运行效果,我又额外加了两个步进电机,看这四个电机能否协调工作,由于步进电机型号换了,所以程序作了很小的改动,驱动芯片也换成了ULN2003,但总体思想还是一样,单片机部分直接用了RZ-51开发板,里面自带串口模块和I/O扩展口。具体调试实物如图5.2所示: AT89S51单片机全地形八足机器人机械手的设计(17):http://www.751com.cn/jixie/lunwen_2398.html