Pimp-My-CoolControl a.k.a. die Ode an die Temperaturregelung

Inhaltsverzeichnis

 

1. Vorwort Inhalt

Es ist wieder soweit. Ein neuer Artikel aus der „Pimp-My-*“-Reihe schickt sich an, den Geburtskanal der Tastatur zu verlassen und sein Wohl in den Weiten des Internet zu finden. Getreu dem Motto „made-in-Germany“ soll es in diesem kleinen Aufsatz um die Reparatur und die Pimpung eines kleinen Kühlschrankes gehen; nicht aber irgend ein kleiner Kühlschrank, nein, dieser hier erfüllt eine ganz besonders dekadente Aufgabe. Er steht einfach neben der Kaffeemaschine und kühlt einen Liter Milch auf wonnige 4°C Betriebstemperatur.

Es handelt sich um einen CoolControl Peltier-Element-Kühler aus dem Hause Jura, genauso wie die Kaffeemaschine (S9 One Touch Platin), die er befüllt. Wie abgebildet ist die Maschine silbern, und leider wird der Kühler nicht mehr in silberfarben produziert, nur noch in weiß oder schwarz. Nunja, die Bucht half aus, der Hampelmann, von dem ich das gekauft habe, vergaß zu erwähnen, dass sein Exemplar defekt war. Zwar drehte sich der Lüfter, der Kühler aber ist ziemlich funktionslos gewesen, wie ich einen Tag und einen Liter saure Milch später feststellen mußte. Leider hatte ich ihn schon grün bewertet…

Über die S9 könnte man einen eigenen Artikel schreiben, alles in allem bin ich zufrieden, nur das Schäumen von Milch will gelernt sein. Automatisch geht’s auf jeden Fall schief. Doppeldeutigkeit übrigens Absicht.

Der Schaden mit dem defekten Kühler war nun nicht allzugroß, immerhin ging es mir ja hauptsächlich um die silberne Farbe des Gehäuses.

2. Original… Inhalt

Trotz des stolzen Preises von ~150 € für einen neuen schwarzen CoolControl hält sich die Komplexität der Elektrik im Inneren in Grenzen. Es handelt sich um einen simplen 2-Punkt-Regler, der sogar per Bimetall-Element gesteuert wird. Im Einzelnen sind die folgenden Teile für die Regelung enthalten:

  • Lüfter (12V, kein Tacho, kein PWM)
  • Peltier-Element (4cmx4cm, 15V maximale Spannung, 3A maximaler Strom)
  • Bimetall-Streifen direkt am Metall-Körper (Schwelle ~4,5°C)
  • Temperatur-Widerstand am Kühlkörper vom Lüfter
  • Elektronik-Board

Wofür man bei der einfachen Regelung (Zweipunkt mit ca. 1°C  Hysterese) ein so umfangreiches Elektronikboard benötigt, kann ich mir nicht erklären. Insgesamt scheint das Innenleben, was insbesondere die Verarbeitung betrifft, auf Gewinnmaximierung ausgelegt zu sein. Schade eigentlich, die Kaffeemaschinen von Jura haben den Ruf, ziemlich robust zu sein. Liegt vielleicht daran, dass die Milch-Kühler extern von einem Auftragnehmer produziert werden, wer weiß.

3. …und gepimpte Version Inhalt

Made-in-Germany soll es werden, und dafür benötigen wir einiges an Zusatzhardware. Das Konzept der Peltierkühlung werde ich behalten, wobei ich das Element allerdings austausche, wer weiß, ob das alte noch gut ist. Ansonsten wären meine Anforderungen:

  • Grafisches LCD für GUI
  • Drei Knöpfe
  • Ein-/Ausschalter (Taster) weiterverwenden
  • Lüfterregelung, zumindest Drehzahlmessung
  • Temperaturmessung von Kühl-Teil und Lüfter-Kühlkörper
  • Peltier-Regelung
  • Bedieneinheit auf Schwanenhals, dreh- und schwenkbar

Insbesondere die Idee mit dem Schwanenhals hat mir super zugesagt und in der Bucht gibt es USB-Schwanenhalslampen nachgeschmissen. Die sind ziemlich steif und sollten die Bedieneinheit gut tragen können, nun, wir werden sehen. Als Plattform kommt die Platine aus dem Pimp-My-Kicker-Projekt zum Tragen, wenn auch mit geänderter Peripherie. An Letztere werden wir einfach alle Teile des Systems anschließen, ich möchte auf der Platine die vollständige Leistungs- und Steuerelektronik unterbringen.

4. Hardware Inhalt

Widmen wir uns zunächst der Hardware und untersuchen die verwendeten Komponenten sowie ihre Verbindung mit der Steuerung.

4.1 MCU und LCD Inhalt

Wie erwähnt setze ich auch hier auf die bewährte Plattform aus dem Pimp-My-Kicker Projekt (und einem undokumentierten DCF-77 Uhrenwecker); sie kann mit einem ATmega 32, 644 oder einem XMega*A4 bestückt werden, was angesichts der Codegröße für das DOGM-Grafik-LCD auch nötig ist. Zudem möchte ich verschiedene Schriftarten unterstützen und muss diese je nach verwendeter Zeichenzahl mit entsprechend Aufwand im Flash-Speicher ablegen.

