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
  BME280 wird nicht erkannt sowerum 14 175 Gestern 22:14
Letzter Beitrag: Tommy56
  Echtzeituhrmodul läuft nicht scritch 21 523 30.11.2017 10:44
Letzter Beitrag: Tommy56
  Bootloader lässt sich nicht brennen?? dobermann145 10 489 21.11.2017 22:58
Letzter Beitrag: hotsystems
  Aptotec V1.2 Can Bus Shield / Auto Marc2014 23 1.263 01.11.2017 07:30
Letzter Beitrag: Bitklopfer
Sad Nano - nicht genug Speicher torsten_156 10 616 30.10.2017 21:40
Letzter Beitrag: MicroBahner
  Kommunikation über das WiFi-Shield Flap 13 1.583 12.09.2017 22:12
Letzter Beitrag: Flap
  NeoPixels: Sketch will nicht - Problem mit delay? Zabsi 5 479 22.08.2017 15:17
Letzter Beitrag: Tommy56
  BME280 - Luftdruckoffset nicht einstellbar ? Stargazer 17 1.267 13.08.2017 15:38
Letzter Beitrag: hotsystems
  Ich komme mit millis nicht weiter !!! Gonmaus 8 930 09.07.2017 21:24
Letzter Beitrag: Tommy56
  Motor Steuerung durch Sensoren Werte Zerebrator 14 1.034 12.06.2017 14:36
Letzter Beitrag: Franz54

Gehe zu:


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