IT security, FreeBSD, Linux, mail server hardening, post-quantum crypto, DNS, retro computing & hands-on hardware hacks. Privater Tech-Blog seit 2003.

Schlagwort: 3DPrinting

Lötdampfabsaugung selber bauen: DIY-Projekt mit 3D-Druck und Restteilen​

Heute mal etwas ganz Einfaches… Beim Löten entstehen Dämpfe, die man besser nicht durch den „Lungenfilter“ aus der Luft ziehen sollte.

3D-gedruckte Lötdampfabsaugung

Hier kommen Lötdampfabsaugung ins Spiel. Es gibt kleine, einfache Modelle für etwa 50 €, die wie ein kleiner Tischventilator in der Nähe stehen, die Dämpfe absaugen und meist durch einen Aktivkohlefilter leiten. Allerdings stehen mir diese Geräte immer im Weg, und die Lüfter sind oft so schwach, dass trotzdem noch ein großer Teil der Dämpfe zu mir gelangt.

Dann gibt es noch Absaugungen mit mehr oder weniger flexiblem Schlauch. Auch hier erfolgt die Filterung ähnlich, aber diese Modelle kosten dann schnell ein paar Hundert Euro.

Da bei Projekten öfter mal Reste übrig bleiben, liegen in meinem Keller eigentlich schon alle Einzelteile für eine selbstgebaute Lötdampfabsaugung bereit. Man müsste sie nur noch zusammenbauen.

Ich habe noch einen 100-mm-Lüftungsschlauch aus Aluminium, der einigermaßen flexibel ist, einen 120-mm-12V-Lüfter, der für ordentlich Luftstrom sorgt, und ein paar 130-mm-Aktivkohlefilterplatten. Wenn ich davon einfach zwei doppelt nehme, geht mehr als genug Luft durch, und sie filtern die Dämpfe recht gut.

Mit FreeCAD habe ich dann ein Gehäuse für die Teile entworfen, das ich einfach unter meine Werkbank schrauben kann. So liegt nur der Schlauch in einer Ecke und kann bei Bedarf zur richtigen Stelle bewegt werden, um die Löt-Dämpfe direkt an der Quelle abzusaugen.

Hier ein paar Bilder für euch – die Druckdateien findet ihr bei Maker World.

Ob die Teile auch zu euren „Resten“ passen, müsst ihr selbst kurz prüfen.

Oh, Schlauch und Filter findet ihr bei Amazon.

Siehe auch: RD6006 Labornetzteil

Fragen? Einfach melden.

QIDI i-Mate S 3D-Drucker: Erfahrungen, Upgrades & Support-Tipps

Seit gut zwei Jahren druckt bei mir ein QIDI i-Mate S. Damals gesucht: kompaktes Design, beheizbares Druckbett, geschlossener Druckraum, Druckbett nur in der Z-Achse, PLA/ABS/PETG. Gefunden, bestellt, seitdem im Einsatz.

Der Drucker tut, was er soll. Für den Preis in guter Qualität. Die Slicer-Software QIDI Print basiert auf Cura, ist aber speziell auf den Drucker angepasst. Soweit findet man das in jedem Testbericht. Was dort meistens fehlt: Infos zu Upgrades, dem Support und den kleinen Macken im Alltag.

Support

Der Support von QIDI war bisher durchgehend exzellent. Per E-Mail direkt an mateb@qd3dprinter.com kam immer innerhalb von 24 Stunden eine Antwort. Auch an Wochenenden und Feiertagen. Freundlich, hilfsbereit, mit Videos, Anleitungen und angepassten Konfigurationsdateien. Dateiaustausch lief unkompliziert über Google Drive. Wer schon einmal mit Herstellern hinter der chinesischen Firewall Daten austauschen wollte, versteht den Mehrwert.

All-Metal Hotend

Nach knapp einem Jahr kam das erste Upgrade: ein Full-Metal Extruder von AliExpress. Das passende Firmware-Update gab es direkt vom Support inklusive Anleitung. Einbau war einfach, besondere Einstellungsänderungen in QIDI Print nicht nötig.

Austausch All-Metal-Hotends beim Qidi iMate S

Mit dem neuen Druckkopf war die Layerhaftung zunächst schlechter. Der Support half: Nicht jeder Schrittmotor läuft exakt gleich. Bei 2 cm Filamentvorschub kamen bei mir keine 2 cm. Drei E-Mails und 15 Minuten später hatte ich eine angepasste Konfigurationsdatei. Einfach „gedruckt“ und das Problem war Geschichte.

Schrittmotor-Kühlung

