3d printers – Overzicht

2021-08 heb ik de volgende 3d printers operationeel:

  1. Voron DIY 2.4 300x300x300
  2. Sapphire Pro
  3. Prusa mini
  4. I3 Prusa Bear DIY Fly-CDY-V2 met onafhankelijke Z-assen
  5. I3 Prusa Bear ‘plus’ DIY met onafhankelijke carriages
  6. A30M Duet2wifi Geetech dual head
  7. Delta G2S Duet2wifi Geetech single head speedprinter
  8. Kingroon KP3 mini
  9. Flashforge adventurer 3
  10. Ender3pro met MMU2S penta colour

 

3D reproductieservice

Heb je een onderdeel of object dat je nagemaakt wilt hebben?

Of in een andere kleur, maat of materiaal wilt hebben?

Otwerp voor pasbus (Nylon)

 

Wij kunnen je helpen met onze 3D Scan service!  Met onze 3D scanners maken we een exacte opname van je voorwerp door het volledig rondom fotografisch vast te leggen.

3D-Scanner XYZ voor vastleggen van kleine details

Daarna verwerken we de opnames naar een 3D printbaar ontwerp.

Het 3D ontwerp kunnen we schalen naar groter of kleiner, rekken naar langer, breder, korter enzovoorts.

Vervolgens kunnen we het al dan niet aangepaste ontwerp printen in allerlei soorten materiaal met enkele of meerdere kleuren, transparant en dergelijke.

Nylon verloopbus voor flexibele buispassing

Her resultaat is snel beschikbaar en je kan er eenvoudig meer bij bestellen!

3D printservice

Wij maken een exclusieve print van je ontwerp, op maat en supersnel!

Prints van buisadapters, luchtafvoer en filterhuis

Aanleveren van je ontwerp gaat via mail naar info@3dsnel.nl.

Betalen gaat vooraf via ons paypal account of via een tikkie.

Verzendkosten zijn op basis van NLpost tarieven, meestal is dat Eur 6,95.

Wij printen dezelfde dag en versturen de volgende dag. Wil je het sneller of wil je de print(s) ophalen  bel ons dan even of neem contact op via een appje.  Wil je meerdere prints dan kan het wat langer duren voor alles klaar is.

Je kunt bij ons terecht voor het afdrukken van 3D ontwerpen in PLA en PETG tot 50x50x50 cm.  ABS kunnen we printen t/m 22x22x22 cm.

  1. PLA is de goedkoopste optie voor het 3d printen. PLA is perfect voor de meeste toepassingen en is beschikbaar in de basiskleuren zwart, rood, oranje, geel en wit.  PLA heeft meestal een glimmende afwerking.
  2. ABS is de duurste optie voor het 3d printen vanwege de gesloten machines met hogere temperaturen die nodig zijn voor ABS. ABS is voor toepassingen waar extra sterkte nodig is en/of waar de print wordt gebruikt bij hogere temperaturen.  Beschikbare kleuren bij ons in ABS zijn zwart, rood, oranje en wit.  ABS heeft standaard een matte afwerking, en kan op verzoek ook in glanzende afwerking worden geleverd.
  3. PETG zit qua prijs tussen PLA en ABS in en heeft bijna dezelfde eigenschappen als ABS maar is iets minder sterk. De PETG  basiskleuren zijn bij ons zwart, rood, oranje, blauw en wit. PETG heeft meestal een matte afwerking maar is ook met glimmende afwerking te krijgen.  Met de juiste PETG materiaalkeuze is een voedingsmiddelen certificaat leverbaar.
  4. NYLON is onze laatste toevoeging aan het assortiment.  Primair bruikbaar voor automotive toepassingen waar hoge sterkte en flexibiliteit belangrijk is.  Nylon is ook erg goed bruikbaar in de voedingsmiddelen industrie.

Tegen meerprijs kan geprint worden in PLA bronskleur, goudkleur, zilverkleur, eikenmix, berkenmix, rose, paars, donkergroen, donkerblauw, lichtblauw en felgroen.

Mengkleuren zijn ook mogelijk, we kunnen tot 4 kleuren in 1 ontwerp verwerken.

Onze 3d printmachines zijn beschikbaar voor afdrukken met 1 t/m 4 kleuren per print.

Afdrukken met meerdere kleuren zijn 30% duurder i.v.m. materiaalverlies.

We helpen je graag met je ontwerp.

Openscan ontwerpen maken wij voor je tegen uurtarief

Wij adviseren om eerst bij ons een ontwerpafdruk te laten maken om voordat je definitief een ontwerp laat printen,.  Een ontwerp print is sneller klaar en kost ca. 50% minder dan een definitieve print.  Een ontwerpprint wordt op onze delta 3d machine geprint met hoge snelheid en lage(re)  resolutie.  Met een ontwerpprint kun je in het echt zien hoe je ontwerp er uit ziet, met de juiste maten en passing.  Meestal is er nog wel wat aan te passen na de eerste print en dat gaat met een ontwerpprint lekker snel.  Daarna kun je het ontwerp aanpassen en nog een ontwerpprint maken of gelijk de finale 3d print laten maken.  It’s up to you!

 

Kerstster deur/raamhanger Arduino nano en WS2812 LEDS

Geprint op de Voron2.4-300 met wit PETG filament.

De ontwerp file voor het 3d printen in STL staat HIER.   Je moet 5 punten printen, de LED’s er doorheen voeren en daarna de draden er ergens uit laten komen.  De punten kun je na het monteren en testen aan elkaar lijmen met hotglue of transparant siliconen.

De 3 draden van de WS2812 LED string soldeer je aan de Arduino Nano (5V aan 5V, Gnd aan Gnd en de Data IN van de LED string soldeer je aan D3 van de Arduino Nano.  That’s it!   Daarna kun je de Arduino aan je PC koppelen met een data USB kabel en kun je de code downloaden van mijn website.

Als je de Arduino IDE nog niet hebt, download dan de app van de Microsoft website (Arduino IDE).

Zorg dat je mijn Arduino code download en open dit met de Arduino IDE APP> Waarschijnlijk moet de APP de arduino INO file nog herplaatsen in een nieuwe directory maar dar hoort vanzelf te gaan. Zo niet, doe dat dan zelf even.

Selecteer in de Arduino IDE de juiste microprocessor (Arduino Nano)..  Vervolgens de juiste versie processor (groot of klein geheugen) en de oude of nieuwe bootloader.  Deze keuzes zijn afhankelijk van het soort Nano dat je hebt gekocht of nog had liggen.  Daarna kies je de juiste poort (USB) voor je Nano.

Om te testen of je verbinding hebt tussen IDE en Nano , kun je opvragen of de Arduino IDE je Nano kan lezen.  Pas hierna kun je de Nano gaan laden met het gecomplieerde programma.

Succes!

De Arduino code staat HIER.

Kerstster deur/raamhanger Arduino nano en WS2812 LEDS

Geprint op de Voron2.4-300 met wit PETG filament.

De ontwerp file voor het 3d printen in STL staat HIER.   Je moet 5 punten printen, de LED’s er doorheen voeren en daarna de draden er ergens uit laten komen.  De punten kun je na het monteren en testen aan elkaar lijmen met hotglue of transparant siliconen.

De 3 draden van de WS2812 LED string soldeer je aan de Arduino Nano (5V aan 5V, Gnd aan Gnd en de Data IN van de LED string soldeer je aan D3 van de Arduino Nano.  That’s it!   Daarna kun je de Arduino aan je PC koppelen met een data USB kabel en kun je de code downloaden van mijn website.

Als je de Arduino IDE nog niet hebt, download dan de app van de Microsoft website (Arduino IDE).

Zorg dat je mijn Arduino code download en open dit met de Arduino IDE APP> Waarschijnlijk moet de APP de arduino INO file nog herplaatsen in een nieuwe directory maar dar hoort vanzelf te gaan. Zo niet, doe dat dan zelf even.

Selecteer in de Arduino IDE de juiste microprocessor (Arduino Nano)..  Vervolgens de juiste versie processor (groot of klein geheugen) en de oude of nieuwe bootloader.  Deze keuzes zijn afhankelijk van het soort Nano dat je hebt gekocht of nog had liggen.  Daarna kies je de juiste poort (USB) voor je Nano.

Om te testen of je verbinding hebt tussen IDE en Nano , kun je opvragen of de Arduino IDE je Nano kan lezen.  Pas hierna kun je de Nano gaan laden met het gecomplieerde programma.

Succes!

De Arduino code staat HIER.

FLY 407 board met TFT2.4 inch, wifi en RRF3

2021-05-11

Ik heb vandaag het Mellow Fly 407 board binnen gekregen, en het werkt nu geweldig!

Ik heb de Mellow dedicated wifi unit aangesloten op EXP 1 en EXP2 en op de seriële TFT aansluiting, de microSDcard offline op de PC geprogrammeerd met de bestanden van de voorgestelde Github site en het ging allemaal geweldig!  (De kleine toegevoegde handleiding is erg goed, gewoon de aanwijzingen volgen en het kan niet fout gaan)!

Eerst de firmware van het board gebrand, daarna de firmware van de wifi esp module en na het instellen van de wifi met YAT via USB, heb ik de wifi instellingen geprogrammeerd.  Daarna heb ik met de WDC PC-remote console van de Duet via wifi het FLY 407 moederbord ge-upload met de laatste beschikbare firmware: RRF3.4 beta en de laatste wifi- en DWC versies.

Daarna heb ik de seriële verbinding tussen de TFT aansluiting op het moederbord en de wifi module verwijderd en de BTT 2.4 inch TFT op dezelfde seriële poort aangesloten.  Omdat er maar 1 tft poort beschikbaar is, gebruik ik dezelfde seriële poort die ik gebruikte voor het programmeren van de esp wifi module.  Ik heb de RRF3 firmware al op de TFT unit gezet.

Wel, de resultaten zijn geweldig! Op de TFT na het aansluiten zie je de extruder stappen van 0 naar 1-2-3-4 en weer terug naar 0 dus dit werkt allemaal erg mooi!

 

Ronde klok WS2812 & Arduino nano

READ THIS ARTICLE IN ENGLISH

In de bovenstaande video zie je alle benodigde onderdelen voor de electronica.  Een arduino Nano, een tijdmodule LS3231 met batterij back-up en een 4-delige ring met elk 15 stuks WS2812 LED’s die zorgen voor een 160mm 60 LED units klok.  Je kunt hem bouwen als een open gebouwde unit zoals hierboven afgebeeld met draad of in een 3d printbare slanke behuizing die ik heb ontwikkeld.  Zie de foto’s hieronder.

Voor het bouwen van deze mooie nauwkeurige klok, kun je mijn ontwerp files voor de behuizing gebruiken op elke 3d printer die een horizontale bed size heeft van minimaal 165x165mm.

Pak de beide print STL’s . HIER. van de Prusa gedeelde site waar ik deze ontwerpen heb geupload. (Als de link breekt, zoek op de prusa site naar ws2812 circulaire arduino klok).

OF haal het STL bestand voor de VOORKANT van de klok van mijn website HIER

EN haal het STL bestand voor de achterkant van de klok van mijn website HIER

Eén STL is voor de achterkant en bevat de Nano box, de andere is voor de voorkant van de klok.  Positioneer de achterste STL 180 graden (dus omhoog gaat omlaag) in uw slicer, zodat zowel de doos als de LED-behuizing op Z-0 niveau zijn, d.w.z. naar beneden gericht op hetzelfde horizontale niveau.   De voorkant kan het best geprint worden met de platte kant naar beneden.  ABS is niet aan te raden omdat het minder stijf is, maar zal waarschijnlijk ook werken.  Voor mij werkt PETG of PLA het beste.

Gebruik wit filament voor het voorste deel, de achterkant kan elke kleur zijn die je wilt.

In de cirkel worden de 4 WS2812 LED segmenten in 1 volledige cirkel van ongeveer 160mm geplaatst.

Als je de elektronica aan de achterkant hebt aangesloten, schuift de voorkant er zo overheen. Geen lijm nodig.  Maar de LED ring kan best op 4 plaatsen met een druppel hotglue aan de basis van de achterste behuizing gelijmd worden.  Dit kun je het beste doen als je zeker weet dat alles goed werkt.

De LED onderdelen zijn verkrijgbaar op o.a. banggood , aliexpress en zo, zoek naar 60LED circle WS2812 die de 160 mm buitendiameter heeft.

Elke LED vertegenwoordigt een punt voor seconden, minuten of als uur indicator.

De kleuren detemine de functie.  Blauw wordt ook gebruikt als kwartier indicator met minder intensiteit, om een gevoel van positionering te hebben voor de andere LEDS als het donker is.

Kijk naar de video hierboven van het ‘open’ demonstratiemodel om te begrijpen hoe het werkt.

Hieronder vindt u de Arduino code voor de gebruikte Nano3, as-is. het werkt voor mij, en in de code vindt u ook alle benodigde elektrische aansluitingen en de specificaties van de gebruikte Time module.

Wanneer aangesloten op je PC, kun je de Arduino programmeren en via de seriële interface kun je naderhand speciale instellingen van de klok wijzigen, zoals helderheid, speciale kwartierverlichtingsindicatoren, enzovoort. het staat allemaal in de code hieronder.

De aansturing kan via een seriële interface met de usb ingang van de Arduino, via een terminalprogramma zoals YAT of met de interface van het Arduino IDE programma.

De commando’s zijn:

f; fader UIT
F; fader AAN
m (getal); dim de 4 blauwe marker LED’s met waarde (getal)
S; synchroniseren met RTC tijd
s; synchroniseren met systeemtijd (computer)
t (tijd); systeemtijd veranderen in:
b; helderheid van alle niet-marker LED’s

Doneer a.j.b. $1 aan mijn paypal account als je (delen van) mijn ontwikkelde materialen gebruikt, zodat ik kan doorgaan met het delen van leuke dingen voor jou om te downloaden

Ik hoop dat alles goed gaat lukken!

Succes,

Jan

De Arduino code, te gebruiken voor het programmeren van de Arduino Nano3 is beschikbaar onderaan dit bericht als platte tekst om te importeren in een leeg arduino bestand (met kopiëren en plakken).

Zorg ervoor dat je alleen de bibliotheken en tijdmodule gebruikt die in de code zijn aangegeven!  De gebruikte tijdmodule is van de betere generatie die de tijd zeer goed vasthoudt, ook in stand-by.

Gebruik voor het verbinden van de draden tussen de neopixel segmenten, de arduino en de tijdmodule een temperatuurgeregelde soldeerbout.  Gebruik een ventilator als je aan het solderen bent en adem geen giftige gassen in tijdens het solderen.

De Arduino code is hieronder weergegeven, te importeren in Arduino IDE in een .ino bestand.  Met de Arduino IDE moet je vervolgens de code compileren om de Arduino Nano geflasht te krijgen met het programma.


/**
* NeoClock
*
* Clock using 60 WS2812B/Neopixel LEDs and DS3231 RTC
* Small changes and updates made by jan Griffioen, Amsterdam Europe 2018-2021
* Libraries needed:
* * Adafruit NeoPixel (Library Manager) – Phil Burgess / Paint Your Dragon for Adafruit Industries – LGPL3
* *
* * Arduino Timezone Library (https://github.com/JChristensen/Timezone) – Jack Christensen – CC-BY-SA
* * Time Library (https://github.com/PaulStoffregen/Time) – Paul Stoffregen, Michael Margolis – LGPL2.1
*/

#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif

#if defined(ESP8266)
#include <pgmspace.h>
#else
#include <avr/pgmspace.h>
#endif

/* for software wire use below
#include <SoftwareWire.h> // must be included here so that Arduino library object file references work
#include <RtcDS3231.h>

SoftwareWire myWire(SDA, SCL);
RtcDS3231<SoftwareWire> Rtc(myWire);
for software wire use above */

/* for normal hardware wire use below */
#include <Wire.h> // must be included here so that Arduino library object file references work
#include <RtcDS3231.h>
RtcDS3231<TwoWire> Rtc(Wire);
/* for normal hardware wire use above */

#include <TimeLib.h> //http://www.arduino.cc/playground/Code/Time
#include <Timezone.h> //https://github.com/JChristensen/Timezone

#include <EEPROM.h>

//Central European Time (Frankfurt, Paris)
TimeChangeRule CEST = {“CEST”, Last, Sun, Mar, 2, 120}; //Central European Summer Time
TimeChangeRule CET = {“CET “, Last, Sun, Oct, 3, 60}; //Central European Standard Time
Timezone CE(CEST, CET);

TimeChangeRule *tcr; //pointer to the time change rule, use to get the TZ abbrev
time_t utc;

#define PIN 5

unsigned long lastMillis = millis();
byte dimmer = 0x88;
byte hmark = 0;

byte ohour=0;
byte ominute=0;
byte osecond=0;

boolean fader=true;

Adafruit_NeoPixel strip = Adafruit_NeoPixel(60, PIN, NEO_GRB + NEO_KHZ800);

void setup() {

Serial.begin(57600);

strip.begin();
strip.setBrightness(50);

// Some example procedures showing how to display to the pixels:
// colorWipe(strip.Color(255, 0, 0), 50); // Red
//colorWipe(strip.Color(0, 255, 0), 50); // Green
//colorWipe(strip.Color(0, 0, 255), 50); // Blue
//colorWipe(strip.Color(0, 0, 0, 255), 50); // White RGBW
// Send a theater pixel chase in…
//theaterChase(strip.Color(127, 127, 127), 50); // White
theaterChase(strip.Color(127, 0, 0), 50); // Red
//theaterChase(strip.Color(0, 0, 127), 50); // Blue

//rainbow(20);
rainbowCycle(2);
//theaterChaseRainbow(50);

strip.clear();
strip.show(); // Initialize all pixels to ‘off’

Rtc.Begin();

Rtc.Enable32kHzPin(false);
Rtc.SetSquareWavePin(DS3231SquareWavePin_ModeNone);

if (!Rtc.GetIsRunning())
{
Serial.println(“Rtc was not actively running, starting now”);
Rtc.SetIsRunning(true);
}

if (!Rtc.IsDateTimeValid())
{
// Common Cuases:
// 1) the battery on the device is low or even missing and the power line was disconnected
Serial.println(“Rtc lost confidence in the DateTime!”);
}

byte eechk = EEPROM.read(0);
if(eechk == 0xAA) { //Assume this is our config and not a fresh chip
dimmer = EEPROM.read(1);
hmark = EEPROM.read(2);
fader = EEPROM.read(3);
}

timeSync();
}

void calcTime(void) {
utc = now();
CE.toLocal(utc, &tcr);
ohour = hour(utc);
ominute = minute(utc);
if(osecond != second(utc)) {
osecond = second(utc);
lastMillis = millis();

if(ominute == 0 && osecond == 0) {
//Every hour
timeSync();
}
}
}

void addPixelColor(byte pixel, byte color, byte brightness) {
color *= 8;
uint32_t acolor = brightness;
acolor <<= color;
uint32_t ocolor = strip.getPixelColor(pixel);
ocolor |= acolor;
strip.setPixelColor(pixel, ocolor);
}

void drawClock(byte h, byte m, byte s) {
strip.clear();

addPixelColor(m, 1, dimmer);

if(hmark > 0) {
for(byte i = 0; i<12; i++) {
addPixelColor((5*i), 2, hmark);
}
}

h %= 12;
h *= 5;
h += (m/12);
addPixelColor(h, 2, dimmer);
// 0x RR GG BB

if(fader) {
byte dim_s1 = dimmer;
byte dim_s2 = 0;
byte px_s2 = s+1;
if(px_s2 >= 60) px_s2 = 0;
unsigned long curMillis = millis()-lastMillis;
if(curMillis < 250) {
dim_s2 = 0;
dim_s1 = dimmer;
}else{
dim_s2 = map(curMillis, 250, 1000, 0, dimmer);
dim_s1 = dimmer – map(curMillis, 250, 1000, 0, dimmer);
}

// Add blue low intensity dots for 12(0),3, 6 and 9 O’çlock to verify where the clock is positioned..
addPixelColor(15, 128, 10);
addPixelColor(30, 128, 10);
addPixelColor(45, 128, 10);
addPixelColor(0, 128, 40);

addPixelColor(s, 0, dim_s1);
addPixelColor(px_s2, 0, dim_s2);
}else{
addPixelColor(s, 0, dimmer);
}

// add a background color
// setBrightness(Serial.parseInt());
// uint16_t j;
// for(j=0; j<60; j++) { // 1 cycles of colors on wheel
// strip.setPixelColor(j, Wheel(((j * 256 / strip.numPixels()) + j) & 255));
// }

strip.show();
}

byte rounds = 0;

void loop() {
calcTime();

if(rounds++ > 100) {
Serial.print(ohour);
Serial.print(“:”);
Serial.print(ominute);
Serial.print(“:”);
Serial.print(osecond);
Serial.println(“(C)JG-2020”);
rounds = 0;

}
//rainbow(21);
if (osecond == 59){theaterChase(strip.Color(0, 0, 127), 40); }// Blue; }
//if (ominute == 59 AND osecond == 59){theaterChase(strip.Color(0, 127, 0), 50); }// Green}
//if (ohour == 11 AND ominute == 59 AND osecond == 59){theaterChase(strip.Color(127, 127, 0), 50); }// Green}
else {drawClock(ohour,ominute,osecond);}

delay(10);

chkSer();
}

void timeSync(void) {
RtcDateTime dt = Rtc.GetDateTime();
setTime(dt.Hour(),dt.Minute(),dt.Second(),dt.Day(),dt.Month(),dt.Year());

Serial.print(“Synced to: “);
Serial.print(dt.Year());
Serial.print(“-“);
Serial.print(dt.Month());
Serial.print(“-“);
Serial.print(dt.Day());
Serial.print(“-“);
Serial.print(dt.Hour());
Serial.print(“-“);
Serial.print(dt.Minute());
Serial.print(“-“);
Serial.println(dt.Second());
}

void timeSave(void) {
utc = now();

RtcDateTime store = RtcDateTime(year(utc), month(utc), day(utc), hour(utc), minute(utc), second(utc));
Rtc.SetDateTime(store);

Serial.print(“Synced to: “);
Serial.print(year(utc));
Serial.print(“-“);
Serial.print(month(utc));
Serial.print(“-“);
Serial.print(day(utc));
Serial.print(“-“);
Serial.print(hour(utc));
Serial.print(“-“);
Serial.print(minute(utc));
Serial.print(“-“);
Serial.println(second(utc));

}

void setBrightness(byte brightness) {
dimmer = brightness;
}

void chkSer(void) {
unsigned int iy;
byte im,id,iH,iM,iS;

if(!Serial.available()) return;

switch(Serial.read()) {
case ‘b’:
setBrightness(Serial.parseInt());
Serial.print(F(“Brightness changed to: “));
Serial.println(dimmer);
EEPROM.put(0, 0xAA);
EEPROM.put(1, dimmer);
break;
case ’t’:
iy = Serial.parseInt();
im = Serial.parseInt();
id = Serial.parseInt();
iH = Serial.parseInt();
iM = Serial.parseInt();
iS = Serial.parseInt();
setTime(iH,iM,iS,id,im,iy);
Serial.println(F(“System time changed”));
break;
case ‘f’:
fader = false;
EEPROM.put(0, 0xAA);
EEPROM.put(3, 0);
Serial.println(F(“Fader off”));
break;
case ‘F’:
fader = true;
EEPROM.put(0, 0xAA);
EEPROM.put(3, 1);
Serial.println(F(“Fader on”));
break;
case ‘m’:
hmark = Serial.parseInt();
EEPROM.put(0, 0xAA);
EEPROM.put(2, hmark);
Serial.println(F(“HMark changed”));
break;
case ‘s’:
timeSync();
Serial.println(F(“Synced RTC to System”));
break;
case ‘S’:
timeSave();
Serial.println(F(“Synced System to RTC”));
break;
default:
Serial.println(‘?’);
}
}

// Fill the dots one after the other with a color
void colorWipe(uint32_t c, uint8_t wait) {
for(uint16_t i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, c);
strip.show();
delay(wait);
}
}

void rainbow(uint8_t wait) {
uint16_t i, j;

for(j=0; j<256; j++) {
for(i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, Wheel((i+j) & 25));//255
}
strip.show();
delay(wait);
}
}

