Dienstag, 29. September 2015

ESP8266 - 2: Temperatur mit dem ESP8266 und DHT11

Das Hausautomationsteam in meiner Wohnung hat einen neuen Teamkollegen bekommen. Ein Tempertatur und Luftfeuchte Sensor. Der Sensor basiert auf einer kleinen Schaltung mit dem DHT11 Sensormodul und einem ESP-01 Board. Daran angeschlossen befinden sich zwei AA Akkus.
ESP-01 Modul mit DHT11 Sensor und 2 AA-Akkus
Die Software im ESP2866 wurde diesesmal nicht mit LUA und NodeMCU, sondern mit dem von ESP verfügbaren SDK erstellt. Ich habe dafür die Bibliothek für den DHT Sensor und den MQTT Client verwendet. Diese beiden Bibliotheken sind frei verfügbar und könne hier heruntergeladen werden.

Das System basiert immernoch auf einem MQTT Broker als zentraler Kommunikationshub. Die Sensoren besitzen alle eine eindutige Chip Indentifikationsnummer. Diese, kombiniert mit dem Systemnamen, bilden die Topics, auf denen die Sensoren Daten für das System bereit stellen. Eine Konfiguration des Sensors bei Inbetriebnahme ist auch in Arbeit. Dazu lauscht der Hauptknoten (Webserver, MQTT broker, Festplatte, usw.) auf WLAN Accesspoints die mit dem Namen ESP beginnen. Diese werden in einer bestimmten Liste angezeigt und können vom Hauptknoten angesprochen werden. Dabei verbindet sich der Knoten mit dem Sensor und überträgt die Daten, die für das eigentliche Netzwerk verwendet werden. Diese Kommunikation muss verschlüsselt stattfinden, daher wird auf die AES-Bibliothek des ESP2866 zurück gegriffen. Mit den Daten kann der Sensor sich dann am lokalen WLAN anmelden und seine Daten dem MQTT Broker zur Verfügung stellen.

Code für den Sensor gibt es hier. Eingestellt wird das ganze über die user_config.h
Der Code wacht auf, verbindet sich mit dem MQTT Broker (Herbert) und sendet seine Messwerte. Danach begibt er sich wieder in den Tiefschlaf. Es sind sicherlich noch Optimierungen möglich, so ist es mit einem unmodifizierten ESP-01 Modul nicht möglich aus dem Tiefschlaf wieder aufzuwachen.
Werte in Openhab auf Herbert

Donnerstag, 20. August 2015

Mehr Farben mit dem Ormerod

Diamond Hotend, Alu X-Ausleger
und Alu Druckbetthalter
Der Ormerod stand seit meinem Umzug eigentlich nur unbrauchbar in der Ecke. Die Geometrie einiger Kunststoffteile hat die hohen Temperaturen in diesem Sommer nicht unbeschadet überstanden. Die letzten zwei Tage sind die Problemchen behoben worden und der Drucker ist wieder fit. Außerdem hat er ein kleines Upgrade spendiert bekommen. Dabei ist nicht nur die Firmware auf den aktuellen Stand gebracht worden, sondern auch die Hardware von Grund auf erneuert worden.
Bei 40° im Schatten sind PLA
Teile nicht sonderlich stabil

Die Tr 10x2 Gewindespindel ist schon seit einer Weile verbaut. Dazu habe ich die Spindel erhitzt und in das Standard Zahnrad der 5mm Achse geschmolzen. Dabei habe ich darauf geachtet, dass alles noch rotationssymetrisch geblieben ist. Die Trapezgewindemutter habe ich dann anstelle der originalen Halterung am Auslegerarm befestigt und die Mutter darin festgeklebt.

Ein Anbieter in England bietet für den Ormerod den X-Ausleger und den Druckbetthalter in Aluminium Ausführung. Beides zusammen ist für 100€ zu haben und eine wertvolle Erweiterung für den Drucker.



Zwei von drei Extrudern am Werk
Das Diamond Hotend ist eine geniale Entwicklung für den Druck mit mehreren Farben. Bei einem Druck mit mehreren Extruderdüsen ist es immer schwierig die nicht aktiven Düsen davon abzuhalten zu tropfen. Weiterhin sind die Düsen meistens auf der gleichen Höhe wie die gerade aktive und kratzen somit über die aktuell gedruckte Oberfläche. Das Diamond Hotend löst dieses Problem, indem die maximal drei Filamente über eine gemeinsame Düse gedruckt werden. Alle drei Fäden werden über separate Heatbreaks in eine zentrales Hotend geführt. Das klingt erst mal nicht ganz so einfach und auf den ersten Blick ist der Druckkopf sehr groß und schwer. Auf den zweiten Blick ist das weiterhin so, doch das Potenzial mit bis zu drei verschiedenen Farben drucken zu können ist die Mühe wert, die es kostet den Drucker umzubauen.

Mit dem G-Code Befehl M570 kann der Timeout für das Hotend hochgesetzt werden. Denn das ist jetzt wesentlich größer als vorher und somit braucht es länger um heiß zu werden.

M570 S300 ; Max. 300 Sekunden Aufheizzeit, sonst Heizerfehler

Leider sind hier nur drei verschiedene Farben aus dem gleichen Material möglich zu drucken und nur sehr schwer verschiedene Materialien, da alle Filamente mit der gleichen, oder ähnlichen Temperatur gedruckt werden müssen. Wie genau die Reinigung der gemeinsamen Düsenkammer funktioniert ist noch zu zeigen. Im Moment sieht es so aus als würden innerhalb weniger Zentimeter das alte Filament komplett mit der neuen Farbe ersetzt. Wie sich das mit deutlichen Farbunterschieden bemerkbar macht ist auch noch zu beurteilen.


Dank dc42's RepRapFirmware Fork ist das Anlegen von mehreren Werkzeugen mit unterschiedlichen Extrudern, aber gleichem Heizer sehr einfach. In der Konfigurationsdatei kann ein Werkzeug einfach hinzugefügt werden.

M563 P0 D0 H1     ; Werkzeug T0 mit Motor 0 nach X, Y, Z, mit Heizer 1
G10 P0 S200 R100  ; 200° Aktiv, 100° Standby
M563 P1 D1 H1     ; Werkzeug T1 mit Motor 1, mit Heizer 1
G10 P1 S200 R100  ; 200° Aktiv, 100° Standby
M563 P2 D2 H1     ; Werkzeug T2 mit Motor 2, mit Heizer 1
G10 P2 S200 R100  ; 200° Aktiv, 100° Standby
M563 P3 D0:1:2 H1 ; Werkzeug T3 mit Motor 0,1,2, mit Heizer 1
G10 P3 S200 R100  ; 200° Aktiv, 100° Standby
M92 E210:210:210  ; 210 Steps pro mm für beide Extruder Motoren 

Ebenso können verschiedene Extruder teilweise zur Mischung von Materialen angesteuert werden. Dafür kann in der Software ein Werkzeug mit mehreren Extruder Motoren angelegt werden. die Mischverhältnisse werden Prozentual angegeben. 

M567 P3 E0.2:0.6:0.2 ; Mische 20% E0, 60% E1 und 20% E2 für Tool 3

Wie das mit dem Diamond Hotend zusammenarbeitet, wird sich zeigen.