Auch möchte ich wieder verschiedene Sprachen unterstützen und ein grafisches Menü inkl. verschiedener Anzeigemodi implementieren, siehe dazu die Softwarebeschreibung weiter unten. Bestückt ist also ein ATmega32 und als Display ein EA DOGM132-5, in FSTN negativer Version mit roter Hintergrundbeleuchtung. Dann schaut’s dem Display der Kaffeemaschine zumindest ein bißchen ähnlich. Im Foto schaut es etwas komisch aus, liegt an der Handykamera, im realen Betrieb tut es einwandfrei.

Das LCD besitzt eine eingebaute Ladungspumpe für die Kontrastspannung, man braucht nur einen Haufen externe Kondensatoren dafür.

4.2 Temperaturmessung Inhalt

Zwei Temperaturgrößen sind relevant für die Regelung: die eigentliche Regelgröße (Milchtemperatur) und die Temperatur des Lüfterkühlkörpers. Wird der zu warm, gilt es die Sollgröße der Milchtemperatur zu erhöhen, um eine Beschädigung des Peltier-Elementes zu vermeiden. Zwar sollte das eigentlich selbstregelnd sein, je höher die Temperaturdifferenz, desto weniger Strom zieht es, aber man kann ja nie wiessen.

Im Gerät sind zwei digitale DS18B20 ( PDF) Temperatursensoren vorgesehen, die über einen 1-Wire-Bus angeschlossen sind. Der ATmega32 besitzt keinen Hardware-1Wire-Bus, deswegen wird nach dem Bitbanging-Prinzip gearbeitet und es kann jeder GPIO benutzt werden. Nachdem ich die vollen 12 Bit Auflösung (LSB entspricht 0,0625°C) möchte, verwende ich eine separate Stromversorgung wie im Datenblatt empfohlen. Die Versorgung über die Datenleitung wäre auch möglich, der Treiber des AVR kann auf einem Pin 40mA zur Verfügung stellen, das würde ebenfalls reichen.

Wir benötigen somit drei Leitungen: Masse, Daten und Spannungsversorgung.

Im praktischen Betrieb ist mir aufgefallen, dass insbesondere die stromführende und PWM-gepulste Leitung des Peltier-Elementes direkt neben der 1-Wire Leitung dort Störungen verursacht und mitunter extrem falsche Meßwerte auftreten. Für den Nachbau empfehle ich deswegen eine geschirmte Steuerleitung, wenn ihr die Kabel in einem Kabelbaum verlegen möchtet. Zur Isolierung habe ich drei 1mm Schrumpfschläuche verwendet, die jeweils über ein Beinchen gezogen und geschrumpft werden.

Zur Montage des Milchfühlers habe ich den Boden des Kühler demontiert, der ist leider mit dem Schaumstoffzeugs und dem Gehäuse verklebt und dabei abgebrochen; nachdem’s nur unten dran ist, sieht man das nicht und mir war’s egal. Dann habe ich aus dem Isolierschaumstoff ein kleines Eck bis auf das Metall des Kühlertopfes herausgeschnitten, das ein bißchen größer als der DS18B20 ist, und diesen mit Wärmeleitklebstoff da dran befestigt. Der Kühler stand dabei auf dem Kopf, und es dauerte knapp eine Stunde, bis der Kleber fester wurde. Ist eben kein Sekundenkleber.

Danach habe ich das ausgeschnittene Schaumstoffstück wieder an seinem Platz befestigt und den abgebrochenen Boden wieder platziert. Hier half Sekundenkleber, damit er wieder fest saß. Alles in allem ragt jetzt das Kabel in der Nähe vom Kühlkörper hinten aus dem Boden raus, siehe Foto.

Der zweite Fühler ist einfach ganz unten (außerhalb des Luftstromes!) in die Kühlrippen geklemmt, ebenfalls abgebildet und eingerahmt.

4.3 Peltier-Element Inhalt

Hier handelt es sich um ein normales 4cm x 4cm großes Peltier („TECB 1“) vom Reichelt; das zieht bei 15V 6A; wir betreiben es aber nur mit 9V. Die richtige Polung muß man einfach herausfinden, die kalte Seite sollte auf die Milchseite 😉

Das vorhandene habe ich ausgetauscht: Dazu ist zunächst der Kühlkörper durch Lösen von zwei Schrauben von der Rückwand zu lösen; dann sollte die alte Wärmeleitpaste entfernt werden, das neue mit Wärmeleitpaste versehen und schließlich wieder unter den Kühlkörper montiert werden. Die Kabel werden durch den isolierenden Schaumstoff geführt.

Auf Seiten der MCU verwenden wir einen IRF7341 (PDF, inzwischen nur noch bleifrei „IRF7341PBF“) als Doppel-Lowside-Switch, dessen Gates von der MCU mittels PWM (Pegel bei 0V und 3,3V) getaktet wird mit 16 Bit Auflösung und den Strom einschaltet oder nicht. Da wir den Timer 1 mit TOP=0xFFFF verwenden, beträgt die Grundfrequenz beträgt damit 16 MHz / 0xFFFF / 64 ~= 3,8Hz. Das ist bei einem trägen Teil wie einer Temperaturregelung angemessen…

Aufgefallen ist mir, dass der IRF im Betrieb ziemlich warm wird, obwohl beide Transistoren zusammen 2*3,8A = 7,6A können sollten. Wir belasten sie hier mit maximal 3 A, mehr kann das Netzteil des Jurakühlers einfach nicht. Und der ohmsche Widerstand sollte bei 0,1-0,2 Ohm liegen im eingeschalteten Zustand.

