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
Problem Relaisplatine
22.03.2021, 20:55 (Dieser Beitrag wurde zuletzt bearbeitet: 22.03.2021 22:18 von Maui.)
Beitrag #1
Problem Relaisplatine
Hallo zusammen,

ich brüte nun schon seit einiger Zeit über dem Problem der Ansteuerung einer 8-fach Relaisplatine mit einem Uno.

Der Fall erscheint mir ziemlich ungewöhnlich, weil ich mittels:

Code:
pinMode(0,OUTPUT);                      // Relais Vorwärts
    pinMode(1,OUTPUT);                      // Relais Rückwärts
    pinMode(2,OUTPUT);                      // Relais Langsamfahrt

Code:
void setup() {
        digitalWrite(0, HIGH);
        digitalWrite(1, HIGH);
        digitalWrite(2, HIGH);
        delay(2000);
        digitalWrite(0, LOW);
        digitalWrite(1, LOW);
        digitalWrite(2, LOW);
        delay(2000);
        digitalWrite(0, HIGH);
        digitalWrite(1, HIGH);
        digitalWrite(2, HIGH);
}

ohne Probleme 3 Relais gleichzeitig ansteuern kann. Code und Spannungsversorgung funktionieren offenbar.

Wenn ich nun aber den selben Code im Loop integriere, funktioniert nur noch 1 Relais, die anderen wollen nicht mehr.

Code:
void loop() {
        digitalWrite(0, HIGH);
        digitalWrite(1, HIGH);
        digitalWrite(2, HIGH);
        delay(2000);
        digitalWrite(0, LOW);
        digitalWrite(1, LOW);
        digitalWrite(2, LOW);
        delay(2000);
        digitalWrite(0, HIGH);
        digitalWrite(1, HIGH);
        digitalWrite(2, HIGH);
}

Ich habe es mit einer USB-Spannungsversorgung versucht, mit einem 9V Netzteil. Keine Chance, wenn überhaupt reagiert nur ein Relais, oder alle machen irgend etwas, aber nehmen keinen korekten Schaltzustände an.

Ob die Relais mittels LOW od. HIGH geschalten werden ist mir eigentlich erstmal egal. In diesem Test sind sie zumindest mal LOW aktiv.

Hat jemand einen Tipp für mich, warum es nicht geht und wie ich die 3 Relais ansteuern kann. Evt. auch mit den Analogausgängen, falls es nicht mit den Digitalen gehen sollte.

Vielen Dank schon mal für die Unterstützung.
Alexander


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
22.03.2021, 21:11
Beitrag #2
RE: Problem Relaisplatine
Du solltest die Pins erst mal mit pinMode als Ausgang schalten.

Sind Deine Relais (Link bitte) Low- oder High-aktiv?

Setze Deinen Sketch bitte in Codetags.
Wie das geht, steht hier.
Das kannst Du auch noch nachträglich ändern.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
22.03.2021, 22:20 (Dieser Beitrag wurde zuletzt bearbeitet: 22.03.2021 22:20 von Maui.)
Beitrag #3
RE: Problem Relaisplatine
Vielen Dank Tommy schon mal für Deine Hinweise. Ich habe es gleich mal aktualisiert und etwas ergänzt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
22.03.2021, 22:30
Beitrag #4
RE: Problem Relaisplatine
(22.03.2021 22:20)Maui schrieb:  Vielen Dank Tommy schon mal für Deine Hinweise. Ich habe es gleich mal aktualisiert und etwas ergänzt.

Was jetzt heißt, dass es funktioniert ?

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
22.03.2021, 22:31
Beitrag #5
RE: Problem Relaisplatine
(22.03.2021 20:55)Maui schrieb:  ....
Code:
pinMode(0,OUTPUT);                      // Relais Vorwärts
    pinMode(1,OUTPUT);                      // Relais Rückwärts
    pinMode(2,OUTPUT);                      // Relais Langsamfahrt
....

Also erst mal fällt der Standart Anfängerfehler auf... D0 und D1 sind die Ports der Seriellen Schnittstelle zur IDE...da schließt man als Unkundiger einfach nichts anderes an.
lgbk


An alle Neuankömmlinge hier, wenn ihr Code(Sketch) hier posten wollt dann liest euch bitte diese Anleitung durch.

Ich spreche fließend Schwäbisch, Deutsch das Notwendigste und für die Begriffsstutzigen erprobtes Tacheles mit direkten Hinweisen ohne Schnörkel...

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.03.2021, 00:38 (Dieser Beitrag wurde zuletzt bearbeitet: 23.03.2021 00:40 von Franz54.)
Beitrag #6
RE: Problem Relaisplatine
(22.03.2021 20:55)Maui schrieb:  Wenn ich nun aber den selben Code im Loop integriere, funktioniert nur noch 1 Relais, die anderen wollen nicht mehr.

Ich habe es mit einer USB-Spannungsversorgung versucht, mit einem 9V Netzteil. Keine Chance, wenn überhaupt reagiert nur ein Relais, oder alle machen irgend etwas, aber nehmen keinen korekten Schaltzustände an.

Wenn du den Code im Loop hast, wird er alle 2 Sekunden neu durchlaufen. Das heißt, deine Relais schalten alle 2 Sekunden um.

Im Setup wurde das Programm nur einmal durchlaufen.

Franz

https://www.youtube.com/watch?v=Fnzn85oWM_Q
Hier was zum Thema Deutsche Politik Angry
Und hier zum Thema richtige Politik Big Grin
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.03.2021, 06:27 (Dieser Beitrag wurde zuletzt bearbeitet: 23.03.2021 06:30 von Maui.)
Beitrag #7
RE: Problem Relaisplatine
Guten Morgen,

super, danke für die Hinweise.

Ich hatte vorher auch schon andere Port probiert, zuletzt dann auch D0 und D1. War jetzt hier von mir wohl etwas unglücklich gewählt.

Das der Loop alle 2 Sekunde durchlaufen wird und es deshalb nicht funktioniert war auch eine Vermutung von mir. Das dürfte also stimmen. Ich war mir nicht sicher, ob der Loop stopt, den delay abarbeitet und erst dann wieder weiterarbeitet.

Das Umschalten der Relais soll eigentlich in einer Schleife für einige Sekunden abgearbeitet werden. Kann man die Ausführung des Loops solange vielleicht unterbrechen/anhalten?

Dann müsste das Problem nicht mehr auftreten. Sonst muss ich es irgendwie anders lösen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.03.2021, 09:00 (Dieser Beitrag wurde zuletzt bearbeitet: 23.03.2021 09:03 von Maui.)
Beitrag #8
RE: Problem Relaisplatine
Hallo zusammen,

ich habe es nun noch einmal anders versucht und die Schaltfunktion für die Relais ausgelagert, damit der Loop nicht dazwischenfunken kann (wie vermutet wird). Um die Arbeit des Programms genau beobachten zu können, werden entsprechende Infos auf dem seriellen Monitor angezeigt.
Code:
int Unterprogramm;

void setup() {

    Unterprogramm = 0;

    pinMode(0,OUTPUT);                      // Relais Vorwärts
    pinMode(1,OUTPUT);                      // Relais Rückwärts
    pinMode(2,OUTPUT);                      // Relais Langsamfahrt

    digitalWrite(0, HIGH);
    digitalWrite(1, HIGH);
    digitalWrite(2, HIGH);

    Serial.begin(9600);
    Serial.println("OK");
    Serial.flush();
        
}

void loop() {

if (Unterprogramm == 0){
       SubRoutine();
}
Serial.println("Loop ........");
}

void SubRoutine(){

        Unterprogramm = 1;
            
                Serial.println("Unterprogramm 1");
              
                digitalWrite(0, LOW);
                Serial.println("Relais 1 ein");
                digitalWrite(1, LOW);
                Serial.println("Relais 2 ein");
                digitalWrite(2, LOW);
                Serial.println("Relais 3 ein");
                
                delay(5000);
                
                digitalWrite(0, HIGH);
                Serial.println("Relais 1 aus");
                digitalWrite(1, HIGH);
                Serial.println("Relais 2 aus");
                digitalWrite(2, HIGH);
                Serial.println("Relais 3 aus");
              
                delay(5000);  

                Serial.println("Unterprogramm 0");
                
        Unterprogramm = 0;
  
  }

Wenn das Programm läuft kommen folgende Infos auf den Monitor:
Code:
08:50:51.826 -> Unterprogramm 0
08:50:51.826 -> Loop ........
08:50:51.860 -> Unterprogramm 1
08:50:51.860 -> Relais 1 ein
08:50:51.860 -> Relais 2 ein
08:50:51.894 -> Relais 3 ein
08:50:56.850 -> Relais 1 aus
08:50:56.850 -> Relais 2 aus
08:50:56.850 -> Relais 3 aus
08:51:01.838 -> Unterprogramm 0
08:51:01.838 -> Loop ........

Dann geht alles wieder von vorne los.

Relais 1 macht nichts
Relais 2 macht kurz klick
Relais 3 macht was im Programm steht

Der Loop stoppt und springt ins Unterprogramm, arbeitet es ab und springt dann wieder zurück. Er scheint also nicht dazwischenzufunken.

Da steh' ich nun, ich armer Tor,
und bin so klug als wie zuvor! Rätsel, Rätsel .......

Nächster Versuch PINs umbauen weg von 0,1,2
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Problem mit "pow" awillib 9 819 27.02.2021 19:22
Letzter Beitrag: Tommy56
  Pwm Problem safitom 4 491 20.02.2021 12:14
Letzter Beitrag: safitom
  Problem mit "Keyboard" und "Mouse" LK2567 4 560 03.02.2021 16:11
Letzter Beitrag: MicroBahner
  const char zu int Konvertierung Problem Lumplux 1 369 02.02.2021 10:26
Letzter Beitrag: Lumplux
  Arduino Uno+ Ethernetshield W5100 Website Problem Justus S. 9 828 31.01.2021 17:37
Letzter Beitrag: Tommy56
Sad MAX7221 mit gemeinsamer Anode und Problem Dezimalpunkt daja64 11 818 30.01.2021 11:07
Letzter Beitrag: daja64
  LCD via I2C Backlight-Problem Herby007 10 1.014 06.01.2021 14:46
Letzter Beitrag: Herby007
  OLED Bildschirm Problem JoeIsFame 79 3.408 04.01.2021 06:41
Letzter Beitrag: Bitklopfer
  Problem mit Variablen & Ergebnis rev.antun 11 894 26.11.2020 15:47
Letzter Beitrag: rev.antun
  Nextion Senden von Variablen Problem Tesla 10 1.394 08.11.2020 13:13
Letzter Beitrag: Tesla

Gehe zu:


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