Firmware Marlin - nastavení a zprovoznění

Firmware Marlin - nastavení a zprovoznění

  1. První kroky
  2. Sériové porty, přenosová rychlost, Bluetooth, vlastní název
  3. Krokové ovladače
  4. Sensorless Homing
  5. Microstepping a Stealthchop
  6. Ovládání PSU
  7. Nastavení teploty - termistor a maximální/minimální teplota
  8. PID nastavení
  9. Bezpečnost - extruze za studena a únik tepla
  10. Mechanická nastavení - CoreXY, pásová tiskárna, robotické rameno
  11. Nastavení koncového spínače
  12. Nastavení pohybu - zrychlení atd. také ve spojení s lineárním posuvem
  13. Z-sonda a vyrovnávání podložky
  14. Velikost podložky
  15. M600
  16. Doplňkové funkce - EEPROM, nastavení předehřevu, čištění trysek, heslo, jazyk, citlivost enkodéru, LCD, neopixely

Krátká poznámka, než začneme - budeme uvádět čísla řádků, aby bylo snazší najít správný řádek firmwaru. V závislosti na tom, jaký firmware nebo jaké konfigurační soubory používáte, se to může trochu lišit, ale i tak je to poměrně snadné řešení pro nalezení správného řádku.

Také příkazy v Marlinu se nazývají definice, mohou být buď zapnuté, vypnuté, nebo zapnuté s volitelnou hodnotou. Ty, které jsou zapnuté, jsou nekomentované, což znamená, že nemají identifikátor komentáře - dvojité lomítko vpředu. Toto lomítko v podstatě vše vypíná a umožňuje psát komentáře, pokud chcete svůj firmware přizpůsobit tak, aby byl později užitečný pro Vás nebo pro ostatní. Cokoli, co bude napsáno s // na začátku řádku, bude firmware při kompilaci zcela ignorovat.

1. První kroky

K úpravám firmwaru Marlin potřebujete správný software. Existuje několik možností, ale většina by použila Visual Studio Code. Tento software lze stáhnout zdarma zde, a to jak pro Windows, tak pro Linux i Mac.

K tomu budete potřebovat také rozšíření Platform IO. Po instalaci VS Code přejděte do rozšíření na panelu nástrojů vlevo (ikona se 4 čtverečky), vyhledejte Platformio a klikněte na tlačítko "instalovat". Můžete také použít doplněk Auto-Build Marlin, který vše trochu urychlí, pokud nastavíte desku se správným procesorem, ale můžeme to udělat i postaru. Později ukážeme, jak na to.

Jakmile máte vše pohromadě, musíte si pořídit firmware Marlin. Přejděte tedy na Marlin GitHub a stáhněte si nejnovější verzi.

Všimněte si, že existuje verze s opravou chyb a běžná verze. Verze s opravou chyb obsahuje nejnovější změny firmwaru. Je užitečná, ale také nejméně stabilní, protože se na ní neustále pracuje. Tým společnosti Marlin je však velmi dobrý v identifikaci a opravě chyb a nedostatků, proto tyto verze rádi používáme.

Kliknutím na Code v pravém horním rohu stáhněte firmware ve formátu ZIP, rozbalte složku ZIP a načtěte VS Code. Poté přejděte na soubor a otevřete složku a firmware Marlin.

Dále následují konfigurační soubory, konkrétní konfigurace tiskárny najdete také na GitHubu.

Tyto funkce jsou užitečné zejména v případě, že chcete ve firmwaru provádět pouze drobné změny. Například pokud máte tiskárnu, dejme tomu Ender 3, a právě jste upgradovali hotend a potřebujete změnit termistor ve firmwaru, můžete jednoduše stáhnout konfigurační soubory pro tuto tiskárnu a vložit je do právě stažené složky Marlin. Tímto způsobem jsou již všechna specifika výchozího firmwaru tiskárny k dispozici a je třeba změnit pouze hodnoty termistoru.

Při přípravě složky firmwaru k úpravám je třeba před zahájením úprav zvážit jeden velmi důležitý bod, a to výběr správné základní desky a modelu procesoru.

Přejdete-li na stránku configuration.h v Exploreru na levé straně, uvidíte v řádku 70 příkaz, který určuje, která základní deska se používá. Pro mnoho desek existuje pouze jedna verze, ale některé mají varianty, respektive některé tiskárny v minulosti používaly různé desky. Nejlepší je otevřít tiskárnu a zkontrolovat, která deska je nainstalována.

