Arduino USB-Problem (Gerät wird ausgeworfen und sofort wieder angemeldet)

Hallo, der Weihnachtsmann hat meinem Sohn und mir ein Arduino-Einsteigerpack unter den Weihnachtsbaum gelegt. Die Installation und Einrichtung sowie die ersten Beispiele zur Ansteuerung von LED’s funktionieren auch super. Doch nun stehen wir vor einem großen Problem:

Beim Ausführen von einigen Programmen (Ansteuerung eines Motors), die über die COM-Schnittstelle kommunizieren, wird der Arduino mit dem typischen „Bing“ als USB-Gerät ausgeworfen und sofort wieder angemeldet/eingerichtet. Der Eintrag „Arduino Uno (COM6)“ im Geräte-Manager verschwindet also, taucht wieder auf, verschwindet, usw.

Der Arduino-Treiber ist auf dem aktuellen Stand, als Betriebssystem verwenden wir Windows 7 in der 64-Bit-Variante mit Service Pack 1.

Trotz intensiver Internet-Recherche hab ich bisher keine Lösung gefunden, daher meine Frage an euch – wer kennt dieses Problem und hat einen Tipp, um diesen Fehler zu beheben.

Vielen Dank!

Paula2000: einen Tipp, um diesen Fehler zu beheben.

Welcher Motor? Schaltung des Motors? Entstörkondensatoren in der Motorschaltung "vergessen"?

Hoi,
was hängt denn alles noch am USB-Port dran ?
Ich habe denselben Effekt an einem Notebook mit 3 USB-Anschlüssen und 3 Arduino: 2 x MEGA und 1 x UNO

Wenn ich die Boards nun über z.B. einen nicht-aktiven USB-Hub anschließe taucht genau dieser Effekt bei einem Board auf.
Sowie ich den Hub mit Strom versorge ist das Problem weg - heisst also im Umkehrschluss, dass der USB-Port überlastet wird = zu wenig Strom für alle Devices.

Für die weitere Fehlersuche habe ich die Schaltung mal extrem vereinfacht und nur einen Servo (VILROS MicroServe99 SG90) an den Arduino (GND, +5V und Digital Pin 2) angeschlossen. So wie auf dieser Seite hier: http://fluuux.de/2012/11/arduino-der-umgang-mit-dem-servo-motor/ Zusätzlich sind jetzt alle überflüssigen USB-Geräte (Drucker, externe Festplatten etc.) entfernt und nur noch Maus und Tastatur via USB-Kabel an den Rechner angeschlossen.

Wenn ich nun von o.g. Internetseite das letzte Programm („Steuerung eines kontinuierlich drehenden Servo Motors“) auf den Arduino lade tritt weiterhin mein USB-Problem auf. Also permanentes An- und Abmelden des Arduino-COM-Ports.

Stecke ich nun zusätzlich eine 9V-Baterie als zusätzliche Stromversorgung an den Arduino, bewegt sich der Servo wie vorgesehen, dass USB-Problem tritt aber weiter hin auf.

Hoi,

poste doch mal Deinen Sketch - kann sein, dass Du “Serial” benutzt um was an einen Port zu senden - das ist aber für den SerialMonitor reserviert.
Wenn Du im Sketch dann irgendwas initialisierst (wie z.B. den “falschen” COM-Port) startet der natürlich immer wieder durch.

P.S.: ihr habt aber auch einen kontinuierlich drehenden Servo, also 360° Servo ?
Bei einem normalen Servo funktioniert das natürlich nicht und der genannte Effekt tritt auf…

Oder habt ihr einen normalen Servo und benutzt den Sketch aus dem unteren Teil:

Steuerung eines Standard Servo Motors

In diesem Beispiel wird der Servo alle 5 Sekunden um 45 Grad gedreht.

#include <Servo.h>
 
Servo myServo;
const int servoPin = 2;
const int center   = 12;
 
void setup()
{
  myServo.attach(servoPin);
  myServo.write(center);
}
 
void loop()
{
  myServo.write(center);
  delay(5000);
  myServo.write(45);
  delay(5000);
  myServo.write(90);
  delay(5000);
  myServo.write(135);
  delay(5000);
  myServo.write(180);
  delay(5000);
}

Eine 360°-Drehung haben wir noch nicht hinbekommen, daher wird es sich vermutlich um einen “normalen” Servo handeln.

Und hier das kurze Programm zur Ansteuerung:

#include <Servo.h>
 
Servo myServo;
const int servoPin = 2;
 
void setup()
{
  myServo.attach(servoPin);
}
 
void loop()
{
  myServo.write(45);
  delay(1000);
  myServo.write(90);
  delay(1000);
}

Wenn das USB-Kabel und die 9V-Baterie angeschlossen sind, surrt der Servo immer zwischen beiden Positionen (45° und 90°) hin und her. Zusätzlich ertönt dieses “Blong Blong” vom USB-Port. Ziehe ich die 9V-Stromversorgung ab hört man nurnoch die An- und Abmelde-Töne vom USB-Port. Der Servo dreht sich nicht mehr, zuckt nur um wenige Millimeter.

Verlängere mal Dein delay(1000); auf delay(10000); oder noch mehr.

Wenn das "Blong Blong" in den Pausen dann nicht auftritt, sondern immer nur wenn der Servo losfährt, dann ist Deine Servo-Stromversorgung viel zu schwach.

Ist das ein Laptop? Insbesondere USB-Ports an Laptops liefern oftmals nur viel weniger als 500 mA Strom.