// Slightly different, this makes the rainbow equally distributed throughout
void rainbowCycle(uint8_t wait) {
uint16_t i, j;

for(j=0; j<256*5; j++) { // 5 cycles of all colors on wheel
for(i=0; i< strip.numPixels(); i++) {
strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));
}
strip.show();
delay(wait);
}
}

//Theatre-style crawling lights.
void theaterChase(uint32_t c, uint8_t wait) {
for (int j=0; j<4; j++) { //do 4 cycles of chasing
for (int q=0; q < 3; q++) {
for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
strip.setPixelColor(i+q, c); //turn every third pixel on
}
strip.show();

delay(wait);

for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
strip.setPixelColor(i+q, 0); //turn every third pixel off
}
}
}
}

//Theatre-style crawling lights with rainbow effect
void theaterChaseRainbow(uint8_t wait) {
for (int j=0; j < 256; j++) { // cycle all 256 colors in the wheel
for (int q=0; q < 3; q++) {
for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
strip.setPixelColor(i+q, Wheel( (i+j) % 255)); //turn every third pixel on
}
strip.show();

delay(wait);

for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
strip.setPixelColor(i+q, 0); //turn every third pixel off
}
}
}
}

// Input a value 0 to 255 to get a color value.
// The colours are a transition r – g – b – back to r.
uint32_t Wheel(byte WheelPos) {
WheelPos = 255 – WheelPos;
if(WheelPos < 85) {
return strip.Color(255 – WheelPos * 3, 0, WheelPos * 3);
}
if(WheelPos < 170) {
WheelPos -= 85;
return strip.Color(0, WheelPos * 3, 255 – WheelPos * 3);
}
WheelPos -= 170;
return strip.Color(WheelPos * 3, 255 – WheelPos * 3, 0);
}

