Builder 3D Mono firmware – Marlin v1.0.1 met Printrboard

builder 3d printer

Marlin Logo

Marlin met Printrboard
Builder 3D Mono
Arduino1.0.1-Teensy1.09-Marlin1.0.1

Deze pagina beschrijft het backuppen, bijwerken of instellen van de software Marlin voor de 3D printer “Prusa i3”, met behulp van de Arduino IDE.

Mijn “Builder 3D Mono 2.1010C” printerconfiguratie (hardware)

– Frame: Builder 3D Mono
– Controller: Printrboard RevD.
– Stappenmotor X-as: NEMA 17 / 1.8deg/step / Tandwiel: GT2-16 tands.
– Stappenmotor Y-as: NEMA 17 / 1.8deg/step / Tandwiel: GT2-20 tands.
– Stappenmotors Z-as: NEMA 17 / 1.8deg/step / Verplaatst 40mm bij 5 omwentelingen (8mm/omw)
– Extruder: 1 kleur / Direct Drive
– Endstops: Magneet/Readcontacten (allemaal: Normally Open)
– Heated Bed: NVT.
– Temperatuursensor: 100K.
– Display: Mini LCD 4×20 (HD44780) met draaiknop, buzzer.

Wat heb je nodig?

Let op: voor deze printer zijn (vooralsnog) specifieke versies nodig:

1) Arduino IDE v1.0.1
2) Arduino IDE Teensy board addon v1.09 (installeer ook alle libraries)
3) Arduino IDE Teensy board at90usb1286 core addon
4) Arduino bibliotheek: LiquidTWI2 v1.23
5) 3D Printer Firmware – Marlin v1.0.1

Ps. onderaan deze pagina zijn totaal “voor geconfigureerde” pakketten te downloaden.

Installeren van Marlin

Nadat je ArduinoIDE hebt geïnstalleerd installeer je de “Marlin” folder vanuit het archief “Marlin v1.0.1” naar Arduino IDE.

Dus de folder “Marlin-1.0.1…….7z\Marlin-1.0.1\Marlin” naar “ArduinoIDE\Marlin“.

Start de firmware op door op Marlin.ino te openen vanaf Arduino v1.0.1 (dubbelklikken kan je eigen nieuwere Arduino IDE openenen), daarin zie je heel veel TAB’s en venstertjes openstaan:

Marlin configureren voor de Builder 3D

Let op: Dit stukje behandeld lang niet alle aspecten en mogelijkheden van de firmware, maar geeft de veranderingen in beeld voor de “Builder 3D” vanuit de standaard Marlin instellingen.

Board selecteren
De meeste instellingen staan in het bestand configuration.h, daar moet je ook het board selecteren in de regels:

Ps. de aanwezige boards voor Marlin kun je vinden in het bestand boards.h

We kiezen hier voor: BOARD_PRINTRBOARD

Naam, URL en Firmware versie instellen

In het volgende stukje kan je de naam van de 3D printer instellen:

Maar het is beter om dat in het bestand language.h aan te passen, daar kan je iets meer instellen zoals firmware versie en URL, voor de Builder 3D ziet dat stukje in language.h er dan zo uit:
(protocol in nu een verzonnen versie/naam)

Firmware versie:

#define PROTOCOL_VERSION "V2.3000X"

Naam en URL

Stroomvoorziening instellen

In het volgende stukje kan je de stoomvoorziening instellen:

De “Power supply” kan op 1 (ATX) blijven staan, dat geeft verder geen invloed op de werking van de printer.

Temperatuursensoren instellen (GEMETEN)
Het volgende stuk in behandeld de temperatuur instellingen:

Na het doormeten van de weerstand is dit een 100K ohm weerstanddat geeft weerstand optie: 1

Maximale temperaturen instellen
In het volgende stukje kun je maximale waarden van de temperaturen instellen.
In veel gevallen is boven de 250 graden meer dan voldoende voor het extruder systeem, zelfs voor ABS is dat meer dan genoeg:

PID temperatuurinstellingen (VAN ORGINELE FIRMWARE UITGELEZEN)

PID gebruikt in pricipe een PWM functie en is daardoor veel beter dan BangBang mode (vol aan / vol uit)

De PID_FUNCTIONAL_RANGE kan op 20 worden ingesteld:

Verder zie je daaronder nog de PID instellingen, voor de Builder 3D Mono zijn deze te achterhalen uit de oude firmware:

Dat geeft deze instellingen:

Schakelfunctie Endstops instellen (GEMETEN)
In het volgende stukje word de schakelfunctie van de endstops behandeld.
De Builder 3D Mono maakt gebruik van magnetische reed-contacten, na doormeten zijn deze NO (normally open).
(in Marlin: NO = true / NC = false)

Assen/motoren uitzetten wanneer niet gebruikt
Deze instelling zorgt ervoor dat de extruder niet bekracht blijft indien deze niet gebruikt word:

Bewegingsrichtingen instellen (GETEST)
In het volgende stukje worden de bewegingsrichtingen behandeld.
Na wat testen blijkt dat de Y-as omgedraaid moet worden (op true) t.o.v. de standaard Marlin instellingen:

Maximale printgrensen instellen (GEMETEN)
Hier heb je een meetlint, rolmaat of duimstok voor nodig, meet de maximale waarden op in mm wat je op het printbed kan printen vanuit het nulpunt gemeten let hierbij ook op de grootte van de X-carrier etc.
Na wat meten zijn dit de afmetingen/waarden voor de Builder 3D Mono:

Motor stappen en snelheden instellen (VAN ORGINELE FIRMWARE UITGELEZEN)

Hier heb je een aantal berekeningen voor nodig, maar is ook uit de oude firmware te halen, zie onder:

Berekeningen stappen per mm

Formule riem aandrijving (X-as):
Het aantal stappen per unit wordt bepaald door het aantal stappen per omwenteling gedeeld door het aantal tanden van het tandwiel, gedeeld door de riem pitch (afstand tussen de tandjes)

Stappen per unit = Motor stappen per omwenteling / aantal tandwiel tanden / riem pitch

Bij de Builder 3D is er gebruikt op de X-as:
– NEMA 17 stappenmotor met 1,8 graad per rotatie.
– GT2-16 tands tandwiel met een GT2 riem (pitch = 2mm).
– Driver staat op 1/16 stap.

Motor stappen per rotatie: een rotatie is 360 graden / aantal graden per stap geeft: 360/ 1,8 = 200 stappen per omwenteling.

1/16 = 200 / 16 / 2 geeft: 1/16 = 6,25 , geeft: 1 = 100 , dat geeft het getal: 100

Ps. er is een handige website voor ingericht: prusaprinters.org calculator

Formule riem aandrijving (Y-as):
Het aantal stappen per unit wordt bepaald door het aantal stappen per omwenteling gedeeld door het aantal tanden van het tandwiel, gedeeld door de riem pitch (afstand tussen de tandjes)

Stappen per unit = Motor stappen per omwenteling / aantal tandwiel tanden / riem pitch

Bij de Builder 3D is er gebruikt op de Y-as:
– NEMA 17 stappenmotor met 1,8 graad per rotatie.
– GT2-20 tand tandwiel met een GT2 riem (pitch = 2mm).
– Driver staat op 1/16 stap.

Motor stappen per rotatie: een rotatie is 360 graden / aantal graden per stap geeft: 360/ 1,8 = 200 stappen per omwenteling.

1/16 = 200 / 20 / 2 geeft: 1/16 = 5 , geeft: 1 = 80 , dat geeft het getal: 80

Formule stang aandrijving (Z-as):
Het aantal stappen per unit wordt bepaald door het aantal stappen per omwenteling, gedeeld door de draadstang pitch (bijvoorbeeld de afstand van de verplaatsing van een moer bij in 1 omwenteling)

Stappen per unit = Motor stappen per omwenteling / draadstang pitch

Bij de Builder 3D is er gebruikt op de Z-as:
– NEMA 17 stappenmotor met 1,8 graad per rotatie.
– Onbekende M-maat, maar gemeten is dat de Z 40mm verplaatst bij 5 omwentelingen (8mm/omw)
– Driver staat op 1/16 stap.

