步进电机旋转一定角度用单片机控制的程序怎么写?

2019-07-18 15:04发布

两相步进电机,步距角1.8度,每次旋转120度,停10s,转速60rad/min,步进电机驱动器SH2034D,单片机控制,程序怎么写,求大神指点。。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
19条回答
wsh418
2019-07-19 12:49
jiciwi 发表于 2016-9-27 16:44
不是,整步的话,200个脉冲,你1.8°的电机转一圈,2细分的话,就要400个脉冲。你需要60rad/min,可以算出你需要给的频率是200*n, n就是细分数,然后转120度的话,需要给的个数就是200*n/3.然后定时延迟10s

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit FREE=P2^1;
sbit CP=P2^2;
sbit DIR=P2^3;
sbit key=P1^0;
uchar i,j,z;
void delay()
{
        uint y;
        for(y=114;y>0;y--)
           {}
}
void main()
{
        if(key==0)
        {
                CP=0;
                FREE=1;
                for(i=0;i<400;i++)
                {   
                    CP=1;
                        delay();
                        CP=0;
                        delay();       
                }
                if(i==400)
          {
           CP=0;
           FREE=1;
           }

           for(j=10000;j>0;j--)
               for(z=110;z>0;z--);
        }

}
这个程序怎么停不下来,用的6细分,120度脉冲不是400个吗?求指点

一周热门 更多>