Kalibrace 3D tiskárny

kalibrace kříž

 

Dobrý den, v dnešním článku se podíváme jak se provádí kalibrace 3D tiskárny a proč je důležitá. V minulých článcích jsme si nainstalovali tiskový server octoprint, který nám celou kalibraci značně usnadní. Pokud octoprint nemáte, nebo nepoužíváte, určitě vám přijde vhod článek, ve kterém jsme se podívali na soubor g-code.

Proč kalibrovat?

Každá 3D tiskárna, respektive ovládací deska, má základní kalibraci přednastavenou v továrním nastavení. Ta však nemusí být úplně dostačující. Software, který ovládá pohyb 3D tiskárny, všechny pohybové příkazy převádí na otáčky krokových motorů. Tedy pohyb 1mm po ose Z, znamená půl otáčky krokového motoru, tedy 100 mikro-kroků po 1,8°. Řídící deska tedy do motoru pošle 100 impulzů. Vlivem různých provozních a konstrukčních vůlí by však na určité tiskárně mohl 1mm odpovídat jen 99,5 kroků. Proto je potřeba 3D tiskárnu zkalibrovat, kdykoliv se s ní jakkoliv manipulovalo, nebo hned po složení.

Kalibrace.

Na webu thingiverse.com můžeme najít hned několik kalibračních předmětů, které po tisku změříme posuvným měřítkem a spočítáme si potřebnou korekci. Doposud se nám v malé továrně na velké věci jako nejlepší osvědčil kalibrační kříž uživatele lukeskymuh. Po rozbalení staženého balíku, uvnitř najdete jeden soubor pro kalibraci os X a Y a jeden pro kalibraci osy Z. Navíc je přiložena tabulka excel, která vám pomůže s výpočtem. Jednoduše si tedy oba soubory naslicujete podle vašeho obvyklého nastavení a jeden po druhém vytisknete.

Měření.

Pro začátek nás bude zajímat přiložená tabulka, kam budeme vepisovat naměřené hodnoty do žlutě označeného sloupce. Budete tedy potřebovat posuvné měřítko, kterým změříte tloušťku kalibračního kříže v každém bodě. Postup je snadný, jen dejte pozor, ať zapisujete správný rozměr do správného řádku tabulky. Obrázek kříže v tabulce, vás přesně navede.

Tento postup provedeme jak pro osu X tak pro osu Y, Tabulka obsahuje tři listy, pro každou osu jeden. Pokud jste vše udělali správně, v horní části tabulky se objeví korekce nastavení. Nyní musíme do tabulky zadat údaje o kalibraci, podle které se 3D tiskárna řídí nyní. V octoprintu stačí přejít na kartu “terminal” a poslat tiskárně příkaz: M501. Odpovědí 3D tiskárny bude načtení kompletního nastavení a zobrazení v okně terminálu. Nás však bude zajímat pouze údaj o kalibraci, tedy řádek vypadající takto: Recv: echo: M92 X100.04 Y100.12 Z399.37 E95.00. (Pozn. hodnota E95 je kalibrační údaj pro posun tiskové struny, tedy množství vytlačeného materiálu. Na tuto kalibraci se podíváme v některém z příštích článku.)

Vidíme, že naše tiskárna je zrovna zkalibrovaná na hodnoty X100.04, Y100.12 a Z399.37. Tyto hodnoty si zapíšeme do tabulky na příslušné místo, opět označené žlutým podbarvením, samozřejmě každou osu zvlášť. Pokud údaje neznáte a nemůžete je vyčíst z menu tiskárny pomocí ovládacích tlačítek, můžete dosadit hodnoty X100, Y100 a Z400. Později po kalibraci budete celý postup opakovat, ale již budete znát hodnoty, které jste sami zadali v prvním kole kalibrace.

V zeleném poli pak již můžeme vidět výsledek kalibrace s korekcí odchylky. Teď stačí tento údaj uložit do paměti tiskárny aby se jim při dalším tisku mohla řídit.

Zápis hodnot.

Díky terminálu stačí tiskárně odeslat příkaz M501 pro načtení uložených hodnot, poté upravené hodnoty ve tvaru: M92 X100.05 Y100.13 Z399.37 (pro oddělení desetinných míst je nutné použít tečku místo obvyklé čárky). A dále příkaz M501 pro uložení hodnot do paměti 3D tiskárny. Další možností, jak tiskárně vnutit pozměněné kalibrační data, je pomocí souboru g-code. Stačí když do hlavičky kteréhokoliv souboru vepíšeme příkaz pro načtení dat z paměti, upravené data a nakonec příkaz pro uložení nových dat do pamětí, a tento soubor zadáme k tisku. Tedy:

M501

M92 X100.05 Y100.13 Z399.37

M500

