Display voor het tonen van tijd en meldingen

Voor de handige knutselaar is er met een paar onderdelen en wat materialen uit de knipselbak eenvoudig een praktisch display te realiseren dat internettijd en boodschappen kan tonen. Met een beetje moeite een parel voor in de woonkamer of keuken; met iets minder moeite een uitbreiding van de werkplaatsuitrusting of hobbykamer.

Het display dat ik in dit artikel beschrijf bestaat uit twee aan te schaffen onderdelen (drie, als je de 5 volt netvoeding meerekent) en wat restmaterialen zoals een vel A4 papier. Als je een 3D printer tot je beschikking hebt kun je die ook gebruiken. In dit project maak ik gebruik van ESPhome, een raamwerk om ESP8266 en ESP32 microcontrollers te besturen met eenvoudige configuratiebestanden en (zeer) weinig programmeerwerk, bedoeld om apparaten van afstand 'over the air' te besturen en te updaten:

De twee belangrijkste onderdelen zijn de led matrix, die bestaat uit 256 in serie geschakelde RGB leds van het type WS2812 op een flexibel paneeltje verlijmd (ca. € 12,50), en het Wemos D1 mini microcontrollerbordje  (ca. € 2,50). De led matrix heeft drie aansluitingen: +5V, GND en een data ingang. GND en de data ingang worden met de microcontroller verbonden aan respectievelijk GND en D2/GPIO4. De +5V wordt verbonden met de 5V netvoeding. De +5V van de D1 mini wordt hier ook mee verbonden. Op deze wijze trekken de led matrix en de microcontroller los van elkaar stroom en kan de microcontroller de led matrix aansturen, zonder dat de microcontroller de volledige stroom van de leds moet 'ophoesten'.

De ESP8266 microcontroller is al sinds jaar en dag het meest praktische onderdeel om sensoren mee aan het internet te knopen: laag stroomverbruik, ingebouwde wifi en meer dan uitstekende ondersteuning van de open source community. Via de Arduino ontwikkelstack te programmeren. ESPhome, een initiatief van ontwikkelaar Otto Winter en tegenwoordig in handen van Nabu Casa, heeft daaroverheen een magische schil gelegd die het mogelijk maakt om kale ESP8266's via de webbrowser en een kabeltje te voorzien van ESPhome firmware en vanaf dan alle nieuwe functies 'over the air' te versturen. En die nieuwe functies maak je met ESPhome vanuit de browser, met YAML en wat C++ instructies en de gehele codeboom wordt voor je gegenereerd en als nieuwe firmware naar je ESP8266 ge-upload.

De led matrix bestaat uit WS2812 leds, die voorzien zijn van een seriele ingang en uitgang. De eerste led wordt aangesloten op de microcontroller en ontvangt de instructie, die bestaat uit een lednummer en een kleur. De leds geven de instructies onderling door totdat de juiste led is bereikt.

Ik gebruik in ESPhome de volgende configuratie om de led matrix aan te sturen. In het eerste deel light wordt een lichtslang gedefinieerd die bestaat uit 256 WS2812 leds die de naam led_matrix krijgt. In het tweede deel display wordt een adresseerbare lichtkrant gedefinieerd die wordt gebaseerd op de lichtslang met de naam led_matrix en die als eigenschappen 8 x 32 pixels heeft. Met de pixel_mapper worden de x en y coordinaten omgerekend naar een serieel lednummer 0-255. Het display updatet iedere 45 ms, voldoende voor vloeiende animaties en lopende teksten. Zowel light als display erven eigenschappen en methoden van ESPhome, zoals lichteffecten en het kunnen tonen van tekst en beeld:

light:
  - platform: neopixelbus
    variant: WS2812
    pin: GPIO4
    num_leds: 256
    type: GRB
    name: led_matrix
    id: led_light_32x8

display:
  - platform: addressable_light
    id: led_matrix_display
    addressable_light_id: led_light_32x8
    width: 32
    height: 8
    update_interval: 45ms
    pixel_mapper: |-
        if (y % 2 == 0) {
          return (y * 32) + x;
        }
        return (y * 32) + (31 - x);

Zelf heb ik eerst gebruik gemaakt van de led matrix, de microcontroller, een vel papier en wat plakband om het geheel wat structurele stevigheid te geven. De code hierboven definieert het display als een basis van adresseerbare leds en zorgt ervoor dat iedere pixel met een x en y coordinaat kan worden aangesproken. Dat is echter niet waar ESPhome ophoudt: het display kan beschreven worden met lijnstukken, tekst, afbeeldingen, animaties en grafieken, uiteraard in alle denkbare kleuren. Met lambda kan C++ (Arduino) worden 'gesproken':

font:
  - id: pixel_font
    file: "fonts/pixelmix.ttf"
    size: 8

time:
  - platform: sntp
    id: rtctime

display:
    ...
    lambda: |-
        it.strftime(16, 4, id(pixel_font), Color(0xFFFFFF), TextAlign::CENTER, "%H:%M", id(rtctime).now());

Nadat het geheel zich bewezen heeft wordt het tijd voor een wat steviger behuizing. Ik heb van thingiverse één van de vele 'grids' ge-3D-print en daaromheen met wat MDF restjes een doosje inelkaar gelijmd. Een laagje van (halfdoorzichtig) plastic verpakkingsmateriaal of een stukje wit perspex maakt het geheel af. De diffuser is ervoor om te zorgen dat er mooie kleuren zichtbaar worden; de grid is ervoor zodat er ondanks de diffuser onderscheidbare beeldpunten ontstaan. Note to self: als je gebruik maakt van superlijm, laat het geheel dan uitgebreid luchten voordat je het kastje sluit om het zichtbaar maken van vingerafdrukken op het perspex met de cyano-acrylaat te voorkomen.