Chcete-li zjistit, jak přesně se Vaše deska ve firmwaru jmenuje, vraťte se do Exploreru vlevo, přejděte na src, core a boards.h. Zde je seznam všech desek, které Marlin podporuje. Pak stiskněte klávesu CTRL F a zadejte značku své desky, takže například u desek Creality Ender 3 zadejte Creality. Přejděte dolů a přeskočte vše, co souvisí s tímto klíčovým slovem, a najdete desky Creality V4. Stačí použít příkaz Board_Creality_V4. Tento postup je v podstatě stejný pro jakoukoli značku základní desky, pokud je podporována danou verzí systému Marlin. Najdete zde také varianty procesorů pro tuto desku, pro desky verze 4 zde vidíme STM32F103RC a STM32F103RE.

Obojí si poznamenejte, vraťte se do souboru Configuration.h a zkopírujte desku do oblasti za #define MOTHERBOARD. Nyní můžete také přejít na panel nástrojů Exploreru vlevo a kliknout na kartu platform.io, abyste se ujistili, že je v řádku default_envs v horní části stránky správný model procesoru.

To je vše, nyní můžeme upravit firmware. Budeme upravovat dvě hlavní stránky, většinu z nich v souboru config.h, ale některé také v souboru config_adv.h.

2. Sériové porty, přenosová rychlost, Bluetooth, vlastní název

Přejdete-li do souboru config.h, můžeme začít tam. Se základní deskou jsme již hotovi, přejdeme tedy k dalšímu bodu - sériovým portům.

Téměř každá tiskárna používá sériový port pro připojení k různým zařízením. Ve většině případů se používá pouze jeden, ale pokud připojujete něco jiného, například dotykovou obrazovku s SD kartou nebo USB port, možná budete muset trochu experimentovat. To zde ale dělat nebudeme, takže na to prozatím zapomeňme.

Přenosová rychlost je rychlost komunikace pro tyto porty. Může se lišit, ale většinou se používá přenosová rychlost 115200.

Níže najdete další možnosti sériových portů, ale můžeme je nechat nedefinované, protože pravděpodobně žádné další sériové porty nepotřebujete.

Najdete zde také možnosti pro připojení Bluetooth, které je u tiskáren vzácné, a možnost změny názvu tiskárny, která je ve výchozím nastavení vypnutá. Tento název se zobrazí na LCD displeji po zapnutí zařízení. Zapněte tuto možnost a zadejte nový název, pokud se Vám to hodí.

3. Krokové ovladače

Další na řadě jsou krokové ovladače. Zní to složitě, ale není tomu tak. Každá tiskárna používá krokové ovladače, které ovládají motory. V minulosti tiskárny používaly ovladače A4988 nebo jiné varianty, což znamenalo, že motory byly poměrně hlučné. Dnes jsou ve většině tiskáren standardní ovladače TMC2208 nebo TMC2209. Existuje však řada dalších ovladačů s různými funkcemi a výhodami, jako je rozdělení kroků, maximální proud nebo bezsenzorové navádění, kdy k navádění os nejsou potřeba žádné fyzické koncové spínače.

Můžete jednoduše nastavit, který ovladač chcete použít pro který přístup. Základní deska tiskárny často neurčuje, které krokové ovladače se používají. Někdy deska používá vestavěné krokové ovladače, což znamená, že je nelze odstranit. V takovém případě pravděpodobně není uvedeno, který ovladač se používá, ale někdy je na základní desce značka, která může indikovat typ používaného ovladače. Například desky Creality V4 mají na konektoru SD karty malý kód. Pokud je na něm uvedeno "T8", znamená to, že je použit ovladač TMC2208. Některé základní desky používají vyměnitelné ovladače, což má tu výhodu, že je můžete v případě závady snadno vyměnit - pokud se tak stane u integrovaných ovladačů, je deska zničená a je třeba pořídit novou.

4. Sensorless Homing

Bezsenzorové navádění se nám opravdu líbí. Není tak přesné jako koncové spínače, ale redukuje potřebu kabelů (my kabely přímo nesnášíme). Ne všechny ovladače podporují bezsenzorové navádění, například velmi oblíbené ovladače TMC2208 tuto funkci neumí. Ovladače TMC2209 naopak tuto možnost mají.

Pro zprovoznění funkce Sensorless Homing jsou nutné určité fyzické změny na základní desce, ale nebojte se, jsou opravdu jednoduché. Může se to lišit v závislosti na základní desce, ale obvykle jde o jednoduché nastavení propojek na určitých pinech. Viz příručka k SKR Mini E3.

Co se týče firmwaru, zde je uvedeno, co je potřeba k bezsenzorovému navádění: nejprve je třeba v řádku 210 (configuration_adv.h) nastavit hodnotu HOMING_BUMP na 0 - to se obvykle používá pro koncové spínače, kdy osa narazí na koncový spínač, trochu se posune zpět a pak na něj pomalu znovu narazí. Ve výchozím nastavení je to několik mm, musíme to vypnout.

V řádku 1174 musí být ENDSTOP_INTERRUPTS_FEATURE (configuration.h) nedefinováno.

Další položkou je napájení. Příjemné na těchto základních deskách oproti starším je to, že proud motoru na starých 8bitových deskách nebylo možné firmwarem měnit. Vref musel být změněn na základní desce otáčením malého trimpu, který byl velmi citlivý. Stačilo jím otočit o malinko víc a vyletěl na 1,5, přestože pro většinu xy motorů stačí 0,8 (nebo 800 mA). Řádky pro nastavení proudu najdete od 2386 (configuration_adv.h).

Proud, který potřebujete ve firmwaru, závisí na krokovém ovladači a motoru. Pokud máte poměrně průměrný motor, jako je motor 42-34, stačí, aby zde byla hodnota proudu 800. Pokud najdete technický list Vašeho motoru, možná zjistíte, že maximální proud je 1,5 A nebo 1500 mA. Ale nezadávejte do firmwaru hodnotu 1500, to je absolutní špičková hodnota, se špičkovými hodnotami nepracujeme, to by dopadlo špatně. Hledáme efektivní hodnotu, střední kvadratickou hodnotu proudu. Výpočet správné hodnoty proudu není ve skutečnosti tak jednoduchý, ale existují kalkulačky, například tato od ALL3DP.

Řízení proudu je při kalibraci bezsenzorového navádění klíčové, protože si s ním možná budete muset trochu pohrát, aby fungovalo optimálně.

MONITOR_DRIVER_STATUS se nachází v řádku 3204 (configuration_adv.h) - pravidelně kontroluje ovladače a zjišťuje jejich stav. Marlin může automaticky snížit proud ovladače, pokud ovladač hlásí varování o překročení teploty. Proto ji zapněte.

V řádku 3317 (configuration_adv.h) můžete také zapnout funkci TMC_DEBUG, kde se zobrazují další informace o krokových ovladačích.

Ok, nyní můžeme zapnout SENSORLESS_HOMING v řádku 3272 (configuration_adv.h), musíme jej zapnout pro X a Y a nastavit citlivost na prostoje, to je, jak citlivě mohou ovladače měřit prostoje, tj. když motor posune tiskovou hlavu na jednu stranu své osy a narazí na její konec. Pokud je příliš nízká, nezjistí nic a bude dál otáčet motorem, i když tisková hlava narazí do strany, pokud je příliš vysoká, bude "detekovat" prostoje neustále, i když tisková hlava bude jen tak sedět. Po flashnutí firmwaru je nyní na LCD menu, kde lze měnit hodnoty citlivosti na protahování a proudu, takže stačí změnit hodnoty, aby to vyhovovalo. Hodnoty pro stall se pohybují v rozmezí 0-255, takže první pokus by měl být uprostřed kolem 128. Podle toho upravte hodnotu a pak to zkuste znovu a znovu a znovu. Pokud se zaseknete a bez ohledu na zvolenou hodnotu to prostě nepůjde, pak musíte upravit proud, stačí ho trochu zvýšit. JEN TROCHU!!! Pokud je to 800 miliampér, zvyšte ji na 850 a zkuste to znovu.

Můžete také použít definici IMPROVE_HOMING_RELIABILITY o něco níže v řádku 3291.

Pokud Vás to zajímá, bezsenzorové navádění v ose Z je složité, zejména u tiskáren, které pro pohyb v ose Z používají vřetena, což je většina tiskáren. Chcete-li si zde ušetřit problémy, nezapínejte bezsenzorové navádění pro osu Z.

5. Microstepping a Stealthchop

V řádku 2838 se nachází další funkce ovladače X_MICROSTEPS (configuration_adv.h). Krokové ovladače se pohybují v krocích, obvykle 1,8 stupně na krok, což je opravdu přesné, ale může to být ještě přesnější? Kromě toho, že si pořídíte jiný motor s menším stupněm na krok, můžete použít funkci microstepping, která ovladači řekne, aby signalizoval motoru pohyb menší než 1,8 stupně, což je docela šikovné pro velmi přesné nastavení. Výchozí hodnota je 16, ale můžete jít na vyšší hodnotu, což samozřejmě znamená, že se změní i počet kroků potřebných k posunutí motoru o určitou vzdálenost. Proto má Marlin v řádku 2833 (configuration_adv.h) úžasnou funkci Interpolate, která, pokud ji nastavíte na true, automaticky "interpoluje" každou hodnotu kroku motoru, takže nemusíte nic měnit ručně. Pokud tedy změníte microstepping z 16 na 32, musíte upravit kroky pro všechny motory, aby odpovídaly nové hodnotě. Pokud aktivujete interpolaci, stane se tak automaticky.

Další položkou je STEALTHCHOP v řádku 3140 (configuration_adv.h). Zapněte ji, díky ní bude vše super tiché - měli byste také zaškrtnout CHOPPER_TIMING CHOPPER_DEFAULT hned pod ní. S největší pravděpodobností používáte 24V tiskárnu, takže ji nastavte na 24 V. Možnost použití Stealthchopu samozřejmě závisí také na Vašem ovladači, ale většina z nich to dnes naštěstí zvládá.

6. Ovládání PSU

Vrtátíme-li se k souboru Configuration.h, v řádku 388 najdeme ovládání PSU (configuration.h), které může být zajímavé, pokud chceme automaticky vypnout naši tiskárnu po dokončení tiskové úlohy.

7. Nastavení teploty - termistor a maximální/minimální teplota

Dalším krokem je nastavení teploty v řádku 430 (configuration.h) - jedná se pravděpodobně o nejžádanější návod k firmwaru vůbec. Pro spoustu lidí je upgrade hotendu první úpravou, kterou provádějí. Pokud tedy máte Ender 3 a chcete provést upgrade na hotend Revo, je třeba změnit dvě věci: první je termistor. Většina tiskáren používá 100k termistor, pro který je v Marlinu typ čidla "1". Revo a mnoho dalších termistorů však používá číslo 5, což je také 100k termistor, ale od společnosti Semitec. Jak vidíte, existuje několik značek, které používají tento typ termistoru. Možná ale chcete přejít na něco silnějšího, například PT1000? Záleží na typu PT1000, ale většina používá čidlo číslo 1047 s pull up 4,7 ohm.

To samé můžete udělat pro temp_sensor_bed v řádku 536 (configuration.h).

Druhou částí upgradu hotendu je HEATER_0_MAXTEMP v řádku 611 (configuration.h). PTFE hotendy jsou obecně omezeny na 260 °C, což je v Marlinu uvedeno jako 275 °C. Nejsme si jistí, proč tomu tak je, ale bez ohledu na to, jakou teplotu sem zadáte, bude skutečná dosažitelná teplota Vaší tiskárny o 15 °C nižší. Pokud tedy máte hotend 300 °C, je třeba jako maximální hodnotu zadat alespoň 315 °C.

V řádku 597 najdete také položku HEATER_0_MINTEMP, která automaticky vypne ohřívač při dosažení této teploty. Mimochodem, pokud Vám tiskárna vypíná ohřev nebo hlásí chybu mintemp a vy si nejste jisti proč, může to být proto, že je Vaše tiskárna v příliš chladném prostředí. V zimě na toto téma dostáváme mnoho dotazů, protože spousta lidí má své tiskárny umístěné v garáži.

V řádku 623 máte tepelné překročení (configuration.h), které umožňuje překročení teploty nad hodnotu maxtemp, než dojde k vypnutí zařízení. K překročení může dojít, pokud není Vaše topení zkalibrováno, což nás vede k řádku 633 a nastavení PID (configuration.h).

8. PID nastavení

Synchronizuje se ohřívač a termistor, aby byl ohřev přesný. Nejdůležitější je zde řádek 659, který udává výchozí hodnoty pro proporcionální, integrální a derivační funkci. Ve skutečnosti zde nemusíte nic měnit, ale při přepínání hotendů je dobré provést nastavení PID, které v podstatě kalibruje ohřívač nebo termistor tak, aby teplota za chodu tiskárny příliš nekolísala. Proto bychom doporučovali toto provést po upgradu hotendu. Existuje několik způsobů, jak to provést, ale jedním z jednoduchých způsobů je povolit tuto funkci v nabídce LCD v řádku 803. Další metodou by bylo připojení tiskárny k počítači přes USB a použití terminálového programu, například Pronterface.

V tomto terminálu můžete zadávat příkazy gcode. Správný příkaz pro nastavení PID je "M303 E0 S210 C10 U".

Zde je M303 příkazem pro spuštění procesu ladění.

E0 odkazuje na ohřívač, který používáte (E0 je výchozí nastavení pro téměř všechny tiskárny s jedním extruderem).

S210 odkazuje na teplotu 210 °C, která je vhodná pro PLA, ale můžete ji změnit, pokud většinou používáte jiné filamenty.

C7 označuje, jak často se má test provádět. Čím více testů provedete, tím je přesnější, ale zjistili jsme, že není třeba více než 7 pokusů.

Po zadání tohoto příkazu se spustí test a vypíší se hodnoty Kp, Ki a Kd.

Jakmile tyto hodnoty získáte, můžete je zadat do terminálu pomocí příkazu M301, například M301 P30 I3 D60.

Poté uložte nastavení příkazem M500 a je hotovo.

I přesto, že nastavení PID pro podložku a komoru není tak nezbytné jako pro hotend (změny hotendu jsou podstatně častější než výměna termistoru podložky), je Vám k dispozici v případě, že jej budete potřebovat.

9. Bezpečnost - extruze za studena a únik tepla

Dalším důležitým bodem je ochrana proti tepelnému úniku v řádku 827 (configuration.h), kterou byste měli rozhodně zapnout! Ta vypne tiskárnu, pokud teplota stoupne nad očekávanou úroveň. Možná se termistor posunul a vy o tom nevíte. Bez této funkce bude teplota jen stoupat a hodnota termistoru se téměř nezmění. To je špatně. ZAPNĚTE JI!

V řádku 816 (configuration.h) je také funkce, která zabraňuje extruzi za studena. Ta zabrání aktivaci motoru extruderu, pokud je teplota nižší než zadaná hodnota. Ve výchozím nastavení je zde nastavena hodnota 170. Podle toho, jaké filamenty běžně používáte, poznáte, jaká hodnota by zde měla být použita. Pokud například tisknete převážně PETG, měli byste nastavit teplotu přibližně 220 °C.

10. Mechanická nastavení - CoreXY, pásová tiskárna, robotické rameno

Dalším krokem je mechanické nastavení, a protože budeme používat nastavení CoreXY, je toto velmi důležité. Zde musíme definovat CoreXY.

Můžete zde nastavit i další kinematiku, například delta, páskovou tiskárnu nebo dokonce robotické rameno.

11. Nastavení koncového spínače

Následuje nastavení koncového spínače v řádku 1071 (configuration.h). Zde se spínače jednoduše aktivují.

Zde je další malá funkce pro Noise Threshold koncového spínače. Kdysi dávno jsme tuto funkci museli použít, když jsme na tiskárnu potřebovali připojit extra dlouhé kabely, takže veškerá elektronika byla mimo kryt. Z nějakého důvodu dlouhé kabely způsobovaly chyby při navádění, ale tato funkce nás zachránila.

12. Nastavení pohybu - zrychlení atd. také ve spojení s lineárním posuvem

Další na řadě je nastavení pohybu v řádku 1194 (configuration.h) a jako první jsou výchozí kroky. Jak již bylo zmíněno, krokové motory se otáčejí v krocích každých 1,8 stupně v rozestupu (pokud nemáte motor s úhlem 0,9 stupně). Když motor otáčí řemenem, olověným šroubem či ozubeným kolem, musí se otočit o určitý počet kroků, aby se součástka pohnula o požadovanou hodnotu. Nejčastěji je to potřeba změnit při upgradu extruderu, kde stačí opravdu jen změnit číslo v tomto řádku. Výrobci obvykle udávají počet kroků extruderu (neboli esteps), ale ty může být nutné upravit, proto provádíme kalibraci esteps. Na toto téma existuje spousta videí.