VORON 2.4 20″x20″x20″ en DUET2WIFI

Krijg de documentatie,  specs, config.g, macros en bouw docs

Na mijn succesvolle bouwproject van een Voron 2.4 3d printer in de herfst van 2020, wilde ik nog steeds een echt grote 3d printer met een printoppervlak van meer dan 20x20x20 inch.

Tijdens het bouwen en het gebruiken van de Voron 2.4 printer, vond ik de documentatie over de hardware echt uitstekend. Maar, het elektronica gedeelte was verspreid over verschillende plaatsen, en hoewel de Klipper implementatie erg goed is heb ik ervaren dat de combinatie van 2 SKR 1.4 turbo moederborden met een Octopi controller mij niet genoeg operationele stabiliteit geeft. En- ik heb de behoefte om meer instellingen te controleren dan ik kan doen met de Klipper oplossing. Ik denk dat ik waarschijnlijk gewoon meer voor de Duet en de reprap oplossing kies dan voor de Klipper oplossing, vanwege eerdere positieve Duet – en MKS reprap ervaringen.

In 5 eerdere builds heb ik een reprap motherboard gebruikt, en ik heb ook de add-ons voor Duet2 ervaren zoals driver boards, PT100 boards en meer hardware en extension boards welke ook goed werken in de nieuwe RRF3+ firmware.