Ik heb altijd een paar stukken MDF van 4 en 6 millimeter op voorraad: het materiaal is erg eenvoudig te verwerken met zaag en schuurpapier en verlijmt tot solide voorwerpen met de bekende witte houtlijm van Bison (bouwmarkt) of Pattex (Action). Het schuren van MDF levert wel veel stof op dus draag een stofmasker en stofzuig de werkplek na het schuren grondig. Ik heb de maten proefondervindelijk vastgesteld volgens het volgende procédé:

  • Diffuser en bodem (achterkant) zelfde maat als het grid
  • Lange wand 'een paar centimeter' hoog en even lang als diffuser en bodem
  • Zijkanten even hoog als de lang wand en zo breed als de diffuser en bodem, plus twee keer de plaatdikte

Alles verlijmen met houtlijm, fixeren met plakband en paar uurtjes laten drogen. Met wat blokjes MDF aan de binnenkant het grid en diffuser vlak met de voorkant laten lopen en het geheel grondig schuren met een schuurblokje, korrel 120 of fijner. Met goed schuren, houtplamuur-uit-een-tube, spuitplamuur en spuitverf krijg je een mooie gladde afwerking.

ESPhome heeft prachtige voorzieningen voor het gebruik van sensorinformatie van andere bronnen, zoals Home Assistant, en ondersteunt het gebruik van True Type fonts. Met een timer blader ik om de 30 seconden tussen pagina's die de (internet-)tijd, de buitentemperatuur van het Netatmo weerstation, informatie over de afvalophaaldiensten, het weerbericht (in tekst) van het KNMI en headlines van de NOS tonen.

Dingen die je niet wist van je Dremel Idea Builder 3D20

Wist je dat Dremel kleuren RAL kleuren zijn? En dat de ingebouwde verlichting van de Dremel 3D20 via gcode ingesteld kunnen worden? En dat je zelfs melodietjes kunt afspelen tijdens een afdruktaak? En wist je dat je ook lagen van 50 µm kunt printen? Zomaar wat kleine weetjes die je vast (nog) niet wist van je Dremel Idea Builder 3D20.

Dremel gebruikt RAL kleuren

De Dremel 3D20 (en de meeste andere Dremel producten) zijn, afgezonderd enkele accentkleuren, uitgevoerd in blauw, grijs en zilver. Dit zijn RAL kleuren die het gemakkelijk voor Dremel maken om hun producten altijd met dezelfde kleuren uit te voeren, omdat overal ter wereld kunststofmakers in staat zijn de verschillende RAL kleuren uit te leveren. In het geval van Dremel zijn dit RAL 5005 Signalblau, RAL 7046 Telegrau 2 en RAL 9007 Graualuminium. Of R = 0, G = 82 en B = 148 als je de kleur op je beeldscherm wilt instellen.

Waarom je dit zou willen weten? Goede vraag. Stel, je wilt een tafeltje voor je Dremel 3D printer maken en die wil je verfen. Welke kleuren gebruik je dan? Precies. Nu weet je het. RAL kleuren kun je bij iedere bouwmarkt laten mengen en het is zelfs mogelijk spuitlak in RAL kleuren te verkrijgen (RAL 5005, RAL 7046 en RAL 9007).

SD kaart potje-met-schroefdeksel in Dremel kleuren

Kleur van de verlichting instellen

Over kleuren gesproken: de Dremel 3D20 heeft een led-strip boven het deurtje ingebouwd. Deze licht normaal wit op, en dimt in helderheid als de printer een tijdje niet wordt gebruikt. De led-strip is echter van het RGB-type, waarvan de kler kan worden ingesteld. Dit instellen kan overal tijdens het printproces door hiervoor een opdracht in de gcode op te nemen. Het gemakkelijkst gaat dat, door de opdracht als onderdeel van de machine- en extruderinstellingen op te nemen: de led-strip verandert dan van kleur bij het begin van de printopdracht en aan het einde van de printopdracht.

De opdracht om de kleur van de led-strip in te stellen is M146. Als parameters kunnen de rood (R), groen (G) en blauw (B) waarden worden opgegeven in het bereik 0 (uit) tot 255 (maximaal aan). Wit is R255 G255 B255 en uit is R0 G0 B0. Rood is R255 G0 B0 en paars is R255 G0 B255. Op deze manier kunnen (bijna) alle kleuren van de regenboog worden gemaakt.

M146 R255 G255 B255 ; turn lights white
M146 R0 G82 B148 ; set to Dremel blue

Deuntjes afspelen

De Dremel 3D20 heeft verschillende deuntjes ingebouwd, die op strategische plaatsen (of willekeurige plekken om het printproces op te leuken) in de gcode kunnen worden geplaatst. Tijdens het aanzetten van de printer, wanneer een printopdracht is afgerond en op andere belangrijke momenten geeft de printer zelf ook al een deuntje en met een speciale instructie kunnen we dat

De opdracht om een deuntje af te spelen is M148. Als parameter wordt de letter S gevolgd door het nummer van het gewenste deuntje in het bereik 1 tot en met 8 opgegeven. Met S1 wordt het eerste deuntje afgespeeld, met S2 de tweede, enzovoorts.

M148 S1 ; play the first tune

50 µm lagen printen

