Hallo, Mein Arduino Programm hängt sich jedes mal auf und ich weiß nicht warum. Ich steuere mit meinem Arduino Mega 2560 eine Elektropneumatikeinheit und möchte meine Impulsventile ansteuern. Habe meine Eingänge mit der Relaikarte verbunden. An einer stelle hängt sich dass Programm immer auf vllt hat ja jemand einen tipp? Danke im voraus Johnson void loop() { // Taster 1 tasterStatus1 = digitalRead(tasterPin1); if (tasterStatus1 == HIGH) { digitalWrite(Impulsventil_1M1, HIGH); delay(20); digitalWrite(Impulsventil_1M2, LOW); delay(2000); } if (tasterStatus1 == LOW) { Serial.println ("Taster 1"); delay (10); digitalWrite(Impulsventil_1M2, HIGH); delay(20); digitalWrite(Impulsventil_1M1, LOW); delay(500); digitalWrite(Impulsventil_1M1, HIGH); delay(30); digitalWrite(Impulsventil_1M2, HIGH); delay(1000); } // Taster 2 tasterStatus2 = digitalRead(tasterPin2); if (tasterStatus2 == HIGH) { digitalWrite(Impulsventil_1M1, LOW); digitalWrite(Impulsventil_1M2, HIGH); } if (tasterStatus2 == LOW) { Serial.println ("Taster 2"); delay(10); digitalWrite(Impulsventil_1M2, LOW); digitalWrite(Impulsventil_1M1, HIGH); delay(500); digitalWrite(Impulsventil_1M1, HIGH); digitalWrite(Impulsventil_1M2, HIGH); delay(1000); } }
Vermutlich ein Hardwarefehler. Bei Lasten mit Spulen und Motoren ist das immer wieder ein Knackpunkt. Hier wäre ein Schaltplan und ein Foto von der gesamten Leitungsführung (auf Platine und auch die Kabel) hilfreich.
Da Dein Programm nichts hat, wo sich der Mikrocontroller länger als 2 sec aufhält und auch keinen vertrackten Zustandsautomaten, gehe ich eher davon aus, dass elektromagnetische Störungen beim Schalten der Aktuatoren Deinen Arduino aus der Bahn werfen. Toggle mal in jedem Durchlauf eine Led, dann siehst Du, wenn die Programmausführung hängt. Kopple als erstes mal die Relais ab, bzw. schalte die Stromversorgung für deren Spulen ab. Schaue, wie lange Dein Programm dann läuft. Wenn es so klappt, aktiviere die Relais wieder, aber klemme die Magnetventile ab. Schaue dann nochmal, wie lange Dein Programm so läuft.
Beitrag #5632200 wurde von einem Moderator gelöscht.
Ein "halbes" Programm und keine Hardwarebeschreibung. Das kann nur Fehler 42 sein.
Johannes schrieb: > Danke im voraus > Johnson Johannes lernt jetzt erst mal sich hier im Forum angemessen zu bewegen indem er vor dem Posten die Forumsregeln liest, verinnerlicht und umsetzt. Zur Verdeutlichung habe ich ihm entscheidende Details noch mal speziell hervorgehoben.
Wenn man im Quellcode die ganzen Mehrfachleerzeilen raus lässt, ist der Quellcode doch gar nicht mehr sooh lang ;-)
Forist schrieb: > Wenn man im Quellcode die ganzen Mehrfachleerzeilen raus lässt Und die delay() am Besten auch gleich. Ein "delay" im Hauptprogramm ist nur die kurze Schreibweise für "Programmierfehler"... Johannes schrieb: > Habe meine Eingänge mit der Relaikarte verbunden. Und die Masse auch? Wie wird der ganze Krempel versorgt? > An einer stelle hängt sich dass Programm immer auf Welche Stelle ist das? Und was passiert, wenn du keine Ventile angesteckt hast? > vllt hat ja jemand einen tipp? Teile dein Problem in Einzelteile auf. Isoliere es, erst dann kannst du es lösen.
:
Bearbeitet durch Moderator
Regeln Erklehrbehr schrieb: > Johannes schrieb: >> Danke im voraus >> Johnson > > Johannes lernt jetzt erst mal sich hier im Forum angemessen > zu bewegen indem er vor dem Posten die Forumsregeln liest, > verinnerlicht und umsetzt. > > Zur Verdeutlichung habe ich ihm entscheidende Details noch > mal speziell hervorgehoben. bleib cool Baby :)
Amateur schrieb: > Ein "halbes" Programm und keine Hardwarebeschreibung. Und Schwierigkeiten bei der Platzierung des Buchstaben "s". Johannes schrieb: > Relaikarte verbunden. An einer stelle hängt sich dass Programm Also ziemlich sicher 42. wendelsberg
Johannes schrieb: > Habe meine Eingänge mit der Relaikarte verbunden. Vielleicht wäre es besser die Ausgänge, oder etwa nicht? Gruss Chregu
Christian M. schrieb: > Vielleicht wäre es besser die Ausgänge, oder etwa nicht? Das sollte sich sich nach dem uC-Reset beim Durchlaufen der setup()-Funktion von selbst regeln ;-)
Christian M. schrieb: > Johannes schrieb: >> Habe meine Eingänge mit der Relaikarte verbunden. > > Vielleicht wäre es besser die Ausgänge, oder etwa nicht? > > Gruss Chregu An den Ausgängen hängen doch schon die Ventile. @TO: Oder habe ich da etwas falsch verstanden? Wenn wir einen Schaltplan hätten, müßten wir hier nicht raten!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.