Hallo, habe da ein kleines Problem und komme nicht weiter: Vorhanden: Außenhautüberwachung (im Haus Türen, Fenster) mit AtMega-32. Anzeige Objekte (Türen und Fenster) über LED's. LED brennt = Objekt geschlossen. Ist ein Objekt offen, geht die betreffende LED aus. Zustand wird in einem "Leitungsspeicher" vermerkt. Ist ein sog. Blockschloss zu und ein Objekt ist offen, dann wird ein Alarm ausgelöst. Optisch angezeigt durch eine pulsierende LED und akustisch durch ein Signal. In einem zweizeiligen LCD-Display wird das betreffende Objekt in Textform aus dem Leitungsspeicher angezeigt. Die Hintergrundbeleuchtung des Display wird hell. Wird das Objekt wieder geschlossen bleibt der Text bestehen und die Alarm-LED pulst weiter, nur der Alarmton geht nach 30 Sekunden aus. Soweit so gut. Fehler: Nach einiger Zeit (Tage, Stunden, ist nicht feststellbar) fällt beim Display die Textanzeige aus. Alles andere geht wie gewünscht, nur der Text eben nicht. Lösung: Bisherige Abhilfe: Versorgungsspannung kurz unterbrechen, ist aber keine wirkliche Lösung. Über einen Timer regelmäßig (1xTag, oder so) WatchDog starten und damit einen Reset durchführen??? Nachteil: dann wird wohl auch mein Leitunsspeicher gelöscht(!?) und das wäre im Alarmfall nicht gerade produktiv. Habt Ihr noch einen Vorschlag? Danke für Eure Hilfe vorab. Gruß Dietmar
Wir brauchen den Quellcode und den Schaltplan und ein Foto vom Aufbau. Danke.
Dietmar P. schrieb: > Nach einiger Zeit (Tage, Stunden, ist nicht feststellbar) fällt beim > Display die Textanzeige aus. Fällt die wegen eines elektronischen (z.B. Wackelkontakt Versorgungsspannung) oder wegen eines Softwarefehlers aus?
@ Pete K. das wird etwas aufwändig. Die Schaltung ist recht komplex mit einer Datenübertragung zwischen einer Zentrale für die Leitungseingänge und der Anzeige mit dem AtMega (HCT165N Sender/Empfänger). OK.Hänge mal die Programmdateien an. leitung = Abfrage derObjekte auswertung = Auswertung Objektzustand alarm = Objekt offen, Blockschloss ist zu lcd = Übertragung an Display taster = Alarmreset und Pflege Texttabelle für Objakte takt = Taktvorgabe für elle Element Bitte berücksichtigen ich bin Anfänger!! @Thomas M. Wackelkontakt ist eigentlich ausgeschlossen. Möglicherweise Softwarefehler. Wird diese Routine möglicherweise im AtMega blockiert? Alle Funktionen, wie beschrieben funktionieren einwandfrei, eben nur die Textanzeige kommt nicht mehr.
Hallo Cheffe, sowas habe ich auch vermutet. Wie kann ich den Fehler produziert haben, wie lösche ich den Stack, wie vermeide ich einen Stack-Überlauf? Gruß
Verschwindet der Text auf dem Display oder wird einfach nur kein neuer Text ausgegeben (Der alte Text bleibt also stehen). Ersteres deutet vielleicht auf ein Problem mit der Kontrastspannung hin.
Lass mal Testweise für den Fall, dass kein Text angezeigt werden soll, sowas wie "In Betrieb" anzeigen. Dann weisst du, ob es ein Fehler im Display oder im Controller ist. Ich tippe bei gar keiner Anzeige auf das Fehlen von Kondensatoren oder auf ein Problem mit der Kontrastspannung.
Hallo Chris, das ist ein guter Ansatz. Ich werde auf dem Display den Text "Betrieb" ausgeben, immer wenn kein Alarm vorliegt. Danke, Gruß Dietmar
Eventuell hilft es, einen zusätzlichen Taster einzubauen, mit dem du im Fehlerfall das Display neu initialisieren kannst. Wenn es darauf gut reagiert, weißt du zumindest, dass das Display wahrscheinlich nicht defekt ist. Wenn es nicht reagiert, kannst du ein anderes Display versuchen. Außerdem würde ein Logic Analyzer sicher hilfreich sein. Damit kannst du prüfen, ob die Kommunikation zum Display noch funktioniert.
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.