Klipper firmware
Co je to vlastně firmware? Zjednodušeně software, který slouží pro řízení určitého vestavěného systému. V našem případě k řízení desky ve 3D tiskárně. Nejznámějším a běžně používaným firmwarem v hobby 3D tiskárnách je Marlin firmware.
Klipper
Je to také firmware pro 3D tiskárny, ale funguje trochu jinak než Marlin.
Klipper totiž kombinuje výpočetní výkon nejčastěji Raspberry Pi a jednoho nebo více mikrokontrolerů 3D tiskárny. To je asi jeho nejcharakterističtější poznávací znak. Díky tomuto řešení je možné posunout i 8-bitovou desku z 3D tiskárny k mnohem vyššímu výkonu. Výpočet pohybu 3D tiskárny totiž přebírá Klipper, a deska v tiskárně je jen vykonavatelem příkazů z Klipperu.
Další zajímavou vlastností Klipperu je to, že dokáže propojit a využívat současně více různých desek. Například 3D tiskárna Voron 2.4 má 7 motorů (osa Z je na 4 samostatně ovládaných motorech). Běžná deska do 3D tiskárny má obvykle 4 - 5 driverů (ovladačů krokových motorů), čili můžete připojit 4 - 5 samostatně ovládaných motorů. Díky Klipperu můžete dvě tyto desky zapojit současně, a ku příkladu na jedné desce mít osazeny 4 drivery pro osu Z, a na druhé desce pak zbylé drivery a vše ostatní pro chod tiskárny (koncové spínače, termistory, topná tělíska atd). I samotné Raspberry Pi může sloužit jako externí deska a je možné tak rozšířit i jednoduchou desku o další řídicí logiku a správu vstupů, které zabezpečí Raspberry.
Klipper má také jednoduchou konfiguraci. To byla pro mě osobně velmi silná motivace Klipper vyzkoušet. Veškeré nastavení tiskárny se řeší v konfiguračním souboru printer.cfg. Jakákoliv změna v nastavení tiskárny se děje jednoduchou úpravou textového souboru, a následně restartem firmware služby na Raspberry. Marlin oproti tomu musíte pokaždé kompilovat a nahrávat zcela nový firmware do desky tiskárny. Pokud svou tiskárnu ladíte, nebo přidáváte například sensor pro kalibraci podložky, ušetříte si tím dost času. Je také možné mít více dílčích konfiguračních souborů, například zvlášť soubor pro makra, zvlášť soubor pro levlovací senzor a tak podobně, a ty následně pomocí Include příkazu vložit do printer.cfg. Nastavení je pak více přehlednější.
Smooth Pressure Advance - další ze zajímavých funkcí Klipperu. Je to obdoba Linear Advance, který můžeme znát z Marlin Fimrware. Tento mechanismus zohledňuje účinky tlaku který vzniká za extruderem. To snižuje nechtěné vytékání filamentu z trysky a zlepšuje kvalitu tisku v rozích.
Input Shaping - mechanismus pro snížení dopadu vibrací na kvalitu tisku. Asi každý se setkal s "duchy" na výtisku. Díky této funkcionalitě je dokážete výrazně omezit a při tom dosáhnout vyšších rychlostí tisku při zachování vysoké kvality tisku.
U obou těchto funkcí má Klipper hezky zpracované návody, a tak není příliš složité si tiskárnu takto vyladit. Pro Input Shaping dokonce může využít akcelerometr za pár korun, a celé ladění si výrazně ulehčit. Nehledě na to, že na youtube na tato témata najdete hromady videí.
Makra - Makra lze definovat v konfiguračním souboru tiskárny. Tyto příkazy jsou programovatelné, což jim umožňuje provádět různé akce v závislosti na stavu tiskárny. Můžete si tak vytvořit vlastní sekvence G-code příkazů, například pro výměnu filamentu, změnu barvy osvětlení tiskárny v závislosti na teplotě hotendu, a jiné vychytávky. Příklady využití maker můžete najít zde.
Aktualizace Klipperu, Moonrakeru ale také systému na Raspberry Pi na jedno kliknutí v (Mainsail či Fluidd).
Klipper toho umí mnohem, mnohem více. Více se můžete dočíst v klipper/features.
Mainsail, Fluidd nebo Octoprint
Octoprint většina 3D tiskařů již zná. Slouží k ovládání tiskárny přes webový prohlížeč a také pro přenos gcode k tisku - už žádné nahrávání na SD kartu. Pro svůj běh, stejně jako Klipper, vyžaduje Raspberry Pi. Pokud už Octoprint používáte, doporučuji začít přemýšlet také o vyzkoušení Klipperu. Na stejném Raspberry vám s Octoprintem může běžet i Klipper. Nicméně o Octoprintu se rozepisovat nechci.
Existují totiž i jiné možnosti jak ovládat tiskárnu přes webový prohlížeč. Nejpopulárnější v Klipper komunitě jsou Mainsail a Fluidd. Díky předpřipravené image pro Raspberry Pi můžete mít během chvilky funkční webové rozhraní s Klipperem, a můžete se pustit do připojení desky a následnému hraní s tiskárnou.
Mainsail i Fluidd jsou navržené pro fungování s Klipperem, a poskytují rychlé a responsivní rozhraní pro práci s tiskárnou. Díky tomu můžete přes počítač, tablet nebo mobil snadno tiskárnu nejen ovládat, ale také pozorovat kamerou, případně ladit a upravovat nastavení v konfiguračních souborech.
Ukázka rozhraní Mainsail jak na mobilu, tak na počítači:
Ukázka rozhraní Fluidd:
Jak vidíte, obojí je docela podobné, ale každé řešení má jiné vychytávky, a tak doporučuji vyzkoušet jak Mainsail, tak Fluidd a pak si vybrat. Dle mého názoru je to lepší volba než výše zmíněný Octoprint, protože není tak hardwarově náročná, a Klipper s nětkerým z těchto rozhraní může v pohodě běžet na Raspberry Pi Zero W. Tady ovšem drobné upozornění. Pokud chcete mít na tiskárně i kameru (jak můžete vidět na obrázcích), Rpi Zero W už nebude výkonově stíhat, a tak je potřeba se poohlédnout po jiném Raspberry, například Raspberry Pi Zero 2 W.
Nevýhody
Dle mého názoru hlavní nevýhodou je nutnost dalšího zařízení, tedy Raspberry Pi, které musí běžet spolu s tiskárnou. Což také znamená Raspberry napájet. Díky odlehčenějšímu rozhraní dokáže běžet Klipper v kombinaci s Fluidd či Mainsail i na Raspberry Pi Zero W za cca tři - čtyři stovky. Navíc toto malé Raspberry se dá napájet rovnou z desky tiskárny a na celé propojení vám budou stačit 4 kabely. U výkonnějších Raspberry pak budete potřebovat externí napájení. Oddělené napájení může být i výhoda. Tiskárna může být vypnutá, ale vy máte stále možnost nahrávat soubory, nebo konfigurovat tiskárnu. Na druhou stranu, pokud máte více tiskáren se starou 8-bitovou deskou nebo s drivery v legacy módu, jedno RPI vám dokáže ušetřit peníze za upgrade všech desek.
Další nevýhodou může být složitější úvodní "rozhýbání" desky v tiskárně. Nemyslím si, že by to obtížnější než začít s Marlinem od nuly. Pokud zvládnete zkompilovat Marlin a nahrát do tiskárny, určitě zvládnete zkompilovat firmware pro vaši desku, a nahrát ji do tiskárny. Navíc to děláte jen jednou, a pak už si užíváte jednoduchou konfiguraci tiskárny pomocí Klipperu.
Podpora displejů není tak široká jako u Marlinu. Jsou podporovány pouze základní displeje (např. Creality 12864, MKS Mini 12864, Fysetc Mini 12864). Před instalací Klipperu je dobré se podívat, jestli je váš displej podporovaný. Pokud není, nemusíte smutnit, můžete Klipper provozovat bez displeje a tiskárnu ovládat z mobilu. Ostatně je to příjemnější způsob ovládání tiskárny.
Hybějící některé věci jako podpora M600 pro výměnu filamentu a dalších podobných věcí. Nicméně je nutné říci, že tyto věci řeší výše zmíněná makra.
Klipper není tak rozšířený a známý jako Marlin, tudíž je obecně na internetu méně informací a návodů. Ale musím říct, že na každý problém jsem vždy našel řešení. Navíc Klipper dominuje mezi předními open source tiskárnami (Voron atp.) a je tak podroben neustálému tlaku na vylepšování a rozširování. A také díky tomu rychle roste komunita jeho fanoušků.
Závěrem
Tenhle článek není návod na instalaci Klipperu, ani Mainsail nebo Fluidd. Mým cílem je vám přiblížit Klipper jako výbornou alternativu. Na každou akci nalezenete na youtube video, a tak nebude problém se pustit do zkoušení. Jak jsem psal výše, pokud zvládnete zkompilovat Marlin, zvládnete rozhýbat i Klipper.
Odkazy
A přikládám ještě video od Nero3D (v angličtině).
https://www.youtube.com/watch?v=iNHta6zljoM
A nezapomeňte - 3D tisk je radost!
Za technické připomínky a pomoc při psaní článku děkuji Tomášovi a dalším lidem z Voron Discordu.