Esteps a vlastně všechny hodnoty krokování není třeba konfigurovat ve firmwaru, stačí upravit startovací gcode a vložit novou hodnotu pomocí příkazu M92. To je nejjednodušší způsob při aktualizaci extruderu, ve většině případů nemusíte aktualizovat firmware, stačí použít Gcode buďto ve Vašem sliceru, nebo prostřednictvím Pronterface, jak jsme si již ukázali. Ve skutečnosti to lze provést pro všechny hodnoty v kategorii nastavení pohybu s M203 pro maximální rychlost posuvu (Feedrate), M201 pro maximální zrychlení, m204 pro výchozí zrychlení a M205 pro nastavení Jerk. Chcete-li například změnit kroky extruderu pro nový extruder Bondtech, stačí do spouštěcího Gcode napsat M92 E415 (M92 je příkaz pro změnu kroků motoru a E označuje, že se jedná o motor extruderu), to je vše. Tyto hodnoty tedy nejsou vytesány do kamene a lze je poměrně snadno změnit, aniž byste měnili firmware.

Mimochodem, pokud Vás zajímají příkazy Gcode obecně a parametry, které se s nimi používají, můžete se podívat na webové stránky společnosti Marlin, kde je uveden seznam všech příkazů Gcode, z nichž některé mohou být velmi užitečné. Zde je příklad Gcode zrychlení startu M204.

Jerk je funkce, která omezuje rychlost změny zrychlení osy, zejména když tisková hlava stojí na místě a pak se náhle začne pohybovat, ale také když se otočí o 90 stupňů. Jedná se o poměrně starou funkci firmwaru, kterou stále používá mnoho tiskáren, ale novější tiskárny, zejména ty s firmwarem Klipper, používají něco, co se nazývá Junction Deviation - podívejme se na to.

Co se týče změn firmwaru, je to velmi jednoduché: přejděte na řádek 1288 a definujte Junction Deviation. Také se ujistěte, že v řádku 1265 (configuration.h) není definována položka classic_jerk. Tím je část týkající se firmwaru hotová, ale ještě musíte zjistit hodnotu pro Junction Deviation. Ve výchozím nastavení je nastavena na 0,013 mm, ale to závisí výhradně na Vaší tiskárně. Naštěstí je to jednoduchý test, stačí vytisknout model, kde každá vrstva má trochu jinou hodnotu Junction Deviation, a pak zkontrolovat, která vrstva se vytiskne nejlépe. Pokud si všimnete výrazného ringingu, je hodnota příliš vysoká. Neměla by však být ani příliš nízká, protože to by proces zpomalilo.

Na webu TeachingTech najdete skvělý návod a kalkulačku.

Další je akcelerace S-křivky v řádku 1301 (configuration.h), které snižuje vibrace. Stejně jako funkce Jerk je tato funkce poměrně stará a byla odsunuta na vedlejší kolej ve prospěch nových funkcí. Jednou z nich je Linear Advance, co to je? Inu, slouží k řízení rychlosti vytlačovaného objemu při změně zrychlení. Všimli jste si někdy, že se v 90stupňových rozích tisk trochu zakřivuje? Přesně to má napravit funkce Linear Advance.

Z hlediska firmwaru je to podobné jako u Junction Deviation. Přejděte na řádek 2205 v souboru configuration_adv.h a najdete ji (configuration_adv.h). Stačí odstranit komentář, aby byla definována. Pak ji musíte zkalibrovat, abyste našli správnou hodnotu. Nazýváme ji hodnota k, ve výchozím nastavení je 0,22.

Kalibrace hodnoty k je podobná kalibraci hodnoty Junction Deviation, vytiskneme něco s různými hodnotami a zjistíme, která z nich funguje nejlépe. Naštěstí má Marlin naprosto geniální kalkulačku, pomocí které si vše můžete spočítat.

13. Z-sonda a vyrovnávání podložky

V řádku 1311 se dostáváme k vyrovnávání podložky a Z-sondám (configuration.h). Jedná se o velmi rozsáhlou část, protože existuje mnoho různých způsobů nivelace, nejen automatické nivelační doplňky, ale i spousta dalších věcí. Pokud se chcete informovat o firmwaru pro BLTouch nebo podobných zařízeních, doporučujeme video od TeachingTech, které pojednává o zprovoznění BLTouch prakticky na jakémkoli zařízení.

Potřebujete obrátit směr motoru? Někdy je to nutné pro upgrade extruderu nebo výměnu krokového ovladače. Ve firmwaru Marlin existuje mnoho funkcí, které vyžadují obrácení směru, ale nemusíte to dělat hned. Až zkompilujete a flashnete firmware, jednoduše zkuste pohnout motorem a uvidíte, zda běží správným směrem. Pokud potřebujete změnit směr, přejděte na řádek 1698 a změňte hodnotu INVERT_[X/Y/Z]_DIR na false nebo true.

14. Velikost podložky a Filament Runout Sensor

Dalším bodem v řádku 1753 (configuration.h) je velikost podložky. Podložka by měla mít trochu volnosti, protože nechceme, aby náš model tiskl příliš blízko jejího okraje, takže můžeme nastavit min_position na 0, což bude bod, kde Endstop nebo Sensoreless Homing zastaví tuto osu při automatickém navádění. Možná je bod pro Endstop již v rozumné vzdálenosti od okraje podložky, nebo možná ani není na podložce. V takovém případě potřebujete prostor, takže jednoduše upravte min_pozici v mm tak, aby zahrnovala Vaši rezervu v mm, a pak přesuňte vozík na opačnou stranu podložky do bodu, který nechcete, aby překročil, a to je Vaše max_position, což je bod, do kterého je omezen veškerý pohyb.

Následují snímače spotřebování filamentu, tzv. Filament-Runout-Sensors v řádku 1818 (configuration.h). Nejjednodušší způsob, jak nastavit Runout-Sensor, je použít běžný Endstop s malým válečkem na konci. Tento váleček je poměrně důležitý, protože pokud filament vytáhnete, kovový pásek se ohne nebo dokonce zlomí, čímž se spínač stane nepoužitelným nebo nespolehlivým. Existují i jiné možnosti, například opto-senzor který je podle našeho názoru mnohem spolehlivější. Nikdy jsme neměli problém se senzorem na Prusa MK3, ale Endstop senzory se dají lehce přidat, jsou levné a při správném designu mohou fungovat velmi dobře. Takže pokud ho chcete použít, pak odkomentujte filament_runout_sensor v řádku 1830, měli byste mít aktivovaný #define FIL_RUNOUT_ENABLED_DEFAULT a nastavený na true a stačí Vám 1, pokud nemáte duální extruder, tak nastavte #define NUM_RUNOUT_SENSORS na 1, určitě byste měli mít zapnutý příkaz M600 (o tom trochu později), takže přepněte na řádek 1877 (configuration.h).

Také je třeba přejít na ADVANCED_PAUSE_FEATURE v řádku 2752 (configuration_adv.h) a odstranit znak komentáře. Je zde mnoho dalších úprav, které můžete provést, a Marlin vedle nich uvedl velmi užitečné a srozumitelné komentáře. Změňte je podle svého uvážení a přizpůsobte je své tiskárně.

Teď už stačí jen zapojit, což bude záviset na Vaší desce, ale můžete to také změnit, pokud chcete. Chcete-li zjistit, kde je výchozí pin, můžete jít do SRC, PINS a Váš model procesoru, vyberte jej a stiskněte CTRL F a zadejte FIL_RUNOUT_PIN, pro nás na BTT SKR e3 Mini V3.0 je pin PC15, jděte do Google a zadejte název Vaší desky a schéma pinout a podívejte se, kde je tento pin.

15. M600

O příkazu M600 jsme se již zmínili. Jedná se o bohužel málo využívanou, ale velmi užitečnou funkci firmwaru, a to výměnu filamentu během tisku. Pokud chcete vytisknout prvních několik vrstev jednou barvou, další jinou barvou a pak barvy stále přepínat, můžete to udělat pomocí této funkce. Podívejte se na tento odznak, který jsme vytvořili pomocí příkazu M600.

Funkci M600 a pokročilou funkci Advanced Pause jsme již povolili, nyní je třeba povolit funkci parkování tiskové hlavy. Přejděte tedy na řádek 2362 (configuration.h) a aktivujte funkci "nozzle park". Pokud chcete, můžete zde změnit polohu a také rychlost v položkách "feed rate" (rychlost podávání) a "minimum z feed rate" (minimální rychlost podávání).

Nyní přejděte na řádek 824 a povolte Extrude max length (configuration.h). Tím se natáhne nový filament až do této délky, což stačí k odstranění starého filamentu a úplné změně barvy. Tato hodnota závisí na tom, zda máte bowdenový nebo přímý pohon. Pokud máte Bowden s dlouhou teflonovou hadičkou, musí být tato hodnota poměrně vysoká, pokud máte Direct Drive, může být nízká.

Poté se vraťte v souboru configuration_adv.h k funkci Advanced Pause a ujistěte se, že je položka PARK_HEAD_ON_PAUSE odkomentovaná, aby se tryska odpovídajícím způsobem zaparkovala (configuration_adv.h)

16. Doplňkové funkce - EEPROM, nastavení předehřevu, čištění trysek, hesla, jazyk, citlivost enkodéru, LCD, neopixely

Další na řadě je funkce EEPROM v řádku 2291, která by rozhodně měla být povolena (configuration.h) - je to jako paměťová funkce na tiskárně. Pokud tedy něco změníte, v podstatě cokoli pomocí příkazu Gcode, můžete to uložit příkazem M500 a bude to zachováno. Bez této funkce se tiskárna prostě restartuje s nastavením firmwaru, které jste nastavili v počítači. Díky tomu je to opravdu velmi praktické.

Další jsou konstanty předehřívání (preheat constants) v řádku 2335 (configuration.h). Stejně jako u EEPROM by měly být ve výchozím nastavení, i když někdy nejsou hodnoty tak skvělé. Líbí se nám, že jsou tyto hodnoty o něco vyšší než skutečná teplota tisku, ale to je pouze drobnost. Ve výchozím nastavení jsou přednastaveny pouze teploty PLA a ABS, ale pokud ve skutečnosti žádnou z nich nepoužíváte nebo potřebujete hodně přednastavených hodnot, lze jich přidat až 10.

Další je funkce pro čistou trysku v řádku 2374 (configuration.h). Tato funkce je užitečná pro tiskárnu se dvěma extrudery, ale může být praktická i pro tiskárnu s jedním extruderem, pokud chcete, aby první vrstva byla dokonalá.

Další věcí je heslo v řádku 2498 (configuration.h) - možná nechcete, aby tiskárnu používalo například Vaše dítě nebo spolubydlící. V takovém případě by ochrana heslem mohla být užitečná, ale pokud jste jediným člověkem s přístupem k tiskárně, je heslo vlastně zbytečné.

V řádku 2529 (configuration.h) máme také nastavení podpory LCD. Pokud angličtina nebo čínština nejsou Vaším mateřským jazykem, není to problém, máte jich zde na výběr hned několik. Pokud Váš ovladač používá kolečko enkodéru, můžete změnit citlivost v řádku 2602 (configuration.h). Dále v nastavení ovladače můžete vybrat svůj ovladač, třeba s podporou SD karty nebo s dotykovou obrazovkou.

Tiskárnu můžete také rozšířit o neopixely, což jsou LED diody, které můžete k tiskárně připojit a vytvořit tak lepší osvětlení nebo parádní světelnou show. Tato nastavení najdete v řádku 3450 (configuration.h)

Nakonec je zde nová a velmi zajímavá funkce nazvaná Input Shaping. Jedná se o novou funkci v aplikaci Marlin, která dokáže kompenzovat vibrace, které mohou způsobit nevzhledné vady tisku. Již jsme vytvořili video a průvodce, které Vám pomohou s jejím nastavením.

Tento seznam zdaleka nepokrývá vše, ale poskytuje pouze všeobecný přehled o tom, jaké změny se často provádějí. Pokud máte problémy s určitou částí firmwaru Marlin nebo byste chtěli, aby byl tento seznam rozšířen, dejte nám prosím vědět. V budoucnu tuto příručku rozšíříme, abychom Vám pomohli se všemi změnami, které chcete provést.