Hoewel de technische specificaties van de Dremel 3D20 anders beweren, is het prima mogelijk om lagen dunner dan 100 µm te printen: ook 50 µm behoort tot de mogelijkheden. Het volstaat om dit in de slicer in te stellen: bij het printen wordt hier dan rekening mee gehouden. De afdruktijd verdubbelt hiermee, en het is belangrijk om de eerste laag wel voldoende dik te maken om aanhechting aan de bouwplaat te garanderen.

In het voorbeeld hieronder zijn twee kubussen van 2x2x2 centimeter afgebeeld. De linker kubus is met 100 µm (de kleinste laagdikte die de fabrikant voorschrijft) en de rechter kubus met 50 µm afgedrukt. De rechter kubus is hiernaast ook een smallere lijndikte (0,3 mm versus de 0,4 mm van de linker kubus) afgedrukt.

Links is 100 µm en 0,4 mm lijnen, rechts is 50 µm en 0,3 mm lijnen

Reserveonderdelen bestel je goedkoper bij Dremel / Robert Bosch

Het serviceapparaat van Dremel is in handen van Robert Bosch, die van de Bosch gereedschappen. Als je een reserveonderdeel voor je Dremel 3D20 nodig hebt, kun je dit onderdeel eenvoudig aanklikken op een uitgewerkte tekening van je printer. Het onderdeel dat je hebt aangeklikt (technisch gezien het onderdeel in het aantal waarin het in de printer voorkomt) wordt in je winkelmandje geplaatst en je kunt de onderdelen, plus een paar euro aan verzendkosten, met je Master- of Visa creditcard afrekenen. Dat geldt voor grote zaken als een deksel, een deur of een extruder, maar ook voor kleine dingen als een schroefje of de rubberen voetjes onder het bouwplatform. De onderdelen worden binnen enkele dagen bij je afgeleverd. Alle onderdelen kunnen eenvoudig in- en uitklikken of met een imbussleutel worden geplaatst.

Dremel 3D20 Idea Builder

Door een speling in het lot (en een beetje hulp van Marktplaats) heb ik sinds kort de beschikking over een tweedehandse Dremel 3D printer, type ‘3D20 Idea Builder’. De vorige eigenaar was er op uitgekeken maar bezwoer dat er goede prints mee gemaakt konden worden. Hij kon zelfs de originele doos nog tevoorschijn halen en was bereid het geheel, printer in doos, naar Groningen te verschepen. En alas, de ruim 10 kilo zware doos werd bezorgd, opengemaakt, de printer aangesloten op een stopcontact en minuten later (inclusief een noodzakelijke reparatie) werd de eerste print geproduceerd. Met een prima resultaat!

Onderhoud

Ik heb deze Dremel 3D20 tweedehands in 'gebruikte staat' gekocht en dan weet je dat je aan de beurt bent als het gaat om de cosmetische en technische staat. Deze printer was vies, er was in het deksel gezaagd en bij het inschakelen liep de X-as vast tegen de zijwand. Dat was echter snel te fixen door een microschakelaar recht te buigen en de viezigheid was na een uurtje poetsen met wasbenzine en hygienedoekjes als sneeuw voor de zon verdwenen. De totale schade was een printplaatje met microschakelaar, een ontbrekende bout M3x12, een uitgezaagd deksel, een uitgewoond acryl bouwplatform, versleten rubbers onder het bouwplatform, een ontbrekende spoelhouder en een ontbrekend stukje teflonbuis. Niet getreurd, Dremel heeft een uitstekend serviceapparaat en de volgende dag kwam DPD een grote doos onderdelen van Robert Bosch (het moederbedrijf van Dremel) met reserveonderdelen brengen. Na de vervanging van versleten en defecte onderdelen ziet de printer er weer zo goed als nieuw uit!

Deze Dremel 3D20 heeft als productiedatum mei 2015 en serienummer 105. Daarmee moet het wel één van de eerste 3D printers van Dremel zijn die van de productielijn zijn gerold. Omdat deze printer wereldwijd is verkocht, zal het aantal verkochte exemplaren in de tienduizenden of meer lopen en ‘nummer 105’ voelt dan enigszins speciaal. Met 844 printuren op de teller is de printer goed gebruikt geweest, maar anderen hebben in dezelfde tijd meer dan 4500 uur geprint en minder slijtage gehad, dus deze printer zit nog aan het begin van zijn technische levensduur. Alles lijkt inderdaad ook nog soepel, zij het allemaal wat lawaaierig door de grote holle kast, te werken.

Dremel DigiLab en Ultimaker Cura

De Dremel 3D20 accepteert zowel G-code als G3Drem bestanden. G-codes zijn van oudsher commando's die door computergestuurde fabrikagemachines worden gelezen en waarmee bewegingen in de X, Y en Z-richtingen in de tijd worden ingesteld. Het G3Drem formaat is een extraatje waarmee ondermeer een schermafdruk meegezonden kan worden dat op het display kan worden getoond. Het Dremel DigiLab programma produceert G3Drem bestanden, maar wordt niet heel actief meer onderhouden door Dremel. Het programma is echter gebaseerd op (een oudere versie van) het open source programma Cura, dat tegenwoordig van Ultimaker is. Ultimaker Cura kan worden voorzien van een speciale Dremel plugin, zodat met een goedonderhouden en actueel programma kan worden gewerkt.

Dremel 3D20 gebruiksvoorbeelden

De uitstraling van de 3D20 maakt de printer goed gezelschap in verschillende omgevingen maar zelf heb ik ervoor gekozen om de printer in mijn werkplaats te stallen. De ruimte is onverwarmd en soms stoffig, maar de printer is hier beter op z'n plek dan in andere delen van het huis.

Ik was nieuwsgierig hoe andere Dremel 3D20 gebruikers met hun printer omgaan. Een zoektocht op Google leverde een mooi overzicht van deze printer in actie: het is een veelgebruikte printer voor mensen die niet zozeer 3D printen hun hobby willen maken, maar 3D printen aan hun bestaande hobbies willen toevoegen. Ook kom ik voorbeelden tegen van mensen die een 3D20 gebruiken als onderdeel van een productiestraat voor producten waarin 3D geprinte onderdelen zijn verwerkt, zoals spatmaskers en onderdelen voor gereedschappen.

Conclusie

Ondanks zijn leeftijd is deze Dremel 3D20 een goede koop gebleken. De Cura software is van hoge kwaliteit met veel instellingsmogelijkheden en het werkproces sleep - slice - store - start gaat snel en eenvoudig. Hoewel ik in het verleden al diverse 3D-printers in huis heb gehad, is deze Dremel Idea Builder 3D20 de beste van het stel. Enigszins lawaaierig is hij wel, hoewel een Dremel boormachientje altijd nog meer herrie produceert. Ik voorzie met de Dremel 3D20 dan ook nog jarenlang printplezier vanuit de werkplaats.

doosje in 123D Design

Antennisator – part two

Nou moet zo'n Antennisator natuurlijk ook een mooie behuizing hebben en nou zouden we dat vroeger, als hobbyist, misschien wel van hout gemaakt hebben. Of metaal (blik?). Maar gegeven de omstandigheden (priegelige plugjes combineren met dik hout of antennesignalen overbrengen via een massadraad en dan monteren in blik) zou een dun plaatje kunststof in een kunststof doosje eigenlijk wel ideaal zijn. En dus wordt het tijd voor een 3D-printer, zoals de M3D die ik een tijdje van Rudi mag lenen!

Het idee voor een doosje is snel verzonnen: een rechthoekig bakje met een verzonken deksel, met de plugjes netjes passend in het deksel gemonteerd.

Maar zo'n idee is nog geen 3D-print, er moet eerst nog wat extra werk gedaan worden. Zo moet er in ieder geval een lijst met instructies gemaakt worden om er voor te zorgen dat de printer ook daadwerkelijk een doosje gaat printen. Nou hoef je die lijst met instructies gelukkig niet zelf te verzinnen, er zijn speciale programma's die jouw 3D-ontwerp vertalen naar instructies waar je printer wat mee kan.

Twee van die programma's zijn 123D Design en OpenSCAD. Laten we beide programma's maar eens uitproberen.

Als eenvoudig doel had ik mij zelf gesteld om een doosje te ontwerpen van 90x60x35 mm met een wanddikte van 3 mm en met 6 rechtopstaande balkjes binnenin waarop een dekseltje zou kunnen rusten. Die 6 balkjes zijn natuurlijk 3 mm lager dan de rand van het doosje, zodat een dekseltje er mooi verzonken in kan liggen.

In 123D Design ziet dat er dan zo uit:

doosje in 123D Design

het doosje in 123D Design

123D Design is een prachtig hulpmiddel, maar zeker in het begin ben je constant aan het zoeken in youtube naar voorbeeldfilmpjes, want voor een argeloze gebruiker is er wel wat gewenning nodig (zo gebruik je de "J"-toets om van een gevulde rechthoek een holle rechthoek te maken. En als je iets wil kopiëren gebruik je natuurlijk de combinatie <ctrl>C <ctrl>V alleen krijg je dan wel een soort van gradenboog te zien, die je gebruikt om de kopie op de juiste plek te zetten. Reuze handig, maar je verwacht het niet...)

OpenSCAD hanteert een iets andere filosofie:

het doosje in OpenSCAD

het doosje in OpenSCAD

Er wordt hier met source code gewerkt, wat voor mij als oud-programmeur gesneden koek is. Maar op basis van deze source code is het nog niet makkelijk kiezen tussen 123D Design en OpenSCAD:

Source code OpenSCAD

Source code OpenSCAD

...maar wacht even: in een source code kun je vast ook met variabelen en functies werken! Ja, dan begint het een heel ander verhaal te worden:

Source code OpenSCAD, met variabelen

Source code OpenSCAD, met variabelen

Mijn enthousiasme begon te groeien, ik begon mijn beide tienerzonen te wijzen op het gemak van variabelen in een source, dat je dan door het wijzigen van één waarde de wanddikte op alle plaatsen in je model kunt aanpassen (dus niet alleen de wand zelf, maar ook de dikte van de ondersteunende balkjes)...

...of ik de heren heb kunnen overtuigen, weet ik niet, maar voor mijzelf begon er wel iets duidelijk te worden!

Ik ben verkocht, mijn keuze is OpenSCAD.

...wat niet wil zeggen, dat je niet hele knappe, fraaie dingen kunt doen met 123D Design, zoals deze heel ervaren meneer laat zien:

bovenkant antennisator

Duin’s 1e 3D-project: De Antennisator

"moet ik nog wat voor je meenemen?" "Nah, geloof het niet... Of, wacht eens, ik heb eigenlijk nog een 3D-printje nodig!"

Altijd gezellig als beste vriend Rudi langskomt. Een doordeweekse avond gevuld met dingen waarvan je zou willen dat die ook doordeweeks waren. Maar ja, of er doordeweeks ook altijd boterhammetjes mee te verdienen zijn...

