Nastavte firmvér Marlin a uveďte ho do prevádzky!

Nastavte firmvér Marlin a uveďte ho do prevádzky!

  1. Prvé kroky
  2. Sériové porty, prenosová rýchlosť, Bluetooth, vlastný názov
  3. Krokový ovládač
  4. Sensorless Homing
  5. Microstepping a Stealthchop
  6. Ovládanie PSU
  7. Nastavenia teploty - termistor a maximálna/minimálna teplota
  8. PID nastavenia
  9. Bezpečnosť - extrúzia za studena a tepelné úniky
  10. Mechanické nastavenia - Corexy, pásová tlačiareň, rameno robota
  11. Endstop nastavenia
  12. Nastavenia pohybu - zrýchlenie atď. aj v spojení s lineárnym posuvom
  13. Z-sonda a vyrovnávanie podložky
  14. Veľkosť podložky
  15. M600
  16. Doplnkové funkcie - EEPROM, nastavenia predhrevu, čistenie trysiek, časovač tlačových úloh, heslo, jazyk, podpora kariet SD, citlivosť enkodéra, reproduktory, LCD, neopixely

Krátka poznámka predtým, ako začneme - uvedieme čísla riadkov, aby bolo jednoduchšie nájsť správny riadok firmvéru. V závislosti od toho, aký firmvér používate alebo aké konfiguračné súbory používate, sa to môže trochu líšiť, ale aj tak je to pomerne jednoduché riešenie na nájdenie správneho riadku.

Takisto sa príkazy v Marlin nazývajú definície (definitions), môžu byť buď zapnuté, vypnuté alebo zapnuté + voliteľná hodnota. Tie, ktoré sú zapnuté, sú nekomentované, čo znamená, že nemajú identifikátor komentára, ktorým je dvojité lomítko. Dvojité lomítko v podstate všetko vypína a umožňuje napísať komentáre, ak chcete svoj firmvér prispôsobiť tak, aby bol neskôr použiteľný pre vás alebo pre iných. Čokoľvek napísané s // na začiatku riadku bude firmvér pri kompilácii úplne ignorovať.

1. Prvé kroky

Na úpravu firmvéru Marlin potrebujete správny softvér. Hoci existuje niekoľko možností, väčšina by použila Visual Studio Code. Tento softvér si môžete stiahnuť zadarmo tu, a to pre systémy Windows, Linux aj Mac.

Na to budete potrebovať aj rozšírenie Platform IO. Po nainštalovaní VS Code prejdite do rozšírení na paneli nástrojov vľavo (ikona so 4 štvorčekmi), vyhľadajte Platformio a kliknite na tlačidlo Inštalovať. Môžete použiť aj doplnok Auto-Build Marlin, ktorý všetko trochu urýchli, ak si nastavíte dosku so správnym procesorom, ale môžeme to urobiť aj starým spôsobom. Ukážeme vám, ako to urobiť neskôr v texte.

Keď už máte všetko pohromade, musíte si zaobstarať firmvér Marlin. Prejdite teda na Marlin GitHub a stiahnite si najnovšiu verziu.

Všimnite si, že existuje verzia s opravou chyby a bežná verzia. Verzia opravy chyby obsahuje najnovšie zmeny firmvéru. Je užitočná, ale aj najmenej stabilná, pretože sa na nej neustále pracuje. Tím spoločnosti Marlin je však veľmi dobrý v identifikácii a odstraňovaní chýb a omylov, preto tieto verzie radi používame.

Kliknutím na položku Code v pravom hornom rohu stiahnite firmvér vo formáte zip, rozbaľte priečinok zip a načítajte VS Code. Potom prejdite na súbor a otvorte priečinok a firmvér Marlin.

Nasledujú konfiguračné súbory, konkrétne konfigurácie tlačiarne nájdete aj na GitHub.

Tieto sú užitočné najmä vtedy, ak chcete zmeniť firmvér len mierne. Ak máte napríklad tlačiareň ako Ender 3, a práve ste aktualizovali hotend a potrebujete zmeniť termistor vo firmvéri, môžete jednoducho stiahnuť konfiguračné súbory pre túto tlačiareň a vložiť ich do priečinka Marlin, ktorý ste práve stiahli. Týmto spôsobom sú už všetky špecifiká predvoleného firmvéru tlačiarne k dispozícii a stačí len zmeniť hodnoty termistora.

Pri príprave priečinka s firmvérom na úpravu je potrebné pred začatím úprav zvážiť jeden veľmi dôležitý bod, a to výber správnej základnej dosky a modelu procesora.

