Vícebarevný tisk s jedním extruderem

https://wp.me/p9G9Rf-Ak

 

Dobrý den, opět vás zdravím u dalšího z článků z dílny malé továrny na velké věci. Dnes bych vám chtěl ukázat možnost, jak tisknout dvoubarevný nebo i vícebarevný tisk na tiskárně s jedním extruderem. Určitě už tušíte, že půjde o výměnu struny v určité vrstvě.

Jak to funguje?

Chcete-li měnit barvu svých výtisků, nejlepším způsobem jak to udělat je pomocí kódu M600, který vložíte přímo do gcode souboru. Tiskárna se u zadaného kódu zastaví, odsune trysku stranou, vysune tiskovou strunu a počká, až zavedete novou strunu a výměnu potvrdíte na displeji tiskárny. Poté již tisk probíhá standardním způsobem. Má to ovšem několik háčků:

1, tiskárna musí bežet na firmware Marlin

2, funkce musí být povolená  a dobře nastavená.

Pojďme na to…

Ze všeho nejdříve se podíváme na nastavení Marlina, které tiskárnu naučí poodjet od výtisku a provést všechny úkony potřebné k výměně struny. Všechno potřebné nastavení najdete v konfiguračním souboru “Configuration.adv.h” který se nachází přímo ve složce Marlin. Po kliknutí na odkaz se podíváte na úložiště github, kde se dá nejnovější vydání marlina bezplatně stáhnout.

Najděte si řádek 978 kde je potřeba “odkomentovat” text: //#define ADVANCED_PAUSE_FEATURE, stačí tedy ze začátku řádku smazat dvě lomítka. (Upravujete-li přímo v Arduino IDE, s hledáním vám pomůže klávesová zkratka CTRL+F) Tohle byla ta nejsnadnější část. Nyní nastavíme dalších 19 řádků a vložíme do kódu správné parametry. Teoreticky můžete nechat defaultní nastavení ale proč si s tím nepohrát a nenastavit si tiskárnu k obrazu svému. Popíšu vám, co který řádek nastavuje, zkušení prominou a přeskočí.

#define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) rychlost první rychlé retrakce (uvolnění tlaku v trysce).

#define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) délka první rychlé retrakce (uvolnění tlaku v trysce).

#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) rychlost vysouvání původního filamentu.

#define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) akcelerace rychlosti vysouvání filamentu (nižší akcelerace dovolí větší rychlost).

#define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) délka struny, kterou chcete vysunout. Kdo máte přímý extruder s motorem blízko trysky, nastavíte si vzdálenost od trysky po podávací kolečko (cca 40mm). Ti z vás, kteří používají bowdenový extruder nastaví vzdálenost od trysky po podávací kolečko včetně délky hadičky (klidně 300mm i více). Je lepší když se bude motor točit trochu déle, než kdyby vám struna zůstala držet na posledních pár mm.

#define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) nižší rychlost při začátku zavádění nové struny.

#define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) startovací délka posunu s nižší rychlostí.

#define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) rychlost zavádění nové struny.

#define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) akcelerace rychlosti zavádění filamentu (nižší akcelerace dovolí větší rychlost).

#define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) délka zavedení filamentu od podávacího kolečka extruderu po trysku.

#define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) rychlost protlačení nově zavedeného filamentu tryskou (rychlost by neměla být příliš vysoká).

#define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) délka filamentu, kterou se z trysky vytlačí původní materiál. Pokud nastavíte 0, stále můžete strunu posouvat manuálně pomocí menu na displeji. Budete mít na výběr dvě možnosti “Purge more” nebo “Continue”.

 #define FILAMENT_UNLOAD_DELAY 5000 // (ms) časová prodleva pro vychladnutí filamentu po retrakci před vysouváním struny.

#define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (sekund) časový limit po kterém bude z bezpečnostních důvodů vypnuto zahřívání trysky. nemějte strach, pokud zrovna nejste u tiskárny, tryska se jen ochladí a na displeji uvidíte aktuální teplotu. Stisknutím prostředního tlačítka se tryska opět rychle zahřeje.

#define PAUSE_PARK_NO_STEPPER_TIMEOUT // pokud tato možnost zůstane aktivní, motory na všech osách zůstanou zapnuty po celou dobu výměny struny. Chcete-li motory vypnout, stačí tento řádek “zakomentovat” dvojitým lomítkem.

V tuto chvíli máme v souboru “Configuration.adv.h” nastaveno vše potřebné pro výměnu filamentu a nyní se můžeme přesunout k souboru “Configuration.h” kde nastavíme parkování trysky při změně filamentu. Otevřete si tedy tento soubor a vyhledejte řádek cca. 1270 kde najdete text: //#define NOZZLE_PARK_FEATURE. Opět budete postupovat stejně, ze začátku řádku odstraňte dvě lomítka. Dále nastavíme následující řádky:

 #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS – 10), 20 } // pozice do které tryska zaparkuje při výměně. V tomto nastavení se tryska posune doleva a zastaví se 10mm před domácí pozicí, Vyhřívaná podložka se vysune dopředu a zastaví se 10mm před maximem, osa Z se zvedne o 20mm ze stávající pozice.

#define NOZZLE_PARK_XY_FEEDRATE 100 // rychlost (v mm/s) parkování trysky pro osy X a Y.

#define NOZZLE_PARK_Z_FEEDRATE 5 // rychlost (v mm/s) parkování trysky pro osu Z.

Tak, teď už máte nastaveno vše potřebné pro používání kódu M600 a tedy k výměně tiskové struny během tisku. Jen zmíním, že jsem tento návod sestavoval pro současnou verzi marlina, tedy 1.1.9. V dřívější verzi se všechny funkce nastavovaly v jednom souboru “Configuration.h”. Takže se toho tolik nezměnilo, jen aby jste zmíněné řádky nehledali dlouhé minuty.

Připravené soubory nahrajte do řídící desky tiskárny. Pokud nevíte jak může vám pomoci jeden ze starších článků Nahrání firmware Marlin, případně Jak vypálit zavaděč, bootloader, na desku Anet. Takže, tiskárna je na změnu filamentu připravena, pojďme se podívat, jak připravit gcode s magickým příkazem M600.

Magický příkaz M600 – automaticky!

Pokud při slicování nepoužíváte Z-hop a chcete změnit barvu, můžete kód M600 jednoduše vložit například pomocí webové stránky Prusa ColorPrint. Tímto způsobem nemusíte soubor otevírat v žádném textovém souboru, vše se udělá samo na pozadí. Stačí nahrát váš gcode a zvolit výšku ve které budete chtít vyměnit strunu. Problém s aplikací ColorPrint a současným používáním Z-hop spočívá v tom, že aplikace funguje jako jednoduchý textový vyhledávač. Jakmile najde řádek, který dosáhne nastavené výšky, vloží tam příkaz M600. To může způsobit hromadu nevhodně umístěných příkazů a celkový fail tisku.

Magický příkaz M600 – manuálně…

Manuální vkládání kódu není příliš složité avšak můžeme si jej jednoduchým nastavením ještě více zjednodušit. Stačí v nastavení sliceru nechat vložit poznámku při každé změně vrstvy. Poté již nebude problém najít správný řádek kam příkaz vložit. Ve slic3ru najeďte do “Nastavení tiskárny” – “Vlastní Gcode” a do textového pole “G-code před změnou vrstvy” vložte následující řádek:

; LAYER: [layer_num], Z HEIGHT: [layer_z]

Tímto řeknete slic3ru aby při každé změně vrstvy vložil do kódu komentář, který bude obsahovat informace o aktuální výšce a číslu vrstvy. Používáte-li Cura nebo Simplify3D, nemusíte nic měnit, tyto programy informace vkládají automaticky.

Při slicování si najděte přesnou výšku modelu, ve které chcete změnit materiál.

https://wp.me/p9G9Rf-Ak

Nyní si otevřete váš gcode v textovém editoru a najděte pomocí vyhledávání správnou výšku. Osobně používám jako textový editor bezplatný program Notepad++ ale stejně vám poslouží i základní poznámkový blok ve windows.

Poslední krok, vložení příkazu M600.

https://wp.me/p9G9Rf-Ak

Je hotovo!

Nyní je připravená jak tiskárna, tak i váš gcode. Stačí to odpálit a radovat se z krásných, vícebarevných, tisků. Pokud se vám náš článek líbil a vy tisknete dvoubarevně, budu rád, když se s námi o vaše výtvory podělíte v komentářích nebo na našem facebookovém profilu. Já se pochlubím rovnou tady na konci článku.

https://wp.me/p9G9Rf-Ak

3 thoughts on “Vícebarevný tisk s jedním extruderem

  1. Díky tomuto článku jste mi vnuknul myšlenku, že oddělám motor posunu tiskové strany na tiskárně Anet A8 mimo tiskárnu, přikoupím ještě dva podávače tiskové struny a motorky najdu si slučovač tiskových vláken pro tiskovou hlavu a přepínání motorků pro posun tiskového vlákna vyřeším přepínačem. Tak, že mi bude stačit přepnou příslušný motorek a poměřit, jak moc se musí vysunout tisková struna z tiskové hlavy. A všechny tři tiskové vlákna povedu v bovdenu pokud se nerozhodnu tisknout více než jen třemi barvami vtiskového vlákna.

    1. To zní jako zajímavý nápad. Ještě je možnost přejít na jinou řídící desku, která má dostatek volných výstupů a na jeden z nich připojit další extruder. Pak by jste mohl tisknou vícebarevně bez přepínání. Základní možností je třeba deska RAMPS 1,4

Napsat komentář

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