Eén van mijn projectjes was een antenne-project voor m'n DAB+ ontvanger (een Sangean DPR-32):

dab+radio Sangean DPR-32

Sangean DPR-32

Ik gebruik dit ontvangertje op kantoor en de ontvangstkwaliteit is erg afhankelijk van de antenne. Die dan tevens dienst doet als koptelefoonsnoer. Tja, botsende belangen. Gelukkig is daar een oplossing voor bedacht:

Antenna decoupler

Antenna Input & Audio Lineout Adaptor For Portable Radios

Antenna Input & Audio Lineout Adaptor For Portable Radios

Even uitproberen met een stukje karton en een spinnenweb van componentjes en verdraaid, het lijkt nog te werken ook!

bovenkant antennisator

bovenkant antenne-prototype

onderkant antennisator

onderkant antenne-prototype

Nu nog een naam voor het project. Nou dat is natuurlijk ook snel gevonden. In goede Phineas&Ferb-traditie: De Antennisator!

(waar komt die galm vandaan?)

...

Virtual Reality met je iPhone

OpenDive_RMX_iPhone4_preview_featured

De Oculus Rift is een virtual reality headset waarmee de drager zich in een 3D wereld waant. Het geheim van deze bril zit in de twee beeldschermen die zich in de bril bevinden en de sensoren die de bewegingen van de gebruiker omzet in beeldveranderingen. Een Oculus Rift kost een flink zak met duiten. Soortgelijke functionaliteit kan echter met veel eenvoudiger middelen worden bereikt: een gemiddelde smartphone voorziet al in de belangrijkste eigenschappen (hoge resolutie beeldscherm, gyroscoop, snelle processor) en die hebben de meeste mensen al. Het enige wat nog mist is een stel lenzen en een geschikte houder om het geheel om het hoofd te bevestigen. De houders-met-lenzen zijn kant-en-klaar te verkrijgen, maar gezien de eenvoudige constructie is dit ook prima te knutselen.

Er zijn verschillende toepassingen voor virtual reality headsets:

  • Films in 3D bekijken
  • Alternate reality immersion, zoals games in 3D spelen of het op afstand door een ruimte heenlopen (virtual property visiting)

De volgende kant-en-klare opties zijn beschikbaar om een iPhone (of andere smartphone) als basis voor een virtual reality headset te gebruiken:

Ook zijn er enkele doe-het-zelf opties, veelal soms als kit verkrijgbaar:

In termen van software zijn verschillende applicaties in de iOS App Store de moeite waard om uit te proberen:

  • The Height (Shoogee, gratis)
  • Refugio3D SpaceStation (Claudio Panzanaro, gratis)
  • Homido 360 VR player (Mathieu Parmentier, gratis)
  • Dive Unity Headtracker (Durovis, gratis)
  • Sky Siege 3D (Simbiotics, € 1,79)

Ik ben een aantal verschillende ontwerpen aan het printen-met-de-3D-printer:

3D ontwerp met Autodesk 123D Design

Tot dusverre was ik niet zo'n held in het ontwerpen van 3D voorwerpen. Ik kan een 3D voorwerp tot in detail voor me zien en desgewenst in perspectief (met pen an papier) schetsen, maar de bediening van 3D ontwerpsoftware hield me tegen om een volwaardig 3D ontwerp te maken. Afgelopen maand heb ik toch maar eens wat tijd gestoken in het onder de knie krijgen van een 3D ontwerp pakket. Ik heb geëxperimenteerd met OpenSCAD en recentelijk 123D Design van Autodesk. Vooral die laatste is gemakkelijk aan te leren. Het verschil tussen OpenSCAD en 123D Design is de bediening: het 3D model wordt in OpenSCAD met scripttaal ontwikkeld en in 123D Design met de muis.Schermafdruk 2014-11-04 09.14.16Om aan de gang te komen heb ik een kunststof beugeltje ontworpen waarmee een kleine videomonitor en een DJI Phantom 2 afstandsbediening met elkaar kunnen worden verbonden. Er zijn al een aantal van dit soort beugeltjes ontworpen, maar geen ervan precies naar mijn smaak of geschikt om zelf te 3D printen. Om wat in de lijn te blijven van de ronde vormen van de afstandsbediening heb ik aan de hand van een bestaande beugel een schets gemaakt van hoe het beugeltje er vanaf de zijkant gezien uit moet zien, met mooie vloeiende lijnen. Deze schets heb ik ingescand en als basis gebruikt voor het 3D ontwerp in 123D Design. Door verschillende vormen samen te voegen en van elkaar af te trekken ontstond het uiteindelijke ontwerp. Opgeslagen als STL en er de 3D printer mee aan het werk gezet. Kind kan de was doen.Schermafdruk 2014-11-04 09.14.38

Test RepRapWorld J-Head voor 1,75 mm filament met 0,35 mm spuitgietopening

J-Head kit van RepRapWorld

Onderdelen van de J-Head: holle moer, teflonbuisje voor in de houder, NTC, hot end en houder, verwarmingselement

RepRapWorld is een Nederlandse webwinkel die op eBay actief is. De winkel verkoopt onderdelen, kits en filament bedoeld voor 3D printen. Afgezien van de naam heeft de RepRapWorld winkel op eBay geen zichtbare overeenkomsten met de webwinkel RepRapWorld.com, die overigens een vergelijkbaar assortiment heeft. RepRapWorld op eBay heeft vier verschillende J-Heads in de verkoop, bedoeld voor 1,75 mm en 3 mm filament en met 0,35 of 0,5 mm diameter spuitgietopening. De geteste J-Head heeft een "native" 1,75 mm hot end: de boring van het smeltblok is ongeveer 2 mm. Dit betekent dat er geen PTFE buisje in de hot end geplaatst hoeft te worden. De diameter van de spuitgietopening is 0,35 mm.

