Marlin Firmware Konfigurálása 3D Nyomtatóhoz: Lépésről Lépésre
Ebben a cikkben lépésről lépésre megmutatom, hogyan kell a Marlin firmware-t konfigurálni egy HyperCube 3D nyomtatóhoz. Minden épített 3D nyomtató valamennyire egyedi, így egyedileg testre szabott firmware-re van szüksége. Például lehet, hogy a stepper motor kábeleket fordítva kötöttem be hozzád képest. Egyébként ez az első, amit ki kell próbálni, hogy a motorok megfelelő irányba forognak-e.
Egy „óvatos Home-ot” elindítunk a firmware feltöltése után, és ha rossz irányba mozog valami, akkor gyorsan áramtalanítjuk a nyomtatót, hogy ne kínozza saját magát a tengelyek végein. Javítjuk a firmware-t és újra próbáljuk.
MKS GEN 1.4 board-ot használok, a példában egyrészt ez fog szerepelni, másrészt kitérek arra is, hogy RAMPS esetében mit kell az adott sorba írni. De vigyázat: a RAMPS-os példáimat nem próbáltam ki! A célom nem az, hogy működő kódot adjak a kezedbe, hanem az, hogy megmutassam melyik sorokat kell módosítanod a saját nyomtatód bekonfigurálásához. K.I.S.S: Keep it simple, stupid Mindent olyan egyszerűre kell csinálni, amennyire csak lehet, de nem egyszerűbbre.
Nagyon erősen javaslom, hogy kis lépésekben módosítsuk a kódot és egy-egy önállóan tesztelhető beállítás után azonnal próbáljuk is ki a művünket! Ne csináljuk azt, hogy mint valami kérdőívet kitöltjük az elejétől a végéig a konfigurációs fájlt és minden számunkra szimpatikus, jópofa funkciót bekapcsolunk. Ennek egészen biztosan az lesz a következménye, hogy elrejtünk valami kis hibát, amit aztán órákig keresgélhetünk.
A cél az legyen, hogy minden egyes sor módosításának a hatásával tisztában legyünk!
Micro:bit alapú léptetőmotor vezérlés
Frissített Marlin firmware telepítési útmutató - VS Code és Auto Build Marlin
Szerintem nem túlzás valamilyen forráskód kezelő szoftvert, például Git-et vagy SVN-t használnunk a Marlin kódunk karbantartásához. De ha ezt nem is teszed, akkor legalább készíts másolatot minden működő változatáról a Configuration.h fájlnak.
Első lépésként nevezzük át a mappát valami egyedibbre, például Marlin_1-1-9_HyperCube-ra és a benne lévő Marlin.ino fájlt ugyan így Marlin_1-1-9_HyperCube.ino-ra. Ez azért lesz jó, mert ha több Marlin változatot is tárolunk a gépünkön, akkor az Arduino IDE fejlécében látni fogjuk, hogy éppen melyik van nyitva. Az Open Recent menüben is segít, ha nem csupa egyforma „Marlin” sorakozik egymás alatt.
Első módosításként a 139. sorban nevezzük el a nyomtatónkat. A sorok számozását konkrétan fogom megjelölni, de természetesen ezek elcsúszkálhatnak a Te verziódhoz képest. Vegyük ki a sor elején lévő komment jelet és írjunk be valami nevet:
#define CUSTOM_MACHINE_NAME "HyperCube"Fordítsuk el a programot Ctrl+R billentyűkkel! Ha minden rendben, akkor elkezdhetjük az érdemi munkát:
A mechanika működésé beállításai
Az első nagyobb csomagban azokat az alapbeállításokat végezzük el, melyekkel a tengelyek mozgatását, Home-ot, ki lehet próbálni.
Megoldások léptetőmotor vezérléshez
CoreXY felépítés
A 494. sorban állítsuk be a CoreXY mechanikát. Vegyük ki a kommentet:
#define COREXYA későbbiekben ha mást nem írok, akkor „beállítás” alatt a komment jelek törlését fogom érteni!
Végálláskapcsolók
MKS GEN és RAMPS esetén is fordítsuk meg a végállás kapcsolók jelének az értékét. Ha azt tapasztaljuk, hogy fele, vagy dupla távolságokat mozognak a tengelyek, mint amit várunk tőlük, akkor itt a megfelelő értéket duplázni, vagy felezni kell.
Hibajelenségek és javítási lehetőségek: Opel alapjárati motor
#define INVERT_E0_DIR trueEzen nem érdemes gondolkodni, mindjárt kipróbáljuk.
Vízszint szenzor
Ha nem használsz vízszint szenzort, akkor ugord át ezt a részt. Az alábbiakban MKS GEN alaplaphoz PNP bekötésű indukciós szenzort állítok be. Más csillagállás esetén lehet, a Z EndStop-ot invertálnod kell például.
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0#define AUTO_BED_LEVELING_BILINEARNyomtatási terület mérete
Be kell állítanunk a tengelyek hosszait, mivel csak a kezdő pontokra tettünk végálláskapcsolókat, így a tengelyek másik végeinek elérését szoftverből számolja a firmware.
#define Y_BED_SIZE 180#define Z_MAX_POS 130Minimum oldalak szoftveres vizsgálatát viszont kapcsoljuk ki:
//#define MIN_SOFTWARE_ENDSTOPSPróbáljuk ki a művünket!
Igaz, még képernyő kezelést sem állítottunk be, de konzol segítségével ki tudjuk próbálni, hogy eddig mindent jól csináltunk-e. A tengelyeket kézzel állítsuk nagyjából középre, hogy legyen időnk felismerni, ha rossz irányba indulnának el.
Fordítsuk le a programot és töltsük fel a vezérlőre, majd nyissuk meg a konzolt Arduino IDE-ben, vagy az OctoPrint-ben. Helyezzük áram alá a nyomtatót!
Végálláskapcsolók ellenőrzése
Az M119-es paranccsal ellenőrizhetjük, hogy mit gondol a vezérlő a kapcsolók aktuális állapotáról.
Recv: okHa nem így van, akkor invertálnunk kell azt az értéket, amit beállítottunk.
Recv: z_min: openHa az az irány került TRIGGERED állapotba, amelyikhez tartozó kapcsolót kézzel lefogtunk, akkor próbáljuk tovább a többit. Az indukciós szintezőt is ki tudjuk próbálni, ha valami fém tárgyat teszünk alá, és látjuk, hogy világít a lámpája. Ha valami mégsem úgy van, ahogy várjuk, akkor valószínű a vezetékeket nem kötöttük be megfelelően.
Ha továbbra is minden okés, akkor adjunk ki egy G28 parancsot. Ezzel Home helyzetbe mozgatjuk a nyomtatót. Figyeljünk nagyon, hogy valóban a végállás kapcsolók felé indulnak-e el a motorok. Ha nem, akkor áramtalanítsuk a nyomtatót és javítsuk a vonatkozó INVERT DIR beállítást.
Ha sikerült helyesen a home, akkor megdicsérhetjük magunkat, a konfiguráció nehezén már túl is vagyunk. Folytassuk a munkát, csináljunk 3D nyomtatót ebből a remekül mozgó robotból!
Elektronikák beállításai
Vezérlő típusa
Ha nem RAMPS-ot használunk, akkor a 134. sorban mondjuk meg, hogy melyik nyomtatóvezérlő pin kiosztását használja a Marlin. MKS GEN esetében:
#define MOTHERBOARD BOARD_MKS_GEN_13LCD képernyő
MKS GEN alaplaphoz MKS mini LCD képernyőt használok, ezt így kell beállítani:
#define MKS_MINI_12864Ha RAMPS-ot használunk például 20×4-es LCD kijelzővel, ahogy az eredeti videóban látható, akkor pedig ezt a sort aktiváljuk:
#define REPRAP_DISCOUNT_SMART_CONTROLLERHa valami egyéb megoldást választottunk, akkor nézzünk utána, hogyan kell a Marlin-ban azt a konkrét kijelzőt beállítani. Mindegyik esetben kapcsoljuk még be az SD kártya elérhetőségét is:
#define SDSUPPORTFilament vastagság
Állítsuk be az 1.75mm-et filament vastagságként:
#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75Fűthető tálca
A fűthető tálcát a tálcához tartozó termisztor típusának megadásával kapcsoljuk be:
#define TEMP_SENSOR_BED 1Probáljuk ki ismét a módosításainkat!
A K.I.S.S. jegyében, elégedjünk meg ennyi beállítással és töltsük fel a firmware-t a nyomtatóra. Ugyanis mindazt beállítottuk, ami minimálisan szükséges ahhoz, hogy nyomtatni tudjunk.
Próbáljuk ki a kijelzőt, indítsunk el rajta funkciókat, fűtést, tengelyek mozgatásait. Próbálgassuk kicsit a nyomtatót és ha az eddigi szándékainkkal ellentétesen működik valami, akkor javítsuk a hibát.
Ha mindent rendben találtunk, akkor jöhet a következő rész, a finomhangolás. Előtte persze egy megérdemelt korsó sör. 🙂
BIGTREETECH SKR Mini E3 V3.0 Vezérlőpanel
A 3D nyomtatás világában a vezérlőpanel jelenti a szívet és az agyat egyben. A BIGTREETECH SKR Mini E3 V3.0 a legújabb fejlesztésű, kifejezetten az Ender 3 sorozatú nyomtatókhoz tervezett vezérlőpanel, amely forradalmasítja a nyomtatási élményt. Ez a 32 bites panel a legmodernebb STM32G0B1RET6 vagy STM32G0B0RET6 főprocesszorral és négy TMC2209 UART csendes léptetőmotor meghajtóval rendelkezik, amelyek együttesen biztosítják a hihetetlenül csendes és precíz működést.
A panel tökéletes megoldást jelent azoknak, akik szeretnék fejleszteni meglévő Ender 3, Ender 3 Pro vagy Ender 3 V2 nyomtatójukat, és kiküszöbölni a gyári vezérlőpanel korlátait. Az újratervezett hűtőrendszer, a továbbfejlesztett tápellátás és a bővített csatlakozási lehetőségek mind azt szolgálják, hogy nyomtatója megbízhatóbban, pontosabban és csendesebben működjön.
Főbb Jellemzők
- Fejlett 32 bites vezérlés: A legújabb STM32G0 sorozatú főprocesszorral, amely jelentősen nagyobb teljesítményt és jobb vezérlési lehetőségeket biztosít a korábbi 8 bites vezérlőkhöz képest.
- TMC2209 UART csendes léptetőmotor meghajtók: 4 beépített meghajtó, amelyek szinte hangtalan működést tesznek lehetővé, miközben pontosabb mozgásvezérlést biztosítanak.
- Továbbfejlesztett hűtőrendszer: Újratervezett hűtőbordák és három vezérelhető CNC ventilátor csatlakozás a hatékonyabb hőelvezetés érdekében, ami meghosszabbítja a panel élettartamát.
- Bővített tápellátási lehetőségek: Az SPI kimeneti port tápellátásának növelése +3,3 V-ra, valamint opcionális +3,3 V és +5 V külső SPI érzékelő tápellátás, amely lehetővé teszi a perifériák közvetlen tápellátását.
- Termisztor interfész védelmi áramkör: Megakadályozza a fő vezérlőchip károsodását, növelve a megbízhatóságot és az élettartamot.
- Fűtési kimenet támogatás: Támogatja a fűtött fej és a fűtött ágy kimenetét, jelzőfénnyel a megfelelő csatlakozás és bekapcsolás esetén.
Felhasználási Területek
Az SKR Mini E3 V3.0 vezérlőpanel számos területen nyújt kiemelkedő teljesítményt:
- Csendes nyomtatás: A TMC2209 meghajtók szinte teljesen hangtalan működést biztosítanak, így akár éjszaka vagy irodai környezetben is használhatja nyomtatóját anélkül, hogy zavarná környezetét.
- Precíziós modellek készítése: A fejlett 32 bites vezérlés és a pontosabb léptetőmotor vezérlés finomabb részleteket és jobb felületi minőséget eredményez a nyomtatott modelleken.
- Hosszú nyomtatási munkák: A továbbfejlesztett hűtési rendszer lehetővé teszi a hosszabb, megszakítás nélküli nyomtatási munkákat a túlmelegedés veszélye nélkül.
- Firmware testreszabás: A nagyobb teljesítményű processzor támogatja a fejlettebb firmware-eket és egyedi funkciókat, amelyek a gyári vezérlővel nem lennének lehetségesek.
Kompatibilitás
A BIGTREETECH SKR Mini E3 V3.0 vezérlőpanel kifejezetten az alábbi 3D nyomtatókkal kompatibilis:
- Creality Ender 3
- Creality Ender 3 Pro
- Creality Ender 3 V2
A panel méretei és csatlakozói úgy lettek kialakítva, hogy tökéletesen illeszkedjenek ezekhez a modellekhez, így a telepítés egyszerű és gyors. A csomag tartalmazza az összes szükséges csatlakozót és rögzítőelemet, így nincs szükség további alkatrészekre a beszereléshez.
A vezérlőpanel támogatja a népszerű firmware-eket, mint például a Marlin 2.0, amely lehetővé teszi a nyomtató funkcióinak testreszabását és bővítését. A 32 bites architektúra elegendő teljesítményt biztosít a fejlettebb funkciók, mint például az automatikus ágyszintezés, filament érzékelés vagy a fejlett mozgásvezérlés használatához.
Előnyök és Hátrányok
Előnyök:
- Rendkívül csendes működés a TMC2209 UART meghajtóknak köszönhetően
- Jelentősen jobb nyomtatási minőség a pontosabb mozgásvezérlés révén
- Hatékonyabb hűtési rendszer, amely meghosszabbítja a panel élettartamát
- Egyszerű telepítés, közvetlenül helyettesíti a gyári vezérlőpanelt
- Bővített csatlakozási lehetőségek további perifériák számára
- Támogatja a fejlett firmware funkciókat a nagyobb teljesítményű processzornak köszönhetően
- 12 hónapos gyártói garancia
Hátrányok: