文档详情

六足机器人控制程序1 - 工业自动化.docx

发布:2024-01-04约8.49千字共8页下载文档
文本预览下载声明

,NUM3=0;intflag=0;P9P3=0;P9P4=0;P9P5=0;P9P0=0;P9P1abVIEW

,NUM3=0;intflag=0;P9P3=0;P9P4=0;P9P5=0;P9P0=0;P9P1

abVIEW里面设置合适的转速,合适的转角,发出脉冲,子程序的计数脉冲,脉冲宽度都是由所发脉冲决定,

相同{intNUM1=0,NUM2=0,NUM3=0;intflag=0;P9P3=0;P9P4=0

号电机逆时针转动,一号二号电机不转动时实现上盘的前进。一号二号三号电机同时顺时针转动,上盘下降,接触

;;;

//电机反向运行的延时计数器

uwordtiDelay1,tiDelay2,tiDelay3;

//电机运行的脉冲计数器

ulongctPulse1,ctPulse2,ctPulse3;

//串口控制的电机方向、脉冲宽度和脉冲数量

ubyteMOT_direct1,MOT_direct2,MOT_direct3,RS_Status,a;ubyteMOT_PulseTime1,MOT_PulseTime2,MOT_PulseTime3;uwordMOT_PulseNum1,MOT_PulseNum2,MOT_PulseNum3;

//电机方向

//电机脉冲宽度

//电机脉冲数

//串口接收变量

ubyteRS_Data[RS_LENGTH];//串口接收数组

ubyteRS_Indx;ubyteRS_Status;//定时器变量ubyteB_TimerStart;

//串口接收数组指针

//串口接收状态标志

//0.5ms定时器标志位

unsignedinti,j,t,d1,d2,d3,c=0;

unsignedintmaxt,maxb;

//上盘抬起或下盘下降子程序

voidshangpantaiqizichengxu()

编程思想:,在LabVIEW里面设置合适的转速,合适的转角,发出脉冲,子程序的计数脉冲,脉冲宽度都是由所发脉冲决定,根据计数脉冲,脉冲宽度的要求,编写程序,发出合适的脉冲,控制电机达到要求的转速与转角,通过控制P9_P0口、P9_P1口、P9_P2口来控制电机转向,实现我们想要的运动.

intNUM1=0,NUM2=0,NUM3=0;

intflag=0;

P9_P3=0;

P9_P4=0;

P9_P5=0;

P9_P0=1P9_P1=1P9_P2=1

//P9_P0口控制电机转向,将其置1,电机顺时针转动//P9_P1口控制电机转向,将其置1,电机顺时针转动//P9_P2口控制电机转向,将其置1,电机顺时针转动

while(NUM1!=MOT_PulseNum1||NUM2!=MOT_PulseNum2||NUM3!=MOT_PulseNum3)

//当电机一、二、三的计数次数都达到设定值时跳出while循环,否者继续执行

{flag++;//用来记录走过多少个0。5ms

if(0==(flag—1)%(2*MOT_PulseTime1))0020//第1个电机所需

要的脉冲

//2*MOT_PulseTime1即MOT_PulseTime1/0。5,说明每个脉冲宽度有几个0.5ms。flag若

,NUM3=0;intflag=0;P9P3=0;P9P4=0;P9P5=0;P9P0=0;P9P1转动时下底盘前进一号二号三号电机同时逆时针转动时,下底盘下降,当接触到地面继续下降时,上盘被抬起。三art=1;

,NUM3=0;intflag=0;P9P3=0;P9P4=0;P9P5=0;P9P0=0;P9P1

转动时下底盘前进一号二号三号电机同时逆时针转动时,下底盘下降,当接触到地面继续下降时,上盘被抬起。三

art=1;}xiapantaiqizichengxu();//下盘抬起或上盘下降子程序for(j=

0;j〈2000;j++)//第十九步延时1s{while(BTimerStart)BTimerSt

{if(NUM1〈MOT_PulseNum1*2)

//在满足上面的条件下,若计数次数未达到设定计数次数是,发出脉冲,高低互换,否这不执

{P9_P3=!P9_P3;NUM1++;}

//当满足上面两个条件时高低电平互换

if(0==(flag—1)%(2*MOT_PulseTime2))脉冲解释同上

{if(NUM2MOT_PulseNum2*2){P9_P4=!P9_P4;

NUM2++;}

if(0==(fl

显示全部
相似文档