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
Gruß Dieter
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
Gruß Dieter
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
Gruß Dieter
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
  328P geht nicht mehr Harry 33 920 Gestern 16:05
Letzter Beitrag: Harry
  Arduino Mega mit Shield und 7" Touch Tudorf 10 169 Gestern 14:30
Letzter Beitrag: Tommy56
  Rotaryencoder funktioniert nicht richtig 123clever 19 415 20.02.2018 22:22
Letzter Beitrag: rpt007
  [gelöst] Micro SD-Card Shield an ISP? torsten_156 1 135 08.02.2018 22:24
Letzter Beitrag: Tommy56
  Echtzeituhrmodul läuft nicht scritch 64 2.827 28.01.2018 14:16
Letzter Beitrag: Tommy56
  Einmalige Servo Motor Ausführung BanditBandeh 23 919 03.01.2018 17:13
Letzter Beitrag: georg01
Bug I2C Displays wollen nicht mehr Der Ausserirdische 12 590 30.12.2017 17:11
Letzter Beitrag: hotsystems
  Uhr funktioniert nicht Jakob 8 575 30.12.2017 00:15
Letzter Beitrag: hotsystems
  Motor Shield V3 Analog Digital Converter Nextero 5 334 19.12.2017 10:54
Letzter Beitrag: Nextero
  BME280 wird nicht erkannt sowerum 14 695 10.12.2017 22:14
Letzter Beitrag: Tommy56

Gehe zu:


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