¿Es este un caso de interferencia PWM?

3

Tengo un controlador electrónico de velocidad (ESC) controlado con Modulación de ancho de pulso (PWM) desde un Arduino.

Cuando coloco mi mano cerca de los cables, la señal se desvanece hasta que me aleja. Busqué shorts, pero no encontré ninguno. No tengo un osciloscopio o eso me daría mi respuesta.

¿Qué está pasando aquí?

También hice este video para ayudar a explicar la situación .

Esquema en bruto

EDITAR

AgregarcódigodetrabajoArduinoparafuturosvisitantes

#include<SoftwareServo.h>//Downloadfromhttp://playground.arduino.cc/ComponentLib/ServoSoftwareServomyservo;//createservoobjecttocontrolaservo//intpotpin=0;//analogpinusedtoconnectthepotentiometerintPIN=2;intval;//variabletoreadthevaluefromtheanalogpinvoidsetup(){Serial.begin(115200);myservo.attach(PIN);//attachestheservoonpin2totheservoobject}voidloop(){charr=Serial.read();StringinStr=String(r);if(r>-1){Serial.print("serial in: ");
    Serial.println(inStr);
  }

  if(r <= -1) {
    // void
  } else if(inStr == "h") { // high
    Serial.println("HIGH");
    digitalWrite(PIN, HIGH);
  } else if(inStr == "m") { // medium
    Serial.println("medium");
    myservo.write(90);
  } else if (inStr == "l") { // low
    Serial.println("LOW");
    digitalWrite(PIN, LOW);
  } else if (inStr.toInt() >= 0 && inStr.toInt() <= 9) {
    int val = inStr.toInt() * 20;
    Serial.println(val);
    myservo.write(val);
  }

//  float t = millis() / 100;
//  val = sin(t / 10) * 1000;//analogRead(potpin);            // reads the value of the potentiometer (value between 0 and 1023)
//  //  if(val < 0) val *= -1;
//  val = map(val, 0, 1023, 0, 179);     // scale it to use it with the servo (value between 0 and 180)
//  val = millis() / 100;
//  myservo.write(val);                  // sets the servo position according to the scaled value
//  Serial.println(val);
//  delay(15);                           // waits for the servo to get there

  SoftwareServo::refresh();
}
    
pregunta Jacksonkr

1 respuesta

2

Esta respuesta se originó de un comentario de @Mark

Este es un problema ground .

A pesar de que el ESC funcionará sin un ground del Arduino, para hacer que el signal estable necesitaba acompañar el cable signal del Arduino con un cable ground del Arduino.

Por mi ejemplo, tomé el desconectado ground del ESC y lo conecté al GND del Arduino.

    
respondido por el Jacksonkr

Lea otras preguntas en las etiquetas