Ursprünglich wollte ich den Lüfter (siehe nächstes Kapitel) auch noch regeln, es hat sich aber herausgestellt, dass das Peltier-Element bei steigender Temperaturdifferenz auch signifikant mehr Strom benötigt. Es ist also am energieeffizientesten, wenn der Lüfter ständig voll eingeschaltet ist, und das Peltier in seiner Leistung auf das minimal mögliche Niveau reduziert wird.

4.4 Lüfter Inhalt

Großes Glück hatte ich mit diesem Lüfter. Das ist einfach ein 5 EUR Arctic Cooling Alpine 64 GT PC-Lüfter, und der paßt mit seinen Nasen haarscharf auf den originalen Kühlkörper im Milchkühler. Man muß ihn etwas festdrücken, aber dann hält er bombenfest. Mit seinen 1500 RPM bei 9V ist er angenehm leise. Neben dem Tachosignal mit zwei Impulsen pro Umdrehung gibt besitzt er auch einen PWM-Eingang, mit welchem über ein 25kHz-Signal die Drehzahl gesteuert werden kann. Ich habe das kurz probiert, leider wird dadurch auch das Tachosignal mit grausamem Rauschen beaufschlagt und wäre für den Interrupt-Betrieb nicht mehr geeignet. Ob es an den zu niedrigen Spannungen, der geringfügig zu schnellen PWM-Frequenz oder am Exemplar liegt, konnte ich nicht feststellen. Der Lüfter läuft deswegen stets auf voller Drehzahl.

Das Tachosignal ist lüfterseitig ein Opendrain-Ausgang, sprich, der Lüfter schaltet mit jeder Umdrehung die Leitung kurz gegen Masse. Es können also beliebige Spannungen von 0-12V angelegt werden, die jeweils „kurzgeschlossen“ werden. An der MCU verarbeitet es sich am leichtesten mit einem Externen-Interrupt-Pin und aktiviertem Pull-Up-Widerstand; der Pegel liegt also bei 3,3V und wird 2x pro Umdrehung gegen Masse gezogen. Der externe Interrupt ist deswegen auf „fallende Flanke“ zu konfigurieren.

Das PWM-Steuersignal soll laut Spezifikation 5V besitzen und als PWM-Frequenz bei 25kHz liegen, 23kHz-28kHz seien aber möglich. Damit ist auch hier die Anbindung einfach, üblicherweise schalten die Bauteile bei halber Spannung in den anderen Zustand, mit 3,3V liegen wir über den 2,5V und könnten den Lüfter steuern ohne Pegelwandlung. Die Steuerung wird wie gesagt nicht verwendet; die Leitung liegt ständig auf 3,3V.

Um die Drehzahl zu berechnen, werten wir die Zeit zwischen den einzelnen Pulsen aus und können mit der MCU-Taktfrequenz den korrekten Wert ermitteln. Näheres entnehme man dem C-Quelltext.

Errata: Achtung, der direkt neben dem Stecker eingezeichnete 10k Widerstand von +12V gegen die Tacholeitung  darf nicht bestückt werden. Es funktioniert zwar dank der Clamping-Dioden im AVR, dennoch reicht der Pullup im AVR völlig aus, und auf Dauer sind 12V nicht gut für den Pin.

4.5 Stromversorgung Inhalt

Das vorhandene 9V Netzteil wird einfach weiterverwendet und versorgt Peltier und Lüfter direkt und die Elektronik über einen Linearregler; ursprünglich hatte ich den National Semiconductor NL2985-3,3 vorgesehen, davon sind mir aber drei Stück in der Platine kaputtgegangen, und das bei nicht mal 40mA Last und 9V Eingangsspannung. Warum weiß ich nicht, ich bin dann umgestiegen auf den EXAR SPX3819M5-L-3-3 (PDF)  und seit dem funktionierts einwandfrei. Gibts leider nicht beim Reichelt.

Der Ein-/Ausschalter an der Rückseite ist mit einem weiteren Interrupt verbunden und schaltet bei Betätigung Lüfter, Peltier und 1-Wire aus. Danach legt sich die MCU schlafen in den Powerdown Modus. Effektiv verbraucht der Kühlschrank dann nur noch die Standby-Leistung des Netzteils.

4.6 Kabelverbindung Inhalt

Bevor wir letztlich zum Gehäuse übergehen, fehlt noch ein wichtiger Punkt, die Verbindung von Platine und diversen Kabeln. Wir benötigen dazu:

  • ein bißchen Schrumpfschlauch, jeweils in rot, blau und schwarz sowie 1,2mm und 1,6mm Bruttodurchmesser
  • 2,54mm SMD-Stiftleisten, gewinkelt und einreihig [Reichelt]
  • Passende Buchsenleiste [Reichelt]

Die SMD-Leisten schneidet ihr mit dem Seitenschneider passend ab in 3×2 Pole, 1×3 Pole und 1×4 Pole. Auf der anderen Seite werden die Kabel mit 2cm Schrumpfschlauch versehen, jede Ader einzeln, und dann an die Buchsenleiste angelötet. Schiebt den Schrumpfschlauch nun bis Anschlag über die Metallkontakte und schrumpft ihn mit Lötkolben (4 Seiten) oder Heißluftfön.