Redenen genoeg voor mij om te kiezen voor de Duet2 en het 5-poorts uitbreidingsboard, of eventueel een extra Duex board voor mijn nieuw te bouwen Voron 2.4 ‘grote 3d printer’.

Op deze pagina zal ik mijn vorderingen met betrekking tot deze bouw delen.

DIE VORDERINGEN ZIJN ER VOORLOPIG NIET.  DE MIDDELEN ONTBREKEN EVEN. bovendien ben ik met alle spullen die ik nog heb liggen bezig met een grote Indymill- achtige CNC machine, ook leuk!

Ik heb alle benodigde hardware liggen en aangezien ik al een Voron 2.4 heb gebouwd, zal ik me eerst richten op de elektronica. Voor de hardware, heb ik nog steeds de plexiglas zijkanten, bovenkant en voordeuren nodig. Ik heb wel alle extrusie, bed, bedverwarming 230V, lineaire rails, alle geprinte onderdelen enzovoorts, netjes thuis opgeborgen.

Ik ben dus de elektronica aan het instellen om vooraf te weten dat alles goed werkt. Ik wil niet beginnen met het bouwen van de hardware en er achteraf achter komen dat mijn Duet2wifi niet doet wat ik wil dat hij doet.

Gisteren (4 oktober 2020) heb ik de elektronica en config.g in elkaar gezet. Ik heb gebruikt:

Duet2wifi bord met 24V PSU en 4,3 inch TFT/LCD
5-poorts uitbreidingsbord met 4 plug-in 2209 drivers V3.0
Z-schakelaar mechanisch
X- en Y-eindschakelaars (hall-effect)
Hotend 24V met NTC aangesloten inclusief ventilator (ik mis de PT100 interfacekaart, heb er een besteld maar dit heb ik al eerder gedaan dus moet geen probleem zijn)
Hotbed gesimuleerd met een ander hotend inclusief NTC
Stappenmotoren aangesloten op X(0),Y(1) en 1 x stappenmotor op het uitbreidingsbord Z(5) (Driver5)
Het Duet2wifi bord is een Chinese MKS kloon met elektronica versie 1.02 die prima werkt. Het uitbreidingsbord is ook een Chinese, maar dit is een kale uitvoering van het 5-poorts driver add-on bord dat zonder drivers wordt geleverd. Het mooie van dit add-on bord is dat drivers direct kunnen worden ingeplugd.

De Duet2 werd geleverd met firmware 2.1 geïnstalleerd. Om naar FFR3.1 te gaan, moet je eerst 3.0 installeren en daarna kun je naar 3.1 gaan… let op!

Na het updaten van het paneldue en het Duet2wifi board, heb ik de wifi geactiveerd en de ssid en PW erin gezet. (Deze procedure gaat via USB tussen PC en Duet, met behulp van een terminal emulator zoals YAT) Dit is een beetje vermoeiend, maar gezien de veiligheid die je ervan krijgt, vind ik het OK.

De instellingen die nodig zijn om het Chinese expension board te laten werken zijn niet al te moeilijk. Voeg de Z-drives toe, en verander wat andere instellingen. Bovenaan deze pagina kan je de laatste doc downloaden met alle info die ik heb, en een directe download naar de aangepaste config en macro’s is beschikbaar in de documentatie.

De rest van de build inclusief foto’s komt hier later!

Update 3-2021: Ik heb onlangs 2 andere 3d printers gebouwd met Duet2wifi boards: een cartesian I3 met onafhankelijke extruders en een Delta 2GS. Niet veel tijd om aan de grote Voron te werken. Ik heb ook net mijn Geetech A30M (330x330x400mm build size) omgebouwd van het smartto board naar Duet2wifi, Check ik op deze site!

Ik ga waarschijnlijk toch niet de grote Voron 3d printer bouwen, en als ik dat niet doe, dan ga ik mijn bestaande Voron 2.4 300×300 ombouwen van Klipper, octopi en 2x SKR1.4 naar Duet2wifi+Duex. Dat zal interessant en haalbaar zijn.

Aangezien ik momenteel 10 verschillende 3d printers draai, wordt mijn ruimte in huis krap. Ik wil niet uitbreiden naar nog een kamer. Eén moet genoeg zijn. Door meer printers te hebben, kan ik het beste een bepaald type filament per printer gebruiken.

De Voron wordt vanwege zijn perfecte prints met ABS eigenlijk alleen gebruikt voor/met ABS of nylon.

De I3Bear dual carriage werkt het beste met dual PLA of PLA&PVA.

De Prusa mini werkt perfect met PETG

De I3Bear solo gaat perfect met PETG of PLA.

De A30M & zijn mengextruder gaat perfect met PLA en/of PETG

En zo verder….

 

Onze 3d printers, bestuurd via OCTOPI of Duet’s Web-based app

Boven: Onze Dual Bear I3 dual color 3d printer met onafhankelijke carriages, op afstand gemanaged met DUET’s webinterface.

De Octopi oplossing werkt met een Raspberry PI, en daarop de Octopi firmware.  Het apparaat stel je in op je wifi en je sluit het aan op je 3d printer’s USB. Vervolgens heb je een webinterface op het IP adres van de Raspberry waarmee je alle zaken van je aangesloten printer kan managen.  Alle instellingen zoals temperatuur, mesh, en eigenlijk alles wat je ook via een lokaal LCD kan managen.  En- je kan je jobs naar de raspberry uploaden en starten/managen en bijstellen qua temperatuur  en dergelijke.  Wat ik erg fijn vind is dat je een raspberry camera kan aansluiten en zo je jobs kan volgen.

De Duet vind ik qua gebruik en mogelijkheden prettiger. omdat je naast alles dat de octopi kan, ook de systeemfiles online kan aanpassen.  En printerupdates kan doen, direct in de firmware.  Bovendien heb je geen aparte doos nodig omdat de Duet2wifi alles al aan boord heeft.

Nadeel is dat je aan de Duet geen camera kan hangen. Er is wel een mogelijkheid em een IP camera te integreren in de DWC, Duet’s web based remote app.  En zo’n wifi IP-camera is zelf makkelijk te maken met een goedkope esp unit.

Boven: De Voron 2.4, printmaat 300x300x220 mm.  De Voron werkt met een ingebouwde Raspberry PI, en een op Klipper gebaseerde firmware die OCTOPI als basis gebruikt voor de romote management mogelijkheden.

Prusa Bear I3plus with mods dual Z axis control with DUET2wifi

 

Kingroon Kp3S heavily modded with new firmware and tool fan, connected to an OCTOPI

 

Twotrees Sapphire PRO with new firmware, also connected to wifi via an OCTOPI

 

