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
  Programmierung von PCa9685 Shield im Bezug auf Arduinos Crazydiver 5 171 10.04.2017 12:20
Letzter Beitrag: hotsystems
  Can-Bus Shield ok, aber keine Daten Clubsport 54 3.293 02.04.2017 22:28
Letzter Beitrag: Bitklopfer
  SD Karte wird nicht erkannt Maxi290997 6 199 31.03.2017 06:05
Letzter Beitrag: Bitklopfer
  Keypad Shield luj1990 11 346 29.03.2017 21:15
Letzter Beitrag: Tommy56
Sad Sketch funktioniert auf dem Mega 2560 nicht Frank1234 16 598 26.03.2017 14:15
Letzter Beitrag: oOSpikeOo
  Mein Skript macht nicht das was es soll ;( DerMatze79 4 244 16.03.2017 22:19
Letzter Beitrag: MicroBahner
  Programmablauf macht nicht das was ich möchte !! ESP + Blynk b3ta 3 205 01.03.2017 14:29
Letzter Beitrag: Tommy56
Rainbow File geht nicht zum compilieren!!!! Jocky 7 301 19.02.2017 20:01
Letzter Beitrag: Binatone
  IRremote bringe ich nicht zum laufen Franz54 5 233 19.02.2017 11:56
Letzter Beitrag: Tommy56
  Code aus 1.6.9 geht mit 1.8.1 nicht mehr zu kompilieren DL1AKP 7 428 02.02.2017 12:16
Letzter Beitrag: Tommy56

Gehe zu:


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