Ak prejdete na stránku configuration.h v Explorer na ľavej strane, na riadku 70 uvidíte príkaz, ktorý určuje, ktorá základná doska sa používa. Pre mnohé dosky existuje len jedna verzia, ale niektoré majú varianty alebo niektoré tlačiarne v minulosti používali rôzne dosky. Najlepšie je otvoriť tlačiareň a skontrolovať, ktorá doska je nainštalovaná.

Aby ste zistili, ako presne sa vaša doska vo firmvéri volá, vráťte sa do Explorer vľavo, prejdite na src, core a boards.h. Je to zoznam všetkých dosiek, ktoré Marlin podporuje. Potom stlačte kláves CTRL F a zadajte značku vašej dosky, takže napríklad pre dosky Creality Ender 3 zadajte Creality. Prejdite nadol, aby ste preskočili všetko, čo súvisí s týmto kľúčovým slovom, a nájdete Creality V4 Boards. Môžete jednoducho použiť Board_Creality_V4. Toto je v podstate rovnaký postup pre akúkoľvek značku základnej dosky, pokiaľ je podporovaná danou verziou systému Marlin. Nájdete tu aj varianty procesorov pre túto dosku, pre dosky verzie 4 tu vidíme STM32F103RC a STM32F103RE.

Poznačte si oboje, vráťte sa do Configuration.h a skopírujte Board do oblasti za #define MOTHERBOARD. Teraz môžete tiež prejsť na panel nástrojov Explorer vľavo a kliknúť na kartu platform.io, aby ste sa uistili, že v riadku default_envs v hornej časti stránky je správny model procesora.

Ok, to je všetko, teraz môžeme upraviť firmvér. Existujú dve hlavné stránky, ktoré budeme upravovať, väčšina z nich sa nachádza v súbore config.h, ale niektoré aj v súbore config_adv.h.

2. Sériové porty, prenosová rýchlosť, Bluetooth, vlastný názov

Ak prejdete do súboru config.h, môžeme začať tam. Základnú dosku už máme hotovú, takže prejdime k ďalšej definícii: Serial Ports.

Takmer každá tlačiareň používa sériový port na pripojenie k rôznym zariadeniam. Vo väčšine prípadov sa používa len jeden, ale ak pripájate niečo iné, napríklad dotykovú obrazovku s SD kartou alebo port USB, možno budete musieť trochu experimentovať. To tu však robiť nebudeme, takže na to zatiaľ zabudnime.

Prenosová rýchlosť je rýchlosť komunikácie pre tieto porty. Môže sa líšiť, ale väčšinou sa používa prenosová rýchlosť 115200.

Dole nájdete ďalšie možnosti pre Serial Ports, ale môžeme nechať nedefinované, pretože pravdepodobne nepotrebujete žiadne ďalšie sériové porty.

Takisto tu nájdete možnosti pripojenia Bluetooth, ktoré je pre tlačiarne zriedkavé, a možnosť zmeny názvu tlačiarne, ktorá je v predvolenom nastavení vypnutá. Tento názov sa zobrazí na obrazovke LCD po zapnutí zariadenia. Zapnite túto možnosť a zadajte nový názov, ak sa vám to zdá vhodné.

3. Krokový ovládač

Ďalej sú na rade krokové ovládače. Znie to zložito, ale vôbec to tak nie je. Každá tlačiareň používa krokové ovládače, ovládajú motory. V minulosti sa v tlačiarňach používali ovládače A4988 alebo iné varianty, čo znamenalo, že motory boli dosť hlučné. V súčasnosti sú vo väčšine tlačiarní štandardne nainštalované ovládače TMC2208 alebo TMC2209. Existuje však množstvo ďalších ovládačov s rôznymi funkciami a výhodami, ako je napríklad krokové delenie, maximálny prúd alebo bezsenzorové navádzanie, pri ktorom nie sú na navádzanie osí potrebné žiadne fyzické koncové spínače.

Môžete jednoducho nastaviť, ktorý ovládač chcete použiť pre ktorý prístup. Na základnej doske tlačiarne často nie je uvedené, ktoré krokové ovládače sa používajú. Niekedy doska používa integrované krokové ovládače, čo znamená, že ich nemožno odstrániť. V takom prípade pravdepodobne nie je uvedené, ktorý ovládač sa používa, ale niekedy je na základnej doske značka, ktorá môže naznačovať, ktorý ovládač sa používa. Napríklad dosky Creality V4 majú na konektore karty SD malý kód. Ak je na ňom napísané "T8", znamená to, že je použitý ovládač TMC2208. Niektoré základné dosky používajú vymeniteľné ovládače, čo má výhodu v tom, že ich môžete v prípade poruchy ľahko vymeniť - ak sa tak stane pri integrovaných ovládačoch, doska je zničená a potrebujete novú.

4. Sensorless Homing

Naozaj sa nám páči bezsenzorové navádzanie alebo tzv. Sensorless Homing. Nie je také presné ako fyzické Endstops, ale znižuje potrebu káblov. Nie všetky ovládače podporujú bezsenzorové navádzanie, napríklad veľmi obľúbené ovládače TMC2208 túto funkciu nemôžu používať. Na druhej strane ovládače TMC2209 to dokážu.

Na sprevádzkovanie Sensorless Homing sú potrebné určité fyzické zmeny na základnej doske, ale nebojte sa, sú naozaj jednoduché. Môže sa to líšiť v závislosti od základnej dosky, ale zvyčajne ide o jednoduché nastavenie prepojok na určitých pinoch. Viď. príručka SKR Mini E3.

Pokiaľ ide o firmvér, tu je to, čo je potrebné na získanie Sensorless Homing: Po prvé, HOMING_BUMP v riadku 210 (configuration_adv.h) musí byť nastavený na hodnotu 0 - toto sa zvyčajne používa pri koncových dorazoch, keď os narazí na Endstopp, trochu sa posunie dozadu a potom pomaly opäť narazí na Endstopp. V predvolenom nastavení je to niekoľko mm, musíme to vypnúť.

V riadku 1174 musí byť ENDSTOP_INTERRUPTS_FEATURE (configuration.h) nedefinované.

Ďalším bodom je napájanie. Príjemné na týchto základných doskách v porovnaní so staršími je, že prúd motora na starých 8-bitových doskách nebolo možné zmeniť firmvérom. Vref sa musel meniť na základnej doske otáčaním malého trimpu, ktorý bol veľmi citlivý. Ak sa otočil o trochu viac. vyletel na 1,5, hoci pre väčšinu xy motorov potrebujete len 0,8 (alebo 800 mA). Riadky na nastavenie prúdu nájdete od 2386 (configuration_adv.h).

Prúd, ktorý potrebujete vo firmvéri, závisí od krokového ovládača a motora. Ak máte pomerne priemerný motor, napríklad motor 42-34, stačí, ak tu bude hodnota prúdu 800. Ak nájdete technický list vášho motora, môžete vidieť, že maximálny prúd je 1,5 A alebo 1500 mA. Do firmvéru však nezadávajte hodnotu 1500, to je absolútna špičková hodnota, so špičkovými hodnotami nepracujeme, to by skončilo zle. Hľadáme RMS hodnotu, strednú kvadratickú hodnotu prúdu. Vypočítať správnu hodnotu prúdu v skutočnosti nie je také jednoduché, ale existujú kalkulačky, napríklad táto od ALL3DP.

Riadenie prúdu je pri kalibrácii Sensorless Homing kľúčové, pretože sa s ním možno budete musieť trochu pohrať, aby ste sa uistili, že funguje optimálne.

MONITOR_DRIVER_STATUS sa nachádza v riadku 3204 (configuration_adv.h) - pravidelne kontroluje ovládače a určuje ich stav. Marlin môže automaticky znížiť prúd ovládača, ak ovládač hlási varovanie o prekročení teploty. Preto to zapnite.

Môžete tiež zapnúť funkciu TMC_DEBUG v riadku 3317 (configuration_adv.h), kde sa zobrazujú ďalšie informácie o krokových ovládačoch.

Ok, teraz môžeme zapnúť SENSORLESS_HOMING v riadku 3272 (configuration_adv.h), musíme ho zapnúť pre X a Y a nastaviť citlivosť na zastavenie, to je, ako citlivo dokážu ovládače merať zastavenie, t. j. keď motor posunie tlačovú hlavicu na jednu stranu svojej osi a narazí na koniec. Ak je príliš nízky, nezistí nič a bude ďalej otáčať motorom, aj keď tlačová hlavica narazí do strany, ak je príliš vysoký, bude "detekovať" zastavenie po celý čas, aj keď tlačová hlavica bude len tak sedieť. Po flashnutí firmvéru je teraz na LCD displeji ponuka, v ktorej môžete zmeniť hodnoty pre citlivosť na zastavenia a prúd, takže stačí zmeniť hodnoty, aby to vyhovovalo. Hodnoty pre zastavenie sa pohybujú od 0 do 255, takže prvý pokus by mal byť v strede okolo 128. Podľa toho upravte hodnotu a potom to skúste znova a znova a znova. Ak sa zaseknete a bez ohľadu na zvolenú hodnotu to jednoducho nefunguje, potom musíte upraviť prúd, stačí ho trochu zvýšiť. LEN TROCHU!!! Ak je to 800 miliampérov, zvýšte ho na 850 a skúste to znova.

Môžete tiež použiť definíciu IMPROVE_HOMING_RELIABILITY o niečo nižšie v riadku 3291, ktorá je presne taká, ako znie.

Pokiaľ vás to zaujíma, navádzanie bez snímača na osi Z je zložité, najmä na tlačiarňach, ktoré na pohyb Z používajú vretená, čo je väčšina tlačiarní. Ak si chcete ušetriť problémy, nezapínajte Sensorless Homing pre os Z.

5. Microstepping and Stealthchop

V riadku 2838 sa nachádza ďalšia funkcia ovládača X_MICROSTEPS (configuration_adv.h). Krokové ovládače sa pohybujú v krokoch, zvyčajne 1,8 stupňa na krok, čo je veľmi presné, ale môže to byť ešte presnejšie? Okrem toho, že si zaobstaráte iný motor, ktorý má menšie meranie na krok, môžete použiť mikrokrokovanie, ktoré ovládaču povie, aby signalizoval motoru pohyb menší ako 1,8 stupňa, čo je celkom praktické pre veľmi presné nastavenie. Predvolená hodnota je 16, ale môžete ísť aj vyššie, čo samozrejme znamená, že sa zmení aj počet krokov potrebných na posunutie motora o určitú vzdialenosť. Preto má Marlin v riadku 2833 (configuration_adv.h) túto úžasnú funkciu s názvom Interpolate, ktorá, ak ju nastavíte na true, automaticky "interpoluje" každú hodnotu kroku motora, takže nemusíte nič meniť ručne. Ak teda zmeníte mikrokrokovanie zo 16 na 32, musíte upraviť kroky pre všetky motory, aby dosiahli novú hodnotu. Ak aktivujete interpoláciu, stane sa to automaticky.

Ďalším bodom je STEALTHCHOP v riadku 3140 (configuration_adv.h). Zapnite ho, vďaka nemu bude všetko super tiché - mali by ste tiež skontolovať CHOPPER_TIMING CHOPPER_DEFAULT hneď pod ním. S najväčšou pravdepodobnosťou máte tlačiareň s napätím 24 V, takže ju nastavte na 24 V. Samozrejme, možnosť používať Stealthchop závisí aj od vášho ovládača, ale našťastie väčšina z nich to v súčasnosti zvláda.

6. Ovládanie PSU

Späť v Configuration.h v riadku 388 nájdeme ovládanie PSU (configuration.h), ktoré môže byť zaujímavé, ak chceme automaticky vypnúť našu tlačiareň po skončení tlačovej úlohy.

7. Nastavenia teploty - termistor a maximálna/minimálna teplota

Ako ďalšie nasledujú nastavenia teploty v riadku 430 (configuration.h) a je to pravdepodobne najžiadanejší návod na firmvér zo všetkých. Pre mnohých ľudí je upgrade hotendu prvou zmenou, ktorú vykonajú. Ak teda máte Ender 3 a chcete upgradovať na hotend Revo, čo urobíte? Nuž, je potrebné zmeniť dve veci, prvou je termistor. Väčšina tlačiarní používa termistor 100k, pre ktorý je v programe Marlin typ snímača "1". Revo a mnohé iné termistory však používajú číslo 5, čo je tiež 100k termistor, ale od spoločnosti Semitec. Ako vidíte, existuje niekoľko značiek, ktoré používajú tento typ termistora. Možno však chcete prejsť na niečo silnejšie, napríklad PT1000? Záleží na type PT1000, ale väčšina používa snímač číslo 1047 s 4,7-Ohm-Pull Up.

To isté môžete urobiť pre temp_sensor_bed v riadku 536 (configuration.h).

Druhou časťou aktualizácie hotendu je HEATER_0_MAXTEMP v riadku 611 (configuration.h). PTFE hotendy sú vo všeobecnosti obmedzené na teplotu 260 °C, ktorá je v programe Marlin uvedená ako 275C. Nie sme si istí, prečo to bolo urobené, ale bez ohľadu na to, akú teplotu sem zadáte, skutočná dosiahnuteľná teplota vašej tlačiarne bude o 15 °C nižšia. Takže ak máte hotend 300C, ako maximálnu hodnotu musíte zadať aspoň 315C.

V riadku 597 nájdete aj položku HEATER_0_MINTEMP, ktorá automaticky vypne ohrievač, keď dosiahne túto teplotu. Mimochodom, ak vám tlačiareň vypína ohrievač alebo zobrazuje chybu mintemp a vy si nie ste istí prečo, môže to byť preto, že vaša tlačiareň je v príliš chladnom prostredí. V zime dostávame veľa otázok na túto tému, pretože veľa ľudí má svoje tlačiarne v garáži a ľahko sa to môže stať.

V riadku 623 máte tepelné prekročenie (configuration.h), ktoré umožňuje prekročenie teploty nad hodnotu maxtemp pred vypnutím zariadenia. K prekročeniu môže dôjsť, ak váš ohrievač nie je kalibrovaný, čo nás vedie k riadku 633 a ladeniu PID (configuration.h).

8. PID nastavenia

Týmto sa synchronizuje ohrievač a termistor, aby bol ohrievač presný. Najdôležitejší je tu riadok 659, ktorý udáva predvolené hodnoty pre proporcionálnu, integrálnu a derivačnú funkciu. V skutočnosti tu nemusíte nič meniť, ale pri výmene ohrievačov je dobré vykonať ladenie PID, ktoré v podstate kalibruje ohrievač alebo termistor tak, aby teplota počas prevádzky tlačiarne príliš nekolísala. Preto by sme to odporúčali urobiť po upgrade hotendu. Existuje niekoľko spôsobov, ako to urobiť, ale jedným z jednoduchých spôsobov je povoliť to v ponuke LCD v riadku 803. Ďalšou metódou by bolo pripojenie tlačiarne k počítaču cez USB a použitie terminálového programu, napríklad Pronterface.

V tomto termináli môžete zadávať príkazy gcode. Správny príkaz pre ladenie PID je "M303 E0 S210 C10 U".

Tu je M303 príkaz na spustenie procesu schvaľovania.

E0 označuje použitý ohrievač (E0 je predvolené nastavenie pre takmer všetky tlačiarne s jedným extrudérom).

S210 odkazuje na teplotu 210C, ktorá je vhodná pre PLA, ale môžete ju zmeniť, ak chcete používať hlavne iné filamenty.

C7 označuje, ako často sa má test spustiť. Čím viackrát test spustíte, tým je presnejší, ale zistili sme, že nie je potrebných viac ako 7 pokusov.

Po zadaní tohto príkazu sa test vykoná a vypíšu sa hodnoty Kp, Ki a Kd.

Akonáhle máte tieto hodnoty, môžete ich zadať do terminálu pomocou príkazu M301, napríklad M301 P30 I3 D60.

Potom uložte nastavenia príkazom M500 a ste hotoví.

Existuje toho viac o riadení PID podložky a krytu. Nastavenie PID pre vašu podložku nie je také potrebné ako nastavenie pre váš hotend. Hotend sa mení oveľa častejšie ako termistor podložky, ale je tam, keď ho potrebujete zapnúť.

9. Bezpečnosť - extrúzia za studena a tepelný únik

Ďalším dôležitým bodom je ochrana proti tepelnému úniku v riadku 827 (configuration.h), ktorú by ste mali určite zapnúť. Tá vypne tlačiareň, ak teplota stúpne nad očakávanú úroveň. Možno sa termistor posunul a vy o tom neviete. Bez nej teplota stále stúpa a hodnota termistora sa takmer nemení. To je zlé. Zapnite to!

V riadku 816 (configuration.h) sa nachádza aj funkcia na zabránenie extrúzie za studena. Tá zabráni aktivácii motora extrúzneho zariadenia, keď je teplota nižšia ako zadaná hodnota. V predvolenom nastavení je tu nastavená hodnota 170. To, aký filament bežne používate s tlačiarňou, vám napovie, aká hodnota by sa tu mala použiť. Ak napríklad tlačíte prevažne PETG, mali by ste nastaviť teplotu približne 220 °C.

10. Mechanické nastavenia - Corexy, pásová tlačiareň, rameno robota

Nasledujú mechanické nastavenia, a keďže budeme používať Corexy Setup, je to veľmi dôležité. Tu musíme definovať Corexy.

Môžeme tu nastaviť aj iné kinematické prvky, napríklad delta, páskovú tlačiareň alebo ak máte robotické rameno, je to tiež možné.

11. Nastavenie Endstop a Endstop Noise Threshold

Nasledujú nastavenia Endstop v riadku 1071 (configuration.h). Tu sa jednoducho aktivujú Endstops.

Tu sa nachádza ďalšia malá funkcia pre Endstop Noise Threshold. Kedysi dávno sme museli túto funkciu použiť, keď sme chceli k tlačiarni pripojiť mimoriadne dlhé káble, aby bola všetka elektronika mimo krytu. Z nejakého dôvodu dlhé káble spôsobovali pri navádzaní chyby, ale táto funkcia to zachránila.

12. Nastavenia pohybu - zrýchlenie, kroky, Feedrate, Jerk, Junction Deviation, Linear Advance

Nasledujú nastavenia pohybu v 1194 (configuration.h) a úplne prvá vec sú predvolené kroky. Ako už bolo spomenuté, krokové motory sa otáčajú v krokoch každých 1,8 stupňa (pokiaľ nemáte motor s 0,9 stupňa). Keď motor otáča remeňom, olovenou skrutkou alebo ozubeným kolesom, musí vykonať určitý počet krokov, aby sa súčiastka pohla o požadovanú hodnotu. Najčastejšie je to potrebné zmeniť pri modernizácii extrudéra, kde skutočne stačí zmeniť číslo v tomto riadku. Výrobcovia zvyčajne udávajú počet krokov extrudéra (alebo esteps), ktoré však môže byť potrebné upraviť, preto vykonáme kalibráciu esteps. Existuje veľa videí na túto tému.

Esteps a vlastne všetky hodnoty krokovania nemusíte konfigurovať vo firmvéri, stačí upraviť váš štartovací Gcode a vložiť novú hodnotu pomocou príkazu M92. Toto je najjednoduchší spôsob, keď aktualizujete svoj extrudér, vo väčšine prípadov nemusíte aktualizovať firmvér, stačí použiť Gcode buď vo vašom sliceri, alebo prostredníctvom Pronterface, ako sme si už ukázali. V skutočnosti to možno urobiť pre všetky hodnoty v kategórii nastavení pohybu s M203 pre maximálnu rýchlosť posuvu (feedrate), M201 pre maximálne zrýchlenie, m204 pre predvolené zrýchlenie a M205 pre nastavenie Jerk. Ak chcete napríklad zmeniť kroky extrudéra pre nový extrudér Bondtech, stačí do Start-Gcode napísať M92 E415 (M92 je príkaz na zmenu krokov motora a E označuje, že ide o motor extrudéra), to je všetko. Tieto hodnoty teda nie sú vytesané do kameňa a dajú sa pomerne ľahko zmeniť bez zmeny firmvéru.

Mimochodom, ak vás zaujímajú príkazy gcode vo všeobecnosti a parametre, ktoré sa pri nich používajú, môžete sa pozrieť na webovú stránku Marlin, kde je zoznam všetkých príkazov gcode, z ktorých niektoré môžu byť veľmi užitočné. Tu je príklad Gcode zrýchlenia štartu M204.

Jerk je funkcia, ktorá obmedzuje rýchlosť zmeny zrýchlenia osi, najmä keď je tlačová hlavica nehybná a potom sa náhle začne pohybovať, ale aj keď sa otočí o 90 stupňov. Je to pomerne stará funkcia firmvéru, ktorú stále používa mnoho tlačiarní, ale novšie tlačiarne, najmä tie s firmvérom Klipper, používajú niečo, čo sa nazýva Junction Deviation. Pozrime sa na to.

Ak ide o zmeny vo firmvéri, je to veľmi jednoduché: prejdite na riadok 1288 a definujte junction deviation. Taktiež sa uistite, že v riadku 1265 (configuration.h) nie je definovaná položka classic_jerk. Tým je časť týkajúca sa firmvéru hotová, ale ešte musíte zistiť hodnotu pre Junction Deviation. V predvolenom nastavení je nastavená na 0,013 mm, ale to závisí výlučne od vašej tlačiarne. Našťastie je to jednoduchý test, stačí vytlačiť model, kde každá vrstva má trochu inú hodnotu Junction Deviation, a potom skontrolovať, ktorá vrstva sa vytlačí najlepšie. Ak si všimnete veľa ringing-u, hodnota je príliš vysoká. Nemala by však byť ani príliš nízka, pretože by to spomalilo proces.

TeachingTech má skvelý návod a kalkulačku.

Ďalšia je akcelerácia S-krivky v riadku 1301 (configuration.h), ktorá znižuje vibrácie a podobne ako Jerk funkcia je pomerne stará a bola odložená v prospech nových funkcií. Jednou z nich je Linear Advance (lineárny predstih), čo je to? Nuž, používa sa na riadenie rýchlosti vytláčaného objemu pri zmene zrýchlenia. Všimli ste si niekedy pri tlači 90-stupňových rohov, že sa tam tlač trochu zakrivuje? Presne na to je určená funkcia Linear Advance.

Z hľadiska firmvéru je to podobné ako pri Junction Deviation. Prejdite na riadok 2205 v súbore configuration_adv.h a nájdete ju (configuration_adv.h). Jediné, čo musíte urobiť, je odstrániť komentár, aby bola definovaná. Potom ju musíte kalibrovať, aby ste našli správnu hodnotu. Nazývame ju hodnota k, v predvolenom nastavení je 0,22.

Kalibrácia hodnoty k je podobná kalibrácii hodnoty Junction Deviation, vypíšeme niečo s rôznymi hodnotami a zistíme, ktorá z nich funguje najlepšie. Našťastie má Marlin úplne geniálnu kalkulačku, pomocou ktorej si to všetko môžete vypočítať.

13. Sonda Z, vyrovnanie podložky, zmena smeru otáčania motora

V riadku 1311 sa dostávame k vyrovnaniu podložky a Z-sondám (configuration.h). Ide o veľmi rozsiahlu časť, pretože existuje veľa rôznych spôsobov vyrovnávania, nielen automatické vyrovnávacie doplnky, ale aj veľa ďalších vecí. Ak sa chcete informovať o firmvéri pre BLTouch alebo podobných zariadeniach, odporúčame video od TeachingTech, ktoré hovorí o tom, ako BLTouch sprevádzkovať prakticky na akomkoľvek zariadení.

Potrebujete zmeniť smer motora? Niekedy je to potrebné pre upgrade extrudéra alebo výmenu krokového ovládača. V aplikácii Marlin je veľa funkcií, ktoré si vyžadujú zmenu smeru, ale nemusíte to robiť hneď. Keď skompilujete a flashnete firmvér, jednoducho skúste pohnúť motorom a uvidíte, či beží správnym smerom. Ak potrebujete zmeniť smer, prejdite na riadok 1698 a zmeňte hodnotu INVERT_[X/Y/Z]_DIR na false alebo true.

14. Veľkosť podložky a Filament-Runout-Sensors

Ďalším bodom v riadku 1753 (configuration.h) je veľkosť podložky. Podložky by mali mať trochu voľnosti, pretože nechceme, aby náš model tlačil príliš blízko okraja podložky, takže môžeme nastaviť našu min_position na 0, čo bude bod, v ktorom Endstop alebo Sensoreless Homing zastaví túto os pri automatickom navádzaní. Možno je bod pre Endstop už v primeranej vzdialenosti od okraja podložky, alebo možno ani nie je na podložke. V takom prípade potrebujete priestor, takže jednoducho upravte min_pozíciu v mm tak, aby zahŕňala váš priestor, a potom presuňte vozík na opačnú stranu podložky do bodu, ktorý nechcete, aby prekročil, a to je vaša max_position, čo je bod, do ktorého je obmedzený všetok pohyb.

Nasledujú snímače spotrebovania filamentu, tzv. Filament-Runout-Sensors v riadku 1818 (configuration.h). Najjednoduchší spôsob, ako nastaviť Runout-Sensor, je použiť bežný Endstop s malým valčekom na konci. Tento valček je dosť dôležitý, pretože ak vytiahnete filament, kovový pásik sa ohne alebo dokonca zlomí, čím sa spínač stane nepoužiteľným alebo nespoľahlivým. Existujú aj iné možnosti, napríklad opto-senzor, ktorý je podľa nás oveľa spoľahlivejší. Nikdy sme nemali problém so senzorom na Prusa MK3, ale Endstop senzory sa dajú ľahko pridať, sú lacné a pri správnom dizajne môžu fungovať veľmi dobre. Takže ak ho chcete použiť, tak odkomentujte filament_runout_sensor na riadku 1830, mali by ste mať aktivovaný #define FIL_RUNOUT_ENABLED_DEFAULT a nastavený na true a stačí vám 1, pokiaľ nemáte dvojitý extrudér, tak nastavte #define NUM_RUNOUT_SENSORS na 1, určite by ste mali mať zapnutý príkaz M600 (o tom trochu neskôr), takže prepnite na riadok 1877 (configuration.h).

Taktiež musíte prejsť na ADVANCED_PAUSE_FEATURE v riadku 2752 (configuration_adv.h) a odstrániť znak komentára. Je tu veľa ďalších úprav, ktoré môžete vykonať, a Marlin pri nich uviedol veľmi užitočné a zrozumiteľné komentáre. Zmeňte ich podľa vlastného uváženia a prispôsobte ich svojej tlačiarni.

Všetko, čo teraz musíte urobiť, je pripojiť dosku. V závislosti od vašej dosky ju môžete aj zmeniť, ak sa vám to páči. Ak chcete zistiť, kde je predvolený pin, môžete ísť do SRC, PINS a váš model procesora, vybrať ho a stlačiť CTRL F a zadať FIL_RUNOUT_PIN, pre nás na BTT SKR e3 Mini V3.0 je pin PC15, choďte do Google a zadajte názov vašej dosky a schému pinout a pozrite sa, kde je tento pin.

15. M600

Príkaz M600 sme už spomínali. Je to bohužiaľ málo využívaná, ale veľmi užitočná funkcia firmvéru, a to zmena filamentu počas tlače. Ak chcete vytlačiť niekoľko prvých vrstiev jednou farbou, ďalšie inou farbou a potom farby neustále prepínať, môžete to urobiť pomocou tejto funkcie. Pozrite sa na tento odznak, ktorý sme vytvorili pomocou príkazu M600.

Takže sme už povolili funkciu M600 a rozšírenú funkciu adcanced pause, teraz musíme povoliť funkciu parkovania tlačovej hlavice. Prejdite teda na riadok 2362 (configuration.h) a aktivujte funkciu "nozzle park". Ak chcete, môžete tu zmeniť polohu a tiež rýchlosť v položkách "feed rate" (rýchlosť podávania) a "minimum z feed rate" (minimálna rýchlosť podávania).

Teraz prejdite na riadok 824 a povoľte Extrude max length (configuration.h). Tým sa vtiahne nový filament až do tejto dĺžky, čo stačí na odstránenie starého filamentu a úplnú zmenu farby. Táto hodnota závisí od toho, či máte Bowden alebo Direct Drive. Ak máte Bowden s dlhou teflónovou hadičkou, táto hodnota musí byť pomerne vysoká, ak máte Direct Drive, môže byť nízka.

Potom sa vráťte k rozšírenej funkcii advanced pause v konfiguračnom súbore configuration_adv.h a uistite sa, že položka PARK_HEAD_ON_PAUSE je odkomentovaná, aby sa tryska podľa toho zaparkovala (configuration_adv.h)

16. doplnkové funkcie - EEPROM, nastavenia predhrevu, čistenie trysky, heslá, jazyk, citlivosť enkodéra, LCD, neopixely

Ďalším bodom je EEPROM v riadku 2291 a určite by mal byť povolený (configuration.h) - je to ako pamäťová funkcia na tlačiarni. Ak teda niečo zmeníte, v podstate čokoľvek príkazom Gcode, môžete to uložiť príkazom M500 a bude to zachované. Bez tejto funkcie sa tlačiareň jednoducho reštartuje s nastaveniami firmvéru, ktoré ste nastavili v počítači. Vďaka tomu je to naozaj pohodlné.

Ďalšie sú konštanty predhrievania (preheat constants) v riadku 2335 (configuration.h). Podobne ako v prípade EEPROM by tam mali byť v predvolenom nastavení, aj keď niekedy hodnoty nie sú až také skvelé. Páči sa nám, že tieto hodnoty sú o niečo vyššie ako skutočná teplota tlače, ale to je len drobnosť. V predvolenom nastavení sú prednastavené len teploty PLA a ABS, ale ak v skutočnosti nepoužívate žiadny z nich alebo potrebujete veľa prednastavených hodnôt, môžete ich pridať až 10.

Ďalej nasleduje funkcia pre čistú trysku v riadku 2374 (configuration.h). Táto funkcia je užitočná pre tlačiareň s dvoma extrudérmi, ale môže byť užitočná aj pre tlačiareň s jedným extrudérom, ak chcete, aby bola prvá vrstva dokonalá.

Ďalšou vecou je heslo v riadku 2498 (configuration.h) - možno nechcete, aby tlačiareň používalo napríklad vaše dieťa alebo spolubývajúci, ktorí nepoznajú hranice. V takom prípade by ochrana heslom mohla byť užitočná, ale ak ste jediný, kto má prístup k tlačiarni, heslo je vlastne zbytočné.

V riadku 2529 (configuration.h) máme aj nastavenia pre podporu LCD. Ak angličtina alebo čínština nie sú vaším materinským jazykom, nie je to problém, máte tu na výber niekoľko možností. Ak váš ovládač používa koliesko enkodéra, môžete zmeniť citlivosť v riadku 2602 (configuration.h). Ďalej v nastaveniach ovládača môžete vybrať ovládač, možno s podporou SD karty alebo s dotykovou obrazovkou.

Tlačiareň môžete tiež rozšíriť o neopixely, čo sú LED diódy, ktoré môžete pripojiť k tlačiarni a vytvoriť tak lepšie osvetlenie alebo parádnu svetelnú šou. Tieto nastavenia nájdete v riadku 3450 (configuration.h).

Nakoniec je tu nová a veľmi zaujímavá funkcia s názvom Input Shaping (Tvarovanie vstupu). Ide o novú funkciu v Marlin, ktorá dokáže kompenzovať vibrácie, ktoré môžu spôsobiť nevzhľadné chyby vo vašej tlači. Už sme vytvorili video a príručku, ktorá vám pomôže s jej nastavením.

Tento zoznam v žiadnom prípade nepokrýva všetko, ale poskytuje len všeobecný prehľad o tom, aké zmeny sa často vykonávajú. Ak máte problémy s konkrétnou časťou firmvéru Marlin alebo by ste chceli, aby sa tento zoznam rozšíril, dajte nám vedieť. V budúcnosti túto príručku rozšírime, aby sme vám pomohli so všetkými zmenami, ktoré chcete vykonať.