Marlin-Firmware beállítása és használata

Marlin-Firmware beállítása és használata

  1. Getting Started
  2. Serial Ports, Baud Rate, Bluetooth, Custom Name
  3. Stepper Drivers
  4. Sensorless Homing
  5. Microstepping and Stealthchop
  6. PSU Control
  7. Thermal Settings - Thermistor and Max/Min Temp
  8. PID Settings
  9. Safety - Cold Extrusion and Thermal Runaway
  10. Mechanical Settings - Corexy, Belt Printers, Robotic Arms
  11. Endstop Settings
  12. Motion Settings - Acceleration, Feedrate, Steps, Linear Advance
  13. Z-Probe and Bed Levelling, Changing Motor Direction
  14. Bed Size and Filament Runout Sensors
  15. M600
  16. Additional features - EEPROM, Preheat Settings, Nozzle Cleaning, Print Job Timer, Passwords, Language, SD Card Support, Encoder Sensitivity, Speakers, LCDs, Neopixels

Egy gyors megjegyzés, mielőtt elkezdenénk - megemlíténk a sorszámokat, hogy könnyebb legyen megtalálni a megfelelő Firmware-sort. Attól függően, hogy milyen Firmware-t vagy milyen konfigurációs fájlokat használ, ez egy kicsit eltérő lehet, de így is viszonylag könnyen megtalálhatja a megfelelő sort.

Az utasításokat a Marlinban definícióknak (definitions) nevezik, ezek lehetnek be, ki vagy be + választható érték. Azok, amelyek be vannak kapcsolva, kommentálatlanok, vagyis nincs komment azonosítójuk, ami egy dupla perjel. Alapvetően a kettős perjel mindent kikapcsol, és lehetővé teszi a kommentárok írását, ha személyre akarja szabni a Firmware-t, hogy az később saját maga vagy mások számára is használható legyen. Bármit, amit a sor elején //-vel írnak, a Firmware a kompilálás során teljesen figyelmen kívül hagy.

1. Getting Started

A Marlin Firmware szerkesztéséhez megfelelő szoftverre van szükség. Bár van néhány lehetőség, a legtöbben a Visual Studio Code-ot használják. Ez a szoftver innen ingyenesen letölthető, Windowsra, Linuxra és Macre egyaránt.

Ehhez Platform IO bővítményre is szüksége lesz. Miután telepítette a VS Code-ot, lépjen a bal oldali eszköztárban a bővítményekre, keresse meg a Platformio-t, és kattintson a Telepítés gombra. Használhatja az Auto-Build Marlin bővítményt is, ami egy kicsit gyorsabbá teszi a dolgokat, ha a megfelelő processzorral állítja be a Board-ot, de ezt a régi módon is megteheti. A cikkben később megmutatjuk, hogyan kell ezt csinálni.

Ha már minden meg van, jöhet a Marlin Firmware. Tehát irány a Marlin GitHub, ahol letöltheti a legújabb verziót.

Megfigyelheti, hogy létezik egy Bugfix és egy normál verzió. A Bugfix verzió a Firmware legújabb módosításait tartalmazza. Ez hasznos, de egyben kevésbé stabil is, mivel folyamatosan dolgoznak rajta. A Marlin csapata azonban nagyon jó a hibák azonosításában és kijavításában, ezért szeretjük ezt a verziót használni.

Kattintson a jobb felső sarokban a Code-ra a Firmware Zip-ként történő letöltéséhez, csomagolja ki a Zip mappát, és töltse be a VS kódot. Ezután lépjen a fájlra, és nyissa meg a mappát és a Marlin Firmware-t.

A következő a konfigurációs fájlok, a konkrét nyomtató konfigurációk a GitHubon is megtalálhatóak.

Ezek különösen akkor hasznosak, ha a Firmware-t csak kis mértékben szeretné megváltoztatni. Ha például van egy nyomtatója, mondjuk egy Ender 3, és most frissítette a hotendet, és a Firmware-ben meg kell változtatnia a termisztort, egyszerűen letöltheti az adott nyomtató konfigurációs fájljait, és beillesztheti azokat az imént letöltött Marlin mappába. Így a nyomtató alapértelmezett Firmware-jének minden sajátossága már megvan, és csak a termisztor értékeit kell megváltoztatnia.

A Firmware mappa szerkesztésre való előkészítése során egy nagyon fontos szempontot kell figyelembe vennie, mielőtt elkezdené a szerkesztést, mégpedig a megfelelő alaplap és processzormodell kiválasztását.