(Pozn. za červeně označené čísla, doplňte vaše hodnoty.) Tím je celá kalibrace u konce. Respektive její první část. Určitě doporučuji kalibraci provést alespoň 2x pro vyloučení možných chyb. Celý proces tedy projděte 2x pro vodorovné osy X a Y a minimálně dvakrát také pro osu Z.

Doufám, že pro vás byl tento článek dobrým návodem a vaše 3D tiskárna je nyní správně zkalibrovaná.

30 thoughts on “Kalibrace 3D tiskárny

  1. Skvělý a stručný návod, tento článek mi vyřešil zásadní problém s 3D tiskem. Díky! :-).

  2. Dobrý den, nevím jak se mi to povedlo, ale provedl jsem kalibraci (přes kříž a tower + extruder), přepsal jsem přes pronterface hodnoty, uložil a pro kontrolu načetl znovu, OK … ale jak vypnu a zapnu tiskárnu tak tam mám zpět defaultní data, neporadil by ste mi? Jinak opravdu supr články :))

    1. Jakým příkazem to ukládáte? Standardní příkaz pro uložení by měl být M500. Nevím jak přesně vypadá pronterface ale tiskárna by měla zpět odeslat nějakou odpověĎ jako “ok” nebo “stored” atd.

      1. M500 jsem použil, ale ukázalo se mi jen sending, nic na uložení, bez zpětné vazby, takže v tom bude asi “zakopený pes”, neznám správný příkaz, ešte jsem to zkoušel natvrdo v tiskárně přepsat, přes lcd panel, ale po vyp/zap jsem měl zase defaultní hodnoty

        1. Chyba je určitě v podání příkazu. Jen doplním, že ve článku popisuji postup pro alternativní firmware Marlin. Originální firmware používá stejnou instrukční sadu Mkódů ale práce s EEPROM pamětí může být zablokovaná. Na originálním firmware jsem parametry dosud neměnil.

  3. Dobrý den,
    pozadání příkazu M501 mi moje Anet A8 vypíše:
    Send: N41038 M501*41
    Recv: ok 41038
    Recv: Info: 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
    Recv: Info:Configuration loaded from EEPROM.wait
    Recv: wait
    Send: N41039 M105*40
    Recv: ok 41039
    Recv: T:22.78 /0 B:22.78 /0 B@:0 @:0
    Recv: wait
    Recv: wait
    Recv: wait
    Jaké hodnoty mám napsat do excelu, jako vstupní? Proradíte mi prosím?

    1. Dobrý den, tyto výstupní informace nemaji standardní formát. Něco je špatně. Například hned na prvním řádku je navíc “N41038” a “*40”. Takové symboly by tam být neměly. Jak příkazy tiskárně posíláte? A ještě se zeptám jestli máte firmware Marlin. Ten je k tomuto nutný, originální firmware se takto ladit nedá.

  4. Dobrý den mam originální firmware, to bude ten kámen úrazu. Zkusím to přehrát. Jinak mám octoprint nainstalovaný
    na windowsech.

  5. Dobrý den.
    Kalibruji a hraji si podle Vašich článků. Tiskárna se lepší, ale stále se mi zdá, dost velká vůle na kuličkových ložiskách. Někde jsem viděl, že je nahrazují plasovými. Je to opravdu o tolik lepší? Jak je to s jejich přesností a životností. Má to vůbec smysl?
    Děkuji za odpovědi.

    Martin

    1. Dobrý den, smysl to určitě má. Já na svých tiskárnách používám vytištěné ložiska místo kuličkových už přes rok a stále fungují perfektně. Tiskl jsem je z ABS materiálu a mažu je silikonovou vazelínou s přídavkem teflonu. Zmínil jsem se o tom v článku o mazání. Velikou výhodou je snížení hlučnosti, nevýhodou pak trochu vyšší tření. Ale jak říkám, motory tiskárny toto tření zvládají bez jakékoliv újmy nebo přehřívání. Nedávno jsem od jednoho čtenáře dostal tip na lineární ložiska vyrobená z ptfe hadičky. Chystám se to vyzkoušet a otestovat.

    1. Úplně klidně je zkuste udělat i z PLA. Materiál je to dost houževnatý a jediné jeho omezení je teplota do 60°C a tu v ložisku nepřesáhnete.

  6. Zdravim zaujimavy clanok aj postup. Skusil som , vytlacil som, co nechapem ze napr 1 rozmer ma byt 5 mm ja mam 5,2 cize po zadani do excelu by som ocakaval ze pocet krokov by sa mal zmensit ale excel hodnotu zvysuje. Nieco som nepochopil alebo je v tom ine kuzlo ? Lebo rozmer 150mm je uplne presne.

    1. Dobrý den, ta excel tabulka není můj výtvor ale prozatím s ní pracuji úspěšně. Hodnota se kterou pracujete, je počet kroků motoru aby se osa posunula o 1mm. Hodnota odchylky často nebývá lineární proto je do výpočtů promítnut i průměr a tiskárnu nastaví tak aby byly hodnoty na 5 i 150mm podobné.

  7. To mi je jasne ze to je iny projekt len ze ci to spravne chapem ked mi zvecsuje objekt tak ratam ze pocet krokov by mal byt mensi aby sa vysledny rozmer zmensil.

    1. Když se zamyslím tak mi to dává smysl. Motor poskočí o 1mm a k tomu mu deska pošle třeba 100 impulzů. Váš motor při 100 impulzech poskočil o více než 1mm čili by se jako parametr M92 mělo zadat menší číslo než 100.

  8. Taky mi ta tabulka počítá obráceně.. Mám výtisk menší než plánovaný a ve výsledku mi ta tabulka doporučí z výchozích 80 kroků změnit na 79,87, což vedlo v následným výtisku k ještě většímu zmenšení.. Poladil jsem to tak nějak laborováním a s výsledkem jsem spokojenej, ale spíš je zajímací, kde je schovanej ten problém?

  9. Zdravim, mam stejny problem. Taky si myslim ze tabulka pocita spatne. Excel tabulka je oznacena v2, je mozne ze autor delal upravy a uplne se to nepovedlo-napr. v zalozce pro osu Y ma obrazek pro mereni X osy. Mam tiskarnu Ender3 , vychozi hodnoty jsou pro XY nastaveny 80, tisk byl rozmerove mensi. Vypoctene kalibracni kroky byly mensi nez 80 a druhy kontrolni vytiskl byl jeste mensi nez puvodni.

    1. Souhlasím, také jsem s tím posledně bojoval a výtisky se mi stále zmenšovaly. Nakonec jsem si udělal tabulku svou, kde jsem zprůměroval odchylky a trojčlenkou vypočítal správnou hodnotu kroků.

  10. Dobrý den.
    Mám problém.Tiskárna Anet A6,nový Marlin 1.1.9 Při kalibraci jsou osy Z,X naprosto přesné.Extruder však podává 6 x více.E axis resoluton je 95 steps/mm.
    To mají cca nastaveno všichni,co jsem našel.Je to i v Marlinu předdefinované na Anet.
    Selským rozumem: motor (42SHDC3025-24B) má 1.8 stupně na krok (tabulka).360 : 1.8 = 200,Má tedy 200 kroků dokola.Průměr podávacího kolečka je 11mm/obvod je tedy 34,5 mm.
    To je přímo na hřídeli motoru.
    Na 200 kroků tedy podá 34,5 mm filamentu.Z toho plyne (200:34.5),že na 1mm je 5.8 kroku.Když to tam nastavím tak to funguje.
    Záhadou pro mě je proč všichni mají kolem těch 95.Kde je chyba?5.8 kroku na mm se mi zdá dost hrubé.Navíc nesedí poměr 5.8 k těm 95 a chybě.
    Omlouvám se za délku textu a snad bude někdo vědět.Díky.

    1. Samotný motor má obvykle 200 kroků ale tiskárny používají také mikrokrokování čili se každý krok ještě může rozdělit na několik menších.

    2. Samotný motor má obvykle 200 kroků ale tiskárny používají také mikrokrokování čili se každy krok ještě může rozdělit na několik menších.

  11. Dnes jsem objevil Váš další pěkný článek o kalibraci extruderu.Bohužel mě to neřeší problem.
    Pokud schválíte můj příspěvek přesuňte jej tam.
    Děkuji.

  12. Takže myslíte,že je to softwarová nebo hardwarová chyba? Jdou ty mikrokroky definovat v Marlinu nebo jsou dány drivery motorů? Jakým směrem byste postupoval?
    Děkuji.

    1. mikrokroky jsou definovány zapojením driveru na základní desce, nicméně i v marlinu se dají nastavit tak, aby s nimi marlin počítal správně. Jakože je v marlinu nemůžete fyzicky změnit ale měly by odpovídat skutečnému zapojení a marlin by tak měl správně počítat kroky posunu. Tedy já bych se tedy přesunul do mailové komunikace (info@☺3dfactory.cz) a sem poté napíšete případný výsledek, příčinu, řešení…
      1 – potřeboval bych ještě jednou typ řídící desky
      2 – marlin konfiguraci kterou jste do desky nahrál
      3 – nastavené kroky (M92) – kolik struny vytlačí při obvyklých 100 a jaké kroky máte nastavené aby vytlačil skutečných 100mm. Zkuste to prosím zjistit a napište mi výsledek. Zkoušejte prosím bez topení a trysky (přímo strunu ven z motoru).
      Něco vymyslíme a dáme to do pořádku.

Napsat komentář

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