标题: 求助,怎么让单片机精确控制步进电机 [打印本页]

作者: 大青辣椒    时间: 2015-8-27 14:14
标题: 求助,怎么让单片机精确控制步进电机
我想让51单片机精确控制步进电机运动,步距角是18度,用的是8拍程序,为什么精度只有0.6毫米,理论上是0.075毫米啊,到底错在哪里了,,求助
作者: 大青辣椒    时间: 2015-8-27 14:15
源程序请大神看一下
void PositiveTurn(float length)   //length为要移动的距离
{
        while (1)
        {
                Xa = 1; Xa_ = 0; Xb = 0; Xb_ = 0; //第一拍
                length = length - 0.075;
                if (length <= 0)
                   return;
                delay();
                Xa = 1; Xa_ = 0; Xb = 1; Xb_ = 0; //第二拍
                length = length - 0.075;
                if (length <= 0)
                   return;
                delay();
                Xa = 0; Xa_ = 0; Xb = 1; Xb_ = 0; //第三拍
                length = length - 0.075;
                if (length <= 0)
                   return;
                delay();
                Xa = 0; Xa_ = 1; Xb = 1; Xb_ = 0; //第四拍
                length = length - 0.075;
                if (length <= 0)
                   return;
                delay();
                Xa = 0; Xa_ = 1; Xb = 0; Xb_ = 0; //第五拍
                length = length - 0.075;
                if (length <= 0)
                   return;
                delay();
                Xa = 0; Xa_ = 1; Xb = 0; Xb_ = 1; //第六拍
                length = length - 0.075;
                if (length <= 0)
                   return;
                delay();
                Xa = 0; Xa_ = 0; Xb = 0; Xb_ = 1; //第七拍
                length = length - 0.075;
                if (length <= 0)
                   return;
                delay();
                Xa = 1; Xa_ = 0; Xb = 0; Xb_ = 1; //第八拍
                length = length - 0.075;
                if (length <= 0)
                   return;
                delay();
               
        }
}
作者: 大青辣椒    时间: 2015-8-27 14:16
不知道为什么length设定为的时候才动一下 设定比0.6小的值只是抖动,并不走
作者: 大青辣椒    时间: 2015-8-27 14:17
有人吗   求助啊
作者: lxa0    时间: 2015-8-27 20:54
步距角是18度???
换电机吧~~~~~~~~~~~~~~~~~`
作者: jiakuo25    时间: 2015-8-29 15:53
我觉得你这种控制方式,不细分的话,只能控制电机18度18度的转,不可能有其他的度数,也就不可能有其他的精度。个人观点
作者: xiaoxiaoza555    时间: 2016-12-2 19:36
失步了吧
作者: liuzhaoxin1020    时间: 2016-12-17 15:13
需要加细分,否则容易丢步
作者: 黑黑—坤    时间: 2016-12-17 19:46
我只知道利用PWM控制电机角度,我也不知道怎么写程序,希望你考虑选用PWM进行确定角度。
作者: 黑黑—坤    时间: 2016-12-17 19:49
PWM的占空比为50%就能达到9°。25%就能达到4.5°。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1