Zu den Farben:

  • Stromversorgung: Rot/Schwarz
  • EIN/AUS-Taster: 2x Blau
  • Peltier-Element: Rot/Schwarz
  • Temperatursensoren: Schwarz Masse, Rot Spannungsversorgung, Blau Daten
  • Lüfter: Schwarz Masse, Rot +12V, Blau Tacho, Blau PWM

Die Kabelverbindung ist zwar flach, aber nicht verpolungssicher. Paßt besonders bei der Spannungsversorgung ziemlich auf, sonst geht was sterben…

4.7 Gehäuse und Schwanenhals Inhalt

Die Platine ist so gestaltet, dass sie genau in ein kleines Gehäuse vom Reichelt („GEH KS 21“) paßt. Es sind drei Bohrungen und zwei Ausschnitte vorzunehmen, wobei sich für mich als Nicht-CNC-ler die Proxxon-Cutter-Methode gut bewährt hat:

  1. Zunächst druckt ihr euch die Platinenlayer „documentation“, „tPlace“ und „tOrigin“ auf Papier aus in 1:1 Größe und schneidet den Druck bündig aus.
  2. Klebt ihn mit Tesa auf den Deckel des Gehäuses und legt dieses auf die Bohrständerplatte.
  3. Spannt einen 1mm oder 1,5mm Bohrer in den Proxxon und stellt die Höhe so ein, dass die Bohrerspitze knapp über dem Gehäuse schwebt.
  4. Bohrt nun die 4 Ecken des Ausschnittes sowie mittig die drei Tastenlöcher (siehe Grafik rechts) und entfernt das Papier.
  5. Justiert dann die Metallschiene des Bohrständers so, daß ihr eine Kante des Ausschnittes von Loch zu Loch mit dem Bohrer herausfräsen könnt. Schiebt den Deckel einfach ganz langsam (!!) entlang der Metallkante, während sich der Bohrer möglichst nah am Schaft im Deckel befindet. Das gibt eine gerade sehr glatte Schnittkante.
  6. Die 3 Tastenlöcher müssen noch mit 3,5mm erweitert werden.

Auf der Rückseite ist auch ein Schlitz in den Boden zu fräsen, so klein wie möglich, so groß wie nötig, da müssen nur die Kabel durch.

Auf der Bucht gibt es wie gesagt die LED-Schwanenhalslampen nachgeschmissen, der USB-Stecker ist zu entfernen und mit Sekundenkleber der Gehäuseboden auf das Ende mit dem LED-Gehäuse zu kleben. Das andere Ende wird einfach lose oben in das Loch bugsiert, und kann sich darin frei drehen. Der Anschlag unten im Gehäuseinneren ist der Kühlkörper, auf dem der Schwanenhals aufsteht. Dann sollte es wie hier links abgebildet ausschauen e voila – das war schon alles.

Ich habe in den Boden noch 8mm Abstandshalter geklebt und die Platine nach oben hin gegen den Deckel mit Styroporstreifen fixiert. Die nativen Bohrungen des Gehäuses sind leider auf der Platine mit LCD und Knöpfen versperrt. Es hält aber einwandfrei.

5. Software Inhalt

Hier soll kurz die Software erklärt werden. Vieles habe ich aus Pimp-My-Kicker übernommen, insbesondere die Hauptschleife und ihre Bildschirme sowie die Softfont-Behandlung. Lest euch den Artikel einfach vorher durch, dann wird vieles im Folgenden klarer.

5.1 ISR: Externer Interrupt 0 Inhalt

Dieser Interrupt dient nur dem Aufwachen; leider muss man die MCU aus dem Powerdown-Modus hier mit einem Level-Masse-Pegel aufwecken, eine Flankenerkennung ist nicht möglich. Damit bin ich weg vom interrupt-basiertem Betrieb zum Schalten in der Hauptschleife. Es wird der Ein-/Ausschalter genauso gepollt wie die drei anderen Taster, und sofern gedrückt, eine Sekunde wartet, in der man den Schalter loslassen muss, eine Routine angesprungen, die alles ausschaltet und die MCU schlafen legt.

Drückt man jetzt den Taster wieder, wird die leere ISR angesprungen und das Hauptprogramm an der Stelle der gerade beschriebenen Routine fortgesetzt. Diese kümmert sich nun um das Einschalten der Peripherie (Lüfter, Peltier, Hintergrundbeleuchtung, usw.).

5.2 ISR: Externer Interrupt 1 Inhalt

Diese ISR wird immer angesprungen, wenn der Lüfter eine halbe Umdrehung vollendet hat. Sie nimmt die aktuelle Zeit des Counter-Registers von Timer 1 (der einfach frei läuft und stetig von 0-0xFFFF zählt). Wenn der Timer zwischen zwei dieser Interrupts überläuft, so inkrementiert die Overflow-ISR einen Overflow-Counter, der hier ausgewertet wird. Es wird in diesem Falle 0xFFFF * OverflowCounter zum letzten Zeitstempel addiert, bevor der aktuelle abgezogen wird. Achtung: Cast zu Datentyp „long“ erforderlich.

Ist die Zeitdifferenz gefunden, wird über die Formel (F_CPU[1/s] / 64[Prescaler] * 60[UPS] / 2 [Takte pro U] / Meßwert) die aktuelle Drehzahl berechnet. Mit F_CPU = 16MHz ergibt sich: RPM = 7500000 / Meßwert.

5.3 ISR: Timer 1 Overflow Inhalt

Dies ist die wichtigste asynchrone Funktion im Gerät, sie tritt mit 16MHz/0xFFFF/64 (Prescaler) auf und hat drei Aufgaben:

  • Inkrementieren des Overflow-Counters
  • Peltier-Element einschalten, sofern kein Fehlerzustand vorliegt
  • Berechnen der neuen Ausgangsleistung für das Peltier anhand eines P-Reglers

Eine träge Temperaturstrecke zu regeln ist nicht einfach. Wir haben zum einen eine große Verzögerungszeit in unserem System, es dauert also Minuten, bis sich am Ausgang etwas tut, sofern am Eingang eine Stellgrößenänderung auftritt. Zum anderen sind Soll- und Ist-Wert als ganzzahlige Integer ausgelegt mit fester Kommastelle (00400 ^= 4,00°C). Der Temperatursensor liefert in der letzten Stelle allerdings nur Wertsprünge von 6, also 00406, 00412, 00418, etc. Damit muß ziemlich auf die Dimensionierung des P-Anteils geachtet werden, damit der Regler stabil bleibt.

Alles in allem hab ich davon keine Ahnung und im mikrocontroller.net Forum konnte mir auch keiner so richtig weiterhelfen. Eine Nacht probieren förderte dann die Einstellung zutage, den P-Anteil mit 0,8 zu gewichten und auf I und D zu verzichten.

Der Regler hat nun nach unten einen großen Überschwinger, regelt also zunächst für einige Minuten unter die gewünschte Temperatur und fährt dann langsam von unten her den korrekten Wert an. Ist auch einfach zu erklären, ohne Differentialanteil befindet sich der Ausgang bei Überschreiten der Solltemperatur von oben her in positiver Sättigung, daher kühlt der Regler bei Erreichen der gewünschten Temperatur noch viel zu stark.

Erst jetzt arbeiten Wärmeaufnahme durch den Deckel des Milchbehälters und reduzierte Kühlleistung zusammen, und wenn ich die Reduzierung langsam genug vornehme, wird der Gleichgewichtswert aus Wärmeabgabe (Peltier) und Wärmeaufnahme (Deckel, Umgebungsluft) irgendwann erreicht.

Zwar würde ein reiner P-Regler eine bleibende Abweichung verursachen, nachdem meine Strecke aber ein I-Glied besitzt (Trägheit), funktioniert das so sehr gut. Auch kommt zum Tragen, dass sich die Sollgröße nicht ändert. Die stelle ich einmal ein, und da soll die Temperatur bleiben. Würde ich schnell auf sich ändernde Solltemperaturen reagieren müssen, so wäre in jedem Falle noch ein groß dimensionierter D-Anteil hinzuzunehmen.

Kurzer Test: Von 20°C auf 4°C dauern zwei Stunden und werden dann stabil gehalten, auch wenn ich die Raumtemperatur um ein paar Grad ändere. Es macht übrigens einen großen Unterschied, ob der Deckel hinten drauf ist oder nicht, da die Abwärme ohne Deckel viel besser weggeblasen wird. Es sind gut 15% Differenz in der Ausgangsleistung bei 20°C Raumtemperatur.

5.4 ISR: Timer 1 Output Compare A Match Inhalt

Nachdem im OCR1A mit 16 Bit der PWM-Duty-Cycle festgelegt ist, schalten wir hierin einfach nur das Peltier wieder aus. Damit ist für das Peltier eine Software-PWM mit Grundfrequenz vn 3,8 Hz realisiert.

5.5 Hauptschleife Inhalt

Nach der Initialisierung der Peripherie (LCD, MCU-Register, 1-Wire Bus) dient die Hauptschleife der Verarbeitung der GUI-Ein- und Ausgaben. Sie birgt keine großen Geheimnisse und hat im Wesentlichen folgende Struktur:

  • Allgemeine Aufgaben
    • Tasten pollen
    • Temperatursensoren abfragen und behandeln
    • Ausschalteroutine prüfen
    • Fehlerbehandlung
  • Grafik-LCD Informationsanzeigen
    • Zweizeiliger Infobildschirm, rollierende Parameter
    • Große Anzeige „Ist-Temperatur Milch“
    • Große Anzeige „Ist-Temperatur Kühler“
    • Große Anzeige „Lüfter RPM“
    • Große Anzeige „Ausgangsleistung in %“
  • Grafisches Menü
    • Spracheinstellung
    • LCD-Kontrast
    • Solltemperatur
    • Warntemperatur für Milch
  • Fehlerbildschirm

Zwischen den Informationsanzeigen kann mit den Hoch-/Runter-Tasten gewechselt werden, mit der OK-Taste gelangt man in das Hauptmenü. Dort wählt man den gewünschten Menüpunkt ebenfalls mit den Pfeiltasten und bestätigt mit OK, woraufhin sich die gewählte Einstellung ändern läßt und im EEPROM dauerhaft gespeichert wird.

Es ist eine rudimentäre Fehlerbehandlung implementiert: Sobald die Milchtemperatur größer ist als die eingestellte Warntemperatur (Bereich von 8°C-15°C), läuft ein Marquee-Text mit dieser Information auf dem zweizeiligen Infobildschirm in der zweiten Zeile, ansonsten geschieht allerdings nichts weiter.

Tritt ein Fehler im Betrieb auf, z.B. daß der Kühlkörper zu heiß wird, oder der Lüfter blockiert, so beginnt das Display zu blinken und Lüfter und Peltier werden ausgeschaltet, solange der Zustand anhält. Gleichzeitig liest man in der ersten Zeile den oder die Fehler als Text und kann mit Druck auf den mittleren Knopf das Gerät neustarten.

Es ist noch ein bißchen Platz im Flash, der geneigte Leser kann sich hier sicher noch spielen mit Zusatzanzeigen oder detailierterer Fehlerbehandlung.

6. Fotos Inhalt

Nun, zum Schluß noch einmal die Bilder…

7. Downloads Inhalt

Die folgenden Dateien stehen zum Download zur Verfügung. Beachtet bitte, dass sie wie auch im Projekt Pimp-My-Kicker unter Creative-Commons BY-NC-SA stehen. Kurz, ihr dürft sie unter Namensnennung außer für kommerzielle Zwecke verwenden und zu gleichen Bedingungen weitergeben. Der SplashScreen muß beibehalten werden, kann aber von euch ergänzt werden.

25 Kommentare zu “Pimp-My-CoolControl a.k.a. die Ode an die Temperaturregelung”

1.   Kommentar von Krista
Erstellt am 25. Februar 2012 um 17:01 Uhr.

That’s terrifyingly cool.

Though the idea of the birth canal of your keyboard is still giving me the heebie jeebies 🙂

2.   Kommentar von McSeven
Erstellt am 28. Februar 2012 um 11:48 Uhr.

lol, Krista, is there a way to befriend a blog? Like Distributed Facebooking?

3.   Kommentar von Roman
Erstellt am 10. März 2012 um 15:21 Uhr.

Hi, muss sagen das ist ein geiles Teil …
So, ich habe auch so ein CoolControl und der leider nicht mehr Kühlt und habe selbst versucht dieses zu Reparieren bin aber schnell an meine Grenzen gestoßen . Mich würde es Interessieren was die benötigten Teile kosten um dieses evt. nachzubauen . Die vorhandene Platine sieht eigentlich noch ganz Gut aus und daher absolut keine Ahnung warum dieses nicht mehr funtzt. Es ist jetzt das 2. Mal das das Gerät nicht funktioniert , beim ersten Mal war das Netzteil defekt gewesen und den habe ich beim normalen Elektrohandel gekauft und umgebastelt . Funktionierte jetzt gute 2 Monate mit bis er jetzt den Geist aufgegeben hat . Über ein Tipp deiner Seits wäre ich dankbar 😉

Gruß Roman

4.   Kommentar von McSeven
Erstellt am 10. März 2012 um 21:44 Uhr.

*gg*, vielen Dank, jap, es tut jetzt schon seit zwei Wochen seinen Dienst. Stromverbrauch mit Deckel hinten drauf: 25W, ohne Deckel 18W. Ich hab ihn inzwischen abmontiert. Schaut eh cooler aus.

Zu Deinen Fragen: Was kaputt ist an der originalen Platine kann ich Dir nicht sagen. Doku hab ich keine gefunden.

Nachbauen: Puh, Materialpreise Display ~20€, Gehäuse 5€, AVR 5€, Gemüse 15€, LED Lampe 5€, Lüfter 5€, Platine 3€. Vorausgesetzt, Du hast Werkzeug (Lötkolben, AVR-Programmierer, etc.) schon bei Dir. Arbeitszeit: 4h.

Im EAGLE kannst Du mit dem bom.ulp die Teileliste rauslassen, um sie bei einem Elektronikladen Deiner Wahl zu bestellen.

5.   Kommentar von Roman
Erstellt am 13. März 2012 um 20:53 Uhr.

Hi, danke für deine Auflistung und Hilfestellung . Bin gerade dabei das System zu verstehen und das Gerät noch einmal zu Überprüfen . Eine Sache ist noch unklar , möchte gerne wissen welche Funktion die 2 gelben Drähte die in das Gerät hineingehen haben ,denn da bekomme ich die Masse nicht zurück. Vermutung das dieses ein Thermostat sein kann .?. 2. Problem wenn dieses wirklich defekt ist wie komme ich an dieses dran ohne das Gehäuse zu beschädigen . Hatte zuvor die Masse überbrückt und das Peltier hat reagiert und ist auf der einen Seite warm geworden und demnach auf der anderen Seite Kühl ;). Was kann passieren wenn ich das dauerhaft überbrücke ??? TH1 heißt der Kontakt der mir fehlt der dann den Kontakt M- der zum Peltier geht und somit vermutlich das Gerät wieder zum laufen bringt.
LG

6.   Kommentar von McSeven
Erstellt am 13. März 2012 um 23:13 Uhr.

Also, here goes, was ich weiß.

@gelbe Drähte: Verbinden an das Bimetall-Regel-Element, bei mir zieht’s bei 4,8°C an und fällt bei 4,4°C wieder ab. Wenn das kaputt ist, hast‘ schlechte Karten, das ist da ziemlich fest drinnen und verklebt. Außerdem ist viel Isolierschaum außen rum, den müßtest Du erst wegkratzen, wobei der einzige Zugang von unten her möglich ist. Ohne Beschädigung geht’s meiner Meinung nach nicht, zumindest unten der schwarze Deckel wird an einer Stelle brechen.

@Peltier: Wenn Du es einfach anläßt und praktisch nur mit den 9V und einem Lüfter zusammenschließt, kann nichts passieren. Zum Spaß hatte ich das mal eine Nacht lang laufen, Lüfter und Peltier voll an, das hat sich auf 1,5°C runtergekühlt. Falls die Temperaturdifferenz zu groß wird, zieht das Peltier auch merklich weniger Strom. Bei mir geht’s ab 25°C Differenz los mit dem Senken des Verbrauchs. Daß das aber wenig energieeffizient ist, brauch ich Dir nicht zu sagen, nicht wahr…

@TH1/M: Keine Ahnung, mit der originalen Platine hab ich mich nicht weiter beschäftigt.

Falls Du’s nachbauen willst, ich hab noch eine gebohrte Platine hier, Fotolack ist noch drauf, schreib mir einfach ne Mail. Tät sie für 7,55€ per Post abgeben.

7.   Kommentar von Alex
Erstellt am 19. Juli 2012 um 22:07 Uhr.

kannst du mir das nicht auch bauen, mein Gerät schaltet sich leider immer nach ein paar Tagen aus!Was kann das sein?

MfG
Alex

8.   Kommentar von McSeven
Erstellt am 19. Juli 2012 um 22:33 Uhr.

Grüße, @bauen: Also wie gesagt, eine Platine hab ich noch. @komplett bauen: hmmm, da müßten wir uns unterhalten per Mail, das ist nämlich Aufwand. @Defekt: das kann ich Dir beim besten Willen nicht sagen so aus der Ferne =) Cheers, Christoph

9.   Kommentar von Carsten
Erstellt am 10. Februar 2016 um 10:24 Uhr.

Hallo, mit großem Interesse habe ich gelesen was Du aus dem Coller gemacht hast. Ich habe mir vor einigen Tagen einen 0,6 Liter Cooler (standard) für 45 €, B-Ware bestellt. Nun warte ich bis er da ist. Nachdem ich gelesen habe das der Lüfter so laut ist hätte ich eine Frage. Könntest Du mir einen möglichst leisen Lüfter einbauen. Wie teuer wäre das. Ich habe zwar auch einen Lötkolben und bin nicht ganz ungeschickt, trotzdem würde ich da lieber jemanden ran lassen, der über eine gewisse Erfahrung verfügt. Bitte gib Dir einen Ruck und mache mir ein Angebot. Viele Grüße v. Carsten

10.   Kommentar von chris
Erstellt am 04. Januar 2017 um 21:33 Uhr.

Hallo
beim kühler einbau kann man da die vorhandenne kabel verwenden?
grus chris

11.   Kommentar von McSeven
Erstellt am 04. Januar 2017 um 21:40 Uhr.

hi, also ich hab ja die komplette Elektronik ersetzt und benutze den Bimetallkontakt nicht. Deswegen sind bei mir auhc keine Originalkabel mehr drin.

Wenn Du allerdings das alte Peltier drinnen lassen willst und den Kühlkörper nicht abschraubst, kannst Du dessen Kabel natürlich weiterverwenden. Hoffe, das war das, was Du meinst.

12.   Kommentar von chris
Erstellt am 06. Januar 2017 um 22:24 Uhr.

das heisst ich kaufe mir einen leiseren lüfter das reicht, was mich stört das das ding sehr laut ist

13.   Kommentar von McSeven
Erstellt am 07. Januar 2017 um 14:31 Uhr.

Achso, ja, das funktioniert ohne Probleme. Schau, daß der neue die gleiche Spannung hat wie der alte.

14.   Kommentar von Kai
Erstellt am 12. Januar 2017 um 19:57 Uhr.

Hallo,

Ich brauche mal was Hilfe…

Inspiriert von deinem Projekt habe ich auch einen Cool Control umgebaut.
Ist auch fast alles ganz fein, aber die Leistung stimmt nicht. Was kann ich denn da falsch gemacht haben?

Ich komme auf max. 4,8 Grad runter.

Ich habe ein neues Peltier verbaut, 40×40 mm, rd. 70 Watt Leistung (8A).
2 Temperatursensoren, welche Kühlkörper und Milchtemperatur messen.
Gesteuert wird das Peltier über ein geregeltes Netzteil (max. 8A) über 0-10V via Smarthome Server (Loxone)
Temperatur am Kühlkörper pendelt sich bei max. 42°C ein.

Im Moment schieße ich 12V, 5,6A in das Peltier, aber die Temperatur sinkt nicht weiter. Eigentlich sollte das jetzt ein Eisklumpen sein.

Habe ich vielleicht bei der Wärmeleitpaste auf der Kühlseite geschlampt, oder was könnte es noch sein? Ideen? 🙂

Viele Grüße
Kai

15.   Kommentar von McSeven
Erstellt am 12. Januar 2017 um 20:35 Uhr.

Grüße Kai, wenn ich das richtig lese, hast Du eine Temperturdifferenz von 42-4,8 ~= 37°C. Das ist für ein Peltier schon die Obergrenze. Da hilft nur, die Wärme vom Kühlkörper besser abzuführen.

Ich hab bei mir den Deckel auf der Rückseite weggelassen. Damit komme ich bei 50% Leitung auf 4°C. Mach ich den mit seinen Lüftungsschlitzen drauf, lande ich bei 100% Peltierleistung und 100% Lüfter bei 6-7°C; einfach weil die Wärme da nicht mehr rausgeht…

Zusammenfassend: Nix falsch gemacht, es sind einfach physikalische Flaschenhälse…

16.   Kommentar von Kai
Erstellt am 13. Januar 2017 um 10:38 Uhr.

