• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

单片机怎么控制两个步进电机交替运动???

白云苍狗 2019-03-11 浏览量:868

while(1)

{

    A电机转;

   while(!A电机停了);

    B电机转;

   while(!B电机停了);

}

这样写,第一次循环还正常,第二次就有比较大的误差了

单独一个怎么转都没问题

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 建议检查A电机、B电机停机控制位的程序

    A\B电机检测程序。

    • 发布于 2019-03-11
    • 举报
    • 评论 0
    • 2
    • 0

其他答案 数量:7
  • 应该是在while的地方的延时时间不一样的,可以使用中断的方式,再加上信号同步机制
    • 发布于2019-03-11
    • 举报
    • 评论 0
    • 2
    • 0

  • 中间没延时?这个程序应该是两个电机一起用50%速度转动
    • 发布于2019-03-11
    • 举报
    • 评论 1
    • 0
    • 0
白云苍狗 回复了 yhj416606438 :中间是等一个停下来了,另一个才转 回复

  • while循环里面这样做本身就会有延时,直接弄两个定时器来触发电机信号的通与断
    • 发布于2019-03-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以看一下电机的接线与你的程序控制是不是对应的,可能是设置的接线不对
    • 发布于2019-03-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 你试试用定时器输出来控制电机通断,不要用while循环来控制,或许能提高延时精度。

    • 发布于2019-03-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以使用定时器输出两个互补的PWM进行控制的
    • 发布于2019-03-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 要实时测量电机的工作状态,通过工作状态去驱动另一个电机的互锁机制
    • 发布于2019-03-14
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

单片机怎么控制两个步进电机交替运动???