INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Arduino Uno+Motor Shield+Velleman Mustercode funktionieren nicht
18.07.2016, 17:48
Beitrag #1
Arduino Uno+Motor Shield+Velleman Mustercode funktionieren nicht
Hallo!

Ich bin Neuling auf dem Gebiet und wollte zum Einstieg den Muster-Code von Velleman mit einem Scheibenwischermotor (siehe unten) testen. Hierfür habe ich ein Arduiono Uno an dem Velleman Motor Shield VMA03 angeschlossen und diesen wiederum mit dem Motor verbunden. Angeschlossen ist das Motor Shield an einer Autobatterie und das Arduino Uno am PC.

Das Problem:
Der Motor dreht sich zunächst in eine Richtung für die vorgegebene Zeit, hält dann an und fängt an zu stottern und zu piepen. Eine LED am Shield blinkt rot und ein bißchen grün. Weiter geht nichts. Ich habe die Dauer und auch die Geschwindigkeit geändert, aber kein Erfolg. Der Motor läuft ohne Shield einwandfrei.

Mein Ziel:
Ich möchte, dass der Motor sich für 3 Sekunden in die eine Richtung dreht bei halber Geschwindigkeit, dann soll er 2 Sekunden stoppen (ist der Befehl „delay“ dafür überhaupt geeignet?) und dann soll sich der Motor erneut 3 Sekunden in die gleiche Richtung drehen und dann für 15 Minuten stoppen. Dann soll das Ganze in die andere Richtung gehen und danach von Vorne beginnen.

Fragen:
Wer kann mir helfen den Fehler zu finden?
Habe ich einen Denkfehler oder wohl einen Verbindungsfehler?
Oder ist der Code korrekt, aber vielleicht das Shield oder das Board kaputt?


Hier der Original Muster-Code von Velleman:
(Für meinen Versuch habe ich allerdings alle Zeilen gelöscht, die mit Motor B zu tun haben, da ich nur einen Motor auf A ansteuern wollte.)

int pwm_a = 3; //PWM control for motor outputs 1 and 2
int pwm_b = 9; //PWM control for motor outputs 3 and 4
int dir_a = 2; //direction control for motor outputs 1 and 2
int dir_b = 8; //direction control for motor outputs 3 and 4

void setup()
{
pinMode(pwm_a, OUTPUT); //Set control pins to be outputs
pinMode(pwm_b, OUTPUT);
pinMode(dir_a, OUTPUT);
pinMode(dir_b, OUTPUT);

analogWrite(pwm_a, 100); //set both motors to run at (100/255 = 39)% duty cycle (slow)
analogWrite(pwm_b, 100);

}

void loop()
{
digitalWrite(dir_a, LOW);
digitalWrite(dir_b, LOW);


analogWrite(pwm_a, 50);
analogWrite(pwm_b, 50);

delay(1000);

analogWrite(pwm_a, 0);
analogWrite(pwm_b, 0);

delay(1000);

analogWrite(pwm_a, 150);
analogWrite(pwm_b, 150);

delay(1000);

analogWrite(pwm_a, 0);
analogWrite(pwm_b, 0);

delay(1000);

analogWrite(pwm_a, 255);
analogWrite(pwm_b, 255);

delay(1000);

analogWrite(pwm_a, 0);
analogWrite(pwm_b, 0);

delay(5000);

digitalWrite(dir_a, HIGH);
digitalWrite(dir_b, HIGH);


analogWrite(pwm_a, 50);
analogWrite(pwm_b, 50);

delay(1000);

analogWrite(pwm_a, 0);
analogWrite(pwm_b, 0);

delay(1000);

analogWrite(pwm_a, 150);
analogWrite(pwm_b, 150);

delay(1000);

analogWrite(pwm_a, 0);
analogWrite(pwm_b, 0);

delay(1000);

analogWrite(pwm_a, 255);
analogWrite(pwm_b, 255);

delay(1000);

analogWrite(pwm_a, 0);
analogWrite(pwm_b, 0);

delay(5000);

}


Hier noch mein letzter, stark abgekürzter Versuchscode, der leider auch nur mit Stottern, Piepen und Blinken endet:

int pwm_a = 3; //PWM control for motor outputs 1 and 2
int dir_a = 2; //direction control for motor outputs 1 and 2

void setup()
{
pinMode(pwm_a, OUTPUT); //Set control pins to be outputs
pinMode(dir_a, OUTPUT);

analogWrite(pwm_a, 255); //set motor to run at (100/255 = 39)% duty cycle (slow)

}

void loop()
{
digitalWrite(dir_a, LOW);
analogWrite(pwm_a, 255);
delay(20000);

analogWrite(pwm_a, 0);
delay(5000);

}

VIELEN DANK IM VORAUS!!! BlushSmileSmileSmile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.07.2016, 18:11 (Dieser Beitrag wurde zuletzt bearbeitet: 18.07.2016 18:13 von Scheams.)
Beitrag #2
RE: Arduino Uno+Motor Shield+Velleman Mustercode funktionieren nicht
Hey!

Sind die Jumper am Board richtig verbunden? D.h. DIRA und PWMA die Jumper bei 2 und 3 und der Jumper für externe Spannungsquelle (EXT), nicht intern (INT).
Ist + und - von der Batterie richtig am Motorshield?
Du sagtest der Motor läuft ohne Shield, d.h. direkt an der Batterie angeschlossen?