Ha az Explorerben a bal oldalon a configuration.h oldalra lép, a 70. sorban talál egy parancsot, amely megadja, hogy melyik alaplapot használja. Sok alaplaphoz csak egy verzió létezik, de néhánynak vannak változatai, vagy egyes nyomtatók különböző alaplapokat használtak a múltban. A legjobb, ha megnyitja a nyomtatót, és ellenőrzi, hogy melyik alaplap van beépítve.

Hogy megtudta, hogy a Firmware-ben pontosan milyen nevet kapott a Board, menjen vissza az Explorerbe a bal oldalon, menjen a src, core és boards.h menüpontokhoz. Ez a Marlin által támogatott összes Board listája. Ezután nyomja meg a CTRL F billentyűt, és írja be a Board márkáját, tehát például a Creality Ender 3 Board esetében írja be a Creality-t. Görgessen lefelé, hogy kihagyjon mindent, ami ezzel a kulcsszóval kapcsolatos, és megtalálja a Creality V4 Board-ot. Használhatja egyszerűen a Board_Creality_V4 jelölést. Ez alapvetően ugyanaz a folyamat bármelyik alaplap esetében, amennyiben a Marlin adott verziója támogatja. A Board-hoz tartozó processzorváltozatokat is megtalálja, a 4-es verziójú Board esetében itt STM32F103RC és STM32F103RE.

Mindkettőre figyeljen, menjen vissza a Configuration.h-ba, és másolja be a Board-ot a #define MOTHERBOARD utáni területre. Most már a bal oldali Explorer eszköztárban a Platform.io fülre kattintva is ellenőrizheti, hogy a megfelelő processzormodell szerepel-e a default_envs sorban a lap tetején.

Oké, ennyi, most már szerkeszthetjük a Firmware-t. Két fő oldalt fogunk szerkeszteni, a legtöbbet a config.h-ban, de néhányat a config_adv.h-ban is.

2. Serial Ports, Baud Rate, Bluetooth, Custom Name

Ha a config.h-ra megyünk, kezdhetünk. Az alaplappal már végeztünk, így térjünk át a következő definícióra: Serial Ports.

Majdnem minden nyomtató Serial Port-ot használ a különböző eszközökhöz való csatlakozáshoz. A legtöbb esetben csak egyet használnak, de ha valami mást, például egy SD-kártyával ellátott érintőképernyőt vagy egy USB-portot csatlakoztatunk, akkor lehet, hogy egy kicsit kísérleteznünk kell vele. Ezt itt nem fogjuk megtenni, úgyhogy ezt most felejtsük el.

A Baud Rate az ezen portok kommunikációs sebessége. Ez változhat, de a legtöbb esetben a Baud Rate 115200.

A Serial Port további beállításait alább találja, de úgy hagyhatjuk a meghatározatlanokat, mivel valószínűleg nincs szüksége további Serial Ports-ra.

A Bluetooth-kapcsolatra is vannak opciók, ami a nyomtatóknál ritka, valamint a nyomtató nevének megváltoztatására is van lehetőség, ami alapértelmezés szerint ki van kapcsolva. Ezt a nevet a készülék bekapcsolásakor az LCD-képernyőn láthatja. Kapcsolja be az opciót, és adjon meg egy új nevet, ha kedve tartja.

3. Stepper Drivers

A következőkben a Stepper-meghajtók következnek. Nehéznek hangzik, de egyáltalán nem az. Minden nyomtató használ Stepper-meghajtókat, ezek vezérlik a motorokat. Régebben a nyomtatók az A4988-at vagy más változatokat használták, ami azt jelentette, hogy a motorok elég zajosak voltak. Manapság a TMC2208 vagy TMC2209 van telepítve a legtöbb nyomtatóba szabványos meghajtóként. Létezik azonban számos más meghajtó is, amelyek különböző funkciókkal és előnyökkel rendelkeznek, mint például a lépésosztás vagy a maximális áram.

Egyszerűen beállíthatja, hogy melyik meghajtót melyik eléréshez kívánja használni. Gyakran előfordul, hogy a nyomtató alaplapja nem adja meg, hogy melyik Stepper-meghajtót használja. Néha egy alaplap beépített Stepper-meghajtót használ, ami azt jelenti, hogy ezeket nem lehet eltávolítani. Ebben az esetben valószínűleg nincs feltüntetve, hogy melyik meghajtót használják, de néha van egy jelzés az alaplapon, amely jelezheti, hogy melyik meghajtót használják. A Creality V4-Board esetében például van egy kis kód az SD-kártya csatlakozón. Ha az áll rajta, hogy "T8", akkor az azt jelenti, hogy a TMC2208-as meghajtót használja. Egyes alaplapok kivehető meghajtókat használnak, amelyeknek az az előnye, hogy meghibásodás esetén könnyen kicserélhetőek - ha ez az integrált meghajtókkal történik probléma, a kártya tönkremegy, és új kell.

4. Sensorless Homing

Nekünk nagyon tetszik a Sensorless Homing. Nem olyan pontos, mint a fizikai végállások, de csökkenti a kábelek szükségességét. Nem minden meghajtó támogatja a Sensorless Homing-ot, például a nagyon népszerű TMC2208-as meghajtók nem tudják használni ezt a funkciót. A TMC2209-es meghajtók viszont igen.

A Sensorless Homing működéséhez néhány fizikai változtatásra van szükség az alaplapon, de ne aggódjon, ezek nagyon egyszerűek. Ez az alaplaptól függően változhat, de általában egyszerűen jumperek beállítása bizonyos pineken. Lásd az SKR Mini E3 kézikönyvét.

A Firmware szempontjából a következő szükséges a Sensorless Homing-hoz: Először is, a HOMING_BUMP-ot 0-ra kell állítani a 210. sorban (configuration_adv.h) - ezt általában a végállásoknál használják, ahol a tengely eléri a végállást, egy kicsit hátrébb megy, majd lassan újra eléri a végállást. Alapértelmezés szerint ez néhány mm, ezt ki kell kapcsolnunk.

A 1174. sorban az ENDSTOP_INTERRUPTS_FEATURE (configuration.h) értéke undefined kell, hogy legyen.

A következő az áram. Ezeknek az alaplapoknak az a szépsége a régebbiekhez képest, hogy a régi 8 bites alaplapokon a motoráramot nem lehetett Firmware-rel megváltoztatni. Az alaplapon kellett változtatni a Vref-et egy kis Trimpot elforgatásával, ami nagyon érzékeny volt. Ha egy icipicit túl sokat fordított, akkor 1,5-re repült, pedig a legtöbb xy-motorhoz csak 0,8-ra (vagy 800 mA-re) van szükség. Az áram beállítására szolgáló sorokat a 2386-tól találja (configuration_adv.h).

Az áramerősség, amire a Firmware-ben szüksége van, a Stepper-meghajtótól és a motortól függ. Ha egy meglehetősen átlagos motorral rendelkezik, mint például egy 42-34-es motor, akkor az itt megadott áramértéknek csak 800-nak kell lennie. Ha talál egy műszaki adatlapot a motorhoz, akkor láthatja, hogy a maximális áram 1,5A vagy 1500mA. De ne írja be az 1500-at a Firmware-be, ez egy abszolút csúcsérték, és mi nem dolgozunk csúcsértékekkel, annak rossz vége lenne. Mi az RMS értéket keressük, az áram négyzetes középértékét. A helyes áram kiszámítása valójában nem olyan egyszerű, de vannak kalkulátorok, például az ALL3DP.

Az áramkezelés döntő fontosságú a Sensorless Homing kalibrálásakor, mivel lehet, hogy egy kicsit babrálni kell vele, hogy optimálisan működjön.

A MONITOR_DRIVER_STATUS a 3204. sorban található (configuration_adv.h) - ez rendszeresen ellenőrzi a meghajtókat, hogy meghatározza az állapotukat. A Marlin képes automatikusan csökkenteni a meghajtó áramát, ha a meghajtó túlmelegedésre figyelmeztetést jelez. Tehát kapcsolja be.

A TMC_DEBUG-ot is engedélyezheti a 3317. sorban (configuration_adv.h), ahol további információkat láthat a Stepper-meghajtókról.

Oké, most már bekapcsolhatjuk a SENSORLESS_HOMING-ot a 3272-es sorban (configuration_adv.h), ezt be kell kapcsolnunk az X és Y esetében, és be kell állítanunk a stall érzékenységet. Ha ez túl alacsony, akkor nem érzékel semmit, és tovább forgatja a motort, még akkor is, ha a nyomtatófej oldalra ütközik, ha túl magas, akkor állandóan "érzékeli" az elakadást, még akkor is, ha a nyomtatófej csak áll. A Firmware Flashen után az LCD-n már van egy menü, ahol a stall érzékenység és az áram módosíthatók, így csak az értékeket kell megváltoztatnia, hogy illeszkedjen. A stall értékek 0-255 között mozognak, így az első próbálkozásnál 128 körüli értéknek kell lennie. Állítsa be az értéket ennek megfelelően, majd próbálkozzon újra és újra és újra és újra. Ha elakad, és nem számít, milyen értéket választ, egyszerűen nem működik, akkor az áramerősséget kell módosítani, csak növelje egy kicsit. CSAK EGY KICSIT!!! Ha 800 milliamper, növelje 850-re, és próbálja meg újra.

A 3291. sorban kicsit lejjebb a define IMPROVE_HOMING_RELIABILITY-t is használhatja, ami pontosan az, aminek hangzik.

Előfordulhat, hogy a Z tengelyen történő Sensorless Homing nehézkes, különösen olyan nyomtatóknál, amelyek tekercset használnak a Z mozgáshoz. Hogy megkímélje magát a mérgelődéstől, ne kapcsolja be a Z tengely Sensorless Homing-ot.

5. Microstepping and Stealthchop

A 2838. sorban van egy másik meghajtó-funkció, az X_MICROSTEPS (configuration_adv.h). A Stepper-meghajtók lépésekben mozognak, általában 1,8 fok lépésenként, ami nagyon pontos, de lehet ez ennél pontosabb? Eltekintve attól, hogy egy másik motort szerez be, amelynek kisebb a lépésenkénti mérése, használhatja a Microstepping-et, amely azt mondja a meghajtónak, hogy jelezze a motornak, hogy 1,8 foknál kevesebbet mozogjon, ami nagyon praktikus a nagyon pontos beállításhoz. Az alapértelmezett érték 16, de lehet magasabbra is állítani, ami természetesen azt jelenti, hogy a motor bizonyos távolságra történő elmozdításához szükséges lépések száma is változik. Ezért van a Marlinben ez a csodálatos Interpolate nevű függvény a 2833. sorban (configuration_adv.h), amelyet, ha True-ra állít, automatikusan "interpolálja" az egyes motorlépések értékét, így nem kell manuálisan változtatnia semmit. Tehát ha a Microstepping-et 16-ról 32-re változtatja, akkor az összes motor lépésszámát úgy kell beállítania, hogy elérje az új értéket. Ha aktiválja az Interpolationt, ez automatikusan megtörténik.

A következő pont a STEALTHCHOP a 3140. sorban (configuration_adv.h). Ezt bekapcsolva minden szuper halk lesz - érdemes bejelölni a CHOPPER_TIMING CHOPPER_DEFAULT-ot is, közvetlenül alatta. Valószínűleg 24 V-os nyomtatója van, ezért állítsa 24 V-ra. Természetesen a Stealthchop használatának képessége a meghajtójától is függ, de szerencsére manapság a legtöbb tudja kezelni.

6. PSU Control

A Configuration.h-ban, a 388. sorban találjuk a PSU vezérlést (configuration.h), ami akkor lehet érdekes, ha egy nyomtatási feladat befejezése után automatikusan le akarjuk kapcsolni a nyomtatónkat.

7. Thermal Settings - Thermistor and Max/Min Temp

A következő a 430-as sorban (configuration.h) található hőfokbeállítások, és valószínűleg ez a legkeresettebb Firmware-Tutorial az összes közül. Sokak számára a Hotend frissítése az első változtatás, amit elvégeznek. Tehát ha van egy Ender 3 nyomtatója, és Revo Hotendre szeretne frissíteni, mit tesz? Nos, két dolgot kell megváltoztatni, amelyek közül az első a termisztor. A legtöbb nyomtató 100k termisztort használ, amelynek a Marlinban az érzékelő típusa "1". A Revo és sok más termisztor azonban az 5-ös számot használja, ami szintén 100k termisztor, de a Semitec-től. Mint látható, van néhány márka, amely ezt a típusú termisztort használja. De talán szeretne frissíteni valami erősebbre, például egy PT1000-re? Ez a PT1000-től függ, de a legtöbben az 1047-es számú érzékelőt használják 4,7-Ohm-Pull Up-pal.

Az 536. sorban (configuration.h) a temp_sensor_bed esetében is megteheti ugyanezt.

A hotend frissítésének másik része a HEATER_0_MAXTEMP a 611. sorban (configuration.h) található. A PTFE hotendek általában 260C-ra vannak korlátozva, ami a Marlinban 275C-ként van megadva. Nem tudjuk miért van így, de mindegy is, hogy milyen hőmérsékletet ír be ide, a nyomtató ténylegesen elérhető hőmérséklete 15C-kal alacsonyabb lesz. Tehát ha 300C-os Hotend-del rendelkezik, akkor legalább 315C-ot kell megadni maximális értékként.

Az 597. sorban található a HEATER_0_MINTEMP is, amely automatikusan kikapcsolja a fűtést, ha eléri ezt a hőmérsékletet. Egyébként, ha a nyomtatója kikapcsolja a fűtést, vagy Mintemp hibát jelez, és nem tudja biztosan, hogy miért, akkor lehet, hogy azért van, mert a nyomtatója túl hideg környezetben van. Télen sok kérdést kapunk ezzel kapcsolatban, mivel sokan a garázsban tartják a nyomtatójukat, és ez könnyen megtörténhet.

