Benutzer-Werkzeuge

Webseiten-Werkzeuge


arduino:flaschenkuehler

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

arduino:flaschenkuehler [30.07.2018 15:31] – [Zweiter Langzeittest] Frickelpietarduino:flaschenkuehler [18.05.2023 12:15] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 20: Zeile 20:
   * Peltier-Element (TEC1-12706), 40 mm x 40 mm, 12 V, 4 Ampere (48 Watt)   * Peltier-Element (TEC1-12706), 40 mm x 40 mm, 12 V, 4 Ampere (48 Watt)
   * Arduino Nano   * Arduino Nano
-  * Digitale Temperatursensoren [[arduino:ds18b29|DS18B20]]+  * Digitale Temperatursensoren [[arduino:ds18b20|DS18B20]]
   * Kühlbecher aus Aluminium   * Kühlbecher aus Aluminium
   * Rahmen aus GFK und aus dem 3D-Drucker   * Rahmen aus GFK und aus dem 3D-Drucker
Zeile 53: Zeile 53:
 {{:arduino:flaschenkuehler:beschriftung_hauptplatine.jpg?100 |}} Das nebenstehende Foto (zum Vergrößern klicken) zeigt die erste Version der Hauptplatine mit der Steckerbelegung. Der Arduino wird mit der USB-Buchse nach unten eingesteckt. Oben rechts befindet sich der Stecker, der die Hauptplatine mit Strom versorgt. Auf dem obersten  Pin liegt das PWM-Signal für das Peltier-Element (D09). Der Stecker links daneben versorgt das OLED-Display mit 5 Volt. Darunter befinden sich die Anschlüsse für die Thermistoren. An AREF liegen 3,3 Volt vom Arduino an. Ganz links oben ist der vierpolige Stecker für den Lüfter. Die Minius-Leitung des Lüfters wird mit dem MOSFET (FQP30N06L) geschaltet. Darunter liegt der Stecker für die beiden Taster. An den 2- und 3-poligen Steckern in der Bildmitte wird das OLED-Display angeschlossen. {{:arduino:flaschenkuehler:beschriftung_hauptplatine.jpg?100 |}} Das nebenstehende Foto (zum Vergrößern klicken) zeigt die erste Version der Hauptplatine mit der Steckerbelegung. Der Arduino wird mit der USB-Buchse nach unten eingesteckt. Oben rechts befindet sich der Stecker, der die Hauptplatine mit Strom versorgt. Auf dem obersten  Pin liegt das PWM-Signal für das Peltier-Element (D09). Der Stecker links daneben versorgt das OLED-Display mit 5 Volt. Darunter befinden sich die Anschlüsse für die Thermistoren. An AREF liegen 3,3 Volt vom Arduino an. Ganz links oben ist der vierpolige Stecker für den Lüfter. Die Minius-Leitung des Lüfters wird mit dem MOSFET (FQP30N06L) geschaltet. Darunter liegt der Stecker für die beiden Taster. An den 2- und 3-poligen Steckern in der Bildmitte wird das OLED-Display angeschlossen.
  
-{{:arduino:flaschenkuehler:hauptplatine.jpg?100 |}} Das Foto links zeigt die zweite Version der Hauptplatine. Die linke Seite der Platine ist identisch mit der ersten Version der Platine (siehe Foto oben). Auf der rechten Seite können nun vier digitale Temperatursensoren ([[arduino:ds18b29|DS18B20]]) angeschlossen werden.+{{:arduino:flaschenkuehler:hauptplatine.jpg?100 |}} Das Foto links zeigt die zweite Version der Hauptplatine. Die linke Seite der Platine ist identisch mit der ersten Version der Platine (siehe Foto oben). Auf der rechten Seite können nun vier digitale Temperatursensoren ([[arduino:ds18b20|DS18B20]]) angeschlossen werden.
 ==== Microcontroller ==== ==== Microcontroller ====
-Für die Kontrolle des Flaschenkühlers fiel meine Wahl auf einen [[https://store.arduino.cc/arduino-nano|Arduino Nano]]. Der Arduino Nano ist kompakt, liefert an den digitalen Ausgängen 5 Volt, was für PWM-Regelung des Lüfters wichtig ist, und hat für die wesentlichen Funktionen genügend Programm- und Arbeitsspeicher: [[arduino:flaschenkuehler:programmversion_0.3|Programmversion 0.3]] benötigt etwa 70 % des Programmspeichers, enthält aber im Wesentlichen alle Funktionen der finalen Programmversion. Allein der dynamische Speicher ist etwas knapp: Die Arduino-IDE warnt ab einer Speicherbelegung von 75 % vor möglichen Instabilitäten; eine Auslastung, die mehrfach überschritten wurde. Auch reicht der dynamische Speicher nicht, um eine nach links scrollende grafische Anzeige der Temperaturmesswerte etc. zu realisieren, weil dafür pro Variable 128 Bytes in einem Array gespeichert werden müssten. In der speicheroptimierten [[arduino:flaschenkuehler:programmversion_0.5|Programmversion 0.5]] werden etwa 73 % des dynamischen Speichers verwendet.+Für die Kontrolle des Flaschenkühlers fiel meine Wahl auf einen [[https://store.arduino.cc/arduino-nano|Arduino Nano]]. Der Arduino Nano ist kompakt, liefert an den digitalen Ausgängen 5 Volt, was für PWM-Regelung des Lüfters und die Ansteuerung der MOSFETs wichtig ist, und hat für die wesentlichen Funktionen genügend Programm- und Arbeitsspeicher: [[arduino:flaschenkuehler:programmversion_0.3|Programmversion 0.3]] benötigt etwa 70 % des Programmspeichers, enthält aber im Wesentlichen alle Funktionen der finalen Programmversion. Allein der dynamische Speicher ist etwas knapp: Die Arduino-IDE warnt ab einer Speicherbelegung von 75 % vor möglichen Instabilitäten; eine Auslastung, die mehrfach überschritten wurde. Auch reicht der dynamische Speicher nicht, um eine nach links scrollende grafische Anzeige der Temperaturmesswerte etc. zu realisieren, weil dafür pro Variable 128 Bytes in einem Array gespeichert werden müssten. In der speicheroptimierten [[arduino:flaschenkuehler:programmversion_0.5|Programmversion 0.5]] werden etwa 73 % des dynamischen Speichers verwendet.
 ==== OLED-Display ==== ==== OLED-Display ====
 Der Falschenkühler hat ein OLED-Display, auf dem verschiedene Informationen angezeigt werden können. Verwendet wird das [[https://www.adafruit.com/product/1673|OLED-Display mit 1,27" Diagonale von Adafruit]]. Der Falschenkühler hat ein OLED-Display, auf dem verschiedene Informationen angezeigt werden können. Verwendet wird das [[https://www.adafruit.com/product/1673|OLED-Display mit 1,27" Diagonale von Adafruit]].
Zeile 82: Zeile 82:
 Während des ersten Langzeittests (bis [[arduino:flaschenkuehler:programmversion_0.5|Programmversion 0.5]]) wurden Thermistoren ([[http://www.mouser.com/ds/2/362/semitec_atthermistor-371460.pdf|Datenblatt]]) verwendet, die über einen Spannungsteiler an jeweils einem analogen Eingang ausgelesen wurden. Eine sehr gute Anleitung für Einbindung von Thermistoren gibt es [[https://learn.adafruit.com/thermistor/overview|hier]]. Nach etwa 400 Stunden haben einige der Thermistoren jedoch ihren Widerstand verändert und somit zunehmend falsche Messwerte geliefert.  Während des ersten Langzeittests (bis [[arduino:flaschenkuehler:programmversion_0.5|Programmversion 0.5]]) wurden Thermistoren ([[http://www.mouser.com/ds/2/362/semitec_atthermistor-371460.pdf|Datenblatt]]) verwendet, die über einen Spannungsteiler an jeweils einem analogen Eingang ausgelesen wurden. Eine sehr gute Anleitung für Einbindung von Thermistoren gibt es [[https://learn.adafruit.com/thermistor/overview|hier]]. Nach etwa 400 Stunden haben einige der Thermistoren jedoch ihren Widerstand verändert und somit zunehmend falsche Messwerte geliefert. 
  
-Daher wurden die Thermistoren durch den digitalen Temperatursensor [[arduino:ds18b29|DS18B20]] ersetzt (ab [[arduino:flaschenkuehler:programmversion_0.6|Programmversion 0.6]]). Weil dadurch einige komplexe Berechnungen wegfallen, konnte die Verwendung des dynamischen Speichers verringert werden. Der Temperatursensor am Kühlkörper wurde an eine der vier Heatpipes verlegt, damit der Sensor nicht von dem kalten Becherboden gekühlt wird.+Daher wurden die Thermistoren durch den digitalen Temperatursensor [[arduino:ds18b20|DS18B20]] ersetzt (ab [[arduino:flaschenkuehler:programmversion_0.6|Programmversion 0.6]]). Weil dadurch einige komplexe Berechnungen wegfallen, konnte die Verwendung des dynamischen Speichers verringert werden. Der Temperatursensor am Kühlkörper wurde an eine der vier Heatpipes verlegt, damit der Sensor nicht von dem kalten Becherboden gekühlt wird.
 ==== Lüfterregelung ==== ==== Lüfterregelung ====
 {{:arduino:flaschenkuehler:img_3162.jpg?100 |}} Der Kühlkörper wird von einem PC-Lüfter angeblasen. Verbaut wird die 92mm-Version des Silent Wings 2 von BeQuiet! mit einem 4-Pin-Anschluss. Bei PC-Lüftern mit einem 4-Pin-Anschluss liegt die Betriebsspannung kontinuierlich an. Der dritte Pin gibt ein Tachosignal aus und über den vierten Pin wird die Drehzahl des Lüfters mit einem PWM-Signal gesteuert. PC-Lüfter mit einem 3-Pin-Anschluss haben den Nachteil, dass das Tachosignal nur sehr umständlich ausgelesen werden kann, wenn die Drehzahl per Pulsweitenmodulation der Eingangsspannung gesteuert werden soll, weil auch der Hall-Sensor an dem pulsweitenmodulierten Signal anliegt. Das Problem wird sehr anschaulich auf [[http://www.analog.com/en/analog-dialogue/articles/how-to-control-fan-speed.html|dieser Webseite]] dargestellt. Wie dennoch das Tachosignal ausgelesen werden könnte wird auf [[http://www.pcbheaven.com/circuitpages/PWM_3_Wires_Fan_Controller_with_RPM_feedback/|dieser Webseite]]  beschrieben. Mir ist das aber zum einen zu umständlich und erscheint mir zum anderen auch keine "saubere" Lösung zu sein. {{:arduino:flaschenkuehler:img_3162.jpg?100 |}} Der Kühlkörper wird von einem PC-Lüfter angeblasen. Verbaut wird die 92mm-Version des Silent Wings 2 von BeQuiet! mit einem 4-Pin-Anschluss. Bei PC-Lüftern mit einem 4-Pin-Anschluss liegt die Betriebsspannung kontinuierlich an. Der dritte Pin gibt ein Tachosignal aus und über den vierten Pin wird die Drehzahl des Lüfters mit einem PWM-Signal gesteuert. PC-Lüfter mit einem 3-Pin-Anschluss haben den Nachteil, dass das Tachosignal nur sehr umständlich ausgelesen werden kann, wenn die Drehzahl per Pulsweitenmodulation der Eingangsspannung gesteuert werden soll, weil auch der Hall-Sensor an dem pulsweitenmodulierten Signal anliegt. Das Problem wird sehr anschaulich auf [[http://www.analog.com/en/analog-dialogue/articles/how-to-control-fan-speed.html|dieser Webseite]] dargestellt. Wie dennoch das Tachosignal ausgelesen werden könnte wird auf [[http://www.pcbheaven.com/circuitpages/PWM_3_Wires_Fan_Controller_with_RPM_feedback/|dieser Webseite]]  beschrieben. Mir ist das aber zum einen zu umständlich und erscheint mir zum anderen auch keine "saubere" Lösung zu sein.
Zeile 135: Zeile 135:
 Mit der neuen Isolierung werden am Becherboden - gemessen mit einem Küchenthermometer - unter minus 1°C gemessen. Der Temperaturfühler am Becherboden misst dann 2°C, der obere 3,5°C. Für 8°C (Temperatursensor am Becherboden) pendelt sich das Peltierelement bei einem duty cycle von 69% ein. Der Lüfter dreht dann bei einer Umgebungstemperatur von ca. 30°C mit 1150 U/min. Es wäre experimentell zu ermitteln, bei welchem Sollwert für den Kühlkörper der Sweetspot zwischen Lüfterdrehzahl und Effizienz des Peltierelements liegt. Generell hat die Korkisolierung keinen so großen Effekt, wie ich mir erhofft hatte. Immerhin entsteht nun am Becheräußeren kein Kondenswasser mehr. Außerdem hat sich die Zeit deutlich verkürzt, die der Flaschenkühler benötigt, um von Zimmertemperatur auf 8°C herunterzukühlen. Das dauert jetzt nur noch etwa 20 Minuten.  Mit der neuen Isolierung werden am Becherboden - gemessen mit einem Küchenthermometer - unter minus 1°C gemessen. Der Temperaturfühler am Becherboden misst dann 2°C, der obere 3,5°C. Für 8°C (Temperatursensor am Becherboden) pendelt sich das Peltierelement bei einem duty cycle von 69% ein. Der Lüfter dreht dann bei einer Umgebungstemperatur von ca. 30°C mit 1150 U/min. Es wäre experimentell zu ermitteln, bei welchem Sollwert für den Kühlkörper der Sweetspot zwischen Lüfterdrehzahl und Effizienz des Peltierelements liegt. Generell hat die Korkisolierung keinen so großen Effekt, wie ich mir erhofft hatte. Immerhin entsteht nun am Becheräußeren kein Kondenswasser mehr. Außerdem hat sich die Zeit deutlich verkürzt, die der Flaschenkühler benötigt, um von Zimmertemperatur auf 8°C herunterzukühlen. Das dauert jetzt nur noch etwa 20 Minuten. 
  
-Nach über 1000 Betriebsstunden läuft der Flaschenkühler immer noch tadellos! +Update: Nach über 1000 Betriebsstunden läuft der Flaschenkühler immer noch tadellos! Auch bei hochsommerlichen Außen- (>35°C) und schwer zu ertragenden Innentemperaturen (> 28°C) erreicht der Flaschenkühler problemlos Temperaturen von 6,5°C, was bei diesen Temperaturen viel zu kalt ist. Aber er kann es. 
 + 
 +Update: Auch nach über 1500 Betriebsstunden läuft der Flaschenkühler noch zuverlässig. Das OLED-Display hat allerdings deutlich wahrnehmbar Leuchtkraft eingebüßt. 
  
 Tags: #Arduino #Flaschenkühler #Nano #OLED Tags: #Arduino #Flaschenkühler #Nano #OLED
arduino/flaschenkuehler.1532957480.txt.gz · Zuletzt geändert: 18.05.2023 09:06 (Externe Bearbeitung)