Forum: Mikrocontroller und Digitale Elektronik Arduino Programm bricht zusammen!


von Johannes (Gast)


Lesenswert?

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);


  }
}

von Stefan F. (Gast)


Lesenswert?

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.

von fop (Gast)


Lesenswert?

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.
von Amateur (Gast)


Lesenswert?

Ein "halbes" Programm und keine Hardwarebeschreibung.
Das kann nur Fehler 42 sein.

von Einer K. (Gast)


Lesenswert?

Ich weiß das auch nicht.

Das Programm ist untestbar..

von Regeln Erklehrbehr (Gast)


Angehängte Dateien:

Lesenswert?

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.

von Forist (Gast)


Lesenswert?

Wenn man im Quellcode die ganzen Mehrfachleerzeilen raus lässt, ist der 
Quellcode doch gar nicht mehr sooh lang ;-)

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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
von Johannes (Gast)


Lesenswert?

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 :)

von wendelsberg (Gast)


Lesenswert?

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

von Christian M. (Gast)


Lesenswert?

Johannes schrieb:
> Habe meine Eingänge mit der Relaikarte verbunden.

Vielleicht wäre es besser die Ausgänge, oder etwa nicht?

Gruss Chregu

von Wolfgang (Gast)


Lesenswert?

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 ;-)

von Hugo E. (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.