Können wir andere Servos mit dem üblichen Servocode Arduino steuern?

Aug 17 2020

Ich versuche, MG996R mit Code für ein typisches Servo (SG90) zu steuern.

Ich habe ein externes Netzteil verwendet, 5V, 2A.
Ich habe die Servosignalleitung an Arduino-Steckplatz 7 angeschlossen, Servopositiv an externes Netzteil positiv, Servomasse an externes Netzteil, während das Arduino-Netzteil und die Erdung nicht verbunden sind.

Ich habe den folgenden Code ausprobiert.
Es funktioniert für SG90, während MG996R sich überhaupt nicht bewegt.


#include <Servo.h>  
Servo myservo;


void setup()
{ 
  myservo.attach(7);  //pin 7 is the one control servo
 
} 

void loop() 
{  

  for (int pos=0; pos<=60; pos++)
  {
    myservo.write(pos);
    delay(15);
  }

}

Liegt es daran, dass die verschiedenen Servos unterschiedlichen Code benötigen?

Antworten

1 Kevin Aug 26 2020 at 07:11

Sie arbeiten mit demselben Steuersignal, daher sollte für beide derselbe Code funktionieren

Sie müssen sicherstellen, dass die Masse des Servos sowohl mit der Arduino-Masse als auch mit der Stromversorgungsmasse verbunden ist (Stromversorgungsmasse für positive Stromversorgung, Arduino-Masse für die Signalleitung).

Ich denke, SG90 hat funktioniert, auch wenn der Arduino-Boden nicht verbunden wurde, weil der Unterschied im Design liegt.

Sie sollten jedoch immer die Servomasse mit der Arduino-Masse verbinden.