esp8266+a4988驱动步进电机问题-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5431|回复: 11

esp8266+a4988驱动步进电机问题

[复制链接]
发表于 2020-7-29 11:24 | 显示全部楼层 |阅读模式
本帖最后由 lcs129 于 2020-7-29 11:39 编辑

使用ESP8266+A4988驱动步进电机的时候,电机持续转动时,会间隔一会停一下同时指示灯闪一下。并且只是用ESP8266跑代码其他都不接,指示灯也会过一会闪一下。是同样的代码放到Uno上面跑,就不会有这个情况。请问朋友们有遇到过的吗?是什么原因是否可以分析一下。视频我这边一会上。YOUKU正在审核

  1. const int Moto1stepPin = D6;
  2. const int Sensor1Pin = D1;
  3. const int PlaySpeed = 800;
  4. const int ZeroSpeed = 200;

  5. void setup() {
  6. //   Serial.begin(9600);      
  7. //    CSHWiFi();
  8.     CSHMoto();  
  9. }

  10. void loop() {
  11.   MotoGozero();
  12.   }

  13. void CSHMoto(){
  14.   pinMode(Moto1stepPin,OUTPUT);
  15.   pinMode(Sensor1Pin,OUTPUT);
  16. }

  17. void MotoGozero(){
  18.   while(digitalRead(Sensor1Pin) == LOW){ \\Sensor1Pin接的一个按钮,这个按钮一直没有按的情况下就会停
  19.      digitalWrite(Moto1stepPin, HIGH);
  20.      delayMicroseconds(ZeroSpeed);
  21.      digitalWrite(Moto1stepPin, LOW);
  22.      delayMicroseconds(ZeroSpeed);
  23.   }
  24. }
复制代码





 楼主| 发表于 2020-7-29 11:35 | 显示全部楼层
发表于 2020-7-29 22:18 | 显示全部楼层
有可能是你程序跑疯了触发看门狗,也有可能是供电问题
发表于 2020-7-30 13:25 | 显示全部楼层
//   Serial.begin(9600);      
你把这句放开试试
 楼主| 发表于 2020-7-31 16:44 | 显示全部楼层
问题找到了 因为delayMicroseconds(ZeroSpeed); 这句占用资源可能比较大 改为delay就不会有问题。在配合A4988 系分数 电机就可以正常运行了
发表于 2020-7-31 19:50 | 显示全部楼层
lcs129 发表于 2020-7-31 16:44
问题找到了 因为delayMicroseconds(ZeroSpeed); 这句占用资源可能比较大 改为delay就不会有问题。在配合A49 ...

不应该吧。
你的Sensor1Pin接按钮为啥设为OUTPUT?
按钮按下时是高电平吗?
 楼主| 发表于 2020-7-31 20:31 | 显示全部楼层
ifeue 发表于 2020-7-31 19:50
不应该吧。
你的Sensor1Pin接按钮为啥设为OUTPUT?
按钮按下时是高电平吗?

我确实没有注意这里写错了。我在修改一下这里再试试,不过现在通过串口输出看到有报错,是软重启的错误。
发表于 2020-7-31 20:35 | 显示全部楼层
lcs129 发表于 2020-7-31 20:31
我确实没有注意这里写错了。我在修改一下这里再试试,不过现在通过串口输出看到有报错,是软重启的错误。 ...

你把delayMicroseconds换成delay其实就是多延时了一些时间。好像不是真正原因。
 楼主| 发表于 2020-7-31 20:38 | 显示全部楼层
ifeue 发表于 2020-7-31 20:35
你把delayMicroseconds换成delay其实就是多延时了一些时间。好像不是真正原因。 ...

是的我也是百度到别人遇到类似问题,然后被人给修改的代码就加了一个延迟。其他都没变化,所以我也这样修改试了一下。我明天在测试看看是不是因为写错了
发表于 2020-7-31 20:51 | 显示全部楼层
lcs129 发表于 2020-7-31 20:38
是的我也是百度到别人遇到类似问题,然后被人给修改的代码就加了一个延迟。其他都没变化,所以我也这样修 ...

我也是挺好奇的。想知道你最终是如何解决的,也长点知识。明天告知一下结果。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 08:37 , Processed in 0.144503 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表