J-Head hot end mark IV, houder mark V (eBay RepRapWorld)

Messing J-Head hot end versie 4 met verwarmingselement en NTC, houder versie 5 (eBay RepRapWorld)

De geteste J-Head bestaat volgens opgave van RepRapWorld uit een hot end versie 4 en een houder versie 5. Er is hier expliciet bij aangegeven, dat er niet van het ontwerp is afgeweken. Het valt echter op dat de houder van RepRapWorld geen ventilatiegaten heeft: deze zitten wel in het ontwerp. De houder is voor een teflon rietje met een binnendiameter van 1,8 mm uitgeboord. De holle moer heeft niet de juiste binnendiameter en er moet nog een M3 sluitring gebruikt worden om de diameter te verkleinen. De messing hot end heeft niet de voorgeschreven 3,5 mm diameter voor de doorvoer van filament, maar 2 mm, geschikt voor 1,75 mm filament.

De J-Head wordt geleverd met een verwarmingselement. Deze laatste past niet direct, maar moet met een vijl passend worden gemaakt. Met wat siliconenpasta blijft het verwarmingselement op zijn plaats. De meegeleverde NTC is van het type B57560G104F.

De eerste test bestaat uit het handmatig doorvoeren van 1,75 mm ABS bij een temperatuur van 220 °C. Het filament gaat slechts moeizaam, ik meet een maximale handmatige doorvoer van 30 mm per minuut. Het verhogen van de temperatuur heeft hier geen merkbare invloed meer op.

Voor de volgende test heb ik de hot end van de J-Head ingepakt in isolatiemateriaal, vastgeplakt met kapton tape. Op deze manier heeft de hot end veel minder warmte-uitstraling op de al geëxtraheerde kunststof. Voor de aandrijving zorgt een NEMA-14 stappenmotor, gekoppeld aan een EZstruder. De softwareinstellingen zijn 225 °C met een maximale doorvoer van 60 mm per minuut. Het proefobject is een carabijnhaak van 19 laagjes. Het printen op de verwarmde plaat gaat uitstekend, hoewel het kunststof wat aandoet alsof de temperatuur nog wel iets hoger had gekund. Het valt op dat de stappenmotor erg heet wordt. Halverwege de test stopt de uitvoer, maar de EZstruder blijft wel invoeren. Er vormt zich een krul van filament tussen EZstruder en J-Head: door de warmte van de stappenmotor is het filament zo zacht geworden dat het boven de J-Head al is gaan vervormen.

Hadron met 1,75 mm ABS "Snow White"

Hadron met 1,75 mm ABS "Snow White"

Voor de derde test heb ik de stroom naar de stappenmotor proefondervindelijk verlaagd totdat de stappenmotor bij het doorvoeren van 30 mm/min en 225 °C nét niet meer 'bokt'. De softwareinstalleingen zijn nu 225 °C met een maximale doorvoer van 30 mm per minuut. Het proefobject is een deksel. Het printen gaat nu zonder problemen, maar het geprinte voorwerp maakt ook nu de indruk alsof de extrusietemperatuur iets hoger had gekund. Het printen van het deksel nam ongeveer 90 minuten in beslag. Tijdens het printen bleef de temperatuur van de stappenmotor steken op ongeveer 70 °C.

1,75 mm ABS filament, 225 graden C

1,75 mm ABS filament, 225 graden C

Leerpunten

  • De bovenkant van het smeltblok van de J-Head heeft een temperatuur die hoog genoeg is om het ABS te laten plakken of smelten. De doorvoer wordt hierdoor vermoeilijkt;
  • Een te hoge stroom door de stappenmotoren maakt het ABS ter hoogte van de stappenmotor zacht. De hoge stroom is voor een deel te voorkomen door de stroombegrenzing van de besturing in te stellen, maar wordt vooral veroorzaakt door te hoge doorvoersnelheden;
  • Een laagdikte van 0,25 mm levert prima resultaten op;
  • De EZstruder is werkelijk ongelofelijk sterk: de stappenmotor zal het eerder opgeven dan de grip van de EZstruder op het ABS. Dit betekent dat de stappenmotor het zwaar zal hebben.

Misverstanden over 3D printen