Hey, danke für die schnelle Antwort.

Das ist natürlich verständlich. 37°C Temperaturdifferenz auf 3,4mm (Peltierdicke) ist ja schon einiges. Da hatte ich noch nicht drüber nachgedacht… 🙂 Dann werde ich am Lüfter und am Kühlkörper noch etwas optimieren.

Vielen Dank und viele Grüße
Kai

17.   Kommentar von Sven P
Erstellt am 09. Dezember 2017 um 18:35 Uhr.

Toller Beitrag.
Mein Cool Control ist seit einigen Tagen defekt und jetzt bin ich beim suchen hier gelandet ^^ Der Lüfter geht immer an und aus. Die Spannung schwankt am Lüfteranschluß schnell zwischen 0V und 9V. Netzteil ist ok.
An die Platine komme ich nicht dran. Ich habe nur die beiden Schrauben am Gehäuseboden hinten entfernt. Bin zu blöd es weiter zu zerlegen.
Ich denke es könnte der Bimetalkontakt sein der irgendwie nicht sauber misst.
Ideen?

VG
Sven

18.   Kommentar von McSeven
Erstellt am 09. Dezember 2017 um 20:00 Uhr.

Hi, Danke für das Lob. Ja, der Bimetall klingt plausibel. Wenn er nicht klackert ist’s tatsächlich wahrscheinlich, daß das eine Kontaktverschmutzung ist. Die schlechte Nachricht: das Teil ist ziemlich tief vergossen, auch ich hab das nicht abmontiert. Fürchte fast, dann kannst‘ ihn neu kaufen… BG, Christoph

19.   Kommentar von Jörg
Erstellt am 10. Dezember 2017 um 14:52 Uhr.

Hallo,
habe mir eine neue Z6 samt 0.6l wireless Milchkühler (1.0l war nicht lieferbar und da ich alleine lebe reicht der kleine völlig) zugelegt und schon vorab von dem lauten Lüfter gelesen; auf der Suche nach nem passenden Lüfter bin ich auf diese Seite hier gestossen – super Sache, Respekt!
Werde ich im Auge behalten – für’s Erste reicht mir, einfach nur den lauten Originallüfter getauscht zu haben:
da ich nicht wusste, welcher „passen“ würde, hatte ich mir 3 zur Auswahl gekauft, jeweils für unter 10€ (bequiet!, Enermax und Arctic) – angefangen hatte ich mit dem bequiet! (pure wings 2) plus der Hälfte des Adapterkabels vom Enermax (weder beim bequiet! noch bei Arctic waren irgendwelche Adapter dabei!) sowie einem alten Lüfter mit Molex 2Pin, den ich hier noch ‚rumliegen hatte…
Läuft super, hört man nur, wenn man das Ohr in die unmittelbare Nähe des Milchkühlers hält!
— allerdings ist die Z6 ansich auch sehr laut, sodass ich den ganzen Umbau mir evtl. hätte sparen können :((
na ja, allerdings läuft der Kühler ja immer, die Z6 aber nicht!
Grüsse,
Jörg

20.   Kommentar von Sven P
Erstellt am 13. Dezember 2017 um 16:49 Uhr.

Danke für die Antwort.
Was spricht dagegen das Kühlelement und den Lüfter direkt hinter dem Schalter anzuklemmen ohne die Platine? Im schlimmsten Fall würde die Milch zu kalt – oder? Der Stromverbrauch wird ja nicht so schlimm sein.
VG
Sven

21.   Kommentar von McSeven
Erstellt am 13. Dezember 2017 um 19:34 Uhr.

Du hast Recht, das würde gehen. Im schlimmsten Falle würde die Milch einfrieren, aber so viel Leistung hat das Teil glaube ich nicht. Und wenn Dir der Stromverbrauch egal ist…

22.   Kommentar von Sven P
Erstellt am 14. Dezember 2017 um 17:12 Uhr.

Dann werde ich das mal versuchen – Danke! 🙂

23.   Kommentar von Worldjumper
Erstellt am 20. April 2018 um 09:04 Uhr.

Hallo,

ich wollte einfach mal DANKE sagen für den Artikel. Habe leider auch von einem Nicht ganz so ehrlichen Menschen einen Defekten Kühler bekommen… 🙁

24.   Kommentar von Fabian
Erstellt am 30. Oktober 2020 um 07:50 Uhr.

Servus,

auch mich stört der laute Lüfter. Da ich bei solchen Themen leider ein absoluter Laie bin, hier nochmals kleinere Fragen:

Ich würde gerne den Lüfter tauschen. So wie ich das lese, braucht man einen 80mm Lüfter mit 9V.
Geht da einfach ein 3-Pin oder 4-Pin Stecker oder ist der aktuelle Lüfter anders befestigt?

Ihr habt nur den Lüfter, aber ohne Kühlblock getauscht, oder?

Danke für die Hilfe!

25.   Kommentar von McSeven
Erstellt am 30. Oktober 2020 um 11:26 Uhr.

Hi, also, meines Wissens nach ist der Lüfter nicht geregelt, sondern wird einfach nur ein/ausgeschaltet. Das heißt, daß Du ihn einfach mit einem 2-,3- oder 4-poligen Lüfter ersetzen kannst, wobei Du dann nur die ersten beiden Kabel (schwarz=>schwarz, nächster=>rot) anschließt. Und 9V ist natürlich richtig. BG, Christoph

Einen Kommentar hinterlassen