Motor stappen per rotatie: een rotatie is 360 graden / aantal graden per stap geeft: 360/ 1,8 = 200 stappen per omwenteling.

1/16 = 200 / 8 geeft: 1/16 = 25 , geeft: 1 = 400 , dat geeft het getal: 400

Extruder aandrijving (E-as):
Bij de Builder 3D is er gebruikt op de E-as:
– Stappenmotor PG35S-D48-HHC2B met 0,2118 graad per rotatie, de gemonteerde gearbox verhouding is 1 / 35,4.

– Gemeten wiel diameter: 4,89 mm.
– Driver staat op 1/16 stap.

De formule is: Stappen per unit = Motor stappen per omwenteling * overzetverhouding / (wiel diameter * 3.1415)

Motor stappen per rotatie: een rotatie is 360 graden / aantal graden per stap geeft: 360 / 0,2118 = ca. 1700 stappen per omwenteling.

De gemonteerde gearbox verhouding geeft 1700 / 35,4 = 48 stappen per omwenteling.

1/16 = 48 / (wieldiameter * 3.1415) geeft 1/16 = 48 / 15,36 , geeft  1/16 = 3,125 , geeft: 1 = 50 , dat geeft het getal: 50

De configuratie geeft dan:

EEPROM instellingen

Met deze instellingen kan je eenvoudig met de EEPROM instellingen van je printer communiceren het neemt alleen wat meer programmaruimte in beslag!

Preheat instellingen
Preheat instellingen staan ingebakken in de firmware en zijn te kiezen vanuit het menusysteem, veelal worden deze waarden gebruikt:

Ps. Zorg ervoor dat PLA_PREHEAT_HPB_TEMP niet de waarde van BED_MAXTEMP (eerder ingesteld) overschrijdt.

LCD en SD Support (GETEST)

De Builder 3D maakt gebruik van een “mini 20×4 schermpje, encoder en SD kaart” unit, we kunnen de SD instellingen hier instellen:

GETEST: De Builder 3D maakt gebruik van de LiquidTWI2 bibliotheek voor de LCD en SD support, aanzetten van de sectie “PANELOLU LCD” wordt deze ingeladen.
GETEST: Encoder pulses, deze moet 4 per stap zijn om goed te functioneren.
GETEST: Frequentie kan gezet worden op 2000Hz, 10ms geeft een goede reactietijd in het menu!

Encoder Pin correcties

Bij de Builder 3D zijn wat andere pinnetjes gebruikt dan standaard, er moet daarom wat aangepast worden in de LiquidTWI2 biblotheek, bewerk het bestand: [arduino folder]\libraries\LiquidTWI2\LiquidTWI2.h en vervang het volgende stukje:

Printrboard/Teensy2 FAST IO Fixes

Door wat pin inconsistentie e.d. ook wel te vinden op het internet zoals hier, heeft men een fix gemaakt!, bewerk fastio.h en vervang het hele bestand met onderstaande:

Printrboard PIN Instellingen (GETEST)

fastio.h

Doordat in het bestand fastio.h een aantal veranderingen zijn doorgevoerd moet in pins.h en Sd2PinMap.h ook het e.e.a. aangepast worden, je kan deze lijst aanhouden en met de Arduino kolom de pin definieren!

GETEST: Fan werkt alleen via pin 16.
WAARNEMING: Code-P West heeft het volgende aangesloten op de endstop pins (vlnr):
X / Y / Z / E (de orginele bedoeling)
X / ? / Z / Y (Code-P West)
Zodoende zit Y-STOP_PIN op pin 37.

OVERIG:
Encoder drukknop (EXP1 Linksonder):
– EXP1 pin 1 (SCL/PD0)
– EXP1 pin 3 (SCA/PD1)
Encoder Up/Down (EXP2 helemaal links):
– EXP2 pin 13
– EXP2 pin 14

bewerk pins.h en vervang het hele bestand met onderstaande:

Sd2PinMap.h

bewerk Sd2PinMap.h en vervang het hele bestand met onderstaande om zo de SD card module goed te activeren!:

Uploaden van de firmware

Voor het uploaden van de firmware kies het volgende board: