Mk52 szintezés önzáró anyákkal

A Prusa Mk52 tálca fix távtartókkal kapcsolódik az Y kocsihoz, így nem kell és nem is lehet állítgatni a vízszintet. Pedig nem lenne rossz, ha mégis lehetne, ugyanis, ha görbület van a tálcában, akkor hiába méri le a szenzor bizonyos pontokon a magasságot, a pontok közötti görbületet nem tudja a vezérlő tökéletesen kitalálni.

Szerencsére dönthetünk úgy, hogy a gyári elgondolással ellentétben mégis használjuk finom állítgatásra is a tálcákat tartó csavarokat.

M3 távtartó

Az éppen egy évvel ezelőtti cikkemben említettem, hogy nem szükséges megvenni ezt a távtartó és csavar szettet, ugyanis találtam egy remek módszert, aminek a lényege éppen abban áll, hogy a távtartókat önzáró anyákra cseréljük: Bed Leveling without Wave Springs

Azóta is így használom a nyomtatót, és mivel nagyon meg vagyok elégedve vele, ezért jó szívvel ajánlom minden Prusa Mk3 tulajdonos figyelmébe.

Mk52 tálca

Zseniálisnak tartom a módszert, többek között éppen azért, mert semmi különlegesség nincs benne. Néhány egészen egyszerű változtatással sokkal többet ki tudunk hozni az Mk52 tálcából. Más tálcáktól eltérően nem csak négy, hanem kilenc ponton rögzíti csavar a felületet, így ezzel a kilenc ponttal egészen egyenesre kihúzhatjuk, ha meghagyjuk a csavarok mozgatásának lehetőségét.

Kézenfekvő megoldás lenne rugókat alkalmazni, de valójában ugyan azt az eredményt érjük el, ha önzáró anyákat használunk: nem lesz holtjátéka a csavaroknak, de tudjuk forgatni őket. A leírás szerint még vacakabb is lenne a rugó, mert az idővel megváltoztatja a feszültségét. Valójában bármit csinálunk el tud mászni a tökéletes beállításunk. Viszont a rugókhoz több helyre lenne szükség, az anyákat alkalmazva nem veszítünk Z magasságot, emiatt nem kell firmware-t módosítani.

A következő ötlet az, hogy ne szedjük ki mind a kilenc távtartót, mert ha az összes csavart állítgatni tudjuk, akkor nincs mihez igazodnunk. Ha állítunk egy csavart, akkor annak valamekkora hatása lehet a többire is, ezért könnyen úgy járunk, hogy körbe-körbe állítgatjuk a csavarokat miközben nem javul az eredmény. Ezt elkerülendő a középső csavar esetében hagyjuk ott a távtartót (vagy ha nem vettünk, akkor alátétekből, vagy bármiből fabrikáljunk.) és a maradék nyolc csavart ennek a középsőnek a magasságához igazítsuk.

Hozzávalók

  • Az eredeti cikk nem írja, de azt javaslom, hogy 12mm-es süllyesztett fejű M3-as csavarokat cseréld le 16mm hosszúságúakra. Ez még az a hossz, ami nem lóg ki a kocsiból alul, viszont majdnem végig érnek a menetben, így holtjáték nélkül sokkal precízebben fognak működni.
  • Nyolc M3-as önzáró anyára és esetleg alátétekre lesz még szükséged.

Telepítés

Egyszerűbb a művelet, ha leszereled a tálcát. Emeld magasra az X tengelyt, hogy ne legyen útban, kapcsold ki a nyomtatót és tekerd ki a kilenc csavart felülről a tálcából. Emeled le a tálcát ahogy a vezeték engedi és tedd félre a távtartókat, csavarokat.

Mivel ilyet nem gyakran csinálsz, így gondold meg, hogy ezt az alkalmat esetleg hőszigetelés felszerelésére is kihasználod.

Vedd elő a hosszabb csavarokat és a középső kivételével helyezd el a tálcában őket. A túloldalról tegyél fel egy alátétet és tekerd föl az önzáró anyákat. Húzd meg annyira őket, hogy még forgatható legyen a csavar, de azért masszívan, kotyogás, sőt mozgás mentesen feszesen legyenek a helyükön.

Mk52

Egy darab távtartót helyezz a kocsi középső furatára és emeld úgy rá a tálcát, hogy az anya nélküli középső csavar a távtartóba találjon. Igazítsd meg úgy a tálcát, hogy mind a kilenc csavar furat fölé kerüljön.

Az alumínium kocsi meneteit el lehet rontani, ha nem pont a menetbe igazítva hajtjuk a csavarokat és ezért a csavar új menetet kezd vágni magának. Ezért úgy kezd el betekerni őket, hogy először az ellenkező irányba forgatod a csavart, miközben kis nyomást gyakorolsz rá. Érezni fogod, hogy pattan egyet, amikor összepasszolnak a menetek. Ekkor kezd el befelé hajtani a csavart.

A csavarok meghúzásához türelmesnek kell lenned. Egyszerre csak egy fordulatot tekerj egy csavaron, majd az összes többin, mielőtt ismét visszatérsz ahhoz a csavarhoz, amivel elkezdted. Türelmesen egy-egy fordulattal addig tekerd befelé az összes csavart, amíg a középső, amit távtartó támaszt megfeszül. Esetleg a kiszerelt távtartókkal ellenőrizheted az oldalsó csavarok magasságát, hogy lásd meddig kell még húzni őket.

Ezzel nagyjából készen vagy, de persze még rettentő görbén áll a tálca.

Szintezés, finombeállítás

Mielőtt bármit csinálnánk, futtassunk egy Z kalibrációt, hogy egészen biztosak lehessünk benne, hogy az X tengely vízszintesen áll. Nehogy ferde tengelyhez igazítsuk tökéletesen ferdére a tálcát!

Első durva beállítást még érdemesebb szoba-hőmérsékleten elvégezni, de utána finomítsuk a beállítást azon a hőmérsékleten is, amin nyomtatunk, ugyanis hiába húzunk meg minden csavart, a melegedés hatására továbbra is mocorog a tálca.

Használhatunk valamilyen vizuális OctoPrint plugin-t is a beállításhoz, de ugyan olyan jó eredményt érhetünk el a terminál ablakban megjelenő értékek használatával is.

Ami viszont még a segítségünkre lehet, ha módosítjuk picit a firmware-t. A középső csavart nem tudjuk állítani, ezért nagyon kifejező lenne, ha a többi csavar magasságát nem abszolút értékben próbálnánk értelmezni, hanem a középső csavarhoz képesti relatív értékeket látnánk. Ezt a módosítást én már elvégeztem, ezért szerepel a példákban a tálca közepén mindig 0 érték.

Terminal parancsok használat

G80-as utasításra elvégzi a nyomtató a szintező pontok mérését.
Ha végzett, akkor G81-es utasításra kiírja az eredményeket, valami ilyesmit:

-,48750-,42093-,36621-,32334-,29232-,27315-,26584
-,21917-,18561-,16191-,14806-,14407-,14993-,16565
-,04861-,03746-,03468-,04028-,05425-,07660-,10732
„0.02416 ”0,023520,015460-,02287-,05315-,09084
-,00084-,00268-,01147-,02723-,04993-,07959-,11621
-,12361-,11604-,11549-,12195-,13543-,15592-,18343
-,34417-,31658-,29658-,28417-,27936-,28213-,29250

A táblázat első sora a tálca hátulját jelenti, a sorok eleje pedig a baloldalt, tehát úgy kell értelmeznünk a táblázatot mintha szemből néznénk a nyomtatót.

A feladatunk az, hogy a sarkok és az élek közepén lévő számokat a középső számhoz közelítsük a csavarok forgatásával. Egy fordulat 0.5mm jelent, a negatív számok pedig azt, hogy mélyebben van a pont. Tehát a példa szerint bal hátsó sarokban lévő csavart egy fordulattal kifelé kell tekerni, a jobb elsőt pedig picit többet, mint fél fordulatot ugyan ebbe az irányba. A baloldal közepén lévőt pedig nem érdemes piszkálni.

Első lépésként saccoljuk így meg az összes csavart és állítsuk be őket. A továbbiakban viszont egyszerre csak maximum 2-3 csavarral foglalkozzunk, méghozzá a legszélsőségesebb értékűeket igazítsuk meg, majd futtassunk új mérést. Mindig gondoljuk meg, hogy a kompenzálandó érték mekkora fordítást igényelhet, ha 0,5mm a teljes 360 fok.

Macerás, de az acéllapot fel-le kell pakolni minden körben.

Könnyen elérhetjük, hogy minden pont 0,05mm-en belül legyen, ekkor már érdemes felmelegíteni a tálcát. Türelemmel el lehet jutni 0,02mm-en belülre is. Érdemes az anyákat meghúzni újra, ha állítgatás közben lazának érezzük, ezzel persze ismét ronthatunk a helyzeten. Türelem játék, de csak rajtunk múlik, mennyire akarjuk pontosra beállítani. Nagyjából húsz perc vacakolással ilyesmi sikerült nekem:

OctoPrint asztal szintezés

Firmware módosítás

Anélkül, hogy megváltoztatnák a nyomtató szintezéssel kapcsolatos működését módosítani tudjuk a G81-es parancs terminálra kiírandó eredményeit. A módosítás abból áll, hogy a középső pont magasságát egyszerűen levonjuk az összes pont értékéből.

Ehhez a marlin_main.cpp  fájlt kell módosítani a 5040-dik sortól a következőre:

//! ### G81 - Mesh bed leveling status
// -----------------------------------------
/*
 * Prints mesh bed leveling status and bed profile if activated
 */
case 81:
  if (mbl.active) {
	SERIAL_PROTOCOLPGM("Num X,Y: ");
	SERIAL_PROTOCOL(MESH_NUM_X_POINTS);
	SERIAL_PROTOCOLPGM(",");
	SERIAL_PROTOCOL(MESH_NUM_Y_POINTS);
	SERIAL_PROTOCOLPGM("\nZ search height: ");
	SERIAL_PROTOCOL(MESH_HOME_Z_SEARCH);
	SERIAL_PROTOCOLLNPGM("\nMeasured points:");
	float midPoint = mbl.z_values[((MESH_NUM_Y_POINTS+1)/2)-1][((MESH_NUM_X_POINTS+1)/2)-1];
		
	for (int y = MESH_NUM_Y_POINTS-1; y >= 0; y--) {
	  for (int x = 0; x < MESH_NUM_X_POINTS; x++) {
		SERIAL_PROTOCOLPGM("  ");
		SERIAL_PROTOCOL_F(mbl.z_values[y][x] - midPoint, 5);
	  }
	  SERIAL_PROTOCOLPGM("\n");
	}
  }
  else
	SERIAL_PROTOCOLLNPGM("Mesh bed leveling not active.");
  break;

Az midPoint változó kiszámítása és ennek az értéknek a levonása a változtatás.

Firmware módosítás helyett

Ha félsz módosítani a firmware-t, akkor nyugodtan fejben is számolgathatsz, könnyen belátható, hogy semmi akadálya nincs, hogy ugyan olyan jó eredményt érj el.

De használhatsz egy remek kalkulátort is erre a célra. A felső mezőbe bemásolod a G81-es parancs eredményét, alul pedig megkapod a relatív magasságokat: https://pcboy.github.io/g81_relative/

Tapasztalat

Mielőtt elvégeztem ezt a módosítást, vagy sokáig nem ellenőriztem és már nagyon elmásztak az értékek, nem sikerült a tálca teljes területén tökéletes első réteget nyomtatnom. Érdekes módon a 7×7-es mérés sem segít ilyenkor sokat, amit nagyon furcsának találok egyébként. Viszont, ha egyenes a tálca, akkor 3×3 pont mérésével is, egészen jól sikerülnek az ilyesmi tesztetek:

3D nyomtató asztal szintezés

Ezzel a módosítással plusz kalibrációs feladatot is magunkra vállalunk, de a saját tapasztalatom az, hogy megéri ez a kis vacakolás.

Azt figyeltem még meg, hogy nagyon is számít a tálca hőmérséklete. A PINDA szenzor ugyan kompenzálva van a hőmérséklet változásra, de a tálca ettől még deformálódik a hő hatására. Ezért mindenképpen olyan hőmérsékleten érdemes a finombeállítást elvégezni, amilyen hőmérsékleten általában futtatjuk a szintezést.

Nylock Bed Leveling videó

A módszert ebből a videóból ismertem meg, ha elsőre zavaros a leírásom, akkor nézd meg a videót, világos lesz, hogy mire megy ki a játék:

Update 2021. 02. 28

Megjelent egy új nagyon kifejező videó a folyamatról:

A videóban használt OctoPrint plugin:
plugins.octoprint.org/plugins/PrusaLevelingGuide/

A plugin megkímél minket a számolgatásoktól, kiírja hogy melyik csavart hány fokkal és melyik irányba kell eltekernünk.

Subscribe
Visszajelzés
guest

2 hozzászólás
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
CharlieBrown
CharlieBrown
3 éve

Ezt a modot nem nézted még? Silicone bed level mod
Az állítólagos regzések miatti lazulásokat elvileg kiküszöböli.

2
0
Mit gondolsz erről? Kérlek szólj hozzá Te is!x