Prusa Mk3 firmware telepítése

Alábbiakban a Prusa Mk3 3D nyomtató eredeti firmware-ének telepítését mutatom be lépésenként az EinsyRambo board-ra.

Original Prusa i3 firmware

Szükségünk lesz egy Arduino IDE-re. Windows-t használok, és a cikk írásakor legfrissebb 1.8.9-es Arduino IDE-t telepítettem a feladathoz, tehát a példában ez a felállás fog szerepelni.

EinsyRambo board beállítása az Arduino IDE-ben

Ismertessük meg az IDE-vel az EinsyRambo alaplapot. A Fájl menüpont beállítások ablakában a További Alaplap-kezelő URL-ek részhez adjuk meg az Ultimachin elérhetőségét:

https://raw.githubusercontent.com/ultimachine/ArduinoAddons/master/package_ultimachine_index.json
Arduino IDE Ultimachine

Majd az Eszközök – Alaplap: … – Alaplap-kezelő képernyőn keressünk rá a Rambo alaplapra és telepítsük fel:

Arduino Rambo board

Ezek után az Eszközök menüben az Alaplapok között megtaláljuk a RAMBo nevűt, ezt kell majd kiválasztanunk a firmware fordításához és feltöltéséhez.

Arduino platform.txt módosítása

Ahhoz, hogy helyesen le tudjuk fordítani a fimware-t, módosítanunk kell az Arduino platform.txt nevű fájlját, amiben fordítási paraméterek találhatóak. A módosítás alatt ne fusson az IDE! Windows-on a fájl a telepített Arduino mappájában található, nekem például itt:
c:\Program Files (x86)\Arduino\hardware\arduino\avr\

Keressük ki a compiler.c.elf.flags paramétert és az értékek felsorolásába még szúrjuk be ezt a részt: vfprintf -lprintf_flt -lm -Wl,

Nekem ez az alábbiak szerint nézett ki:

compiler.c.elf.flags={compiler.warning_flags} -Os -g -flto -fuse-linker-plugin -Wl,-u,--gc-sections

Amit erre javítottam:

compiler.c.elf.flags={compiler.warning_flags} -Os -g -flto -fuse-linker-plugin -Wl,-u,vfprintf -lprintf_flt -lm -Wl,--gc-sections

Az 1.8.8-as Arduino IDE-ben nekem ez így működött, viszont az 1.8.9-ben már nem. Ott még a Rambo által feltelepített platform.txt-be is be kellett írni ezt a sort.
A fájlt ebben a mappában találtam meg: c:\Users\tz\Documents\ArduinoData\packages\rambo\hardware\avr\1.0.1\

Onnan tudjuk, hogy nem sikerült a beállítás, hogy telepítés után a kijelzőn a Z magasság pozíciója helyén egy kérdőjelet látunk:

Prusa platform.txt hiba

Amennyiben a fenti két fájlban elvégzett módosítás után is ott látjuk a kérdőjelet, akkor el kell kezdeni keresgélni a neten. Azt, hogy több helyen található
platform.txt fájl és ezekkel van a gond, ebben a (Macintosh-hoz íródott) cikkben olvastam: Change and compile the original Prusa MK3 firmware

Prusa Mk3 firmware fordítása és feltöltése

Magát a firmware-t a Prusa GitHub oldaláról tudjuk letölteni. Jelenleg az aktuális verzió: 3.7.0 Firmware for MK3, MK3S, MK2.5 and MK2.5S

A Source Code (zip)-et töltsük le, hogy mi magunk le tudjuk fordítani és akár bele is javíthassunk. A tömörített fájlban több mappa is található, nekünk a Firmware nevűre lesz szükségünk.

A címből is látjuk, hogy több Prusa 3D nyomtatóhoz is használható ez a program, ez pedig úgy lehetséges, hogy több konfigurációs fájlt is mellékeltek hozzá. A variants mappában lévő 1_75mm_MK3-EINSy10a-E3Dv6full.h fájlt másoljuk eggyel kijjebb Configuration_prusa.h néven, mert nekünk erre lesz szükségünk.

Ezek után nyissuk meg az IDE-ben a Firmware.ino fájlt. Válasszuk ki az Eszközök menüpontban a Rambo alaplapot, majd probáljuk ki a fordítást: Ctrl-R, vagy a pipa ikon.

Nekem majdnem elsőre működött a feltöltés után, csak éppen az üdvözlő feliratok után ákombákomokat írt ki, majd újraindult a nyomtató. Ezt azzal orvosoltam, hogy kikapcsoltam a Multi Language funkciót a config.h fájlban:

#define LANG_MODE        0 // primary language only
//#define LANG_MODE        1 // sec. language support

A feltöltéshez válasszuk ki a megfelelő Port-ot az Eszközök menüpontban. Az EinsyRambo bordra csak úgy lehet feltölteni a programot, ha áram alatt van, ezért kapcsoljuk be a nyomtatót. Indítsuk el a feltöltést a Ctrl-U kombinációval, vagy a megfelelő ikonnal.

Néhány másodperc után üdvözül minket a nyomtató és biztat a kalibrációs folyamat elvégzésére. Erről Prusáék készítettek is egy videót:

Hozzászólás küldése

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük