Hallo,
ich habe mit Bascom, Atmega 168, DS18B20-Temperaturfühler und einem
16*2-LCD einen Wohnwagen-Kühlschrank-Regler gebaut, der im ersten Urlaub
auch prima funktioniert hat, danach aber immer öfter nicht mehr, und
zwar schaltet er den Kühlschrank nicht aus. Ich habe den Microcontroller
schon getauscht, habe am Code herumoptimiert, ihn dann gut drei Tage
zuhause eine Kühlbox regeln lassen und mitgeloggt, da ging es absolut
zuverlässig. Dann in den Wohnwagen eingebaut und sofort wollte er nicht
ausschalten nachdem kalt genug war. Dabei zeigt er immer korrekte
Temperatur-Meßwerte an und bleibt bedienbar (man kann
Einschalttemperatur und Hysterese abrufen und ändern).
Er zeigt auch zwei weitere Temperaturen und die Batteriespannung
(12-V-Autobatterie) korrekt an, hängt also nicht in einer Schleife fest.
An EEprom-Werten hat er einen Startzähler, der bei jedem Start um eins
hochzählt, Einschalttemperatur und Hysterese.
Ich verdächtige das EEprom, das es in einen Speicherbereich schreibt in
dem es nichts verloren hat. Ist so etwas möglich ?
Es liegt auch nicht an der Spannungsversorgung, die ist ein Linearregler
7805 von 12 V, hinter einer Verpol- und einer Überspannungsschutzdiode
und einem Elko vor und einem hinter dem Linearregler. Wenn man die
Spannung abschaltet braucht er ca. 2 Sekunden bis er aus ist, ist also
gut gepuffert. µC und LCD haben auch ihren 1µF-Kondensator dicht am
Spannungseingang.
Die Wartezeit zur Messung ist 800 ms, es sind drei Temperaturfühler
verbaut, jeder in 3-Leiter-Technik an einem eigenen Pin des µC.
Vor allem: Er zeigt mir die Temperatur der Fühler ja an (CRC-Code
geprüft), hat klar definiert eine Temperatur, bei der er schalten soll,
macht es aber manchmal nicht.
Was gibt es bei µC für Unzuverlässigkeits-Effekte ?
Ratlos
Gruß Tilmann
Tilmann schrieb:> Was gibt es bei µC für Unzuverlässigkeits-Effekte ?
In der Regel befindet sich der Fehler im OSI Schichtenmodel auf Level 8
Tipp:
Es ist eine gute Idee, Schaltplan und Code geheim zu halten, denn so
kann man sich viel länger und absolut erfolglos mit dem Problem
herumschlagen.
;-)
(Obwohl: Bascom kann ich nicht)
Hi,
Das EEPROM kann in meinen anderen Bereidch schreiben. Wie schaltest due
den Kühlschrank ? Mit einem Mosfet oder einem Relais ? Geht das alles
wenn du ohne den Controler den Kühlschrank über das Stellglied schaltest
?
Gruß JackFrost
Kann es sein, daß dein Thermostat am Ausgang ein Relais hat und dessen
Kontakte Klebrig geworden sind?
Dann solltest du das Relais erneuern und einen Snubber (100nF + 220 Ohm)
parallel zu seinen Kontakten schalten.
> Was gibt es bei µC für Unzuverlässigkeits-Effekte ?
Wenn du ihn außerhalb seiner Spezifikation betreibst, musst du mit jeder
denkbaren fehlfunktion rechnen. Warscheinlicher ist aber, daß du da an
der falschen Stelle suchst.
@TO
Verdächtigungen bringen uns nicht weiter. Deine Schaltung hast du vage
beschrieben. Theoretische Fehlerquellen hast du bekommen. Die relevanten
Informationen fehlen uns noch um das Problem an der Wurzel anzupacken.
Ohne ein Schaltplan kann dir keiner weiterhelfen. Wenn du ganz faul
bist, machst du gute Fotos von der Schaltung. Wenn du dein Code nicht
preisgeben willst, sollte zumindest deine Hardware (der Aufbau) gecheckt
werden. ;)
Michael B. schrieb:> Tilmann schrieb:>> Ich verdächtige das EEprom>> Ich verdächtige die Stromversorgung, die zu Störungen führt.
Denke ich auch. Es hilft zwar nicht, aber ich verdächtige einfach mal
fehlende Abblockkondensatoren. Wollte auch mal mitmachen.
Hallo,
ich kenne auch die Regel, daß der Fehler meistens vor der Tastatur sitzt
... aber wenn es nur gelegentlich auftritt ?
Schalten tut ein Mosfet, der ist prima, und wenn ich ins Nachregelmenü
gehe, schaltet es ja auch wieder. An dem liegt es also nicht.
Warum soll die Spannungsversorgung schuld sein, wenn doch das Display
ständig 4 Meßwerte liefert und aktuell hält, also läuft doch der µC.
Dann müßte er doch merken das die Temperatur niedrig genug ist und er
mal abschalten sollte.
Seine Spannung ist sehr konstant 4,99 V, und die Frequenz des
Quarzoszillators gut ein Viertel von Maximum, d.h. 5,1 ... MHz. Von
wegen außerhalb der Spezifikation. Er zeigt auch am Display an ob ein-
oder ausgeschaltet ist, und da bleibt es bei eingeschaltet.
Gruß Tilmann
Route 6. schrieb:> H. E. schrieb:>> Wenn du dein Code nicht>> preisgeben willst,>> Wenn ich zum Arzt gehe, muss ich mich ausziehen...> ...oder krank bleiben!
Hoffentlich nicht auch beim Zahnarzt. :-)
Hallo Leute,
ich bedanke mich für die rege Anteilnahme. Wenn ich heute abend
nachhause komme, stelle ich den Code rein, da soll nix geheim sein.
Abblockkondensatoren sind an LCD und µC.
Gruß Tilmann
Tilmann W. schrieb:> Er zeigt auch am Display an ob ein-> oder ausgeschaltet ist, und da bleibt es bei eingeschaltet.
Angeschaltet bleiben ist falsch? Es ist dann doch wohl klar, das es an
der Software liegt, denn wenn die weiter anschaltet, obwohl sie es nicht
soll, das aber auch korrekt kundtut, ist da wohl was im argen.
Mein erster Vorschlag: Code erweitern, neben Mosfet noch einen Pin
schalten, an dem eine LED anschließen.
Das sagt dir dann klipp und klar ob das Problem in der
Entscheidungsfindung (A) oder beim eigentlichen Schalten (B) zu suchen
ist.
(Deswegen auch nicht parallel LED zum Mosfet-Gate, wenn z.B. dein
treibender Pin defekt wäre würde das wie (A) aussehen, wenn's eigenlich
(B) ist...)
Wenn (A), dann würde ich mir erst mal die Schaltschwellen mit auf's
Display ausgeben lassen. Das sagt dir dann ob Du mit deiner EEPROM
Hypothese auf der richtigen Fährte bist.
Tilmann W. schrieb:> ich kenne auch die Regel, daß der Fehler meistens vor der Tastatur sitzt> ... aber wenn es nur gelegentlich auftritt ?
Auch dann!
Ich behaupte:
Eine deiner vielen Annahmen ist falsch.
Vielleicht schon bei der Konstruktion des "Dingen".
Tilmann W. schrieb:> Hallo Leute,>> ich bedanke mich für die rege Anteilnahme. Wenn ich heute abend> nachhause komme, stelle ich den Code rein, da soll nix geheim sein.>> Abblockkondensatoren sind an LCD und µC.>> Gruß Tilmann
Und der Schaltplan bleibt auch nicht geheim?
Hallo,
ich habe keinen Schaltplan gemacht, sondern das so Stück für Stück
gebastelt :-)
In Anlage ein Bild und der Quellcode.
Den glorreichen Schalttransistor habe ich vor einem Jahr schon
vorgestellt:
Beitrag "Logic-Level MOSFET"
Gruß Tilmann
Arduino F. schrieb:> In der Regel befindet sich der Fehler im OSI Schichtenmodel auf Level 8
Kann ich unterschreiben:
Tilmann W. schrieb:> ich habe keinen Schaltplan gemacht, sondern das so Stück für Stück> gebastelt :-)
Ich sehe auf dem Bild am AVR keinen einzigen Abblock-C
Tilmann W. schrieb:> Abblockkondensatoren sind an LCD und µC.Marc H. schrieb:> Ich sehe auf dem Bild am AVR keinen einzigen Abblock-C
? ?
Manchmal macht ein Schaltplan einfach Sinn!
Arduino F. schrieb:> Tilmann W. schrieb:>> Abblockkondensatoren sind an LCD und µC.>> Marc H. schrieb:>> Ich sehe auf dem Bild am AVR keinen einzigen Abblock-C>> ? ?>>> Manchmal macht ein Schaltplan einfach Sinn!
Das Bild ist nicht aussagekräftig. Wenn dann sind sie gut versteckt oder
an einem geheimen Ort. ?
Ich erkenne nicht mal ob der Tiny gesockelt ist. Es gibt auch Sockel mit
abblockkondensatoren. Am LCD sehe ich auch nichts. ?
Tilmann schrieb:> Ich verdächtige das EEprom
Verdächtigen kann man vieles, nur bringt das nichts außer verlorener
Zeit.
Ich würde nicht verdächtigen, sondern gezielt den Fehler suchen. Eh Du
die SW verdächtigst, solltest Du erstmal die HW überprüfen. Welcher
Pegel ist denn an dem MC-Pin, der ausschaltet? Schaltet er bei Reset
aus?
Guten Morgen Tilmann,
wenn Du das EEprom "verdächtigst", dann bitte ich dich, lese bitte die
Atmel Application Note:
*AVR180: External Brown-out Protection*
http://www.atmel.com/Images/doc1051.pdf
Dort findet man u.a. das Stichwort "EEPROM Corruption" !
Unter Goo* kannst Du mal nach "Atmel EEPROM Corruption" suchen. :-)
Bitte berichte.
Wenn ich das Ich EEprom nutze schalte ich immer die für die
Versogungsspannung Vcc passenden BOD-Level ein, t.B. BOD-Level 4,3V.
Siehe: http://www.engbedded.com/fusecalc/
Tilmann schrieb:> ich habeTilmann W. schrieb:> ich kenne auch die Regel, daß der Fehler meistens vor der Tastatur sitzt> ... aber wenn es nur gelegentlich auftritt ?Tilmann W. schrieb:> stelle ich den Code rein,Tilmann W. schrieb:> In Anlage ein Bild
Die korrekte Herangehensweise wäre den post vom TE komplett zu löschen,
da er sich an gar keine Regel gehalten hat! Weder im Eröffnungspost ein
aussagekräftiges Foto, noch die Quellen noch sich die Mühe gemacht hat
den Schaltplan zu zeichnen wie die aktuelle Schaltung ist. Darüber
hinaus hat er vom AVR nicht einmal das Datenblatt gelesen, sonst wüsste
er das an jedem Pin der zur Spannungsversorgung dient einen Kondensator
gegen Masse so kurz als möglich angeschlossen werden muss.
Das wir hier oft genug gepredigt, nutzt nur nix!
Und dann schließt er unterschwellig den Fehler seiner Hardware aus!
Alex W. schrieb:> Die korrekte Herangehensweise wäre den post vom TE komplett zu löschen,> da er sich an gar keine Regel gehalten hat!
Geht's wieder?!
Es gibt Leute, die zu Hause noch etwas Anderes als eine
Kühlschranksteuerung zu betreuen haben. Er schrieb: "Heute Abend". Der
heutige Abend ist noch lang.
Hallo Leute,
also nochmal: Ich habe Abblock-Kondensatoren à 0,1 µF an den
Stromversorgungseingängen von LCD und µC; bei letzterem unter dem
Sockel.
Außerdem, auch wie schon geschrieben, wenn ich die Betriebsspannung
abschalte dauert es ca. 2 Sekunden bis im Display nichts mehr zu sehen
ist, weil vorn ein 2,2mF Elko auf der 12-V-Seite sitzt, der den
Spannungsregler eine Weile versorgt. Das ist nicht der Punkt.
Aber was ist eigentlich mit diesen Angaben "$hwstack, $swstack,
$framesize", die habe ich irgendwie auf Verdacht vergeben, da kenne ich
keine Regel wie die zu dimensionieren sind. Vielleicht hätte ich das
weglassen sollen.
Gruß Tilmann
Hallo,
Bascom ist nicht wirklich mein Fachgebiet, jedoch könnte ein
Stacküberlauf auch ein in dieser Sprache geschriebenes Programm
auslösen. Dieser tritt nicht immer und nicht immer gleich auf.
MfG
Hi,
BASCOM ist auch nicht mein Fachgebiet, der ATMEGA168 schon eher.
Nach kurzer Recherche hast Du $hwstack $swstack und $framesize
ausreichend dimensioniert und nicht stark überdimensioniert.
Du kannst trotzdem mal alles auf 100 setzen.
Was mich irritiert ist die Timer ISR:
Nach meinem Verständnis machst Du alle 30s einen Reset ->
if Sekunden>30
...
start watchdog
waitms 20
...
Watchdog ist auf 16ms eingestellt....sollte zum Reset führen.
Abgesehen davon macht man kein wait in einer Interrupt-Routine.
Vielleicht versteh ich auch kein BASCOM.
Aber WatchDog muss einmal konfiguriert / gestartet werden und dann
innerhalb der Zeit (nach Deinem Kommentar 16ms) resettet werden.
Passiert das nicht gibt es ein Prozessor-Reset.
D.h. Dein Reset WatchDog in der Hauptschleife ist OK aber das Watchdog
Start gehört aus der Interruptroutine in die Initializierung.
Gruß N2
Sinnvolle Fehlersuche: Feststellen ob hw oder sw-Fehler. code so ändern,
dass im Lcd der Schaltzustand angezeigt wird. Ich mach das über
on/off-Funktionen, in denen auf demem lcd "+"/"-" geschrieben wird.
Damit können Fehler in der sw ausgeschieden werden.
Wenn es denn die hw ist, Mosfet durch arduino-relaiskarte ersetzen. Wenn
das nicht hilft uc durch arduino mini-board ersetzen, Stromversorgung
durch fertiges Stepdown-modul ersetzen. Das ist dann praktisch komplett
neue hw -. ist aus fertigen arduino-Bausteinen aber schnell und billig
zusammengelötet.
Im ISR erst mal raus damit.
Start Watchdog
Waitms 20
Wenn nicht dann auch mal diese Zeile deaktivieren.
Loop Until Ds18b20_scratchpad_k(9) = Crc8(ds18b20_scratchpad_k(1) , 8)
Vermute ich er da der Rest ja abgearbeitet wird.
Gruß
Bacomfreund
Was ist denn jetzt mit dem Relais? Wird dein Gerät über Relais
geschaltet?
Ich bin ehrlich gesagt genervt, daß diese simple Frage trotz mehrfacher
Wiederholung gar nicht beantwortet wird.
Wenn Du Hilfe von mir (oder wem auch immer) bekommen möchtest, solltest
du auch auf die Rückfragen antworten. Zum einen aus Gründen der
Fairness, zum anderen damit du uns durch deine falschen Annahmen nicht
in eine falsche Richtung lenkst. Wenn DU korrekt entscheiden könntest,
in welche Richtung die Fehlersuche gehen soll, dann bräuchtest du unsere
Hilfe ja nicht und hättest das Problem längst selbst gelöst.
Stefan U. schrieb:> Was ist denn jetzt mit dem Relais? Wird dein Gerät über Relais> geschaltet?>> Ich bin ehrlich gesagt genervt, daß diese simple Frage trotz mehrfacher> Wiederholung gar nicht beantwortet wird.
Vor geraumer Zeit wurde diese Frage so beantwortet:
Tilmann W. schrieb:> Schalten tut ein Mosfet, der ist prima, und wenn ich ins Nachregelmenü> gehe, schaltet es ja auch wieder. An dem liegt es also nicht.Ich bin ehrlich gesagt genervt, daß Du die Antworten offenbar gar
nicht zur Kenntnis nimmst, sondern nur einen Punkt suchst, an dem Du
Reibereien und Stunk erzeugen willst.
> daß Du die Antworten offenbar gar nicht zur Kenntnis nimmst
Das ist nicht wahr. Wo ist denn die Antwort auf meine Frage?
Hinter dem MOSFET könnte durchaus ein Relais kommen. Irgenwie muss ja
auch der Übergang von Kleinspannung zum Motor des Kühlschrankes sein,
der sicher mit 230V~ betrieben wird.
Stefan U. schrieb:> Irgenwie muss ja> auch der Übergang von Kleinspannung zum Motor des Kühlschrankes sein,> der sicher mit 230V~ betrieben wird.
Nein, das ist ein Pelztier-Dingen.
(das konnte ja sogar ich da raus lesen)
Stefan U. schrieb:> Das ist nicht wahr.
Ich hatte erst das Gefühl: Der stellt sich blöde. Langsam bekomme ich
aber Gewissheit!
> Wo ist denn die Antwort auf meine Frage?
Die habe ich eben erst zitiert!
> Hinter dem MOSFET könnte durchaus ein Relais kommen.
Nein -kommt da nicht weil das eine Kühlbox ist, die mit der im Kfz
vorhandenen Spannung betrieben wird:
Tilmann schrieb:> ...ihn dann gut drei Tage> zuhause eine Kühlbox regeln lassen und mitgeloggt, da ging es absolut> zuverlässig. Dann in den Wohnwagen eingebaut und sofort wollte er nicht> ausschalten nachdem kalt genug war.
Lesen. Einfach nur Lesen. Mehr muß man nicht tun. Dann nachdenken -und
daran hängt's eben schon...
SCNR
Dass es sich um eine Kühlbox mit Peltier Element handeln könnte, habe
ich tatsächlich nicht erwägt.
Möglicherweise weil die einzigen beiden Boxen, die ich in der Praxis als
Kind erlebt habe, eine völlig unbrauchbare Kühlleistung hatten. Seit dem
ist in mein Hirn eingebrannt "Kühlboxen baut man nicht mit Peltier
Elementen".
Also kein Relais, Abblockkondensatoren sind auf der Rückseite vorhanden.
Dann ist ein Softwarefehler an warscheinlichsten. Einoge plausible
Knackpunkte wurden ja schon angesprochen.
Hallo,
es ist ein 12-V-Kompressor-Kühlschrank. Die Peltier-Geräte haben einen
katastrophalen Wirkungsgrad.
Aber hier kommt die Lösung:
@Mario M:
> "Single_aus" bekommt beim Programmstart keinen Wert zugewiesen. Erst> beim Aufruf von "Nachregeln" wird "Single_aus" auf einen sinnvollen Wert> gesetzt.
Ich glaube, genau das ist es. Genial ! Danke !
Das erklärt auch den Effekt, das wenn man bei einem "Hänger"
(Kühlschrank schaltet nicht aus) ins nachregel-Menü geht, es sobald man
wieder zurück ist ordentlich funktioniert.
Im ersten Urlaub sind auch nie Unregelmäßigkeiten aufgetreten, da haben
wir oft mit der Nachregel-Funktion gespielt.
Aber es wirft eine andere Frage auf: Wenn man einmal in dem Untermenü
war, müßte er doch, bis zum nächsten Programmstart, ordnungsgemäß
funktionieren.
Das tut er scheinbar nicht zuverlässig. Alsheimer ? Sollte man die
Zuweisung bei jedem Schleifendurchlauf wiederholen ?
Vielen Dank für die Bereitschaft, mitzudenken, und an Mario M im
Besonderen.
Gruß Tilmann
grundschüler schrieb:> Sinnvolle Fehlersuche: Feststellen ob hw oder sw-Fehler. code so ändern,> dass im Lcd der Schaltzustand angezeigt wird. Ich mach das über> on/off-Funktionen, in denen auf demem lcd "+"/"-" geschrieben wird.> Damit können Fehler in der sw ausgeschieden werden.
Hallo Grundschüler,
den Schaltzustand habe ich von Anfang an im LCD ausgeben lassen, das ist
auf dem Foto der erste Buchstabe, der kann "a" wie "ausgeschaltet" oder
"e" wie "eingeschaltet" sein. Das hat aber immer mit der Realität
übereingestimmt. Dein Tip ging aber in eine gute Richtung, als nächstes
habe ich mir dann mal den Zähler anzeigen lassen, der bewirken soll, das
erst bei drei Meßergebnissen nacheinander, aus denen resuliert das
geschaltet gehört (ein oder aus), wirklich geschaltet wird. Neben der
CRC-Prüfung sollte das eine Sicherung gegen unnötige Schaltvorgänge
sein.
> Wenn es denn die hw ist, Mosfet durch arduino-relaiskarte ersetzen. Wenn> das nicht hilft uc durch arduino mini-board ersetzen, Stromversorgung> durch fertiges Stepdown-modul ersetzen. Das ist dann praktisch komplett> neue hw -. ist aus fertigen arduino-Bausteinen aber schnell und billig> zusammengelötet.
Genau das wäre mein nächster Schritt gewesen, aber ich glaube, die
Ursache ist gefunden.
_______________________________________________________________
@N2:
> Was mich irritiert ist die Timer ISR:>Nach meinem Verständnis machst Du alle 30s einen Reset ->>> if Sekunden>30> ...> start watchdog> waitms 20> ...>> Watchdog ist auf 16ms eingestellt....sollte zum Reset führen.
Der Reset wird nur ausgeführte wenn die Hauptschleife 30 Sekunden nicht
durchlaufen wird (am Beginn der Hauptschleife wird der Timer jedesmal
zurückgesetzt). Das wäre also, wenn der µC sich in einer Schleife
aufgehängt hätte. Das könnte beispielsweise sein: Versehentlich hat man
die Taste gedrückt, um ins Nachregel-Menü zu kommen. Wenn er dort nicht
von selbst nach einem Timeout herausspränge, würde der Kühlschrank in
seinem Schaltzustand bleiben - also nicht geregelt ! Dann ist es gut,
wenn er nach 30 Sekunden neu startet.
Also: Wenn die Hauptschleife 30 Sekunden nicht zurückgesetzt wird, wird
der Watchdog gestartet, und angefangen, 20ms zu warten. Jedoch verliert
der Wachdog nach 16 ms bereits die Geduld und löste einen Neustart aus -
soll er ja. Also alles wie es ein soll - läßt sich aber bestimmt
eleganter programmieren.
_______________________________________________________________
@Fred_red:
> Wenn nicht dann auch mal diese Zeile deaktivieren.>> Loop Until Ds18b20_scratchpad_k(9) = Crc8(ds18b20_scratchpad_k(1) , 8)
Nee, das ist die CRC-Überprüfung. Im Prinzip bedeutet die Schleife:
Mache solange, bis du einen Meßwert empfängst der mit seinem CRC-Code
übereinstimmt - oder anders formuliert: Wenn du einen Meßwert empfängst,
der nicht mit seinem CRC-Code übereinstimmt, wirf ihn weg und probier
den nächsten, solange bis es paßt.
Denn bevor ich diese Prüfung drin hatte, hatte ich schon manchmal Werte
im Display die offensichtlicher Unfug waren. Seither nicht mehr.
Gruß Tilmann
Stefan U. schrieb:>> es ist ein 12-V-Kompressor-Kühlschrank>> Hat der denn ein Relais? :-)>> SCNR
Hallo Stefan,
nein, kein Relais, nur der Logic-Level-Mosfet, der direkt
(Vorwiderstand) vom µC angesteuert wird und nicht mal warm wird.
Ein Relais klickt, und man schläft ja in unmittelbarer Nähe des
Kühlschranks. Das war überhaupt der Grund für das Projekt: Es war ein
Thermostat drin, das hat lauter geklickt als der Kühlschrank, und sollte
daher durch einen Transitor ersetzt werden.
Gruß Tilmann
Tilmann W. schrieb:> Aber es wirft eine andere Frage auf: Wenn man einmal in dem Untermenü> war, müßte er doch, bis zum nächsten Programmstart, ordnungsgemäß> funktionieren.> Das tut er scheinbar nicht zuverlässig. Alsheimer ? Sollte man die> Zuweisung bei jedem Schleifendurchlauf wiederholen ?
Könnte das an den oben angesprochenen Watchdog-Problemen liegen? Das
Teil startet neu und dann ist die Variable wieder ohne Wert. Nur so eine
Idee.
Tilmann W. schrieb:> Wenn du einen Meßwert empfängst,> der nicht mit seinem CRC-Code übereinstimmt, wirf ihn weg und probier> den nächsten, solange bis es paßt.
Ich hoffe, Du hast einen Zähler und steigst definiert aus, wenn nach x
Durchläufen kein gültiger Wert erzielt wurde.
Christian S. schrieb:> Könnte das an den oben angesprochenen Watchdog-Problemen liegen? Das> Teil startet neu und dann ist die Variable wieder ohne Wert. Nur so eine> Idee.
Hallo Christian,
ja klar, nachdem die Ursache jetzt gefunden wurde, habe ich die
Zuweisung der Ausschalttemperatur in jedem Schleifendurchlauf, sofern
eingeschaltet ist (Ausschaltkriterien muß man ja nur prüfen wenn
eingeschaltet ist).
Gruß Tilmann
_______________________________________________________
@Manfred:
> Ich hoffe, Du hast einen Zähler und steigst definiert aus, wenn nach x> Durchläufen kein gültiger Wert erzielt wurde.
Wäre schon eine Idee, sich Fehler anzeigen zu lassen. Aber die
wichtigste Funktion ist, den Kühlschrank zu regeln. Also finde ich es
wichtig, das er niemals aufgibt zu versuchen, vernünftige Werte zu
bekommen.
Aussteigen hieße, der augenblickliche Schaltzustand würde beibehalten.
Nicht gut.
Gruß Tilmann
Hi
Vermutung:
In der Zeit, wo keine gültigen Messwerte kommen, wird auch NICHTS
Anderes gemacht, als neue Messwerte einzulesen - das Fehlerbild würde
GENAU Dem von Dir Beschriebenem entsprechen.
MfG
Tilmann W. schrieb:>> Ich hoffe, Du hast einen Zähler und steigst definiert aus, wenn nach x>> Durchläufen kein gültiger Wert erzielt wurde.>> Wäre schon eine Idee, sich Fehler anzeigen zu lassen. Aber die> wichtigste Funktion ist, den Kühlschrank zu regeln. Also finde ich es> wichtig, das er niemals aufgibt zu versuchen, vernünftige Werte zu> bekommen.> Aussteigen hieße, der augenblickliche Schaltzustand würde beibehalten.> Nicht gut.
Mit "Aussteigen" meine ich, nicht endlos in der Schleife zu hängen
sondern in eine Fehlerbehandlung zu springen.
Welchen Schaltzustand Du im Fehlerfalle behälst, ist egal - beide sind
falsch: Aus = vergammelte Wurst, Ein = geplatzte Getränke. Also einen
Notlauf, per dummen Timer zyklisch ein- / ausschalten?
Patrick J. schrieb:> In der Zeit, wo keine gültigen Messwerte kommen, wird auch NICHTS> Anderes gemacht, als neue Messwerte einzulesen - das Fehlerbild würde> GENAU Dem von Dir Beschriebenem entsprechen.
Die Idee hat 'was! Tilmann schrieb, dass er die Temperatur im Display
anzeigt. Da kommt direkt die nächste Frage auf:
Tilmann - zeigst Du die letzte gültige Temperatur an oder die _gerade
aktuell_ gemessene?
(Warum komme ich hier im Forum mit dem beschissenen Formatieren nach
technischem Stand von 1883 (Unterstreichen) nicht klar?
Manfred schrieb:> ...> Tilmann - zeigst Du die letzte gültige Temperatur an oder die _gerade> aktuell_ gemessene?
Hi Manfred,
ungültige Werte (d.h. solche, deren CRC-Code nicht stimmt) werden, wenn
es sich um den Kühlschrankfühler handelt, sofort verworfen und neu
gemessen; wenn es sich um den Außen- oder den Fühler auf der Platine
handelt, einfach ignoriert (übersprungen, d.h. der vorherige Wert bleibt
solange stehen).
Man könnte natürlich Statistik machen, jeweils einen Zähler für gute und
einen für faule Werte erzeugen und zueinander ins Verhältnis setzen ...
Ich dachte, ein Wohnwagen hat ja eine Aluminiumhaut, da sollten nicht so
viele Störungen vorhanden sein das es relevant wird.
Gruß Tilmann
Tilmann W. schrieb:> ungültige Werte (d.h. solche, deren CRC-Code nicht stimmt) werden, wenn> es sich um den Kühlschrankfühler handelt, sofort verworfen und neu> gemessen;
Fehler! Zeige jeden Wert an, um zu erkennen, ob Patricks Vermutung
zutreffend ist:
Patrick J. schrieb:> In der Zeit, wo keine gültigen Messwerte kommen, wird auch NICHTS> Anderes gemacht, als neue Messwerte einzulesen - das Fehlerbild würde> GENAU Dem von Dir Beschriebenem entsprechen.
Frage:
Es ist doch ein Peltier-Kühlschrank?
Ein Ausschalten koppelt doch quasi die Kaltseite mit der Warmseite?
Muss man bei Peltier nicht den Strom herunter regeln anstatt es
auszuschalten?
Hallo Manfred,
das wäre schon eine Idee, wenn ein CRC nicht stimmt, anstelle eines
Meßwertes z.B. "CRC" einzublenden, um Eindrücke zu bekommen.
@ Marc Horby: Kein Peltier (die sind extrem ineffizient) sondern
Kompressor.
Gruß Tilmann