步进电机加减速控制子程序

 /****************XY电机后移*******************/
//uint           XMtPParameter;           //X电机位置参数(上料动作)
//uint           YMtSParameter;           //Y电机编辑前移
                void XYMTBack()
                {
                 uchar  ss;                   //延时系数
                 uint XYSpeed,XYPosition;  //电机延时参数 Y电机运动位置参数
                 bit    Start;               //起步标志
                 ss=20;                       //延时系数初始化
                 XYSpeed=XMtSParameter;    //速度
                 XYPosition=XMtPParameter; //位置 XMtPParameter第一步到位置X轴加
                 DIR1=1;                   //左移
                 DIR2=0;                   //后退
                 Start=1;                   //起步标志置一
                 do
                 {
                  if(Start==1)               // 起步
                  {
                  CP1=!CP1;     //输出脉冲
                  CP2=!CP2;     //输出脉冲
                  delay(XYSpeed+ss*5);//20×5..19*5...1*5
                  CP1=!CP1;     //输出脉冲
                  CP2=!CP2;     //输出脉冲
                  delay(XYSpeed+ss*5);
                  XYPosition--;
                  ss--;
                   if(ss<1)        //小于1加速段完成
                   {
                   ss=0;
                   Start=0;        //加速标志置零,结束加速
                   }            // ss=20循环结束,执行else循环体
                  }
                  else
                  {
                  CP1=!CP1;     //输出脉冲
                  CP2=!CP2;     //输出脉冲
                  delay(XYSpeed+ss*5);//XYPosition大于20ss=0
                  CP1=!CP1;     //输出脉冲
                  CP2=!CP2;     //输出脉冲
                  delay(XYSpeed+ss*5);
                  XYPosition--;
                  if(XYPosition<20)    //小于20启动减速
                  ss++;                //减速延时加 1*5..2*5..3*5
                  }
                 }
                 while(XYPosition);
               }
  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值