Gast
#5028036
Hallo, vor rund 14 Jahren habe ich u.a. mit Hilfe dieses Forums eine AVR µC Steuerung für die Warmwasseranlage incl. Sonnenkollektoren bei meinen Eltern realisiert. Es werden Temperaturen von 4 PT1000 Fühlern ausgelesen und abhängig von Prioritäten, die mit einem Schiebeschalter gewählt werden können, 3 Umwälzpumpen gesteuert. Das Ganze läuft seither recht zuverlässig aber ganz selten (1x pro Jahr) kann es vorkommen, dass die Anlage in einen undefinierten Zustand verfällt und bis zu einem manuellen Reset nicht mehr funktioniert. Das ist deshalb unangenehm, weil bei starker Sonneneinstrahlung die Wärme nicht mehr abtransportiert wird und die Flüssigkeit im Sonnenkolletor-Kreislauf teilweise verdampft und nur durch Entlüften der Anlage wieder der Normalzustand hergestellt werden kann. Eine Beschädigung der Anlage bei längerem Ausfall ist nicht auszuschliessen. Vor einigen Wochen kam dieser Zustand mehrmals hintereinander vor. Evtl hat ein Relais nicht mehr korrekt geschaltet. Da der Störfall normalerweise sehr selten eintritt und ich nicht vor Ort bin fällt es mir schwer festzustellen wo es genau hapert. Nach Installation der Schaltung vor 14 Jahren kam es bereits manchmal zu Hängern. Diese konnte ich nachträglich durch die interne Watchdog Schaltung des AVR abfangen. Die Anzahl der Resets werden im EEPROM gespeichert und können am LCD angezeigt werden. Es gibt lange Perioden in denen gar keine Resets vorkommen und dann können plötzlich mehrere Resets an wenigen Tagen eintreten. Zusätzlich kommt die Anlage sehr selten in den genannten Zustand in dem die interne Watchdog Schaltung nicht mehr funktioniert. Die erste Zeile des LCD wird schwarz, alle Pumpen stehen still und der µC reagiert nur noch auf manuellen Reset. Hier wäre eine externe Watchdog Schaltung natürlich besser gewesen, aber das wurde mir erst später klar. Meine Vermutung ist, dass die Schaltvorgänge der Relais diese Zustände hervorrufen. Wenn ich mit dem Schiebeschalter wild die Pumpen manuell an und aus schalte (Der Schiebeschalter legt den Transistor der das Relais ansteuert entweder an den µC-Ausgang, an GND oder an 5V) kommt es öfters zu Resets. Mit einem Uralt-Röhren-Oszi habe ich die 5V Versorgung angeschaut und gewisse Spannungsspitzen beim Umschalten entdeckt. Ich bin mir aber nicht ganz sicher ob es sich nicht auch um parasitäre Messfehler handeln kann. An einem 5V Steckernetzteil das Testweise am selben Netz angeschlossen wurde habe ich DC-seitig ähnliche Ausschläge gesehen. Was zusätzlich für die Relais als Störquelle spricht ist, dass Ausfälle meist an sonnigen Tagen vorkamen and denen vermutlich mehr Schaltvorgänge vorkommen. Zum Aufbau: Die Anlage besteht aus drei Platinen die mit Flachbandkabeln miteinander verbunden sind. 1. Netzspannungsplatine mit Spannungsversorgung und Pumpenrelais Ein 9V Trafo mit Gleichrichter und 4700µF Elko erzeugt ca 12-13V. Aus diesen wird mit 7809 die OP Spannung erzeugt und davon mit 7805 die restliche Logik versorgt. Die Spulen der Relais werden direkt mit den 12V versorgt um die Festspannungsregler nicht unnötig zu belasten. 2. Logikplatine mit AT90S8535 und Temperaturmessung Die 9V und 5V werden auf der Logikplatine mit Elko nochmals gepuffert. Vermutlich 47µF. Die Beschaltung des AVR ist nach Datenblatt mit externem Oszillator. Die Folienkondensatoren sind nahe an den Pins. Der PT1000 wird über eine H-Brücke und OP-Komparator ausgelesen. Der Temperaturbereich von -20°C bis 100°C wird recht linear auf 0-5V abgebildet. Dieses Analogsignal wird direkt am ADC des µC angelegt. Die BAT schützt den ADC vor Überspannung. 3. I/O Frontplatine mit 16x2 LCD, status LEDs und Schiebeschalter für Prioritätswahl und Wahl zwischen manueller und automatischer Pumpensteuerung Nun Endlich zu den Fragen: - Was kann eurer Meinung nach solche Aussetzer verursachen? - Sieht jemand Schwachpunkte, die die Schaltung störungsanfällig machen? - Würde es evtl helfen den µC noch mit schnellen KerKos zu puffern um Spitzen besser abzufangen? Als externe Sicherheitsschaltung werde ich mit einem Komparator einen Schmitt Trigger realisieren der über ein extra Relais die Kollektorpumpe bei Übertemperatur (>4.5V Analogsignal) aktiviert und bei 3V wieder deaktiviert, unabhängig davon was der µC macht. Ein Ausfall der Spannungsversorgung wird damit leider nicht abgedeckt weil ich den Schmitt Trigger mit den 5V versorgen werde und das Auslesen der Temperatur nur mit dem bestehenden Fühler möglich ist. Ein Überhitzen bei Ausfall des µC wird dadurch jedoch vermieden. Evtl könnte diese Schaltung auch gleich einen hard-reset des µC ausführen.