Zu "delay()": Falls du dich weiter mit Arduino beschäftigst, versuch sie zu vermeiden, bei diesem Testversuch sollte es aber keine Probleme darstellen. (Blink without Delay anschauen, wenn du kein delay() mehr verwenden willst).

Tipp: Programm Code als formatierten Code einfügen (# in der Menüleiste vom Editor).
Code:
[code.]zu beginn [/code.] am Schluss jeweils ohne Punkte

mfg Scheams
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.07.2016, 16:40
Beitrag #3
RE: Arduino Uno+Motor Shield+Velleman Mustercode funktionieren nicht
Erstmal danke für die schnelle erste Antwort und Hinweis, Scheams, und dafür, dass du Verständnis für Anfänger hast Smile

Ich benötige diesen Code nur für ein kleines, aber für mich wichtiges Projekt.

Der Scheibenwischermotor läuft mit direkt angeschlossener Batterie einwandfrei.

Meines Erachtens ist alles richtig angeschlossen, aber ich habe vorsichtshalber ein Foto beigefügt. Hoffe, man sieht alles klar genug bzw. das Hinzufügen klappt. Die Batterie (sieht man zwar nicht auf dem Foto) ist ebenfalls korrekt an den Polen angeschlossen.

Der Wischer hat 40 W / 12 V.

Was für einen Link zum Motor Shield meinst du, Lötzinnerhitze?
Wie schon geschrieben, ich bin Anfänger... Blush


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.07.2016, 17:15
Beitrag #4
RE: Arduino Uno+Motor Shield+Velleman Mustercode funktionieren nicht
Alle Mitglieder des Forums haben hier Verständnis für Anfänger.

Aber auch Anfänger sollten Wissen, dass man nur mit kompletten Angaben eine richtige Diagnose stellen kann.
Auch dass der Code in Code-Tags gehört, damit dieser vernünftig dargestellt wird.

Zu deinem Bild kann ich nicht sagen ob die Anschlüsse richtig sind, da man nicht sehen kann wo die hingehen.
Die einzige Idee, die ich dazu habe, ist der GND-Anschluss. Hast du GND miteinander verbunden?

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.07.2016, 09:02
Beitrag #5
RE: Arduino Uno+Motor Shield+Velleman Mustercode funktionieren nicht
Ja, Motor zieht Zuviel Leistung, da riecht es bald nach Ampere.
Wenn man Glück hat, begrenzt das Shield von sich aus.

Ein Scheibenwischermotor hat immer mehrere Drehzahlen.
Man könnte jetzt die Anschlüsse für die kleinste Drehzahl ausfindig machen.

Aber aus 2 Gründen rate ich zur Verwendung eines kleineren Motors:

1. Leistungsaufnahme (s.o)

2. Anschluss minus läuft normalerweise über Masse.
Bedeutet, das der Ausgang vom Shield später mit Masse des Modells verbunden wird.
Dies könnte aber auch mal Ground vom Arduino werden, oder Batterie Masse oder ein zweiter Motor Masse.
Es wird dann auch nach Ampere riechen

Binatone
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.07.2016, 10:32
Beitrag #6
RE: Arduino Uno+Motor Shield+Velleman Mustercode funktionieren nicht
(20.07.2016 09:24)Lötzinnerhitzer schrieb:  ihr da Ohm, macht doch Watt ihr Volt ...

Du musst dem TO aber auch Zeit zum Nachrechnen geben.
Immerhin ist er bekennender "Anfänger".

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.07.2016, 10:38
Beitrag #7
RE: Arduino Uno+Motor Shield+Velleman Mustercode funktionieren nicht
(20.07.2016 10:35)Lötzinnerhitzer schrieb:  ist doch nur als Spaß gedacht...

Ok, alles klar. Wink

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.07.2016, 18:06
Beitrag #8
RE: Arduino Uno+Motor Shield+Velleman Mustercode funktionieren nicht
Hey!

Erklärt dann wohl auch warum er anfangs läuft und dann wegen zu viel Heiß stoppt Big Grin

mfg Scheams
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  CP2102 und USB Host Shield ?? DL1AKP 0 46 01.12.2016 08:55
Letzter Beitrag: DL1AKP
  Arduino lässt sich nicht installieren bergfrei 4 141 20.11.2016 18:34
Letzter Beitrag: bergfrei
  Arduino UNO und Ethernet Shield 2 POE und Fritzbox 3272 tr3 2 155 19.11.2016 10:46
Letzter Beitrag: tr3
  Arduino Mega 2560 läuft nicht Wolfgang50 6 179 13.11.2016 10:50
Letzter Beitrag: Wolfgang50
  Kommunikation über das WiFi-Shield Flap 3 232 07.11.2016 20:20
Letzter Beitrag: hotsystems
  Ardublock übertragt nicht an IDE oder UNO R3 tobi83 5 332 16.10.2016 14:07
Letzter Beitrag: Pit
  Upload funktioniert nicht Levi 5 240 22.09.2016 20:19
Letzter Beitrag: hotsystems
  Arduino Lan Shield - Visual Basic ZackiE 6 215 20.09.2016 19:26
Letzter Beitrag: ZackiE
  ESP8266 tuts nicht sowerum 7 390 19.09.2016 21:01
Letzter Beitrag: sowerum
  If-Bedingung funktioniert nicht bei Serial1.write Datatom 6 222 16.09.2016 20:36
Letzter Beitrag: Datatom

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste