Beitragsinhalt
Elektronik
Eine Einhausung für 3D-Drucker hat zwei wesentliche Nachteile. Zum einen bleibt die Temperatur darin nicht konstant und zum anderen setzen sich die während dem Druckprozess emittierten Partikel innerhalb der Einhausung ab und werden dadurch nach und nach von der Umgebung aufgenommen. Deshalb haben wir für unsere Einhausung zunächst einmal eine Temperatursteuerung mithilfe eines Arduino Uno R3 gebaut und um einen Lüfter, der über ein Filtersystem einen Teil der emittierten Partikel filtert, erweitert. Für das Kontrollsystem wurde zunächst ein einfaches LCD-Modul für die Überwachung und zwei lineare Potentiometer für die Steuerung verwendet. Während der ersten Testphase stellte sich jedoch heraus, dass die Potentiometer völlig überflüssig sind, da der Lüfter für die Filteranlage stets mit 100% laufen sollte. Der Lüfter für die Kühlung sollte wiederum abschaltbar sein. Dies lässt sich z.B. über Potentiometer, Touch-Screen, Taster oder einer Temperaturregelung mittels Software realisieren. Bei der Verwendung eines Touch-Screens in Kombination mit einem Mikrocontroller-Board sollte jedoch bedacht werden, dass diese Entwicklungsboards über eine begrenzte Anzahl an PWM- und Interrupt-Pins verfügen. Als Alternative bietet sich je nach Anwendungsfall ein Arduino Mega 2560 an, der über wesentlich mehr Pins verfügt und darüber hinaus auch noch um einiges schneller getaktet ist.
Die einfachste und effektivste Lösung bietet jedoch der Hersteller Adafruit an. Mit dem Adafruit METRO 328 Mikrocontroller-Board und dem 2.8″ TFT Touch Shield for Arduino w/Capacitive Touch bekommen Anwender qualitativ hochwertige Komponenten, die perfekt aufeinander abgestimmt sind und darüber hinaus auch noch sehr gut dokumentiert sind. Damit lässt sich eine einfache Lüftersteuerung in schnell und einfach realisieren.
In diesem Teil des Artikels zeigen wir verschiedene Möglichkeiten, wie eine Lüftersteuerung prinzipiell umgesetzt werden kann. Für diese praktischen Aufgaben sollte man mit einigen elektronischen Bauteilen versorgt sein und zumindest mit den wesentlichen Grundlagen der Elektrotechnik vertraut sein. Eine gute Anlaufstelle für DIY-Komponenten ist der Hersteller Adafruit aus den USA, dessen Produkte aber auch über europäische Online-Shops bezogen werden können.
Adafruit METRO 328
Eine Temperatursteuerung und -überwachung lässt sich mit Mikrocontroller-Boards wie dem Arduino Uno R3 oder dem Arduino Nano sehr einfach realisieren. Die Platinen sind in wenigen Schritten einsatzbereit und bieten zahlreiche Umsetzungsmöglichkeiten für eigene Projekte. Bei Arduino handelt es sich um eine ganze Plattform auf Basis von Open-Source-Lizenzen. Demensprechend können sowohl Software als auch Hardware frei genutzt und angepasst werden. Mit dem METRO 328 bringt Adafruit sein eigenes vollständig kompatibles Arduino Uno Clone Board auf den Markt. Das Board ist qualitativ hochwertig verarbeitet, einfach zu verwenden und hacker-freundlich. Es basiert auf den ATmega328 Mikrokontroller und kann mit 7-9V über die DC-Buchse (Verpolungsschutz vorhanden) oder via microUSB mit 5V betrieben werden. Ein Ein- und Ausschalter ist auf dem Board ebenfalls vorhanden. Das METRO 328 verfügt über 20 GPIO Pins, wobei 6 davon auch als analoge Eingänge fungieren und 2 davon für den USB-Seriell-Konverter reserviert sind. Zusätzlich sind 6 PWMs auf 3 Timer (1 x 16-bit, 2 x 8-bit) vorhanden. Aber auch auf den Hardware SPI Port, den Hardware I2C Port und den Hardware UART zu USB Port müssen Anwender nicht verzichten. Der Logigpegel der GPIOs ist 5V, kann aber durch Auftrennen und Löten von Jumpern auf 3.3V Logik umgestellt werden. Je nach Projekt und verwendeter Hardware kann das mehr als hilfreich sein. Das METRO 328 ist werksseitig mit dem Optiboot Bootloader ausgestattet, welcher von avrdude unterstützt wird und nur 512 Byte Speicher belegt. Das Mikrocontroller-Board ist mit allen Arduino-Shields kompatibel und absolut zu empfehlen.
Temperaturmessung und Lüftersteuerung
Adafruit hat für eine Temperatur- und Feuchtigkeitsmessung den DHT22 mit passendem 10kOhm Widerstand und ausführlicher Anleitung im Programm. Für die Lüftersteuerung bieten sich verschiedene Ansteuerungsmöglichkeiten an. Adafruit bietet dazu den NPN-Transistor PN2222 sowie den TIP120 an. Beide Bauteile haben ihre Vor- und Nachteile, die wir im weiteren Verlauf dieses Artikels näher erläutern werden. Eine weitaus modernere Variante ist die Umsetzung einer Lüftersteuerung mithilfe eines MOSFETs wie dem IRLZ34. Prinzipiell sollte beachtet werden, dass einige Lüfter erst bei voller Spannung anfahren, da ein hohes Moment erforderlich ist. Das betrifft alle Lüfter mit 2- und 3-Pin-Anschluss. Die einfachste Möglichkeit, um MOSFETs und Transistoren zu umgehen, sind PWM-fähige Lüfter mit 4-Pin-Anschluss, die genau darauf ausgelegt sind und direkt mit dem PWM-Anschluss des METRO 328 verbunden werden können.
In Rahmen dieses DIY-Projekts wird der Zaribo i3 MK3S Mod verwendet, der mit einem MeanWell RSP-320-24 mit 320W betrieben wird. Theoretisch könnten die Lüfter also auch über das 3D-Drucker-Netzteil betrieben werden, da Leistung ausreichend vorhanden ist. Für Lüfter mit einer Betriebsspannung von 12V empfiehlt sich entweder ein kleineres externes Netzteil oder die Verwendung eines Step-Down-Converters, der aus 24V die benötigten 12V liefert. Ein 5V-Lüfter hingegen könnte auch direkt über den Arduino betrieben werden. Der Nachteil hierbei ist, dass sich z.B. durch 5V und 1,3W eine maximale Stromstärke von 0.26A ergibt. Die permanente Belastung der Arduino-Pins sollte jedoch 20mA nicht überschreiten. Wer dennoch einen 5V-Lüfter am Arduino betreiben möchte, sollte unbedingt ein Relais verwenden. Diese Schalter können einen viel größeren Strom fließen lassen, als es mit dem Mikrocontroller-Board überhaupt möglich wäre. Dabei wird das Relais mit dem Arduino über einen kleinen Strom aktiviert. Relais haben aber einen Nachteil, denn die Schalter sind nicht PWM-fähig. Eine Drehzahlregelung lässt sich damit also nicht realisieren. Für die Ansteuerung eines nicht drehzahlgeregelten Lüfters über ein Arduino-Board eignen sich Relais aber wunderbar.
Es gibt nicht immer die perfekte Lösung. Deshalb werden wir auf diverse Varianten mit ihren Vor- und Nachteilen eingehen.
PWM-Ansteuerung eines 3-Pin-Lüfters
Für die PWM-Ansteuerung eines 3-Pin-Lüfters mit dem METRO 328/Arduino Board gibt es diverse Anleitungen, die wir aber alle nicht weiterempfehlen können. Zum einen sind die Schaltpläne fehlerhaft und wenig aussagekräftig und zum anderen gibt es viel zu wenig Hintergrundwissen, um die Anleitungen auch auf andere Projekte zu übertragen. Für das Auslesen der Lüfterdrehzahl eines 3-Pin-Lüfters wird das Tachosignal (gelbe Leitung) verwendet. Das Auslesen kann entweder mittels Pulsdauer (PWM-Pin) erfolgen oder mittels Interrupt (Interrupt-Pin), wobei Interrupts lediglich die Pins 2 und 3 am METRO 328/Arduino Board unterstützen. Pin 3 eignet sich dafür am ehesten, da hardwareseitig mehr Einstellmöglichkeiten gegeben sind.
Je nachdem welche Pins verwendet werden, müssen noch die entsprechenden Timer konfiguriert werden. Ohne diese Konfiguration wird der 3-Pin-Lüfter nicht mit der gewünschten Konfiguration anlaufen. Standardmäßig arbeiten die Timer an Pin 5 und 6 mit 1kHz und an Pin 3, 9, 10 und 11 mit 500Hz. Änderungen an Timer0 haben Auswirkungen auf die Funktionen delay, millis und micros.
TCCR0B = TCCR0B & 0b11111000 | <setting>; //Timer 0 (PWM pins 5 & 6)
TCCR1B = TCCR1B & 0b11111000 | <setting>; //Timer 1 (PWM pins 9 & 10)
TCCR2B = TCCR2B & 0b11111000 | <setting>; //Timer 2 (PWM pins 3 & 11)
Available PWM Frequency Settings for Each Arduino System Timer
Arduino Timer <setting> Divisor Frequency (Hertz)
0 (pins 5 and 6) 0x01 1 62500
0 (pins 5 and 6) 0x02 8 7812.5
0 (pins 5 and 6) 0x03 64 976.56
0 (pins 5 and 6) 0x04 256 244.14
0 (pins 5 and 6) 0x05 1024 61.04
1 (pins 9 and 10) 0x01 1 31250
1 (pins 9 and 10) 0x02 8 3906.25
1 (pins 9 and 10) 0x03 64 488.28
1 (pins 9 and 10) 0x04 256 122.07
1 (pins 9 and 10) 0x05 1024 30.52
2 (pins 3 and 11) 0x01 1 31250
2 (pins 3 and 11) 0x02 8 3906.25
2 (pins 3 and 11) 0x03 32 976.56
2 (pins 3 and 11) 0x04 64 488.28
2 (pins 3 and 11) 0x05 128 244.14
2 (pins 3 and 11) 0x06 256 122.07
2 (pins 3 and 11) 0x07 1024 30.52
Für unsere Lüfter haben wir am METRO 328/Arduino Board die Pins 5 und 6 vorgesehen. Um den 3-Pin-Lüfter korrekt anlaufen zu lassen, muss Timer0 konfiguriert werden. Auf Timer0 laufen aber auch millis() und delay(). Timer0 müsste deshalb ausscheiden, denn in unserem Programmcode verwenden wir die Funktionen millis() und delay() für das Auslesen des Tachosignals. Der Wert des Tachosignals wird jedoch verfälscht, sobald Timer0 konfiguriert wird. Daher wäre es sinnvoll, für den Lüfter Pin 9 zu verwenden, der uns aber aufgrund anderer angeschlossener Komponenten nicht zur Verfügung steht. Alternativ bietet sich ein Arduino Mega 2560 mit mehr Pins an oder ein separater Arduino Nano, der lediglich für einen Teil der Lüftersteuerung verwendet wird.
Für dieses Projekt verwenden wir neben dem METRO 328 auch einen Arduino Nano, um die 3-Pin-Lüfter der Filteranlage mittels 10k-Drehpotentiometer (lineare Ausführung) anzusteuern. Das Tachosignal wird aber mit dem METRO 328 verbunden, an dem alle anderen Komponenten angeschlossen sind.
Timer2 ist übrigens ein 8 Bit Timer (wie Timer0), aber es hat mehr Prescaler Einstellungen als Timer1. Für schnelle Anwendungen wird es daher gerne genommen, da sehr flexibel hinsichtlich der Einstellmöglichkeiten der Zeit. Zum Thema gibt es hier einen tollen Beitrag. Relais sind für diese Art von Schaltung übrigens nicht notwendig, da wir nicht mit Hochspannungslüftern arbeiten.
PWM-Lüftersteuerung mit NPN-Transistor
Die Verwendung eines NPN-Transistors (z.B. PN2222) für die Ansteuerung eines 3-Pin-Lüfters mittels PWM ist sehr beliebt, aber auch fehlerbehaftet und oftmals lückenhaft beschrieben. Durch den NPN-Transistor wird unter anderem dem Tachosignal der Bezug (GND) weggeschaltet. Dadurch floatet das Tachosignal in irgendeinem Wertebereich und produziert nicht erwartete Pegel. Im Prinzip überlagern sich durch die fehlerhafte Ansteuerung zwei Frequenzen. Alternativen dazu wären das Schalten mittels High-Side, die Ansteuerung mittels Gleichspannungsquelle oder der Verzicht auf die Drehzahlmessung.
Für einen NPN-Transistor wird ein Basisvorwiderstand von mindestens 220Ohm (besser 330Ohm) empfohlen, um den Ausgang des Arduinos nicht zu überlasten. Die Arduino-Pins liefern etwa 20mA und ohne Basisvorwiderstand wird der Arduino von der BE-Diode des Transistors ohne jegliche Strombegrenzung auf 0,7V geklemmt. Für unser Projekt verwenden wir einen Alveo3D 24V/10Watt Lüfter, der bis zu 0,5A benötigt. Der Bipolartransistor sollte daher in der Lage sein, 500mA zu schalten. Dafür werden 25-50mA benötigt. Da der Arduino aber nicht ausreichend Strom liefert, schaltet der PN2222 Transistor nicht ganz durch. Dadurch verbleibt im eingeschalteten Zustand eine größere Spannung über Kollektor-Emitter und der Transistor wird sehr heiß. Gleichzeitig sollte beachtet werden, dass beim Anlaufen höhere Ströme benötigt werden. Für einen 24V/0.2A Lüfter wäre der PN2222 ausreichend dimensioniert. Bei 500mA kommt das Bauteil schnell an seine Belastungsgrenze, denn laut Datenblatt ist VCE(sat) Collector-Emitter Saturation Voltage IC=500mA, IB=50mA. Bei UCE=1V und 500mA ist das ein halbes Watt. Da der Arduino aber keinen Basistrom von 50mA schafft, wird die Sättigungsspannung negativ beeinflusst.
PWM-Lüftersteuerung mit Darlington Transistor
Eine gängige Alternative dazu ist der Darlington TIP120, der bereits bei etwa 5mA in die Basis die benötigten 0.5A schalten kann. Der Spannungsverlust von 1.4V sollte beim Darlington berücksichtigt werden. Bei 24V ist das aber nicht weiter relevant, beeinflusst aber die Drehzahl minimal. Der Darlington TIP120 hat aber ein großes Manko: Das Bauteil schaltet nicht so schnell. Daher empfiehlt sich eine langsame PWM im Bereich von 50-100Hz. Ein Basiswiderstand von 270-330Ohm wird empfohlen.
PWM-Lüftersteuerung mit N-Kanal-MOSFET
Ein N-Kanal-MOSFET lässt sich grob mit einem npn-Transistor betrachten, wobei Gate (G) der Basis, Drain (D) dem Kollektor und Source (S) dem Emitter entsprechen. Bei npn-Transistoren wird der Kollektor-Emitter-Strom mit dem Basisstrom gesteuert, während bei N-Kanal-MOSFETs ein interner Drain-Source-Widerstand mit einer am Gate anliegenden Spannung gesteuert wird. Der Transistor sperrt, sobald die Spannung am Gate identisch ist mit der Spannung am Source. Bis auf einen verhältnismäßig kleinen Leckstrom fließt zwischen Drain und Source also kein Strom. Zu beachten ist, dass bei einer Gatespannung von 0V eine galvanische Verbindung zwischen Gate und Source besteht. Das kann zu undefinierten Zuständen am Mikrocontroller führen, wodurch der Lüfter unter Umständen weiter angesteuert wird. Mit einem hochohmigen Widerstand von einigen 10kOhm zwischen Gate und Source kann dieses Problem umgangen werden, da das Gate dann auf einem 0-V-Pegel entladen wird.
Der IRLZ34 ist für eine Lüftersteuerung ausreichend dimensioniert, kommt ohne Kühlung aus und benötigt keine nennenswerte Steuerleistung am Gate. Keiner oder nur ein sehr kleiner Gatewiderstand reicht dafür völlig aus. Ein weiterer Vorteil des MOSFETs gegenüber einem npn-Transistor ist, dass das Bauteil an der DS-Strecke beim Durchsteuern so gut wie keine Spannung verliert. Der Lüfter läuft demnach mit voller Leistung. Der IRLZ34 sperrt laut Datenblatt bis zu einer Gate-Spannung von 2V und lässt sich mit einem TTL-Pegel ansteuern. Bei einer Gate-Spannung von VGS=5V beträgt sein Innenwiderstand nur noch etwa 0.05Ohm.
Lüfterdrehzahl mit Potentiometer
Um die entsprechende Drehzahl zu setzen, bietet sich ein einfacher linearer 10k-Drehpotentiometer an. Das Potentiometer sollte niemals direkt zwischen Spannungsversorgung und Lüfter angeschlossen werden und auch nicht in Form einer Spannungsteiler-Schaltung, da die Widerstände dafür üblicherweise nicht ausreichend dimensioniert sind. Bei einem 24V-Lüfter und einer Leistung von knapp 10W ergibt sich ein Strom von ~500mA, was den Poti definitiv überlasten würde. Das Potentiometer sollte deshalb an eine Versorgungsspannung von 5V angeschlossen werden und mit einem analogen Input-Pin des Arduino verbunden werden. Der Wert 255 entspricht dabei 5V. Dazu sollte beachtet werden, dass die A/D-Wandler eine Auflösung von 10 Bit haben, was einem Integer-Wert von 0 bis 1023 entspricht. Dieser Wert muss jedoch umgerechnet werden, um eben über das PWM-Signal die Lüfter mit Werten zwischen 0 und 255 anzusteuern.
Es gibt demnach viele verschiedene Ansteuerungsmöglichkeit eines 3-Pin-Lüfters und ebenso viele Nachteile, die sich daraus ergeben.
PWM-Ansteuerung eines 4-Pin-Lüfters
Wesentlich einfacher gestaltet sich der Aufbau mit einem 4 pol. Lüfter, der über einen eingebauten PWM-Eingang verfügt. Dadurch entfällt die Schaltung mit dem Transistor und der Diode. Die Lüfter-Signalleitungen für Control und Tacho können demnach direkt mit dem Mikrocontroller-Board verbunden werden. Der österreichische Hersteller Noctua bietet mit dem NF-F12 industrialPPC-24V-3000 Q100 IP67 PWM einen leistungsstarken und robusten Lüfter an, der für den Profi-Einsatz ausgelegt ist und unsere Anforderungen an ein Kühlsystem zur vollsten Zufriedenheit erfüllt. Das NF-F12-Modell ist mit einem neuartigen dreiphasigen Motor ausgestattet und erreicht damit Drehzahlen von bis zu 3000U/min bei gleichzeitig moderater Geräuschentwicklung. Auch hinsichtlich der Leistungsaufnahme kann das Noctua NF-F12 in der 24V-Version punkten und ist damit ein echter Hochleistungskühler. Noctua garantiert mit dem hochwertigen SSO2-Lager eine Lebensdauer von mehr als 150.000 Stunden und bietet darüber hinaus eine Herstellergarantie von sechs Jahren. Der Lüfter eignet sich aufgrund seiner fiberglasverstärkten Polyamidkonstruktion und der IP67-Zertifizierung (Wasser und Staubschutz) auch für anspruchsvolle Anwendungen. Dies wird vor allem durch die AEC-Q100 Qualifikation ersichtlich, die darauf schließen lässt, dass die integrierte Schaltung auch extremen Belastungen standhält. Das Modell kann übrigens unter Berücksichtigung des jeweiligen Filterwiderstands auch für das Absaugsystem genutzt werden. Für das Tachosignal (via PWM oder Interrupt) kann beispielsweise Pin 2 verwendet werden und für die Steuerung (PWM) Pin 9 oder Pin 3 (PWM).
Lüfter pfeifen unterbinden
Es gibt zahlreiche Tutorials, die das Thema “PWM Ansteuerung eines 3-Pin oder 4-Pin Lüfters mittels Arduino” behandeln. In den meisten Fällen wird jedoch nur die einfachste Form der PWM-Ansteuerung mit der Funktion analogWrite(pin, dutyCycle) behandelt. Leider stellt diese Funktion lediglich ein einfaches Interface zur Hardware PWM bereit, unterstützt jedoch nicht die Frequenzsteuerung. Deshalb pfeifen die meisten Lüfter bei der Ansteuerung mittels Arduino. Mehr Kontrolle kann erlangt werden, indem die Timer-Register des Chips manipuliert werden. Eine gute Einführung dazu gibt es hier. Man sollte sich hierfür genügend Zeit nehmen und nicht einfach Programmcode aus dem Internet kopieren.
LCD-Display Variationen
Die einfachste Überwachung von Parametern wie der Temperatur oder der Lüfterdrehzahl kann mittels 20×4 LCD-Display realisiert werden. Es gibt zum einen einfache LCD-Modul, für die bereits fertige Bibliotheken existiert. Aufgrund der verwirrenden Verkabelung sollte man sich einen Stecker basteln. Wer die Helligkeit regulieren möchte, sollte sich auf alle Fälle auch einen 10 kOhm Potentiometer zulegen. Eine wesentlich elegantere Lösung ist ein 20×4 LCD-Display mit I²C-Ansteuerung. Dafür werden lediglich vier Kabel (VDD, GND, SCL und SDA) benötigt.
Neben den einfachen LCD-Displays bieten sich auch die beliebten 2,8 Zoll ILI9341 SPI TFT Displays an. Eine ausführliche Beschreibung dazu gibt es hier. Eine weitere Anleitung findet sich auch hier. Das Display setzt auf eine Standard SPI-Datenschnittstelle und lässt sich dadurch sehr einfach mit Mikrocontroller-Boards wie Adafruits METRO 328, Arduino Uno, Arduino Nano und Arduino Mega 2560 ansteuern. Zu beachten ist, dass Mikrocontroller-Boards wie der METRO, der Arduino Uno oder der Arduino Nano mit 5V laufen, während viele Displays noch nicht 5V kompatibel sind und auf 3.3V setzen. Deshalb empfiehlt es sich sogenannte Pegelwandler einzusetzen, über die Module mit 3.3V an Mikrocontroller mit 5V angeschlossen werden können. Noch besser sind 5V <-> 3.3V TTL Bidirektionale Logik Level Wandler, die in beiden Richtungen konvertieren können wie beispielsweise der 8-Kanal Bi-directional Logic Level Converter basierend auf den TXB0108.
Die Pegelwandler für Mikrocontroller funktionieren üblicherweise mit allen Protokollen (SPI, Seriell, I2C, …) und digitalen Signale. Eine beliebte Methode der Pegelanpassung ist der Einsatz von Widerständen zwischen den Anschlüssen des Displays (3.3V) und denen des Mikrocontroller-Boards(5V). Diese Methode funktioniert in den meisten Fällen auch, ist aber aus elektrotechnischer Sicht nicht sinnvoll. Zudem belastet es die Schutzdioden des Mikrocontrollers zusätzlich. Wenn es aber doch eine eigene Schaltung sein soll, dann eignet sich dazu der bekannte Spannungsteiler, der in dem Fall mit zwei Widerständen von R1=4k7 und R2=10k für jede Leitung realisiert werden kann.
Übrigens kann der ILI9341-Prozessor des Displays prinzipiell mehrere unterschiedlichen Schnittstellen unterstützen. Da dies durch den Modulhersteller festgelegt ist, sollte die Produktbeschreibung genau analysiert werden. Denn es gibt auch Displays, die via parallel Modus betrieben werden und keine SPI-Schnittstelle besitzen. Das von uns verwendete 3,2 Zoll ILI9341 TFT Display ist mit einem 16-Bit-Paprallel-Interface ausgestattet und kann mit einem Arduino Uno oder Arduino Nano nicht ohne Weiteres betrieben werden, da die Mikrocontroller dafür nicht ausreichend Anschlüsse bereitstellen. Mit einem Arduino Mega 2560 ist das eher zu bewerkstelligen, wobei dafür zusätzlich ein Arduino Shield-Adapter erforderlich ist. Zudem funktionieren die Standardbibliotheken wie die von Adafruit nur mit der SPI-Variante.
Wer sich viel Zeit und Nerven sparen möchte, der greift zu einer fertigen Lösung wie dem Adafruit 2.8″ TFT Touch Shield for Arduino w/Capacitive Touch. Das Display ist absolut erstklassig verarbeitet und im Vergleich zu billigen Produkten aus Fernost in wenigen Minuten betriebsbereit. Das TFT setzt auf einen ILI9341 via SPI, während das Touchscreen auf einen FT6206 via I2C Protokoll setzt. Das ist nicht trivial, denn um beide Funktionen korrekt nutzen zu können, müssen die entsprechenden Bibliotheken installiert werden.
Adafruit 2,8″ TFT Touch Shield – Die bessere Alternative
Ein Nachteil von vielen billigen TFT-Displays mit Touchfunktion ist, dass diese bei Mikrocontroller-Boards wie dem Adafruit METRO 328 oder dem Arduino Uno R3 fast alle Pins belegen und sehr wenig Spielraum für mehrere Geräte und Sensoren zulassen. Zudem werden ausgerechnet die Pins belegt, die für PWM- oder Interrupt Signale benötigt werden. Das Adafruit 2,8″ TFT Touch Shield ist jedoch so konzipiert, dass lediglich die Schnittstellen SPI und I2C genutzt werden und dadurch wesentlich mehr freie Pins zur Verfügung stehen. Zudem lässt sich das TFT Touch Shield in Handumdrehen auf einen Adafruit MEGA 328 aufstecken.
Der Beschreibung und dem Schema sind folgende Angaben zu entnehmen:
- Löten des D5 Jumper Pads auf der Platinenrückseite des Shields ermöglicht Kontrolle der Hintergrundbeleuchtung
- Löten des D7 Jumper Pads ermöglicht Zugang zum Touchscreen Interrupt
- Jumper Pads D11-D13 sind standardmäßig so verbunden, dass die SPI Funktion an diesen Pins genutzt werden kann. Wenn diese durchtrennt werden, können die Pads mit den ICSP Pins verbunden werden, um diese als SPI Interfaces zu nutzen.
- Für ältere Arduino-Boards müssen die SDA/SCL Jumper gelötet werden, da diese die SPI-Pins nicht besitzen.
Folgende Pins sind standardmäßig nicht belegt und können z.B. genutzt werden, indem auf der Rückseite des Mikrocontroller-Boards an den Lötstellen Litzen oder Pins verlötet werden:
- D0 ist verfügbar
- D1 ist verfügbar
- D2 (Interrupt) ist verfügbar
- D3 (PWM/Interrupt)
- D5 (PWM) ist verfügbar oder alternativ als Kontrolle der Hintergrundbeleuchtung nutzbar
- D6 (PWM) ist verfügbar
- D7 ist verfügbar, wenn Touchscreen-Interrupt nicht genutzt wird
- D8 ist verfügbar
- A0-A3 sind verfügbar
Wenn mehrere Lüfter und Sensoren angesteuert werden sollen, kann auch ein Arduino Mega 2560 eingesetzt werden. Dafür können optional 3 Jumper auf dem TFT Shield gelötet werden, um das Display dann mit voller Geschwindigkeit nutzen zu können. Dank des RAM Buffers ist es aber auch mit dem METRO 238 erstaunlich schnell, da es den Mikrocontroller stark entlastet.
Spannungsversorgung
Ein wichtiger Punkt bei der Verwendung von zwei oder mehreren Spannungsquellen ist, dass die Masseleitung der externen Spannungsquelle mit der Masseleitung des Arduinos verbunden werden muss. Das ist aber nicht zwingend erforderlich, da alternativ auch ein Oktokopler mit nachgeschaltetem Transistor als galvanische Trennung verwendet werden kann. Dadurch wird außerdem ausgeschlossen, dass sich Steuerung und Lastkreis gegenseitig beeinflussen. Für das Projekt setzen wir auf 24V-Netzteile, da sowohl die 3D-Drucker als auch die LEDs und die Lüfter mit 24V betrieben werden. Lediglich der Arduino benötigt 5V. Mit einem Step-Down-Schaltregler wie dem LM2576T_005G lässt sich aus 24V eine Spannung von 5V generieren. Die Kosten für die Schaltung belaufen sich auf weniger als 5 EUR. Alternativ bieten sich günstige Module aus Fernost an, wobei die Bauteilqualität fraglich bleibt. Auch gibt es die Möglichkeit, eine 5V-Spannungsversorgung zu nutzen. Eine eigene Schaltung mit qualitativ hochwertigen Komponenten ist aus unserer Sicht jedoch die beste Wahl.
Hallo,
wie wird denn die Dichtigkeit der beweglichen Türen zum restlichen Gehäuse gewährleistet?
Und gibt es von dem Turm auch eine CAD Zeichnung?
Leider gibt es dazu keine CAD Zeichnung. Es ist an sich selbsterklärend. Die Dichtigkeit ist natürlich ein Problem. Man könnte verschiedene Schaumstoffdichtungen probieren oder an die Innenseiten des Gehäuses / Außenseiten der Türen breitere Gummidichtungen aufkleben. Da die Alurohre etwas breiter sind als eine Scheibe, wird man mit Innendichtungen nicht weit kommen, da beim Öffnen und Schließen der Türen die Ecken der Aluprofile aufeinandertreffen.
Hi,
auf https://www.pcpointer.de/3ddrucker/3d-drucker-einhausung-bauen/7/#Installation_und_Programmierung steht eigentlich alles, was für das Projekt relevant ist. Natürlich ist nicht alles lückenlos, aber bei solchen umfangreichen DIY Projekten bin ich davon ausgegangen, dass man ein bishen Programmcode zusammentragen kann 😀
In der letzten Tabelle sind eigentlich die Pins hinterlegt. Es gibt Steuer- und Tachosignal sowie die Versorgungsspannung. Die Boards, die gängig sind, sind eigentlich alle recht identisch, was die Pinbelegung angeht. Am besten dazu das Board + GPIO oder Board+Pinout bei google eingeben.So weiß man, welche Pins passen könnten. Ich habe am Ende für mich selbst alles über Potis gelöst. Der Lüfter lief dauerhaft. Macht auch Sinn, da die schädlichen Partikel möglichst effektiv gefiltert werden sollen. Die Frischluft habe ich grundsätzlich nicht verwendet. Außer bei PLA, da hier durch die Hitze innerhalb des geschlossenen Gehäuses entweder der Extruder nicht mehr vernünftig greift, oder aber die Kühlung bei den Schichten etwas nachlässt. Anbsonsten war der stets aus. Daher auch via Potis. Feuchtigkeitsabhängige Steuerung der Lüfter bringt nichts, da es ja keine Entfeuchterfunktion gibt. Temperaturabhängig finde ich auch nicht besonders effektiv, da ABS, ASA, PC und Co. möglichst hohe Innentemperatur benötigt, um nicht zu warpen. VOn daher man eine Regelung keinen Sinn. Und ohne aktive Heizung im Inneren erreicht man meistens sowieso nicht mehr als 40-50°C. Im Sommer etwas mehr, aber das soll auch so sein, da ABS und Co. viel Außenwärme benötigen. Und wie gesagt bei PLA lief der andere Lüfter für Frischluft. Und etwas Frischluft gelangt sowieso durch die Filter hindruch, sobald der Absaugfilter läuft.
Hallo und guten Tag,
erstmal finde ich diese Projekt einfach toll. Aber ich habe da ein paar fragen zu der Steuerung des Lüfters über Temperatursensor DHT22. Ich wollte euer Projekt so nachbauen, habe auch schon die Komponeten dazu. Ich habe den Mega 2560 mit Display 2,8 TFT LCD von Adafruit. Wie sieht da die Programmierung aus bzw. Pinbelgung Lüfter 4 Polig Nuctua, oder das Löten auf der Rückseite des shilds.
Bitte ich brauche da euren Rat.
Hi,
ausgerechnet diese STL-Files habe ich nicht mehr vollständig.
Hier mal ein Link zu den Armen, die vom Zaribo 3D Drucker stammen und lediglich modifiziert wurden:
Diese sind kompatibel mit den Zaribo Filamentrollenhaltern. Es wird dsaher noch folgendes benötigt:
https://github.com/Caribou3d/Caribou-MK2/blob/master/STL/Frame/Spoolholder/Spool-1x-2.0.stl (Die Breite kann dann entsprechend dem Platz im Inneren des Gehäuses angepasst werden)
https://github.com/Caribou3d/Caribou-MK2/blob/master/STL/Frame/Spoolholder/SpoolMount-2x-2.0.stl
Hallo Dennis,
zum Projekt gab es mal Handskizzen, die von mir erstellt worden sind. Diese habe ich aber leider nicht mehr, da das Projekt eher als Anregung gedacht war.
Wenn man sich jedoch an die Einkaufsliste für die Profillängen hält, ist es anhand der Bilder absolut kein Problem, die Profile zusammenzuschrauben. In der Einkaufsliste sind auch Kommentare hinterlegt. An den Stellen, wo die Türen eingesetzt werden, kommen z.B. Innenliegende Winkelverbinder zum Einsatz, da durch den Einsatz der Eckverbinder die Türen nicht geschlossen werden können.
Die STLs zu den Griffen, etc. kann ich aber gerne zum Download zur Verfügung stellen, wenn es soweit sein sollte.
Weitere Fragen sind gerne willkommen.
Hallo TigerClaw,
danke für die Antwort. Ich nun schon etwas dabei das Gehäuse ins CAD zu übertragen. Hast du für die Filamentrollen im oberen Bereich zufällig Step/STL Dateien?
Guten Tag,
ich interessiere mich total für das 3D-Drucker Gehäuse aus den Misumi Profilen. Meine Frage ist, ob es für dieses Projekt so wie es ist eine 3D-Konstruktion gibt?
Wäre wirklich toll und falls ja, dürfte ich die haben?
Vielen Dank schon mal 🙂
Als Biologe bin ich ziemlich besorgt, wenn ich mir wissenschaftliche Studien zu Emissionen von FDM 3D Druckern anschaue. Unglaublich, dass dazu noch kein Qualitätsstandard eingehalten werden muss. Erinnert mich daran wie vor 100 Jahren die Leute fröhlich Röntgenfilme gedreht haben, weil ihnen die Gefahren nicht bewusst waren. Es sollte klar sein, dass diese Gehäuse kaum die bedenkliche UFP/Feinstaubbelastung reduzieren.
Einen Hochleistungs-Schwebstofffilter, der für den industriellen Zweck ausgelegt sind, wird sich aber auch kaum jemand leisten können, zumindest nicht in Kombination mit einem geschlossenen Belüftungs- und Filtersystem. Es gibt zwar Hersteller, die solide Gehäuse anbieten, aber auch da sind die Filter das billigste Teil am Gerät. Zumal Endverbraucher für private Zwecke kaum an professionelle Filter herankommen.
Auch ist es so, dass viele Materialien kaum noch Gerüche abgeben, wodurch die Wirksamkeit eines Filters zumindest über die Nase nicht einmal ansatzweise geprüft werden kann.
Ich habe erst kürzlich eine sehr alte ABS Rolle gedruckt und musste nach 12 Stunden Druckzeit feststellen, dass trotz Filter das Zimmer nach dem Material roch. Die einzige Möglichkeit war nun, das Zimmer mal für 1-2 Stunden zu lüften. Dennoch werden diese giftigen Partikel in der Umgebung freigesetzt und mit der Zeit vom Körper dennoch aufgenommen. Ein Gehäuse mit einem einfachen HEPA Filter und und ausreichendem Lüften des Zimmers ist jedoch ein Anfangt. Ich persönlich merke das von beginn an, dass der Hals beim Drucken stets gereizt ist. Mit Gehäuse ist das aber deutlich besser geworden.
Aber wir du schon erwähnt hattest, gibt es dafür keine Standards und man weiß nicht wirklich, was die Hersteller da zusammenmischen.
Ich habe fast einen ganzen Tage gebraucht, um den Artikel vollständig durchzulesen.
Sieht nach einem ganzen Haufen voll Arbeit aus und hat mir bei einigen Ideen weitergeholfen. Leider verkauft Misumi nur an gewerbliche Kunden, schade. Der Elektronik-Teil ist ebenfalls gut gelungen. Weiter so!
Wow, das ist ja mal ein Artikel. Werd mir wohl vor dem Lesen eine Pizza machen müssen.Finde es ebenfalls gut, das sich jemand die Arbeit macht und alle wichtigen Fakten zusammenträgt und zeigt, was mit Aluminium und ein paar gedruckten Teilen alles möglich ist.Ich kannte die Seite hier nicht,finde die Entwicklung in Richtung 3D-Druck super. Immerhin setzen Hersteller wie ASUS bei den ROG Mainboards ebenfalls auf Selfmade Komponenten.3D-Druck sollte daher viel öfters ein Thema sein.Bleibt alle gesund!
Respekt!Ein sehr umfangreicher Bericht,der endlich mal alles beinhaltet. Normalerweise muss man sich zu vielen Themen wie Elektronik alles im Internet zusammensuchen. Das Gehäuse fantastisch.Misumi kannte ich bisher nicht. Schade, dass es nur für gewerbliche Kunden ist.Die Haben richtig klasse Komponenten.
Weiter so!