3D printen is de laatste twee jaar helemaal in het nieuws en de innovaties lijken elkaar in een rap tempo op te volgen. De mogelijkheden van stereolithografische productieprocessen, zoals 3D printen, zijn slechts beperkt door ontwerpcreativiteit. Het enthousiasme rondom de berichtgeving is dan ook groot en het nieuws pikt elke vorm van speculatie over nieuwe toepassingen op. En omdat iedereen het nieuws herhaalt, ontstaan er ook misverstanden. Ik heb er een paar verzameld.

  1. 3D printen is iets van de laatste jaren
    Nee, dat is het niet. 3D printen werd al in 1984 door Charles Hull uitgevonden, die er het bedrijf 3D Systems voor oprichtte. 3D printen is de laatste tijd vooral in het nieuws omdat er in de hobbysfeer veel mogelijkheden ontstaan en 3D printen betaalbaar wordt. Professionals maken al veel langer gebruik van 3D printen.
  2. Je kunt met alles 3D printen!
    Nee, dat is niet zo. 3D printen gaat in dunne laagjes, waarbij het nieuwe laagje ondersteund moet worden door het voorgaande laagje. Het gebruikte materiaal moet daarom tijdig uitharden. Maar niet té snel, want anders verstopt de transportleiding van het materiaal. Vervormbaarheid en relatief gewicht zijn hierbij sleutelwoorden. Kunststof wordt veel gebruikt, maar snel stollende etenswaren kunnen ook. Chocola smelt mooi en stolt snel en is daarom uitstekend geschikt om mee te 3D printen. Beton is niet geschikt. Slagroom wel. Lichte klei wel.
  3. Met 3D printen kun je een pistool printen
    Je kunt zeker een pistool printen, of een mes, of een breekijzer. Deze voorwerpen zijn echter van plastic. Het afvuren van een plastic pistool levert een groter gevaar op voor de gebruiker dan voor het doelwit en een plastic mes is niet heel scherp. Het maakt wel mooie krantenkoppen.
  4. Je moet later nog alle onderdelen in elkaar zetten
    Nee, dat hoeft niet. Het is alleszins mogelijk om in elkaar passende onderdelen, zoals scharnieren of tandwielen, reeds geassembleerd te printen.
  5. 4D printen is iets nieuws
    Nee, dat is het niet. Er is, anders dan in de media, geen sprake van 4D printing: de beschrijving hiervan slaat op het printen van volledig geassembleerde voorwerpen en slimme ontwerpen. Dat kan al sinds 1984. Zie ook punt 3.
  6. 3D printen levert geen innovaties op
    Ik denk van wel: er worden honderden nieuwe 3D voorwerpen per dag bedacht en veel ervan heb ik nog nooit eerder gezien. Mensen worden creatief met 3D-ontwerptools omdat ze weten dat alles wat ze kunnen bedenken kunnen (laten) produceren.
  7. 3D printen voor thuisgebruik is de toekomst
    Waarschijnlijk niet op de manier zoals deze nu in het nieuws is, waarbij een rol plastic wordt omgesmolten tot voorwerpen. Die manier waarop plastic wordt gesmolten en in laagjes wordt opgebracht om zo te komen tot een 3D voorwerp is erg foutgevoelig, tijdrovend en technisch lastig om langdurig probleemloos te laten werken. Het smelt-en-print-in-laagjes-proces is echter bereikbaar voor hobbyisten en spreekt erg tot de verbeelding. Professionals, zoals Shapeways, gebruiken echter iets anders.
  8. Met 3D printen krijg je thuisfabriekjes die de grote fabrieken bedreigen
    Geen schijn van kans op: 3D printen is geschikt voor "one off" productie: voorwerpen waar je maar één of een klein aantal van nodig hebt. Het hele productieproces is vooral geschikt voor het maken van een prototype: het proces is te duur (energieverbruik) om te kunnen concurreren tegen bijvoorbeeld een spuitgietproces of het vacuumvorm proces. En vergeet niet dat het printen van 3D voorwerpen relatief veel tijd in beslag neemt: het printen van één enkel Lego blokje neemt al gauw tien minuten in beslag, terwijl in die tijd er duizenden blokjes via een spuitgietproces gemaakt worden.
  9. Met 3D printen kun je huizen printen!
    In theorie wel. Maar het maken van huizen is een eeuwenoud productieproces waar veel kosteneffectievere oplossingen voor zijn dan "printen". In de kostenopbouw van een huis zijn de loonkosten slechts een deel van het eindbedrag: bouwmaterialen, inrichting, grondkosten en belastingen veranderen niet met 3D printen. Maar het maakt wel mooie krantenkoppen.
  10. 3D printen levert geen nieuwe mogelijkheden op
    Juist wel: het stimuleert innovatie enorm! Je kunt dingen maken die niet op een andere manier te produceren zijn. Bijvoorbeeld aluminium buizen met een honingraad profiel. En onderschat de motiverende waarde niet: ontwerpers kunnen nu op hun eigen bureau prototypes produceren. Dit stimuleert enorm de ontwerp innovatie.
  11. 3D printen is een uitkomst in de medische wereld
    Absoluut. Ondanks het feit dat de medische wereld meerdere methoden heeft voor het ontwikkelen van prostheses, is 3D printen een oplossing die goed aansluit op de toch al aanwezige 3D scanmethoden.
  12. Een 3D printer is onbetaalbaar
    Nee hoor, een 3D printer is er al voor een kleine 400 euro, zoals de Hadron die ik zelf heb gebouwd.

Aandrukconstructie voor het filament

J-Head variaties

Ik schijn één van de weinigen in de wereld te zijn die veel problemen heeft met de extruder van zijn 3D-printer (not). Nou ben ik ook één van de weinigen die print met ABS en niet met PLA. Een extruder is het productiedeel van de 3D-printer dat zorg draagt voor de aanvoer en het smelten van de kunststof, bij voorkeur in de juiste hoeveelheden op het gevraagde moment. In de basis is een extruder niet ingewikkeld: een verwarmingsblok-met-spuitmondje en een motor-met-tandwiel, dat is het wel. In de details kan echter veel misgaan. En wat hierbij niet helpt, is dat de 3D-printwereld sterk leunt op "Open Source", alle ontwerpen zijn openbaar. Dat leidt ertoe dat er veel kleine toeleveranciers zich op de verkoop van onderdelen hebben gestort, kleine webwinkels die niet altijd het verschil weten tussen een J-Head voor 3 mm of een J-Head voor 1,75 mm filament. Of tussen ABS en PLA. Of tussen een NTC van type A of een NTC van type B.

Kortom, ik heb op dit moment een probleem om mijn J-Head betrouwbaar te laten werken met mijn Hadron.

De J-Head is een ontwerp van Brian Ryfsnyder, een Amerikaanse softwareontwikkelaar met een fijnmechanische thuiswerkplaats en -webwinkel. Op het ontwerp van Brian zijn door diverse mensen verbeteringen aangebracht en er bestaan tientallen subtiel verschillende versies. De J-Heads zijn met verschillende diameter spuitgietmondjes (0,5; 0,35 en 0,25 mm bijvoorbeeld) en voor twee diameters filament (3 en 1,75 mm) uit te rusten. Verder zijn er allerlei verschillende verwarmingselementen en temperatuursensoren te gebruiken en uiteraard zijn er verschillende manieren om het filament te transporteren.

Ik heb ondertussen twee verschillende J-Heads in mijn bezit, van GB_Reprap en RepRapWorld. Beide zouden zijn bedoeld voor 1,75 mm filament en beide hebben ze een 0,35 mm spuitmondje. Het probleem met de ene is, dat er een grote ruimte voor het spuitmondje zit, waar een klomp ABS gaat ophopen. Het probleem met de andere is, dat de verschillende onderdelen niet bij elkaar lijken te passen. Ik ben niet de enige die hier tegen aanloopt.

In de foto's hierboven heeft J-Head B (rechts) een veel te grote diameter in het smeltblok, waardoor het filament er na afkoeling niet meer uit kan en er hiernaast een vertraging optreedt tussen doorvoer van het filament en de uitvoer via het spuitmondje. J-Head B is dan ook voor 3 mm filament bedoeld en werd met een niet-passende conversiekit geleverd. J-Head A (links) heeft mogelijk een te krappe doorvoer: zelfs bij 250 graden C is het bijna niet mogelijk om het 1,75 mm filament met de hand door te voeren. Klapperende stappenmotoren en oververhitte stuurelektronica tot gevolg.

Overigens, het ABS dat ik gebruik wordt geproduceerd door een Chinees bedrijf, Chi Mei Corporation. Het ABS is van het type PA-757. Ik koop het normaal bij RepRapWorld. Volgens de specificaties wordt de vloeibaarheid uitgedrukt in g/10 min bij een bepaalde temperatuur en druk. PA-757 heeft een vloeibaarheid van 1,8 g/10 min bij 200 °C en 5 kg druk. Er zijn ABS varianten met een vloeibaarheid van tegen de 10 g/10 min bij dezelfde omstandigheden, iets om later eens in te duiken.

Ik lees de volgende quote, "While printing ABS, if the nozzle clogs due to crystalized filament the temperature is most likely too high.". Dat kan natuurlijk best in mijn geval zo zijn.

J-Head doorsnede van RepRapWorld (A) en GB_Reprap (B)

J-Head van RepRapWorld (hot end mark IV, houder mark V)

De J-Head van RepRapWorld (A) miste uiteindelijk alleen een M3 waaier om het PTFE buisje mee vast te zetten. De boring in het messing smeltblok lijkt wat krap voor 1,75 mm, maar het filament gaat er toch soepeltjes in, tot een fractie van een millimeter voor de 0,35 mm uitgang van het spuitmondje.

Ik heb een proefopstelling gemaakt met de J-Head van RepRapWorld, waarbij ik handmatig het filament door het smeltblok kan voeren. Bij een ingestelde temperatuur van 220 °C smelt de ABS al bij het invoeren. Bij gebrek aan een krachtmeter doe ik een inschatting: ik moet met ongeveer met 5 kilogram duwen om ongeveer een halve tot een hele millimeter filament per seconde in te voeren. Ik heb deze proef met vijf verschillende kleuren ABS herhaald en drie verschillende temperaturen. Een aantal keer met een kleine inbussleutel het smeltkanaal vrijgemaakt.

Ter vergelijking: de 0,35 mm extruder van QU-BD heeft aan een halve kilo genoeg om centimeters per seconde door te voeren (zo lang hij niet vastloopt).

Conclusie: het smeltblok-met-spuitmondje van de J-Head van RepRapWorld dat bedoeld is voor 1,75 mm filament en een uitvoer met een diameter van 0,35 mm heeft, heeft een grote kracht nodig om ABS door te voeren, veel groter dan de QU-BD set. Dit maakt dat er grote stromen naar de stappenmotor nodig zijn, met als gevolg lage doorvoersnelheden en/of een grote kans op falende (of tijdelijk uitschakelende) elektronica. Dit kan verschillende oorzaken hebben, waaronder een te kleine diameter spuitmond of een te ruw afgewerkt smeltkanaal aan de binnenkant van het smeltblok. Maar betrouwbaar werken gaat het met mijn Sanguinololu niet.

J-Head van GB_Reprap (hot end mark ??, houder mark ??)

De J-Head van GB_Reprap (B) is bedoeld voor het gebruik met 3 mm filament, in plaats van de door mij gebruikte 1,75 mm. Volgens GB_Reprap volstaat het, om een geschikt teflon buisje te gebruiken om de 1,75 mm filament door te voeren. De benodigde onderdelen werden echter niet meegeleverd en het gebruik voor 1,75 mm filament zonder een speciaal teflon buisje vanaf het spuitmondje tot bovenin de houder werkt niet goed en zorgt ervoor dat je het filament niet kunt verwisselen zonder de hele J-head te demonteren.