Wer kennt es nicht auch? Man besitzt einen günstigen 3D-Drucker und sieht regelmäßig auf Facebook und in den Medien Bilder, auf denen diese auch gerne einmal in Feuer aufgehen.
Um den ganzen ein wenig vorzubeugen und nachts mit ruhigerem Gewissen schlafen zu können, habe ich mir eine „3D-Druck Safety Box“ gebaut. Da ich meinen 3D-Drucker durchaus auch nachts drucken lasse, fehlte es mir an einer Alarmmeldung, falls etwas schiefläuft und der Drucker tatsächlich einmal Feuer fängt oder anfängt zu schmoren. Natürlich ist mir bewusst, dass diese Box immer noch keine 100 % Absicherung ist. Sicherlich aber ein großer Schritt nach vorne für den beruhigten Schlaf.
Hier eine kurze Vorstellung:
Funktionen der kleinen Kiste
- Messen der Temperatur im Druckraum
- Messen der Luftqualität im Druckraum
- Alarm, wenn ein bestimmter Schwellenwert erreicht ist:
- Abschalten des Stroms für den 3D-Drucker
- Anschalten einer lauten Sirene
- Denkbar: CO2 in den Druckraum einführen
- Schalten des Lichts
- Schalten eines Lüfters
- Kleines Display, auf dem der Status jederzeit ablesbar ist
Materialliste
Schaltschrank, meiner ist mit 200x300x130mm ein bisschen klein. Daher würde ich nächste mal eine Nummer größer nehmen(250x350x150mm) | Amazon |
12V Schaltnetzteil mit 5A sollte vollkommen ausreichen. | Amazon |
Arduino nano | Amazon |
Kaltgeräte Einbaustecker | Amazon |
NICHT KAUFEN: | Amazon |
MQ-2 Gas Sensor. Misst LPG, i-Butan, Propan, Methan, Alkohol, Wasserstoff und Rauch in der Luft. | Amazon |
Temperatursensoren DS18B20. Davon lassen sich so viele wie man will parallel an einem Eingang am Arduino anschließen und dann im Gehäuse verteilen. Ich nutze zwei Stück. | Amazon |
Motor Drehzahlregler. Diesen nutze ich für die Geschwindigkeit des 12V Lüfters. Da ich nur einen 3Pin Lüfter habe kann ich hier kein PWM nutzen. Ansonsten könnte man sich auch einen 4-Pin Lüfter kaufen und die Geschwindigkeit über den Arduino steuern. | Amazon |
Standard Lüfter 12V – 2Pin oder 3Pin. Falls der Lüfter per PWM gesteuert werden soll bräuchte man einen 4Pin PWM Lüfter. | Amazon |
4-Channel Relais Board 5V. Dieses sollte direkt vom Arduino aus geschaltet werden können. Möchte man mehr Channel sollte man überlegen noch ein 5V Netzteil zu verbauen, da der Arduino dann an seine Grenzen stößt | Amazon |
12V Sierene | Amazon |
Display 128×64 OLED. Andere größen gehen auch, dann müsste aber der Arduino Code angepasst werden. | Amazon |
12V LED Strip | Amazon |
Durchgangs-klemmen usw. habe ich vom Elektro Händler, da man bei Amazon immer große Mengen abnehmen muss. Die Menge variiert, je nachdem wie viel man anschließen möchte. | Durchgangsklemme Schutzleiterklemme FBS 2-5 Brücken |
Anschlussschema
Achtung – Lebensgefahr. Bitte nur von einem erfahrenen Elektriker anschließen lassen!
Hier hab ich mal wieder meine Paint Skills rausgeholt :-D.
Das Anschlussschema für den Arduino sieht wie folgt aus, wobei man natürlich auch hiervon abweichen kann und die Pins dann einfach in der Software ändert.
Arduino Pin | Sensor Button |
---|---|
2 | Relais 1 |
3 | Realis 3 |
4 | Relais 4 |
5 | Relais 2 |
A0 | Temperatur Sensoren |
A7 | Signal(A0) vom Gas Sensor(VCC an 5V und GND an GND) |
A2 | LED An/Aus Schalter(zweite Strippe an GND) |
A3 | Lüfter Schalter(zweite Strippe an GND) |
A6 | Reset Schalter – optional(zweite Strippe an GND) |
Arduino code
Der Code kann hier heruntergeladen werden. Einstellungen können ab Zeile 116 gemacht werden.
Links
- Gehäuse aus IKEA-Lack Tischen: https://www.thingiverse.com/thing:3083358
Hallo! Ich komme einfach nicht weiter…. Irgendwo hab ich einen Haken. Hast du ein Bild von deinem Schaltungsaufbau? Ich verzweifel hier noch… Gruß Kim
Ne, leider nicht. Zur Not könntest du mir deinen Schaltkasten einmal schicken, dann schaue ich da rein.
Ich will auch nicht ausschließen, dass sich der Fehler über die Software beheben lässt. Ich würde da mal ein paar DEBUG statements reinhauen und dann im Serial Monitor schauen was passiert.
Es gibt auch schon etliche DEBUG Ausgaben. Du könntest mal die Zeile im Code einkommentieren, die DEBUG aktiviert. Dann den Serial Monitor aufrufen und schauen, was dort ausgegeben wird. Das könnte schon weiter helfen.
Danke Timo, ich schaue mal. Schicken ist schwierig, ist auf’m Breadboard! Ich gebe auch nicht auf. Wenn du sagst, der Sketch ist in Ordnung, dann werde ich den Fehler nochmal suchen.
Moin Timo!
Habe deine jetzt endlich Schaltung mal nachgebaut. Alles funktioniert, bis auf der Zustand nach Alarmauslösung: Wenn der Wert für die Temperatur oder Gas überschritten wird, dann fangen die Relais an zu takten: also ständig an-aus-an-aus usw. im halb Sekunden Takt; solange, bis der Wert wieder im norm Bereich liegt. Verdrahtung habe ich mehrfach gecheckt und ist i.O.. Ich vermute den Fehler im sketch. Habe versucht ihn zu finden…bin noch Neuling in Sachen Arduino, daher bin ich leider nicht fündig geworden. Hast du eine Idee wo der Fehler liegen könnte? Danke im voraus, Gruß Kim B.
Ich habe die Anlage so leider gar nicht mehr, da ich auf einen Industriellen Drucker umgestiegen bin. Daher kann ich da aktuell nichts testen, ohne alles nochmal nachzubauen. Allerdings hat der Sketch bei mir damals genau so funktioniert. Daher würde ich den Sketch erstmal ausschließen.
Die Relais können oft über einen Jumper eingestellt werden, wie diese schalten. Vielleicht hilft es diesen nochmal anders zu setzen.
Im code kann das ebenfalls noch angepasst werden, siehe diese Zeilen:
#define RELAY_ON LOW
#define RELAY_OFF HIGH
Bedeutet, der gibt im Standard ein LOW/GND, wenn das Relais AN schalten soll. Also könntest du bei deinem Relais mal das Signalkabel zum Arduino abziehen und gucken was passiert, wenn du per Hand GND/LOW an den Signal pin gibst.
Hallo Timo! Danke für die Antwort. Die Relais schalten wie gefordert bei Low. Diese Anpassungsgeschichten sind auch alle kein Problem, bei mir hakt es bei den Integer z. B..
Der Ausgang taktet auch, wenn keine Relais angeschlossen sind. Auch die LED und Lüfterrelais ziehen ordnungsgemäß an. Tempalarm taktet bei Auslösung und Gasalarm zeigt nur auf dem Display an. Das kann doch kein Verdrahtungsfehler sein!??
Gruß Kim
Habs eben mal bei mir einfach auf einem Breadboard nachgebaut. Also nur den Arduino mit Sensoren und Display. Funktioniert alles, wie es soll.
Sobald HEAT oder GAS auslöst, schaltet Relais 1(Arduino pin 2) dauerhaft auf HIGH -> also relais aus.
Ebenfalls löst relais 3 aus -> also alarm an.
Der Sketch funktioniert demnach bei mir.
Wie bekommt dein Arduino Strom? Bzw. Wie bekommt das Relais Strom?
Ich könnte mir vorstellen, dass der Arduino nicht genug Strom für das Relais hat. Du könntest mal versuchen GND und VCC vom Relais an eine externe 5V Stromquelle zu legen. Dann noch GND von extern und GND vom Arduino zusammen legen.
Danke für die Antwort.
Die Vermutung hatte ich auch schon, deswegen hatte ich schon die Sensoren an eine externe Spannungsquelle angeschlossen.
Massen natürlich zusammen. Massefehler sind ja bekanntlich die häufigste Fehlerquelle in der Elektronik. Ich guck nochmal, danke für deine Mühe.
Hallo!
Sehr interessant deine Box. Eine Frage zum Display: Wie steuerst du das an bzw. verdrahtet das? Über die SCL, SDA, VCC und GND Pins am Nano? Bin noch Arduino Neuling, daher dir Frage. Vielen Dank für deine prima Arbeit und dass du es an uns weitergibst.
Gruß und danke im voraus, Kim B.
Hallo,
Ja genau. Das Display habe ich über I2C angeschlossen.
Danke Timo für deine Antwort, dann lag ich ja richtig. Etwas gebe ich zu bedenken: Betreibst du deinen Nano über Vin an den 12V? Wenn ja, dann ist der Längsregler auf dem Nano aber ganz schön „in Arbeit“. Denn dort werden ja die 7V Differenz in Wärme umgewandelt, was nicht gerade für eine lange Lebensdauer des Nanos sprechen könnte. Gruß Kim
Ne, bei mir gibt das Relais 5V raus.
OK, hatte die beiden kleinen Kabel im Schaltplan für die Versorgung der Relaisplatine gehalten.
Hallo Timo, finde deine safety-box Genial! Leider habe ich ein Problem beim Sketch hochladen, bin absoluter Laie, wenn ich einen Beispiel-Sketch hochlade kommt keine Fehlermeldung, da gehe ich davon aus, dass ich den richtigen Com-Port habe und auch den Prozessor richtig eingestellt habe.
Der Fehler kommt gleich in der 2. Zeile #include wenn ich die Zeile ausklammere dann Mault er in der 3. Zeile usw.
Die libraries müssen über die Arduino IDE installiert werden. Bei google gibts zuhauf Anleitungen wie man libraries für Arduino installiert.
Hallo Timo,
vielen Dank für Deinen wertvollen Beiträge und die die Möglichkeit uns „Nachahmern“ zu geben !
Ich habe ein paar Fragen zu diese 3D-safety-Box:
ist es möglich diese Anwendung für eine Laser CNC (Hier ein 60W Laser) Box/Gehäuse anzuwenden bzw. die gleichen Sensoren dafür zu nutzen?
Müssen eher entsprechende Sensoren dafür verwendet werden? wenn ja hast Du eine Idee was ich einsetzen könnte?
Was wäre noch dafür zu beachten?
Die Box kannste eigentlich auch mit den gleichen Sensoren so für einen laser verwenden. Du müsstest nur vielleicht den Schwellenwert für den Rauch Sensor anpassen. Beim lasern entsteht ja wesentlich mehr Rauch. Sons würde der Alarm vermutlich öfters Mal auslösen.