4-Relay Board mit Motoren

Hallo zusammen und frohes Neues.

Ich habe an ein 4 Relay Board Motoren angeschlossen, die erst durch einen Knopfdruck anlaufen sollen.

Mein Problem ist nun, dass das Relay jedesmal, wenn man das erste mal Strom anlegt, also meine Schaltung "anschaltet" ohne schon die entsprechenden Knöpfe zu drücken, die Motoren kurz anlaufen. Das Relay Board schaltet also einmal kurz wenn es Saft kriegt und schließt dann wieder...

Kann mir da jemand helfen wie ich das vermeiden kann?

Frohes Neues...
Der Fehler liegt sicher im Code.
Den solltest du uns zeigen.

Ah sorry...

int wodkaPin = 2; // choose the pin for the LED
int osaftPin = 3;
int inPin_EINS = 7; // choose the input pin (for a pushbutton)
int val = 0; // variable for reading the pin status

void setup() {
pinMode(wodkaPin, OUTPUT); // declare LED as output
pinMode(osaftPin, OUTPUT); // declare LED as output
pinMode(inPin_EINS, INPUT); // declare pushbutton as input
}

void loop(){
val = digitalRead(inPin_EINS); // read input value
if (val == LOW) { // check if the input is HIGH (button released)

digitalWrite(wodkaPin, HIGH);

delay(3000);//Befüllzeit
digitalWrite(wodkaPin, LOW);

digitalWrite(osaftPin, HIGH);
delay(9000);
digitalWrite(osaftPin, LOW);
}
else{}
}

Setze im Setup vor den Pinmode ein Pinlow des jeweiligen Ports.
Also "digitalWrite(Pin, LOW);"

Ach und sollte das nicht helfen, müssen wir die Schaltung sehen, da kann auch noch ein Fehler sein.

Setze im Setup vor den Pinmode ein Pinlow des jeweiligen Ports.

Das schaltet nur die Pullups ab, welche nach dem Reset sowieso aus sind.
An den Ausgängen des AVR sollte man vielleicht Pulldowns machen, damit die Ausgänge im Reset/Powerup nicht "schweben".

Schaltplan!

Daher auch meine Anmerkung mit der Schaltung.
Wir kennen ja nicht den Aufbau der Relaisplatine.

Hey,

also mit deinem Vorschlag im Code klappt es nicht. Der Ruck am Anfang (Video) bleibt bestehen...

Hab ehrlich gesagt gedacht, dass wird ein schnelles Projekt. Pustekuchen...:wink:

Dann setzte doch mal Pulldowns ein, wie von combie vorgeschlagen.

Aber im Moment ist es nur Raterei, da wir kein Schaltbild haben.
Nur du kennst den Aufbau.

Pulldowns sagen mir nix....

Hab mal einen Plan "skizziert"...nicht lachen!

Unten links ist der pushbutton

Pulldown ist wie der bei dir etwas verunglückte 2,2 kOhm Widerstand nur gegen GND/Masse (Down).

Die solltest du als ca. 10 kOhm auf die Ausgangspins des Arduino legen, damit während des Bootvorgangs ein Floating unterdrückt wird.
Mit Floating bezeichnet man einen Zustand der zwischen HIGH und LOW liegen kann und damit die Relais zum ziehen bringen kann.

Moin,
also ich habe jetzt jeweils einen 10kOhm Widerstand zwischen Arduino PIN 2 und GND und zwischen Pin 3 und GND gehangen. Keine veränderung.

sobo84:
Moin,
also ich habe jetzt jeweils einen 10kOhm Widerstand zwischen Arduino PIN 2 und GND und zwischen Pin 3 und GND gehangen. Keine veränderung.

Dann entspricht deine Schaltung nicht der Realität oder es ist etwas kaputt.

Nimm die Relaisplatine mal vom Arduino ab, nur Spannung drauf.
Klicken die dann auch, wenn du einschaltest?

wenn gar nichts anders hilft, dann eine Einschaltverzögerung für die 12V Spannung des Relais-Boards: http://shop.cboden.de/Erweiterungen-Zubehoer/Einschaltverzoegerung.html

HotSystems:
Nimm die Relaisplatine mal vom Arduino ab, nur Spannung drauf.
Klicken die dann auch, wenn du einschaltest?

Nein, dann tut sich nichts. Auch leuchtet keine LED am Modul.

mgcss:
wenn gar nichts anders hilft, dann eine Einschaltverzögerung für die 12V Spannung des Relais-Boards: http://shop.cboden.de/Erweiterungen-Zubehoer/Einschaltverzoegerung.html

Ist soweit ich weiß ein 5V Board…

HotSystems:
Dann entspricht deine Schaltung nicht der Realität oder es ist etwas kaputt.

:wink:

So hab ichs gemacht:

Tatsächlich keine Veränderung zu vorher. Kurzes Schalten der Relays bei Spannung und wenn der Button gedrückt wird laufen die Motoren…

sobo84:
Ist soweit ich weiß ein 5V Board..

Aber laut Deinem "Schaltplan" werden mit den Relais 12 V und bis zu 10 A geschalten. Diese Spannung kannst Du über die Einschaltverzögerung laufen lassen ... genau dafür ist sie gemacht. Dann ist es egal, ob die Relais schalten oder nicht. Die Motoren werden erst laufen, nachdem der Verzögerung abgelaufen. Die Relais klackern also im schlimmsten Fall nutzlos vor sich hin, aber die Motoren laufen nicht, bevor die Einschaltverzögerung den Strom dafür frei gibt.

PS: diese Relais-Platine taugt übrigens max. für 5 A pro Relais. Die Relais selbst könnten zwar mehr schalten, aber wie es aussieht, sind die Leiterbahnen nur auf einer Seite der Platine. Ich vermute mal, dass sie rund 2 mm breit sind. Damit erwärmen sie sich bei 6,5 Ampere bereits um 30 Grad!

Danke für die Infos,

die Motoren ziehen nur ca. 1,8A.

das sollte problemlos gehen. Wie gesagt: Klemm die Einschaltverzögerung in den Masse-Pfad der 12 Volt und alles wird gut, falls Du keine andere Lösung findest.

Ich denke es ist keine gute Lösung, einen Fehler durch eine Zusatzschaltung zu umgehen.
Man sollte hier den Fehler beseitigen.

Kannst du denn mit abgetrennter Verbindung zum Arduino die Relais manuell schalten?

Ich bin mir gar nicht sicher, ob es wirkich ein Fehler ist. Manche Boards "zucken" einfach während der Bootloader aktiv ist. Zum anderen scheinen dem TO noch die Kenntnisse für eine umfangreiche Fehleranalyse zu fehlen. Deshalb ist ein Workaround möglicherweise zielführender!

Ja, ok.
Da magst du Recht haben, mit dem TO.

Ich für mein Teil könnte so nicht damit leben.

Ein derartiger Fehler muss sich finden lassen und auch innerhalb der Schaltung beseitigen lassen.
Diese "Zucken" ist normalerweise durch geeignete Schaltungsänderung zu beseitigen.

Aber entsprechende Grundlagen der Elektronik sollten schon vorhanden sein.