3D tiskárna – firmware

Abychom mohly tiskárnu oživit a řídit, je nutné do Arduina nahrát firmware a v něm nastavit potřebné hodnoty. Výhodou Arduina a Ramps je, že ho podporují všechny firmwary. Pojďme si je představit.

1. Výběr firmwaru

1.1 Marlin

  • nabitý funkcemi
  • široce rozšířený
  • dobrá dokumentace
  • velká kompatibilita s různými deskami
  • konfigurace přes Arduino IDE

1.2 Repetier

  • výborná dokumentace
  • kompatibilita s různými deskami (32 bitové)
  • optimalizovaný pro Repetier-Host
  • konfigurace přes Arduino IDE nebo web

1.3 RepRap

  • vysoce modulární
  • podpora 32 bitový desek
  • limitovaná podpora řídicích desek
  • konfigurace přes web

Ačkoliv mě lákala možnost konfigurace přes web, tak jsem nakonec zvolil Marlin. Bylo to spíše intuitivní rozhodnutí, než pragmatické.

2. Marlin nastavení

Firmware si v poslední verzi 1.1.19 stáhnete ze stránek a rozbalíte zip, v kterém je distribuován. Marlin.ino otevřete v Arduino IDE.

Jelikož je konfigurace každé osobně stavěné tiskárny individuální, tak jsem nikde pořádně nenašel, co bych měl nastavit. V dokumentaci je postupně uvedeno vše co můžete nastavit.

Konfigurace se provádí změnou souboru Configuration.h.

Komunikační rychlost

#define BAUDRATE 115200

Průměr filamentu

#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75

Použitý sensor extruderu a podložky

#define TEMP_SENSOR_0 11
#define TEMP_SENSOR_BED 11

Parametry PID regulace teploty

#define PIDTEMP
// My printer
#define DEFAULT_Kp 25.54
#define DEFAULT_Ki 3.00
#define DEFAULT_Kd 54.41

Jednotlivé hodnoty získáte po nahrání firmwaru a provedení zahřívacího cyklu. Více třeba na PID autotuning.

Parametry PID regulace podložky

#define PIDTEMPBED

// My printer
#define DEFAULT_bedKp 511.14
#define DEFAULT_bedKi 97.49
#define DEFAULT_bedKd 669.98

Počet kroků na mm

#define DEFAULT_AXIS_STEPS_PER_UNIT   { 100.20, 100.20, 398, 149 }

Hodnoty pro osu Z spočítáte podle dřívějšího článku o GRBL, pro sou X a Y pomocí kalkulačky.

Příklad výpočtu pro osu X a Y.

Korekce se následně provede podle měření a kontrolního tisku. Více v článku kalibrace a tisk.

Akcelerace jednotlivých os

#define DEFAULT_MAX_ACCELERATION      { 1000, 1000, 100, 1000 }

Autokalibrační sonda

Jedná se o vzdálenost autokalibrační sondy od trysky.

#define FIX_MOUNTED_PROBE

#define X_PROBE_OFFSET_FROM_EXTRUDER 23 // X offset: -left  +right  [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER 5  // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0  // Z offset: -below +above  [the nozzle]

Minimální výška pro homování

#define Z_HOMING_HEIGHT 4  // (in mm) Minimal z height before homing (G28) for Z clearance above the bed, clamps, ...

Velikost podložky

#define X_BED_SIZE 220
#define Y_BED_SIZE 180

V ose Y ji mám redukovanou kvůli uchycení stolu k vyhřívané podložce svorkami.

Typ kalibrace podložky

#define AUTO_BED_LEVELING_BILINEAR

Hranice kalibrace podložky

#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE + 13
#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - MIN_PROBE_EDGE)
#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - MIN_PROBE_EDGE)

Korekce houmovací pozice

#define MANUAL_X_HOME_POS -10
#define MANUAL_Y_HOME_POS -5

Jedna se o korekci podložení dorazů koncových spínačů v osách X a Y.

Zapnutí bezpečného houmování

#define Z_SAFE_HOMING

Umožnění ukládaní změn nastavení do EEPROM

#define EEPROM_SETTINGS // Enable for M500 and M501 commands

Komunikační jazyk displeje

#define LCD_LANGUAGE cz

Podpora SD karty a nastavení

#define SDSUPPORT
#define SPI_SPEED SPI_QUARTER_SPEED
#define SD_CHECK_AND_RETRY

Výběr typu displeje

#define REPRAP_DISCOUNT_SMART_CONTROLLER

Kompletní můj konfigurační soubor Configuration.h.

3. Marlin nahrání

Kompilace a nahrání firmwaru do desky je stejná, jako u jakéhokoliv jiného Arduino prográmku. Vyberete port, typ desky a dáte uploudovat. Projekt se nejprve zkompiluje a nasledně nahraje do Arduina.

Pokud nevíte, zkuste se podívat na video od Sakula.

Tím máme tiskárnu připravenou a můžeme se vrhnout na kalibraci a první tisk.

One thought on “3D tiskárna – firmware

Add yours

  1. Panove, prosimm o rychlu radu, mam zostavenu 3D tlaciaren (mega, ramps 1.6, marlin 1.1.9) , vsetko funguje perfetne, posuvy, endstpy, extruder. No dnes som pripojil prvy krat vyhrievanie trysky a termistor. No vobec sa mi nepodarilo zohriat trisku, Na LCD displey mi stale ukazuje teplrou trysky a aj teplotu hotbed minus 14 stupnov..
    Mam extruder MK8 s motorom s vyhrievacim telesom aj termistorom. Ked dam na displeii zohriat PLA hotend, tak sa nic nedeje a po chvilke vypise chybovu zpravu ” Chyba zahrivani, provedte reset”…Ked odklepnem na display “Zahrievanie PLA hottend” a meriam napetie na vystupe do hottendu, tak nameriam 0.00V , cize ziadne napetie….Na odpojenom termistore som meral jeho odpor , vyvody ukazuju ze su skratovane, cize 0.00 Ohm.. co sa mi vobec nepaci, lebo mam novy termistor 47k a ten ukazuje odpor 39k…kde by mohol byt problem?? Alebo v nastaveni marlinu??
    Dakujem moc… uz som si myslel ze zajtra previem prvu tlac… a tu mas…

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Proudly powered by WordPress | Theme: Baskerville 2 by Anders Noren.

Up ↑