Voron 2.4 for Nylon and ABS printing, with external exhaust and 300+ degC printhead, bed up to 150 degC, with Klipper/ Octopi based Raspberry PI, and 2 pieces of SKR1.4turbo.

 

Prusa i3 mini original, the production monster for PETG.  This machine is also connected with an OCTOPI, this works very well!

 

En de VoreXY Twotrees Sapphire pro, onze perfecte printer voor snelle productie, aangesloten via OCTOPI

 

En de multicolour geheel aangepaste Geeetech A30M dual head printer met het nieuw geinstalleerde Duet2Wifi motherboard, dual Chimera heatblock en direct drive extruders

 

 

Voron 2.4 CoreXY 3Dprinter

LINK NAAR DE  UPDATE VAN MIJN VORON 2.4 – 20″x20″x20″ BUILD

Mijn ervaringen met CoreXY printers zijn uitstekend,  zodat ik voor mijn zelfbouw COREXY printer een VORON heb gekozen met een printformaat van 300x300x300 mm.

Sample PLA print with a Citroen DS at 175 mm/s print speed

De VORON is vanuit een grote community ontwikkeld en is een van de beste en meest betrouwbare 3Dprinters.  En deze printer ziet er gewoon erg goed uit!

Via AliExpress, Banggood, Reichelt, aluminiumopmaat.nl en plexiglas.nl  heb ik alle spullen besteld, conform de bill of materials die ik kon downloaden vanaf de VORON site.

De PETG delen heb ik op de Prusa mini op 0,15 fine geprint

De ABS delen (rood en zwart) zijn geprint op de Twotrees Sapphire plus.  Was wel heel wat ‘tweeken’ voor het ABS er goed uit kwam maar uiteindelijk een mooi resultaat!

Printed parts for the Voron 2.4 300

Uiteindelijk is nabouwen geen echte zelfbouw en is het toch meer gebaseerd op bestellen en in elkaar zetten dan zelf met de zaag en boormachine aan de gang zijn.  Ook de benodigde 8(!) lineare rails van 350mm, lagers, tandwielen, riemen, motoren, electronica enzovoorts is besteld en de rest van de benodigde spullen is inmiddels (25-8-2020)  geprint.

Voor het besturingsdeel heb ik één PI Raspberry PI 4B 4GB en twee stuks SKR 1,4 turbo motherboards gekozen, conform de VORON aanbeveling.

Het bouwen van de Voron 2.4 met de afterburner Beta1 hotend combinatie is d.m.v. de volgende foto’s in beeld gebracht.

Gantry gereed:

Gantry of my Voron 2.4 300

Behuizing en skirts onderzijde met Z-motors nog zonder de gantry gemonteerd:

Frame of my Voron 2.4 300
Electronics positioning underneath my Voron 2.4 300

Onder: De 9 mm aandrijfriemen van de 4 Z-assen geplaatst:

Halfway the building phase of my Voron 2.4 300

En de basisplaat met de rails en besturing,  voedingen enzovoorts gemonteerd (printer omgedraaid):

Cabling and electronics of my Voron 2.4 3000: 2xSKR1.4 turbo with Klipper, Raspberry PI and Octoprint with Klipper

Het wachten is nog op de lagers voor de Alpha-en Beta aandrijving in de gantry.  Met deze lagers wordt per 2 stuks steeds een spanrol gemaakt.  Hiervoor had ik oorspronkelijk spanrol lagers aangeschaft, maar de diameter van de kraag van deze lagers is net te groot.

Jammer maar dan maar even aan de Raspberry PI4B werken, in combinatie met 2 maal SKR V1.4 turbo motherboards.  De PI gaat via Klipper een nieuwe config.bin maken voor de SKR V1.4 motherboards zodat de PI beide SKR boards tegelijk kan aansturen.  Op het mainboard komen Alpha en Beta en de extruder plus de extruder heater, op het andere (Z)board de 4 Z-motoren en bed heater.  Op zich had een Duet met expansion board ook een optie kunnen zijn, maar de Voron ontwerpers hebben het met de PI, Klipper en 2 SKR boards gemaakt.  En ik probeer zo dicht mogelijk bij het ontwerp te blijven . -)

Onder: Inrijgen van de riemen, geen plaatje gebruikt.  Gewoon ergens beginnen en je komt vanzelf goed uit.  O ja, ook in de config nog even de sensor gewisseld van NC naar NO..

Onder: Naast het 24Volt 200 Watt hotbed toch ook het 500 Watt 230V erbij geplaatst.  Het opwarmen duurde met enkel de 24V versie meer dan 20 minuten om tot 110 graden Celsius te komen…

Oud:

En nieuw: (nog geen PID run gedaan …-))

Onder: En gelijk ook de stalen plaat geplaatst, met magneetvel eronder.

Onder: Eerste print..  Was nog wel even zoeken naar de Z offset afstelling en de extruder draaide verkeerd om.  Ook de gantry levelen was even nadenken, je moet eigenlijk de basisinstelling eerst even met een maatlatje maken, anders duurt het vereffenen wel heel lang.  Mooi is dat een bed mesh leveling daarna niet meer hoeft, maar natuurlijk wel kan.  Je draait een home en doordat de nozzle altijd de Z op de mechanische Z endstop ijkt, en de gantry alle vereffening doet heb je altijd een goede eerste laag.  Tenzij het bed warpt maar met zo’n dikke plaat lijkt dat bijna niet mogelijk. Voor de zekerheid heb ik wel een bed_mesh profiel in de config.g opgenomen.  By the way heb ik gewoon een 24 V aluminium hotbed als basis gebruikt omdat mijn 8 mm 310×310 plaat een geknipte plaat bleek te zijn in plaats van gezaagd.   En een geknipte plaat blijkt standaard al aan de geknipte zijden niet vlak te zijn, helaas..  Vlakken kost meer dan een nieuwe plaat, dat komt misschien nog wel een keer…

 

Nawoord:

In de praktijk heb ik nog een paar kleine minpuntjes opgelost, waaronder:

  • Extruder tunen.  De donor extruder bleek het filament niet goed op te pakken.
    Eerst nog geprobeerd een ringetje links op de as ertussen te plaatsen, maar dan komt het nylon tandwiel rechts helemaal strak te zitten en kan de behuizng niet meer helemaal dicht….
    Ik heb uiteindelijk een spare setje dual drive extruder tandwielen gebruikt en de set tandwielen verwisseld.  Daarmee was het filament goed in lijn met het looppad van de tandwielen.  Zie de foto van hoe het eerst zat:
Misaligned filament path in Afterburner extruder
  • Hotend tunen
    Na de PID runs van hotend en heated bed bleek mijn gekozen samenstel van het aangepaste ED6 heater block, de heatbreak pipe en het koelelement niet goed op elkaar aan te sluiten.  Resultaat was dat bij een extractie van het filament steeds een diks stuk aan het eind vastzat.  Dat werd veroorzaakt doordat de heatbreak pipe niet strak aansloot op de nozzle.  Daar mag geen speling tussen zitten.  Alles helemaal gedementeerd en de heatbreak pipe 2 slagen minder ver in het koelelement gedraaid met rode threadlocker.  Dagje laten harden en daarna de rest gemonteerd.  By the way heb ik ook gelijk de teflon versie van de heatbreak pipe gemonteerd in plaats van de titanium versie.  De tintanium versie was naar mijn ervaring toch een beetje te stroef.  Of mijn filament was te oud of inferieur.  In ieder geval werkt alles na de aanpassing zonder problemen.

 

  • Hotbed, TPU en ABS
    Om TPU en ABS zonder brim of skirt zonder warping te printen heb ik een magnetisch PEI stalen plaat gekocht met grof profiel.  Dat werkt echt perfect. Zowel ABS met 110 graden blijft mooi zitten en met TPU op kamertemperatuur blijft het ook mooi plakken.  En het verwijderen gaat ook zonder problemen.  Af en toe spuit ik een klein beetje haarlak op de plaat maar ik denk dat die lak eigenlijk helemaal niet nodig is.  Het is bedoeld om het verwijderen gemakkelijker te maken.

 

  • Tension of the belts
    I tried getting the belts at the same tension, this was not that easy.  Finally I ended up with a mechanical way of measuring tension after putting 1 at my desired tension and comparing this as reference with the other to be compared belts.  So, for the Alpha and Beta belts I first did a ‘good feeling’ setting and then I used my old trunk scale weight device to measure the tension when pulling the belt A.  Then, I used the device to measure at the same place for B.  And I repeated this for the 4 vertical belts.

 

  • Uitlijning
    De machine uitlijnen is ook nog wel een dingetje…
    Je moet er van uitgaan dat je frame haaks en recht is.  Dat moet je terdege checken.  Zowel verticaal, horizontaal als diagonaal.  Daarna kun je de gantry stellen. Maak de A en B belts los en verwijder ze.  Of doe de uitlijning VOOR het plaatsen van de belts.
    Fixeer de horizontale positie van de Gantry anders kun je helemaal niets uitlijnen. Plaats 4 gelijke afstandsblokjes van ca. 10-15 cm onder de sliders van de verticale linear rails op de onderste 2020 profielen, in de 4 hoeken waardoor de gantry stabiel rust. Ik heb onder alle verticale MGN9 linear rails achteraf nog positiehouders geplaatst zodat de rails niet in het 20×20 V profiel kunnen schuiven.  Als je ‘gewone’ 20×20 extrusieprofiel gebruikt heb je geen probleem, omdat er genoeg ‘vlees’ overblijft voor de bevestiging van je raild op het profiel.  Bij V-profiel is de groef iets breder en is het erg moeilijk om zonder hulpmiddelen in de groef de rails netjes te monteren.  Mijn frame is van V-rail profiel en de gantry van gewoon 2020 profiel.
    Het uitlijnen van de gantry ben ik aan de achterkant gestart.  Alle schroeven een beetje lossen, ook de schroeven van de bolle connectors waarmee de gantry vast zit aan de linear rails.  Overigens zie ik bij sommige bouwers dat deze schroeven met meerdere veerringen zijn geplaatst.  Ga ik ook doen…
    Aan de achterkant van de gantry duw je de gantry volledig tegen de achterkant aan.  Er mag geen ruimte zitten tussen de XY joints en het frame.  PS: Laat de endstops er nog even af bij deze actie!
    Zet terwijl de gantry tegen de achterkant aanzit de XY joints vast en de sliders van de X- as ook. (de kant van de endstops holder dus tijdelijk maar even met 2 schroeven)
    Zet de achterste 2 gantry joints (met de bolle vlakken) ook vast.  Hiermee is de achterste positie haaks gefixeerd.
    Schuif de gantry voorzichtig naar voren. Dit moet zonder enige moeite kunnen.  Zo niet, check of er voldoende speling is (en schroef als nodig iets los) op de gantry joints aan de voorzijde (met de bolle vlakken).  Als je desondanks nog steeds geen vrije loop naar voren hebt is je frame niet goed of zitten je verticale rails niet goed.  Check eerst de juiste plaatsing van je rails met je positietool (uit de geprinte voorraad) en schroef voor de zekerheid ook de 4 schroefjes aan beide voorste verticale rails los..  Probeer weer of het schuiven van de gantry soepel gaat.  Nog steeds niet goed?  Draai dan de procedure om en begin aan de voorkant.  Probeer de gantry exact level te zetten met het frame.
    Na het stellen: Test de uitlijning ook halverwege (verticaal) en bovenin!
Translate »