Finally, der zweite Teil der Serie: Wir haben nun also wochenlang auf die Lieferung aus… Deutschland… und oder China gewartet, um unsere Bauteile beisammen zu haben. Fein.
Für mich als komplett ungeübte und unbegabte Person war das schon eine Herausforderung, denn ich habe während ich gewartet habe schon mal das Gehäuseherunter geladen und ausgedruckt.
Diese ganzen Kabel und das drum herum soll also in ein relativ kleine Gehäuse. Das wird spannend.
Besonders schwer war für mich diese einzelnen LEDs “ordentlich” zu verlöten. Ich habe hierzu ein weiteres Modell herunter geladen und ausgedruckt – muss aber dazu sagen, dass ich eher dieses Modellhier hätte nehmen sollen. Das hätte einiges einfacher gemacht. Und falls es eine Person unter Euch geben sollte, die es noch weiter entwickeln würde, um die genauen Kabellängen zu haben, dann wäre ich sehr dankbar.
Letztendlich tasten wir uns aber so Stück für Stück an das fertige Produkt heran, auch wenn es hier leider sehr mies aussieht (im finalen Sensor musste ich manche Lötstellen nacharbeiten und LEDS ersetzen bis es wirklich funktioniert hat)
Eines der größten Probleme war allerdings das winzige OLED-Display. Diese Dinger sind, je nachdem wo ihr sie her bekommt, minimal anders und dadurch, dass ihr das löten und in ein kleines Gehäuse zwängen müsst, sind mir 4 oder 5 Displays alleine durch meine Unvorsichtigkeit kaputt gegangen.
Aber: Ich habe dem Entwickler vom TD-1 gebeten für noobs wie mich den Abstand im Inneren des Gehäuses zu vergrößern, damit auch schlecht gelötete Kabel eine Chance haben da rein zu passen, ohne die hauchdünnen Scheiben des Displays so sehr unter Spannung zu setzen, dass sie brechen.
Das hat er dankenswerter Weise im aktuellen Design berücksichtigt und ich drücke Euch die Daumen, dass Euch das Drama erspart bleibt.
Inzwischen nähern wir uns immer mehr dem an, was einem fertigen TD-1 ähnelt… die Kabel werden nach und nach auf die richtige Länge gebracht und dann an den RPi 2040 angelötet:
Achtung: Es scheint so, dass es in China manche Hersteller gibt, die keine originalen RPi 2040 Chips verwenden, so dass immer die gleiche Seriennummer auf dem Board hinterlegt ist.
Das ist für einfache Projekte vielleicht nicht weiter wild, aber da wir hier eine Lizenz vom Entwickler brauchen, die an diese Seriennummer gekoppelt ist, wird das zu einem großen Problem.
Hier gibt es weitere Informationen zu dem Problem:KlickiKlacki
Daher schlage ich vor, dass Ihr den RPi zunächst über ein Breadboard oder ohne zu löten mit der Firmware bespielt und dann das entsprechende Script aus der Anleitung vom Entwickler laufen lasst um zu sehen, ob diese Seriennummer heraus kommt: 4250305031373311 – falls ja, dann habt ihr eine dreiste Kopie eines Rpi2040 erhalten.
Ich wurde dann irgendwann nach viel Schwitzen, Fluchen und Löten dann auch mal fertig und habe dann das erste Mal den fertigen TD-1 zum Leben erweckt.
Nachdem wir dann für einen Monat Patreon bei AJAX-3D abonniert haben und ihm eine Info haben zukommen lassen, dass wir gerne eine Lizenz für die $Seriennummer haben möchten, kam keine 24 Stunden später eine Mail mit den entsprechenden Daten. Das der Weg nur über Patreon offen steht ist für einige verständlicherweise schade, aber es ist halt der Weg, der Euch ne Menge Geld einsparen lässt und ich persönlich fand das fair.
Ich habe nun also angefangen die entsprechenden TD-Werte meiner Filamente in Hueforge zu hinterlegen – die integrierte Schnittstelle macht das alles super einfach. Es werden auf dem TD-1 auch Hex-Werte für die Farbe des Filaments angezeigt. Ich persönlich sehe da noch Optimierungspotential, denn bei mir passte das nicht immer… ich habe dann manchmal einfach Pi Mal Auge [sic!] einen Wert gewählt indem ich das Filament gut beleuchtet neben einer Farbskala an meinem Monitor gehalten habe.
Man muss dabei aber auch im Hinterkopf behalten, dass dieser Farbsensor nur ein paar Euro kostet und es der Simplizität des ganzen Geräts geschuldet ist, dass es da Fehlmessungen geben kann.
Mit Zwei- oder mehrfarbigem Filament klappt das eh nicht, aber das hätte ich Euch sicher nicht sagen müssen.
Die TD-Werte zu bestimmen klappt aber richtig gut und klappt extrem schnell.
Insgesamt war das alles aber echt eine spannende Erfahrung. Ich habe gelernt ein kleines bisschen besser zu löten. Und ich finde, dass sich der erste Druck, den ein lieber Freund meiner Frau bekommen hat, schon sehr gelohnt hat. Ich bin zumindest sehr zufrieden damit.
Vor einiger Zeit hat mich @JoeMuc im Fediverse auf HueForge aufmerksam gemacht. Eine neue Art Bilder in 3D zu drucken. Es ist nicht so aufgebaut wie bei klassischen Litophane, sondern eine eigens erstelle Software von Steve Lavedas, einem ziemlich pfiffigen Typen.
“Transform your 2D images into stunning, photo-like 3D prints HueForge is a software that uses a technique called filament painting to make detailed prints without requiring a multi-material 3D printer.”
Das Ganze kann dann so aussehen:
Hier hat Joe auch schon darüber geschrieben: KlickMich
Der so genannte TD-1, dessen Idee von Ajax kam, ist ein kleines Gerät, welches mit Sensoren ausgestattet ist um die so genannte Transmission Distance zu bestimmen. Dieser Wert spiegelt die Fähigkeit Licht durch 3D Druck Filament scheinen zu lassen wider. Das klingt erstmal schräg, aber wenn man weiß, dass HueForge darauf angewiesen ist, dann ergibt es Sinn. Denn schwarzes Filament schimmert ja noch durch weißes Filament hindurch, wenn es hauchdünn drüber gedruckt wird.
Solche Bilder sind manchmal nur 1.24mm dick. Das muss man sich echt mal vorstellen. Eine Schicht ist dann dabei oft nur 0.08mm dick. Und das kann man zuhause herstellen. WOW!
Weißes Filament lässt sehr viel mehr Licht durch als schwarzes und auch wenn HueForge mit einer großen Datenbank von Filamenten und deren TD-Werten daher kommt, ist es elementar zu wissen, dass TD bei der Herstellung irgendwie eine Rolle spielt. Das heißt, dass z.B. Bambulab Basic “Jade White” bei der einen Spule einen TD-Wert von 5 hat, aber bei der nächsten Spule aus der gleichen Bestellung 4.4. (selbst innerhalb einer Spule kann sich der Wert verändern, aber das führt dann doch zu weit)
Letztendlich ist es aber immer gut zu wissen, was man wirklich für ein Filament zuhause hat mit dem man “malen” möchte.
Ajax hat letztendlich ein Gerät entwickelt womit es sehr einfach ist den entsprechenden TD-Wert zu bestimmen. Und da einerseits nicht jeder viel Geld für ein fertiges Produkt, oder ein PCB-Set hat, wo man sich nur noch das Gehäuse drucken und die PCBs löten muss, was man auch importieren müsste, hat er auch einen Weg zum Self-Sourcing ermöglicht.
Das heißt:
Eine Liste mit den benötigten Sensoren usw.
ihr druckt das Gehäuse zuhause selbst
ihr bastelt und lötet das alles selbst zusammen
ihr installiert die Software auf das “Mainboard”
ihr “aboniert” für einen Monat Ajax’ Patreon für 10€, um eine Lizenz zu erhalten
Alles in allem eigentlich eine faire Sache, wenn man bedenkt, dass ein fertiges Gerät 80€ plus Zoll und Import, ein PCB-Set um die 40€ und die Selbstbauvariante (wenn man keine Fehler macht) ca. 20-25€ inkl. Lizenz kostet.
Ich persönlich würde auch immer die Selbstbau-Option bevorzugen, denn einerseits lernt ihr was und zum anderen könnt ihr, wenn irgendwas schief läuft, einfach eine neue LED oder ein neues Display verwenden.
Die PCB-Variante scheint, auch wenn es gut durchdacht ist, gerade beim Display eine kleine Schwachstelle zu haben. Diese feinen OLED-Displays brechen super leicht und auch ich habe 4 Stück “verloren” bevor mein TD-1 wirklich lief.
Hier kommt auch schon die Einkaufsliste – alle Sensoren usw. unbedingt ohne angelötete Stiftleiste organisieren:
Microcontroller – RP2040-Zero by WaveShare
RGB-Sensor – TCS3472
Luminosity Sensor – TSL2561
Display – SSD1306 0.91 OLED
2x NeoPixels- SK6812 RGBNW (ihr braucht zwar nur zwei, aber bestellt einfach gerne mal 10)
Schalter – 6x6x4.3mm
1x Ball Bearing – 7mm (kann man kaum einzeln kaufen, sind aber nicht teuer)
Rainbow Ribbon Cable (davon hat man ja vermutlich eh schon einiges zuhause)
4x Schrauben – M3x6mm BHCS
2x Schraubenn – M3x10mm BHCS
Die NeoPixels sehen so aus – bestellt gerade 10 oder mehr, wenn ihr Euch nicht sicher seid, denn die haben mich neben den Displays, wovon ich ja auch einige während der Herstellung kaputt gemacht habe echt Nerven gekostet!
Dann noch ein Lötkoblen und ruhige Hände und schon kann es los gehen.
Demnächst schreibe ich dann darüber, wie ich die Teile dann zusammen “geklöppelt” habe und wie dann der erste Druck aussah.
Wahnsinnig spannender Cliffhanger, oder? ODER?
Update: in einer ersten Version dieses Beitrags habe ich einen Fehler gemacht und HueForge, welches von Steve entwickelt wird, Ajax zugeschrieben.
Is it possible to print with PETG filament on PETG sheets? TLDR: Yes, it is – and it works quite well!
Warning first: This article describes my experiments and is not a manual. Mistakes can easily damage your printer, use of this method at your own risk!
Recycling: This method produces a lot of scraps and waste. Please find out beforehand where you can recycle PETG sheet remnants. In Germany, for example, the Recyclingfabrik accepts PETG in sheet form. Please collect and dispose of any sawdust accordingly.
But now let’s start! PETG in sheet form is not very common in the maker community. More common is acrylic glass, which can be laser cut, or craft glass made from various other plastics, available in DIY stores. I only found out about PETG as a clear, transparent sheet material when I modified my Prusa Enclosure. PETG sheets are used as glass panes here originally and I wanted to use the same material for my self-made doors. The easiest way to get such sheets is online. A big advantage here is that they can be cut to size straight away, for example to the size of a print bed. I used a thickness of 2 mm in my experiments. Such a sheet in print bed size costs approx. 2 € plus shipping. I bought them here: https://www.plattenshop24.com/pet-petg (unpaid advertising).
I still had such sheets at home, because makers always buy “some” reserve. At some point I had the thought – PETG filament and PETG sheets… can you bring them together? Can you print directly on such a sheet, so that it bonds like a normal layer? And it turned out that it works pretty well! I cut a sheet to size and attached it to the print bed with clamps. The protective film on the top side must of course be removed. [Want to do this? Note whether the clamps could damage something on the printer, on the print bed (printed circuit board) or during printing in motion, or during bed levelling]
A critical point with this method is the bed levelling or Z-offset. I did all my experiments with the Prusa MK4, which measures the bed with a load cell (force sensor) in the print head. This method or BLTouch sensors are probably the easiest way to print on sheets that are higher than usual. I have only tested with the MK4 and 2 mm sheets. It is quite possible that the MK4 will also have problems with thicker plates, without extra Z-offset settings or similar. [Want to do this? Note whether the bed leveling method of your printer is suitable for this method and whether settings are necessary]
Now I could start printing. So starting the slicer, loading a model and exporting… Hm, do I need a heated bed? With PETG I normally need a bed between 70 and 90°C, but here? The bed must remain cold here. Theoretically, cooling might even be interesting, but more on that in a moment. The heat from a heated bed would build up under the PETG plate and cause it to warp. It is possible that the sheet material deforms due to the large temperature difference between the heating bed and the cool air above, or the temperature properties are generally different to those of filament PETG. Unfortunately, I don’t have a photo of this first attempt. So we set the temperature of the print bed to 0°C (or anything below room temperature) during slicing and start printing.
Critical point at the start of printing: Once the print has started, there’s not much that can go wrong, but there are a few things to check at the beginning. – Do the holding clamps hit anything during movement? – Does the print head / sensors hit the clamps during leveling? – Is the leveling successful? The MK4 moves to the various leveling points on the bed one after the other. Normally it moves down exactly once at one point and measures the distance / force. If the sensor does not get a meaningful result, it moves about one millimeter to the side and tries again. And again… until it works – or it aborts at some point. In doing so, it moves in the form of an widening circle. This error can easily occur if the sheet does not rest exactly straight on the bed, is slightly bent due to tension, and there is a little space at the measuring point between the bed and the sheet. I have helped myself by carefully pressing a pencil on the sheet, next to the measuring point, during the measurement. You have to be very careful not to get in the way of the moving printer with the pen or your hand. I therefore advise against this! A better fastening method than the clamps would be the right solution here. It may also be less problematic with a thicker sheet. What you can also see clearly in this picture, is that the already preheated nozzle leaves marks on the sheet during leveling. This could probably be minimized with Gcode modification for leveling with a cold nozzle, but I haven’t experimented that far yet. Leveling might be easier with BLTouch sensors.
and: – Does the first layer print well on the plate
For models with a small base area and / or small height, not much can really go wrong further down the line. The extruded PETG adheres excellently to the cool PETG sheet. However, there is a problem for models with a large surface area on the print bed or a large volume, where a lot of heat is transferred to the sheet via the extruded filament. The plate tends to warp a lot. I have not yet found a solution for this, further experiments are necessary. 😀 Possible approaches are thicker plates, better attachment to the bed or finding the right temperature balance between bed and plate (minimal heating at the bottom or cooling at the top?).
How well does the printed model hold on the sheet? Short answer: very well! Long answer: For a load test, I designed a test hook and printed it on a sheet. I put more weight on it piece by piece, up to 12.5 kilos, and let it hang for over three hours, without any visible deformation. I hadn’t expected that much, but it would probably have been possible to add even more. I printed it with 3 perimeters and high infill. Testhook model: https://www.printables.com/de/model/870869-testhook-triangle-for-printing-on-petg-sheets
The sheet on which a model was printed, usually has the wrong shape and or size for further use, right after printing. I have had good experiences with cutting them to size on a scroll saw. This worked better than with some other plastic sheets. The protective film on the underside should be left on to protect it from scratches. If it was already off, you can put it back on again, it will stick quite well. The sides can then be smoothed by scraping them with a knife, but please take particular care not to injure yourself.
And what do I need it for anyway? First of all, I wanted to try out whether it would work at all, and I was quite enthusiastic about the result, even if there are still a few problems to solve. As this produces a considerable amount of waste and offcuts, I would advise against using this method for ecological reasons, unless you have a good application for it. Possible uses that have occurred to me so far would be objects where – a completely smooth surface – a waterproof surface – a transparent (clear) surface is required. Specifically e.g. lamps, viewing windows on housings, stencils, signs, pictures and art.
Problems that still need to be solved or optimized: – attaching the sheet to the bed – warping – levelling
I love to hear your ideas for projects with this method.
Auf Deutsch: Drucken Mit PETG – Auf PETG
Mit PETG Filament auf PETG Platten drucken, geht das? TLDR: Ja, das geht – und sogar ziemlich gut!
Warnung vorweg: Dieser Beitrag beschreibt meine Experimente, und stellt keine Anleitung dar. Bei Fehlern kann es leicht zu Schäden an eurem Drucker kommen, nachmachen auf eigene Gefahr!
Recycling: Bei dieser Methode fällt einiges an Resten und Verschnitt an. Informiert euch bitte vorher, wo ihr PETG-Plattenreste recyceln könnt. In Deutschland nimmt z.B. die Recyclingfabrik PETG in Plattenform an. Ggf. anfallende Sägespäne bitte entsprechend auffangen und entsorgen.
Jetzt gehts aber los! PETG in Plattenform ist nicht besonders verbreitet in Maker-Kreisen. Wenn, dann eher Acrylglas, das sich lasern lässt, oder Bastelglas aus verschiedenen anderen Kunststoffen aus dem Baumarkt. Von PETG als klares durchsichtiges Plattenmaterial habe ich erst erfahren, als ich meine Prusa Enclosure umgebaut habe. Da werden nämlich PETG-Platten als Scheiben verwendet und ich wollte für meine selbst gebauten Türen das selbe Material verwenden. Solche Platten bekommt man am einfachsten online. Ein großer Vorteil hierbei ist, dass sie gleich zugeschnitten werden können, zum Beispiel auf die Größe eines Druckbetts. Ich habe in meinen Experimenten eine stärke von 2 mm verwendet. Eine solche Platte in Druckbett-Größe kostet ca. 2 € zzgl. Versand. Gekauft habe ich sie hier: https://www.plattenshop24.com/pet-petg (unbezahlte Werbung).
Ich hatte also noch solche Platten daheim, weil Maker immer „etwas“ Reserve einkaufen. Irgendwann hatte ich den Gedanken – PETG Filament und PETG Platten… kann man das zusammen bringen? Kann man direkt auf so einer Platte drucken, so dass sich das verbindet wie ein normaler Layer? Und es stellte sich raus, das geht ziemlich gut! Ich habe mir eine Platte zurechtgeschnitten und mit Klammern auf dem Druckbett befestigt. Die Schutzfolie auf der oberen Seite muss dafür natürlich entfernt werden. [Nachmachen? Beachten ob die Klemmen etwas am Drucker beschädigen könnten, am Druckbett (Leiterplatine) oder während des Druckens in Bewegung, oder während des Bedlevellings anstoßen können]
Ein Knackpunkt bei dieser Methode ist das Bedlevelling bzw. Z-Offset. Ich habe alle Experimente mit dem Prusa MK4 gemacht, der mit einer Load Cell (Kraftsensor) im Druckkopf das Bett vermisst. Mit dieser Methode oder auch mit BLTouch Sensoren lässt sich wohl am einfachsten auf Platten drucken, die höher sind als gewöhnlich. Getestet habe ich ausschließlich mit dem MK4 und 2 mm Platten. Es ist gut möglich, dass bei dickeren Platten auch der MK4 Probleme bekommt, ohne extra Z-Offset Einstellungen oder ähnlichem. [Nachmachen? Beachten ob die Bedlevelling Methode an deinem Drucker geeignet ist, und ob Einstellungen dazu nötig sind]
Jetzt könnte es doch los gehen mit dem Drucken. Also an den Slicer setzen, ein Modell laden und exportieren… Hm, brauche ich ein beheiztes Bett? Bei PETG brauche ich normalerweise ein Bett zwischen 70 und 90°C, aber hier? Hier muss das Bett kalt bleiben. Theoretisch wäre vielleicht sogar eine Kühlung interessant, dazu gleich mehr. Die wärme eines beheizten Betts würde sich unter der PETG Platte stauen und diese warpen lassen. Möglicherweise verformt sich das Plattenmaterial wegen des sehr starken Temperaturunterschiedes zwischen Heizbett und kühler Luft oben, oder es sind grundsätzlich etwas andere Temperatureigenschaften als beim Filament. Leider habe ich von diesem ersten Versuch kein Foto. Wir setzen die Temperatur des Druckbetts beim slicen also auf 0°C (oder irgendwas unter Raumtemperatur) und starten den Druck.
Kritischer Punkt Druckbeginn: Wenn der Druck erst mal gestartet hat, kann nicht mehr gar so viel schief gehen, aber am Anfang gilt es einiges zu kontrollieren. – Stoßen die Halteklammern bei der Bewegung irgendwo an? – Stößt der Druckkopf / Sensoren beim nivellieren an die Klammern? – Ist die Nivellierung erfolgreich? Der MK4 fährt nacheinander die verschiedenen Nivellierungspunkte auf dem Bett an. Normalerweise bewegt er sich an einem Punkt genau einmal nach unten und misst den Abstand bzw. die Kraft. Kommt der Sensor zu keinem sinnvollen Ergebnis, dann fährt er ca. einen Millimeter zur Seite und versucht es noch einmal. Und noch einmal… bis es geht – oder er irgendwann abbricht. Dabei bewegt er sich in Form eines größer werdenden Kreises. Dieser Fehler kann leicht entstehen wenn die Platte nicht exakt gerade auf dem Bett aufliegt, durch Spannung etwas gebogen ist, und am Messpunkt zwischen Bett und Platte ein wenig Spiel entsteht. Ich habe mir damit beholfen bei solchen Problemstellen während der Messung mit einem Stift vorsichtig daneben auf die Platte zu drücken. Dabei muss man aber sehr vorsichtig sein, um nicht mit dem Stift oder der Hand, dem sich bewegenden Drucker im Weg zu sein. Ich rate hiervon also ab! Eine bessere Befestigungsmethode als die Klemmen wäre hier die richtige Lösung. Bei einer dickeren Platte ist es möglicherweise auch weniger problematisch. Was man an diesem Bild auch gut erkennt, die bereits vorgewärmte Düse hinterlässt bei der Nivellierung abdrücke in der Platte. Das könnte vermutlich mit Gcode-modifizierung für eine Nivellierung mit kalter Düse minimiert werden, so weit habe ich aber noch nicht experimentiert. Mit BLTouch Sensoren ist die Nivellierung vielleicht einfacher.
und: – Wird die erste Schicht gut auf die Platte gedruckt?
Bei Modellen mit kleiner Grundfläche und / oder kleiner Höhe kann im weiteren verlauf eigentlich nicht mehr viel schief gehen. Das extrudierte PETG haftet hervorragend auf der kühlen PETG-Platte. Dennoch gibt es ein Problem für Modelle mit großer Fläche auf dem Druckbett oder großem Volumen, wobei über das extrudierte Filament viel Wärme auf die Platte übertragen wird. Dabei neigt die Platte zu starkem warping. Hierfür habe ich noch keine Lösung gefunden, weitere Experimente sind notwendig. 😀 Mögliche Ansätze sind dickere Platten, bessere befestigung am Bett oder die richtige Temperaturbalance zwischen Bett und Platte zu finden (unten minimal heizen oder oben kühlen?).
Wie gut hält das gedruckte Modell auf der Platte? Kurze Antwort: sehr gut! Lange Antwort: Für einen Belastungstest habe ich einen Testhaken entworfen und auf eine Platte gedruckt. Ich habe ihr stückweise stärker belastet bis zu 12,5 Kilo, und ihn so über drei Stunden hängen lassen, ohne dass sich sichtbar etwas verformt hat. So viel hatte ich gar nicht erwartet, aber es wäre wohl auch noch mehr gegangen. Ich habe ihn mit 3 Perimetern und hohem Infill gedruckt. Testhaken Modell: https://www.printables.com/de/model/870869-testhook-triangle-for-printing-on-petg-sheets
Die Platte auf der ein Modell gedruckt wurde, hat in der regel noch die falsche Form und oder Größe, für die weitere Verwendung. Ich habe gute Erfahrungen damit gemacht, sie auf einer Dekupiersäge zurecht zu schneiden. Das hat besser funktioniert als mit manchen andern Kunststoffplatten. Hierfür sollte die Schutzfolie auf der Unterseite zum Schutz vor Kratzern noch drauf bleiben. Falls sie schon runter war, kann man sie auch wieder drauflegen, die haftet wieder ganz gut. Die Seiten können danach geglättet werden indem man sie mit einem Messer abzieht, aber bitte hier besonders darauf achten, sich nicht zu verletzen.
Und wofür brauche ich das jetzt überhaupt? Ich wollte zunächst einmal ausprobieren ob das überhaupt funktioniert und war ziemlich begeistert vom Ergebnis, auch wenn es noch so manches Problem zu lösen gilt. Da hierbei eine nicht unerhebliche Menge an Resten und Verschnitt anfällt, würde ich aus Ökologischen Gründen davon abraten diese Methode zu verwenden, wenn ihr nicht eine gute Anwendung dafür habt. Mögliche Verwendungen die mir bisher eingefallen sind, wären Objekte bei denen: – eine komplett glatte Fläche – eine Wasserdichte Fläche – eine transparente (glasklare) Fläche nötig ist. Konkret z.B. Leuchten, Sichtfenster an Gehäusen, Schablonen, Schilder, Bilder und Kunst.
German only post (because Filaments mainly in Germany available)
Nur ein ganz kurzer Artikel zu diesem Thema um meine TD Messwerte zur Verfügung zu stellen, vielleicht hilft es ja Manchen.
Es geht um HueForge bzw. die dazu hilfreichen TD Werte. HueForge ist eine Software um aus Bildern und Grafiken STL Dateien zu erstellen, um diese mit Filamentwechseln bei bestimmten Layern farbig auf einem 3DDrucker zu drucken. https://shop.thehueforge.com/ Sogenanntes Filamentpainting. (Lithophanes können mit HueForge auch erstellt werden) Das möchte ich hier gerade nicht weiter erklären, aber ein Beispiel dafür:
Die TD-Werte (Transmission Distance) sind Filament-Parameter für diese Software. Der TD Wert eines Filaments gibt an, wie tief Licht in / durch gedruckte Gegenstände aus diesem Filament eindringt, in mm. Die Software benötigt diese Werte für die verwendeten Filamente um die resultierende Farbe der übereinander liegenden Filamentschichten besser berechnen zu können.
Ich habe nun für alle Filamente die ich gerade da habe und bei denen es mir sinnvoll erschien, Testswatches gedruckt und mit dieser Testbox gemessen: https://www.printables.com/de/model/552566-official-hueforge-td-step-test-and-light-box Die Werte sind nicht ganz einfach abzulesen, aber besser ein grob richtiger Wert, als ein grob falscher. Selbst bei vermeintlich gleichen Farben wie Weiß von DasFilament und Weiß (Flauschiges Schaf) von der Recyclingfabrik, gibt es mit 1,2 und 2,5 zwei sehr unterschiedliche TD Werte. Ich vermute es hängt hier an der Konzentration von Pigment / Färbemittel.
PETG
PLA
Das Filament
Weiß
1,4
PolyTerra
Forest Green
0,5
Alu-Silber
1,5
Saphire Blue
0,3
Melonengelb
3,0
Blau
0,8
Das Filament
Schwarz
0 – 0,1
Schwarz
0,2
Feuerrot
1,5
Sonnengelb
3,5
Prusament
Prusa Orange
2,6
Weiß
1,2
Jungle Green
0,7
Recyclingfabrik
Flauschiges Schaf
2,5
CR3D
Wasserblau
0,8
Kluge Maus
1,3
Nasser Elefant
0,7
Flüssiger Asphalt
0,5
Gute Nacht
0,2
Sorry für die Formatierung, besser ging es gerade nicht als Tabelle. Ein Bild mit ewig langem Alternativtext wollte ich jetzt auch nicht.
Die zwei PolyTerra Filamente habe ich mir übrigens nur als Referenz zur TD Messung gekauft. Die TD Werte davon sind “offiziell” von HueForge gemessen und in deren Katalog aufgelistet. Ich weiß nicht so recht was ich mit diesen zwei Rollen jetzt anfangen soll. Sie sind im Vergleich recht anspruchsvoll (langsam) zu drucken für gute Ergebnisse, ca. 1/4 der Geschwindigkeit mit der ich ansonsten mit dem Prusa MK4 oder MINI+ drucke, also echt langsam. Solltet ihr ebenfalls Filament als Referenz zur Messung benötigen, sagt Bescheid, ich lasse euch gerne etwas davon zukommen.
Spoolman is a great too to track your filament usage and Sebastian already described the setup. I’m also running Spoolman in my internal network. The software got multiple user interfaces or integrations so that you can use it standalone in a browser or integrate a widget into Klippers User interface.
The integration into Moonraker (the Web Interface for Klipper) currently doesn’t have the ability to provide any credentials for Moonrakers Spoolman integration to authenticate against Spoolman.
If you want to expose Spoolman to the Internet to check your filament usage from outside your homework you surely want authentication. Spoolman doesn’t offer any user management at all at the moment. So you have to user a normal web server or proxy to add some authentication.
In my personal setup I’m using Traefik reverse proxy to expose Spoolman running in a Docker container to the internet and handle the SSL certificates. SSL is also required to make use of Spoolmans feature to scan QR codes of your spools.
The requirements in my setup are: do not require a password when requests come from the local network (192.168.1.0/24); do require HTTP Basic authentication when request comes from the outside Internet.
This way the integration into my Klipper setup doesn’t require authentication but accessing Spoolman from the internet does.
While this would be relatively straightforward with Apache HTTPD it was a bit tricky with Traefik.
My solution is to define two http.routers in Traefik for Spoolman. One for access from the internal network:
Both http.routers then can have their own Traefik middlewares section to add authentication or not.
My whole Spoolman docker-compose.yaml looks like this:
version: '3.8'services: spoolman: image: ghcr.io/donkie/spoolman:latest restart: unless-stopped labels: - "traefik.enable=true" - "traefik.http.routers.spoolman-internal.rule=( Host(`spoolman.example.net`) && ClientIP(`192.168.1.0/24` ))" - "traefik.http.routers.spoolman-internal.entrypoints=websecure" - "traefik.http.routers.spoolman.rule=Host(`spoolman.example.net`) && !ClientIP(`192.168.1.0/24` )" - "traefik.http.routers.spoolman.entrypoints=websecure" - "traefik.http.routers.spoolman.tls=true" - "traefik.http.routers.spoolman.priority=2" - "traefik.http.routers.spoolman.tls.certresolver=letsencrypt" - "traefik.http.routers.spoolman-internal.tls.certresolver=letsencrypt" - "traefik.http.routers.spoolman.middlewares=auth-users" - "traefik.http.routers.spoolman-internal.tls=true" - "traefik.http.routers.spoolman-internal.priority=1" - "traefik.http.routers.spoolman.service=svc-spoolman" - "traefik.http.routers.spoolman-internal.service=svc-spoolman" - "traefik.http.services.svc-spoolman.loadbalancer.server.port=8000" - "traefik.http.middlewares.auth-users.basicauth.users=admin:$$2U$$07$$K3XvlqQOC3ScMoRqOIQ50elXe.QByrAvpvmaDp9yj0oaA4LOLiCE6" networks: - web volumes:# Mount the host machine's ./data directory into the container's /home/app/.local/share/spoolman directory - type: bind source: ./data # This is where the data will be stored locally. Could also be set to for example `source: /home/pi/printer_data/spoolman`. target: /home/app/.local/share/spoolman # Do NOT change this line ports:# Map the host machine's port 7912 to the container's port 8000 - target: 8000 published: 7912 protocol: tcp mode: host environment: - TZ=Europe/Stockholm # Optional, defaults to UTCnetworks: web: name: web external: true
German version:
Spoolman ist ein echt tolles Tool, um den Filamentverbrauch zu verfolgen, und Sebastian hat die Einrichtung bereits beschrieben. Ich verwende Spoolman auch in meinem internen Netzwerk. Die Software hat mehrere Benutzeroberflächen oder Integrationen, so dass man sie eigenständig in einem Browser verwenden oder ein Widget in Klippers Benutzeroberfläche integrieren kann.
Die Integration in Moonraker (das Web-Interface für Klipper) bietet derzeit keine Möglichkeit, Anmeldedaten für Moonrakers Spoolman-Integration bereitzustellen, um sich gegenüber Spoolman zu authentifizieren.
Wenn Sie Spoolman dem Internet aussetzen wollen, um Ihre Filamentnutzung von außerhalb Ihres Hauses zu überprüfen, brauchen Sie sicherlich eine Authentifizierung. Spoolman bietet zur Zeit keine Benutzerverwaltung an. Sie müssen also einen normalen Webserver oder Proxy verwenden, um eine Authentifizierung hinzuzufügen.
In meinem persönlichen Setup verwende ich Traefik als Reverse Proxy, um Spoolman, das in einem Docker-Container läuft, dem Internet auszusetzen und die SSL-Zertifikate zu verwalten. SSL ist auch erforderlich, um Spoolmans Funktion zum Scannen von QR-Codes Ihrer Spools nutzen zu können.
Die Anforderungen in meinem Setup sind: kein Kennwort erforderlich, wenn Anfragen aus dem lokalen Netzwerk (192.168.1.0/24) kommen; HTTP Basic Authentication erforderlich, wenn Anfragen von außerhalb des Internets kommen.
Auf diese Weise ist für die Integration in mein Klipper-Setup keine Authentifizierung erforderlich, für den Zugriff auf Spoolman aus dem Internet jedoch schon.
Während dies mit Apache HTTPD relativ einfach zu bewerkstelligen wäre, war es mit Traefik etwas knifflig.
Meine Lösung ist, in Traefik zwei http.routers für Spoolman zu definieren. Einer für den Zugriff aus dem internen Netzwerk:
Beide http.router können dann ihre eigene Traefik-Middlewares-Sektion haben, um Authentifizierung hinzuzufügen oder nicht.
Mein ganzes Spoolman docker-compose.yaml sieht wie folgt aus:
version: '3.8'services: spoolman: image: ghcr.io/donkie/spoolman:latest restart: unless-stopped labels: - "traefik.enable=true" - "traefik.http.routers.spoolman-internal.rule=( Host(`spoolman.example.net`) && ClientIP(`192.168.1.0/24` ))" - "traefik.http.routers.spoolman-internal.entrypoints=websecure" - "traefik.http.routers.spoolman.rule=Host(`spoolman.example.net`) && !ClientIP(`192.168.1.0/24` )" - "traefik.http.routers.spoolman.entrypoints=websecure" - "traefik.http.routers.spoolman.tls=true" - "traefik.http.routers.spoolman.priority=2" - "traefik.http.routers.spoolman.tls.certresolver=letsencrypt" - "traefik.http.routers.spoolman-internal.tls.certresolver=letsencrypt" - "traefik.http.routers.spoolman.middlewares=auth-users" - "traefik.http.routers.spoolman-internal.tls=true" - "traefik.http.routers.spoolman-internal.priority=1" - "traefik.http.routers.spoolman.service=svc-spoolman" - "traefik.http.routers.spoolman-internal.service=svc-spoolman" - "traefik.http.services.svc-spoolman.loadbalancer.server.port=8000" - "traefik.http.middlewares.auth-users.basicauth.users=admin:$$2U$$07$$K3XvlqQOC3ScMoRqOIQ50elXe.QByrAvpvmaDp9yj0oaA4LOLiCE6" networks: - web volumes:# Mount the host machine's ./data directory into the container's /home/app/.local/share/spoolman directory - type: bind source: ./data # This is where the data will be stored locally. Could also be set to for example `source: /home/pi/printer_data/spoolman`. target: /home/app/.local/share/spoolman # Do NOT change this line ports:# Map the host machine's port 7912 to the container's port 8000 - target: 8000 published: 7912 protocol: tcp mode: host environment: - TZ=Europe/Stockholm # Optional, defaults to UTCnetworks: web: name: web external: true
Close
Ad-blocker not detected
Consider installing a browser extension that blocks ads and other malicious scripts in your browser to protect your privacy and security. Learn more.