Die Schrittmotoren werden beim Druck spürbar warm. Nicht zu warm, aber warm genug, dass ich dem Drang nicht widerstehen konnte. Selbstklebende Kühlkörper von AliExpress auf alle Achsen-Motoren. Den Druckkopf-Motor ausgenommen, der wird bereits aktiv gekühlt und das zusätzliche Gewicht wäre kontraproduktiv.

Kühlkörper auf dem Schrittmotor des Qidi iMate S

Wer die passive Kühlung direkt aktiv machen will: Es gibt passende 24V-Lüfter dafür.

Filament Sensor

Filament bricht selten, aber es passiert. Oder es ist mitten im Druck leer und der Drucker läuft einfach weiter. Ein Filament Run Sensor von AliExpress erkennt das und stoppt den Druckvorgang. Filament nachladen, weitermachen.

Installation wieder einfach, wieder mit Anleitung vom Support und einer Konfigurationsdatei zum „Drucken“. Kleines Detail am Rande: In der deutschen Übersetzung der Firmware heißt der Filament Sensor „Glühfaden-Sensor“. Der Support hat sich über den Hinweis gefreut.

Bed Leveling

Automatisches Leveling gibt es nicht. Das geführte Leveling-Programm im Druckmenü funktioniert problemlos, die eigentlichen Muttern auch. Was nervt: die Sicherung mit einer zusätzlichen Flügelmutter. Man stellt alles perfekt ein, sichert die Muttern und dabei verschiebt sich der Abstand zur Nozzle wieder. Vielleicht habe ich zu dicke Finger.

Die einfachste Lösung war ein 3D-gedrucktes Ersatzteil von Thingiverse zusammen mit selbstsichernden M4 Muttern. Gedruckt aus PETG. Seitdem macht Bed Leveling fast Spaß. So viel Spaß, wie manuelles Leveling halt machen kann.

3D-gedruckte Ersatzmutter für das Bed-Leveling beim Qidi iMate S

Nozzle und Filament

Zusammen mit dem All-Metal Hotend bin ich auf eine Nozzle von Brozzl gewechselt. Beschichtetes Kupfer statt Messing: besserer Wärmeleitwert und etwas härter. Bei Messing und erst recht bei Stahl muss man die Temperatur 5-10 Grad höher setzen. Kupfer macht das überflüssig.

Filament kommt ebenfalls direkt von QIDI über AliExpress. Tut und hält.

Fragen? Einfach melden.

Arduino und die jammernde Pflanze: Technik trifft Humor

Auf irgendeinem CCC Event bin ich über eine lustige Projektidee einer jammernden Pflanze gestoßen. Die hat mir und auch meiner größeren Tochter so gut gefallen, dass wir sie zusammen nachbauen wollten.

Geöffnetes Gehäuse mit der gesamten Technik für das Arduino-Projekt: Die jammernde Pflanze

Die Idee

Ein kleines Gerät misst den Feuchtigkeitsgehalt der Blumenerde. Ist der Wert zu trocken, spielt ein MP3-Player eine Audiodatei ab. Ein Bewegungsmelder sorgt dafür, dass die Pflanze sich nur beschwert, wenn auch jemand da ist. Ist die Erde trocken und es wird eine Bewegung erkannt, jammert die Pflanze los.

Die Bauteile

Da es das erste Projekt dieser Art für meine Tochter ist, sollte es übersichtlich und einfach bleiben. Ein Arduino Nano (fast die gleichen Möglichkeiten wie der UNO, aber deutlich kleiner), ein DFPlayer-Modul als MP3-Player, ein HC-SR312 Bewegungsmelder und ein kapazitiver Feuchtigkeitssensor.

Aufbau und Entwicklung

Gestartet haben wir mit einem Breadboard, um die Verschaltung Modul für Modul zu setzen und die Ansteuerung mit dem Arduino anhand der Beispiele zu testen. Beim DFPlayer haben wir per TTS Texte in MP3s umgewandelt und auf der SD-Karte im Ordner mp3 gespeichert. Diese werden zufällig abgespielt, wenn die Erde zu trocken ist und eine Bewegung erkannt wurde.

Als die Verschaltung zusammen mit dem Code funktionierte, haben wir mit KiCad eine Platine designt und fertigen lassen. So hat man weniger Kabelsalat und alles ist platzsparend aufgehoben.

Elektrischer Schaltplan für die jammernde Pflanze

Das Gehäuse haben wir in FreeCAD designt und mit dem 3D-Drucker gedruckt. Die Teile sind mit einem Tropfen Sekundenkleber fixiert.

