登录
首页 运动控制 运动控制
回帖 发帖
正文

主题:51单片机控制步进电机

点击:1067 回复:10

大家好
我想问一下给步进电机发固定的脉冲怎么编程啊
比如  我想发1000个脉冲然后停下来  该怎么编程
20-11-26 17:11
直接发就是了。
步进自己带驱动不?
要改变速率不?
20-11-26 22:09
应是新人。(以下只合适学了20天内新人)
if(k<1000){
           P1^1=1;   //假定p1.1输出,最好定义为推挽输出。
           Delay(M); //请从你的书抄来。
           P1^1=0;
           Delay(N); //M,N一样也可,步进驱动对占空比没什么要求。
           k++;
         }
20-11-27 09:06
带驱动  最好改变速率  不知道怎么编程
我可以用定时器 一定的频率发脉冲
 改变速率  发固定脉冲不会表情
20-11-27 14:32
我试过这个样子
步进电机不停  还是一直转
我设置的驱动细分是800脉冲一圈
1000个脉冲就转一圈多
可却一直转 也不知道哪里出了问题表情
20-11-27 14:46
#include
sbit shudu=P1^4;
sbit ENA=P1^5;
void Delay(unsigned char t)
{
  unsigned char a,d;
for(a=t;a>0;a--)
   for(d=100;d>0;d--);
}
void main()
{
unsigned int k=0;

 if(k<100)
{
          shudu=1;
          Delay(10);
          shudu=0;
          Delay(10);
          k++;
        }
}
20-11-27 14:47
用STM32吧,自带PWM,或者买带有PWM的51。你这样写的话在执行脉冲发送的过程中没法跑其他程序了。也就是说你步进动起来,其他逻辑没法执行
20-11-27 15:33
对啊  就是这样
我也想着换单片机
20-11-27 15:55

引用 Ud52855 在 2020/11/27 14:47:44 发言【内容省略】

提示:K.另外看看你的书的程序结构。都告诉你就不好玩了。
改用更高档的片子你更难搞定。
89系列入门是有道理的。
20-11-27 17:03
你们的程序能执行吗?
楼主,自己用环境调试一下可好?
20-11-27 20:52

上一页下一页

工控新闻

更多新闻资讯