您现在所在的是:

运动控制

回帖:10个,阅读:971 [上一页] [1] [2] [下一页]
50
Ud52855
文章数:5
年度积分:50
历史总积分:50
注册时间:2020/11/26
发站内信
发表于:2020/11/26 17:11:26
#0楼
大家好
我想问一下给步进电机发固定的脉冲怎么编程啊
比如  我想发1000个脉冲然后停下来  该怎么编程
19249
pqsh 版主
文章数:7422
年度积分:1079
历史总积分:19249
注册时间:2006/8/22
发站内信
2018论坛解答高手
发表于:2020/11/26 22:09:21
#1楼
直接发就是了。
步进自己带驱动不?
要改变速率不?
如果我忘了我
请帮忙记得我
pqsh@163,326199298@v&q同号
6507
1056128144
文章数:1129
年度积分:421
历史总积分:6507
注册时间:2018/2/23
发站内信
发表于:2020/11/27 9:06:25
#2楼
应是新人。(以下只合适学了20天内新人)

if(k<1000){
           P1^1=1;   //假定p1.1输出,最好定义为推挽输出。
           Delay(M); //请从你的书抄来。
           P1^1=0;
           Delay(N); //M,N一样也可,步进驱动对占空比没什么要求。
           k++;
         }
50
Ud52855
文章数:5
年度积分:50
历史总积分:50
注册时间:2020/11/26
发站内信
发表于:2020/11/27 14:32:27
#3楼
回复 #1楼 pqsh
带驱动  最好改变速率  不知道怎么编程
我可以用定时器 一定的频率发脉冲
 改变速率  发固定脉冲不会表情
50
Ud52855
文章数:5
年度积分:50
历史总积分:50
注册时间:2020/11/26
发站内信
发表于:2020/11/27 14:46:23
#4楼
回复 #2楼 1056128144
我试过这个样子
步进电机不停  还是一直转
我设置的驱动细分是800脉冲一圈
1000个脉冲就转一圈多
可却一直转 也不知道哪里出了问题表情
50
Ud52855
文章数:5
年度积分:50
历史总积分:50
注册时间:2020/11/26
发站内信
发表于:2020/11/27 14:47:44
#5楼
回复 #2楼 1056128144
#include<reg52.h>
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++;
        }
}
1935
578313419
文章数:153
年度积分:50
历史总积分:1935
注册时间:2015/9/14
发站内信
发表于:2020/11/27 15:33:11
#6楼
用STM32吧,自带PWM,或者买带有PWM的51。你这样写的话在执行脉冲发送的过程中没法跑其他程序了。也就是说你步进动起来,其他逻辑没法执行
50
Ud52855
文章数:5
年度积分:50
历史总积分:50
注册时间:2020/11/26
发站内信
发表于:2020/11/27 15:55:39
#7楼
回复 #6楼 578313419
对啊  就是这样
我也想着换单片机
6507
1056128144
文章数:1129
年度积分:421
历史总积分:6507
注册时间:2018/2/23
发站内信
发表于:2020/11/27 17:03:23
#8楼
以下是引用Ud528552020/11/27 14:47:44的发言:
#include<reg52.h>
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++;
        }
}

提示:K.另外看看你的书的程序结构。都告诉你就不好玩了。
改用更高档的片子你更难搞定。
89系列入门是有道理的。
19249
pqsh 版主
文章数:7422
年度积分:1079
历史总积分:19249
注册时间:2006/8/22
发站内信
2018论坛解答高手
发表于:2020/11/27 20:52:36
#9楼
你们的程序能执行吗?
楼主,自己用环境调试一下可好?
如果我忘了我
请帮忙记得我
pqsh@163,326199298@v&q同号

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

78.0005