FreeCAD-Design des Gehäuses für die jammernde Pflanze

Im Einsatz

Das Teil steckt in der Blume und meldet sich zuverlässig, wenn es Zeit zum Gießen ist. Da es von den MP3s auf dem Player abhängt, was die Pflanze „sagt“, sind lustige Reaktionen garantiert. Die Pflanze kann dich im Vorbeigehen voll jammern, um Wasser betteln oder anfangen zu schimpfen.

Meine Tochter wird nach dem Projekt nicht alles alleine wiederholen können, aber die einzelnen Schritte sind klar. Wie so ein Gerät entsteht, was nötig ist. Schnell findet man Verbesserungsmöglichkeiten: Den Feuchtigkeitssensor von der Elektronik trennen, mit einem NodeMCU ESP8266 WLAN-Statusdaten senden, oder mit Li-Ion-Akkus und einem BMS vom Stromnetz unabhängig werden.

Quellcode

Für den DFPlayer wird die DFRobotDFPlayerMini Library benötigt (lokal unter ~/Arduino/libraries ablegen).

#include <Arduino.h>
#include <SoftwareSerial.h>
#include <DFRobotDFPlayerMini.h>

/* --- Pins ---------------------------------------------------- */
const uint8_t PIN_DF_RX   = 10;
const uint8_t PIN_DF_TX   = 11;
const uint8_t PIN_PIR     = 7;
const uint8_t PIN_SENSOR = A0;

/* --- Parameter ----------------------------------------------- */
const int schwellwert = 380;
const unsigned long PLAY_COOLDOWN_MS = 15000;
const uint8_t TRACK_JAMMERN = 1;

/* --- Objekte ------------------------------------------------- */
SoftwareSerial dfSerial(PIN_DF_RX, PIN_DF_TX);
DFRobotDFPlayerMini dfPlayer;

/* --- Laufzeitstatus ------------------------------------------ */
unsigned long lastPlay = 0;

/* ------------------------------------------------------------- */

void setup() {
  pinMode(PIN_PIR, INPUT);

  Serial.begin(115200);
  dfSerial.begin(9600);

  Serial.println(F("Initializing DFPlayer ..."));

  if (!dfPlayer.begin(dfSerial)) {
    Serial.println(F("DFPlayer init failed"));
    while (true);
  }

  dfPlayer.volume(20);
  dfPlayer.outputDevice(DFPLAYER_DEVICE_SD);
  dfPlayer.EQ(DFPLAYER_EQ_NORMAL);
  dfPlayer.setTimeOut(500);

  Serial.println(F("DFPlayer Mini online"));
}

/* ------------------------------------------------------------- */

void loop() {
  /* DFPlayer Events immer zuerst abholen */
  if (dfPlayer.available()) {
    handleDFPlayerEvent(dfPlayer.readType(), dfPlayer.read());
  }

  int messwert = analogRead(PIN_SENSOR);
  bool bewegung = digitalRead(PIN_PIR) == HIGH;
  bool trocken = messwert > schwellwert;

  unsigned long now = millis();

  if (trocken && bewegung) {
    if (now - lastPlay >= PLAY_COOLDOWN_MS) {
      Serial.println(F("Bewegung + Erde trocken -> spiele Sound"));
      dfPlayer.play(TRACK_JAMMERN);
      lastPlay = now;
    }
  } else {
    logStatus(trocken, bewegung, messwert);
  }

  delay(100);  // leichte Entlastung – kein Logik-Delay
}

/* ------------------------------------------------------------- */

void logStatus(bool trocken, bool bewegung, int messwert) {
  if (!bewegung && trocken) {
    Serial.print(F("Keine Bewegung, Erde trocken: "));
  } else if (bewegung && !trocken) {
    Serial.print(F("Bewegung, Erde ok: "));
  } else if (!bewegung && !trocken) {
    Serial.print(F("Keine Bewegung, Erde ok: "));
  }
  Serial.println(messwert);
}

/* ------------------------------------------------------------- */

void handleDFPlayerEvent(uint8_t type, int value) {
  if (type == DFPlayerPlayFinished) {
    Serial.print(F("Track "));
    Serial.print(value);
    Serial.println(F(" beendet"));
  }
}

Downloads

3D-Druck: STL Gehäuse | STL Deckel
Platine: Gerber-Dateien

Einkaufsliste

Optional: Breadboard mit Kabeln, Multimeter, Lötkolben

Fragen? Einfach melden.

© 2026 -=Kernel-Error=-RSS

Theme von Anders NorénHoch ↑