A 623-as sorban van egy termikus overshoot (configuration.h), amely lehetővé teszi a Maxtemp érték feletti hőmérsékletet, mielőtt leállítja a gépet. Az overshoot akkor fordulhat elő, ha a fűtőberendezés nincs kalibrálva, ami elvezet minket a 633. sorhoz és a PID-tuninghoz (configuration.h)

8. PID Settings

Ez szinkronizálja a fűtést és a termisztort, hogy a fűtés pontos legyen. A legfontosabb dolog itt a 659. sor, amely megadja az alapértelmezett értékeket a Proportional, Integral és Derivativ számára. Itt nem igazán kell semmit sem megváltoztatnia, de amikor fűtést cserél, érdemes elvégezni a PID-hangolást, ami lényegében kalibrálja a fűtést vagy a termisztort, hogy a hőmérséklet ne ingadozzon túlságosan a nyomtató működése közben. Tehát ezt a Hotend frissítése után javasolnánk elvégezni. Ennek több módja is van, de az egyik egyszerűbb módja az, hogy engedélyezzük ezt az LCD menüben a 803-as sorban. Egy másik módszer az lenne, ha a nyomtatót USB-n keresztül csatlakoztatná a számítógéphez, és egy terminálprogramot, például a Pronterface-t használná.

Ebben a terminálban gcode parancsokat adhat meg. A helyes parancs a PID-tuninghoz a következő: "M303 E0 S210 C10 U".

Itt az M303 a folyamat elindításának parancsa.

E0 a használt fűtésre utal (az E0 az alapértelmezett beállítás szinte minden egy extruderes nyomtatónál).

S210 a 210C-os hőmérsékletre utal, ami PLA-hoz alkalmas, de megváltoztathatja, ha elsősorban más Filamenteket szeretne használni.

C7 azt jelzi, hogy milyen gyakran kell lefuttatni a tesztet. Minél többször futtatja a tesztet, annál pontosabb lesz, de mi azt tapasztaltuk, hogy 7-nél több próbálkozásra nincs szükség.

Amint beírta ezt a parancsot, a teszt végrehajtásra kerül.

Amint megkapta ezeket az értékeket, az M301 paranccsal beírhatja őket a terminálba, például M301 P30 I3 D60.

Ezután mentse el a beállításokat az M500 paranccsal, és kész.

Az ágy és a ház PID-szabályozásához még több minden kell. Az ágy PID-beállítása nem annyira szükséges, mint a Hotendé. A Hotendeket sokkal gyakrabban cserélik, mint az ágy termisztorát, de ott van, amikor be kell kapcsolni.

9. Safety - Cold Extrusion and Thermal Runaway

A következő fontos pont a 827-es sorban (configuration.h) található termikus elszabadulás elleni védelem, amelyet mindenképpen kapcsoljon be! Ez leállítja a nyomtatót, ha a hőmérséklet az elvárt szint fölé emelkedik. Lehet, hogy a termisztor eltolódott, és nem tud róla. Enélkül a hőmérséklet folyamatosan emelkedik, és a termisztor értéke alig változik. Ez nem jó. Kapcsolja be!

A 816. sorban (configuration.h) van egy funkció a hideg extrudálás megakadályozására is. Ez megakadályozza, hogy az extruder motorja bekapcsoljon, ha a hőmérséklet a megadott érték alatt van. Alapértelmezés szerint itt egy 170-es érték van beállítva. Az, hogy általában milyen Filamenttel dolgozik, megmondja, hogy milyen értéket kell itt használni. Ha például főként PETG-t nyomtat, akkor körülbelül 220C-os hőmérsékletet kell beállítania.

10. Mechanical Settings - Corexy, Belt Printers, Robotic Arms

A következő a mechanikai beállítások, és mivel Corexy beállítást fogunk használni, ez nagyon fontos. Itt meg kell határoznunk a Corexy-t.

Itt vannak más kinematikák is, mint például delta, vagy ha van robotkarunk, akkor ez is lehetséges.

11. Endstop Settings

A következő a végállási beállítások az 1071. sorban (configuration.h). Itt egyszerűen csak a végállások aktiválása történik.

Itt van még egy kis funkció a Endstop Noise Threshold-hoz. Nagyon régen ezt a funkciót akkor kellett használni, amikor extra hosszú kábeleket akart csatlakoztatni egy nyomtatóhoz, hogy az összes elektronika a burkolaton kívül legyen. Valamilyen okból a hosszú kábelek hibákat okoztak a Homing során, de ez a funkció segített.

12. Motion Settings - Acceleration, Feedrate, Steps, Linear Advance

A következő a mozgásbeállítások az 1194-es (configuration.h) sorban, és a legelső dolog az alapértelmezett lépéseknél. Mint korábban említettük, a léptetőmotorok 1,8 fokonként lépésekben forognak (kivéve, ha 0,9 fokos motorja van). Amikor a motor elforgat egy szíjat, vezetőorsót vagy fogaskereket, bizonyos számú lépést kell tennie ahhoz, hogy az alkatrész a kívánt mértékben elmozduljon. Ezt leggyakrabban az extruder frissítéseknél kell megváltoztatni, ahol valójában csak a számot kell megváltoztatni ezen a soron. Általában a gyártók megadják az extruder lépéseket (vagy esteps), de előfordulhat, hogy ezeket módosítani kell, ezért esteps kalibrációt végzünk.

Az Esteps-et és tulajdonképpen az összes Stepping-értéket nem kell a Firmware-ben konfigurálni, egyszerűen szerkesztheti a Start-Gcode-ot, hogy egy M92 paranccsal új értéket illesszen be. Ez a legegyszerűbb módja, ha frissíti az extruderét, a legtöbb esetben nem kell frissítenie a Firmware-t, egyszerűen csak használhatja a Gcode-ot akár a Slicer-ben, akár a Pronterface-en keresztül, ahogy azt már bemutattuk. Ez tulajdonképpen a mozgásbeállítások kategóriában az összes értékre elvégezhető: M203 a maximális feedrate-re, M201 a maximális gyorsulásra, M204 az alapértelmezett gyorsulásra és M205 a Jerk-beállításokra. Ha például egy új Bondtech extruder lépésszámát szeretné megváltoztatni, csak annyit kell tennie, hogy az indító Gcode-ba beírja az M92 E415-öt (az M92 a motor lépésszámának megváltoztatására vonatkozó parancs, az E pedig azt jelzi, hogy az extruder motorjáról van szó), és kész. Ezek az értékek tehát nincsenek kőbe vésve, és elég könnyen megváltoztathatók a Firmware módosítása nélkül.

Apropó, ha általában a Gcode parancsok és a használt paraméterek érdekelnék, akkor nézze meg Marlin weboldalát, ahol az összes Gcode parancsot megtalálja, amelyek közül néhány nagyon hasznos lehet. Itt egy példa az M204 indításgyorsító Gcode-ra.

A Jerk egy olyan funkció, amely korlátozza egy tengely gyorsulásának változásának mértékét, különösen akkor, amikor a nyomtatófej áll, majd hirtelen mozogni kezd, de akkor is, amikor 90 fokos forgás történik. Ez egy viszonylag régi funkció a Firmware-ben, amelyet még mindig sok nyomtató használ, de az újabb nyomtatók, különösen a Klipper Firmware-rel rendelkező nyomtatók használnak valamit, amit úgy hívnak, hogy Junction Deviation, ezért nézzük meg ezt.

A Firmware módosítását illetően ez nagyon egyszerű: menjünk az 1288-as sorba, és definiáljuk a Junction Deviation-t. Győződjön meg arról is, hogy a classic_jerk nincs definiálva az 1265-ös sorban (configuration.h). Ezzel a Firmware része kész, de még meg kell találnia a Junction Deviation értékét. Alapértelmezés szerint 0,013 mm-re van beállítva, de ez teljesen a nyomtatótól függ. Szerencsére ez egy egyszerű teszt, csak annyi a dolgunk, hogy kinyomtatunk egy olyan modellt, ahol az egyes rétegeknél a Junction Deviation értéke kissé eltérő, majd megnézzük, melyik réteg nyomtat a legjobban. Ha erős Ringing érzékelhető, akkor az érték túl magas. De túl alacsony sem lehet, mert az lelassítaná a folyamatot.

A TeachingTech-nek van egy nagyszerű útmutatója és kalkulátora.

A következő az S-görbe gyorsítás az 1301-es sorban (configuration.h), amely csökkenti a rezgést, és a Jerk- funkcióhoz hasonlóan viszonylag régi. Ezek egyike a Linear Advance, amely arra szolgál, hogy a gyorsulás változásával szabályozza az extrudált volumen sebességét. Észrevette már, hogy 90 fokos sarkok nyomtatásakor a nyomat egy kicsit meggörbül? A Linear Advance pontosan ezt hivatott orvosolni.

A Firmware szempontjából hasonló a Junction Deviationhoz. Menjen a configuration_adv.h 2205-ös sorára, és ott megtalálja. Mindössze annyit kell tennie, hogy eltávolítja a kommentárt, hogy definiálva legyen. Ezután kalibrálnia kell, hogy megtalálja a megfelelő értéket. Ezt nevezzük k-értéknek, alapértelmezés szerint 0,22.

A k-érték kalibrálása hasonló a Junction Deviation érték kalibrálásához, kinyomtatunk valamit különböző értékekkel, és megnézzük, melyik működik a legjobban. Szerencsére a Marlin rendelkezik egy abszolút zseniális kalkulátorral, amellyel mindent kiszámolhat.

13. Z-Probe and Bed Levelling, Changing Motor Direction

A 1311. sorban eljutunk az ágy szintezéséhez és a Z-szondákhoz (configuration.h). Ez egy nagyon terjedelmes rész, mivel a szintezésnek sokféle módszere van, nem csak automatikus szintező Add-ons, hanem sok minden más is.

Szüksége van a motor irányának megfordítására? Erre néha az extruder frissítés vagy Stepper-meghajtó váltás miatt van szükség. A Marlinben számos olyan funkció van, amelyhez szükséges az irány megfordítása, de ezt most nem kell megtennie. Amikor kompilálja és flasheli a Firmware-t, csak próbálja meg mozgatni a motort, és nézze meg, hogy a megfelelő irányban fut-e. Ha meg kell változtatnia az irányt, menjen az 1698-as sorba, és változtassa az INVERT_[X/Y/Z]_DIR-t false-ra vagy true-ra.

14. Bed Size and Filament Runout Sensors

A következő az 1753-as sorban (configuration.h) az ágyméret. Az ágyaknak egy kis mozgásteret kell hagyni, mivel nem szeretnénk, ha a modellünk túl közel nyomtatna az ágy széléhez, ezért a min_position értékét 0-ra állíthatjuk, ami az a pont lesz, ahol a végállás vagy az érzékelő nélküli homing megállítja ezt a tengelyt Auto-Homing esetén. Lehet, hogy a végállási pont már ésszerű távolságra van az ágy szélétől, vagy még csak nem is az ágyon van. Ebben az esetben szüksége van a távolságra, ezért egyszerűen szerkessze meg a min_position-t mm-ben, hogy tartalmazza a távolságot, majd mozgassa a kocsit az ágy túloldalára, arra a pontra, ahová nem akarja, hogy túlmenjen, és ez lesz a max_position, ami az a pont, ameddig minden elmozdulás korlátozva van.

A következő a Filament-Runout-érzékelők a 1818-as sorban (configuration.h). A legegyszerűbb módja a Filament-Runout-érzékelő beállításának, ha egy normál végállást használunk egy kis görgővel a végén. Ez a görgő elég fontos, mert ha kihúzzuk a Filamentet, a fémszalag meghajlik vagy akár el is törhet, ami a kapcsolót használhatatlanná vagy megbízhatatlanná teszi. Vannak más lehetőségek is, mint például egy Opto-érzékelő, ami szerintünk sokkal megbízhatóbb. Soha nem volt problémánk a Prusa MK3 érzékelőjével, de a végállás érzékelőket könnyű hozzáadni, olcsó és a megfelelő kialakítással nagyon jól működik. Tehát ha használni akar egyet, akkor vegye ki a filament_runout_sensor bejegyzést a 1830-as sorban, aktiválja a #define FIL_RUNOUT_ENABLED_DEFAULT-ot és állítsa true-ra, és csak 1-re van szüksége, kivéve, ha kettős extrudere van, akkor állítsa a #define NUM_RUNOUT_SENSORS-t 1-re, mindenképpen engedélyeznie kell az M600 parancsot (erről kicsit később), ezért váltson a 1877-es sorra (configuration.h).

Az ADVANCED_PAUSE_FEATURE 2752. sorában (configuration_adv.h) is el kell mennie, és el kell távolítania a kommentárjelet. Itt még rengeteg más finomítást is elvégezhet.

Már csak a Board csatlakoztatása szükséges. A Board-tól függően, ha szeretné, ezt is megváltoztathatja. Ha meg akarja nézni, hogy hol van az alapértelmezett pin, akkor menjen az SRC-re, PINS-re és a processzormodellre, válassza ki, nyomja meg a CTRL F-et és írja be a FIL_RUNOUT_PIN-t. Nekünk egy BTT SKR e3 Mini V3.0 esetében a pin a PC15, menjen a Google-ba és írja be a Board nevét és a Pinout diagramot és nézze meg, hogy hol van ez a pin.

15. M600

Az M600 parancsot már említettük. Ez egy sajnálatosan kihasználatlan, de nagyon hasznos Firmware-funkció, nevezetesen a Filament cseréje nyomtatás közben. Ha az első néhány réteget egy színben, a következőt egy másikban szeretné nyomtatni, majd folyamatosan váltogatni a színeket, akkor ezzel a funkcióval megteheti. Nézze meg ezt a nyomatot, amit az M600-as paranccsal készítettünk.

Az M600 és az advanced pause funkciót már engedélyeztük, most a nyomtatófej parkolása funkciót kell engedélyeznünk. Menjünk tehát a 2362. sorba (configuration.h), és aktiváljuk a "nozzle park" opciót. Ha szeretné, itt megváltoztathatja a pozíciót, és a sebességet is a "feed rate" és a "minimum z feed rate" alatt.

Most lépjen a 824. sorba, és engedélyezze az Extrude max length (configuration.h) funkciót. Ez új Filamenteket fog behúzni a megadott hosszúságig, ami elég ahhoz, hogy eltávolítsa a régi Filamenteket és teljesen megváltoztassa a színt. Ez az érték attól függ, hogy Bowden vagy Direct Drive van-e Önnél. Ha hosszú PTFE-csővel ellátott Bowden-nel rendelkezik, akkor ennek az értéknek elég magasnak kell lennie, ha Direct Drive-val rendelkezik, akkor alacsony lehet.

Ezután menjen vissza a configuration_adv.h fájlban lévő advanced pause funkcióhoz, és győződjön meg arról, hogy a PARK_HEAD_ON_PAUSE ki van-e kommentálva, hogy a fúvóka ennek megfelelően parkoljon (configuration_adv.h)

16. Additional features - EEPROM, Preheat Settings, Nozzle Cleaning, Print Job Timer, Passwords, Language, SD Card Support, Encoder Sensitivity, Speakers, LCDs, Neopixels

A következő elem az EEPROM a 2291-es sorban, és mindenképpen engedélyezni kell (configuration.h) - ez olyan, mint a nyomtató memóriafunkciója. Tehát ha valamit megváltoztat, alapvetően bármit egy Gcode paranccsal, azt elmentheti egy M500 paranccsal, és az megmarad. E funkció nélkül a nyomtató a számítógépen beállított Firmware-beállításokkal fog újraindulni. Ez igazán kényelmessé teszi.

A következő a 2335-ös sorban (configuration.h) található preheat constants. Az EEPROM-hoz hasonlóan ezeknek is alapértelmezés szerint ott kell lenniük, még akkor is, ha néha az értékek nem olyan nagyszerűek. Szeretjük, ha ezek az értékek egy kicsit magasabbak, mint a tényleges nyomtatási hőmérséklet, de ez csak egy apróság. Alapértelmezés szerint csak a PLA és az ABS hőmérsékletek vannak előre beállítva, de ha valójában egyiket sem használja, vagy sok előre beállított értékre van szüksége, akár 10 is hozzáadható.

A következő a tiszta fúvóka funkció a 2374-es sorban (configuration.h). Ez hasznos a Dual-Extruder nyomtatóknál, de hasznos lehet egy egy Single-Extruder-nyomtatónál is, ha azt szeretnénk, hogy az első réteg tökéletes legyen.

A következő dolog a jelszó a 2498-as sorban (configuration.h) - lehet, hogy nem szeretné, ha például a gyermeke vagy a lakótársa használná a nyomtatót. A jelszavas védelem ebben az esetben hasznos lehet, de ha csak Ön fér hozzá a nyomtatóhoz, akkor a jelszó tulajdonképpen értelmetlen.

A 2529-es sorban (configuration.h) az LCD-támogatásra vonatkozó beállítások is vannak. Ha nem az angol vagy a kínai az anyanyelve, az sem gond, itt több nyelv közül választhat. Ha a vezérlője Encoder kereket használ, akkor a 2602-es sorban (configuration.h) megváltoztathatja az érzékenységet. Lejjebb a Controller-beállításainál kiválaszthatja vezérlőjét, esetleg SD kártya támogatással vagy érintőképernyővel rendelkező vezérlőt.

A nyomtatót neopixelekkel is frissítheti, amelyek olyan LED-ek, amelyeket a nyomtatóhoz csatlakoztathat, hogy jobb megvilágítást vagy menő fényjátékot hozzon létre. Ezek a beállítások a 3450-es sorban (configuration.h) találhatók.

Végezetül, van egy új és nagyon menő funkció, az Input Shaping. Ez egy új funkció a Marlinban, amely képes kompenzálni a rezgéseket, amelyek csúnya hibákat okozhatnak a nyomtatásban. Már készítettünk egy videót és egy útmutatót, amely segít a beállításában.

Ez a lista korántsem terjed ki mindenre, csupán áttekintést ad arról, hogy általában milyen változtatásokat szoktak elvégezni. Ha bármilyen problémája van a Marlin Firmware egyes részeivel, vagy szeretné, ha ez a lista bővüljön, kérjük, jelezze nekünk. A jövőben bővíteni fogjuk ezt az útmutatót, hogy segítsük Önt a kívánt változtatásokban.