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

lcs129 发表于 2020-7-29 11:24

esp8266+a4988驱动步进电机问题

本帖最后由 lcs129 于 2020-7-29 11:39 编辑

使用ESP8266+A4988驱动步进电机的时候,电机持续转动时,会间隔一会停一下同时指示灯闪一下。并且只是用ESP8266跑代码其他都不接,指示灯也会过一会闪一下。是同样的代码放到Uno上面跑,就不会有这个情况。请问朋友们有遇到过的吗?是什么原因是否可以分析一下。视频我这边一会上。YOUKU正在审核
https://player.youku.com/embed/XNDc3MjMyMDg0NA==
const int Moto1stepPin = D6;
const int Sensor1Pin = D1;
const int PlaySpeed = 800;
const int ZeroSpeed = 200;

void setup() {
//   Serial.begin(9600);      
//    CSHWiFi();
    CSHMoto();
}

void loop() {
MotoGozero();
}

void CSHMoto(){
pinMode(Moto1stepPin,OUTPUT);
pinMode(Sensor1Pin,OUTPUT);
}

void MotoGozero(){
while(digitalRead(Sensor1Pin) == LOW){ \\Sensor1Pin接的一个按钮,这个按钮一直没有按的情况下就会停
   digitalWrite(Moto1stepPin, HIGH);
   delayMicroseconds(ZeroSpeed);
   digitalWrite(Moto1stepPin, LOW);
   delayMicroseconds(ZeroSpeed);
}
}




lcs129 发表于 2020-7-29 11:35

https://player.youku.com/embed/XNDc3MjMyMDg0NA==

XlinliY.Zhang 发表于 2020-7-29 22:18

有可能是你程序跑疯了触发看门狗,也有可能是供电问题

ifeue 发表于 2020-7-30 13:25

//   Serial.begin(9600);      
你把这句放开试试

lcs129 发表于 2020-7-31 16:44

问题找到了 因为delayMicroseconds(ZeroSpeed); 这句占用资源可能比较大 改为delay就不会有问题。在配合A4988 系分数 电机就可以正常运行了

ifeue 发表于 2020-7-31 19:50

lcs129 发表于 2020-7-31 16:44
问题找到了 因为delayMicroseconds(ZeroSpeed); 这句占用资源可能比较大 改为delay就不会有问题。在配合A49 ...

不应该吧。
你的Sensor1Pin接按钮为啥设为OUTPUT?
按钮按下时是高电平吗?

lcs129 发表于 2020-7-31 20:31

ifeue 发表于 2020-7-31 19:50
不应该吧。
你的Sensor1Pin接按钮为啥设为OUTPUT?
按钮按下时是高电平吗?

我确实没有注意这里写错了。我在修改一下这里再试试,不过现在通过串口输出看到有报错,是软重启的错误。

ifeue 发表于 2020-7-31 20:35

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

你把delayMicroseconds换成delay其实就是多延时了一些时间。好像不是真正原因。

lcs129 发表于 2020-7-31 20:38

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

是的我也是百度到别人遇到类似问题,然后被人给修改的代码就加了一个延迟。其他都没变化,所以我也这样修改试了一下。我明天在测试看看是不是因为写错了

ifeue 发表于 2020-7-31 20:51

lcs129 发表于 2020-7-31 20:38
是的我也是百度到别人遇到类似问题,然后被人给修改的代码就加了一个延迟。其他都没变化,所以我也这样修 ...

我也是挺好奇的。想知道你最终是如何解决的,也长点知识。明天告知一下结果。
页: [1] 2
查看完整版本: esp8266+a4988驱动步进电机问题