Marlin firmware for 3D orosz nyelven. Az asztal kalibrálása

A Marlin Kimbra (MagoKimbra / MK4duo) firmware-t régóta (kb. Fél éve) használom.

ez az olasz RepRap közösség átdolgozott Marlin firmware-je. A firmware annyiban érdekes, hogy futtatható mind az Arduino DUE kártya 8 bites, mind a 32 bites agyán, az alacsony költségvetésű RAMPS4Due-val együtt.

A firmware-t letöltheti, és megtekintheti annak funkcióinak listáját a github hivatalos firmware-címén.

Azt is el akarom mondani, hogy a klasszikus Marlinhoz képest a firmware sokkal könnyebben konfigurálható. Ez annak a ténynek köszönhető, hogy az összes beállítás különböző fülekre van csoportosítva. Nem kell hatalmas konfigurációs lábszárat ásni. Nagyon kényelmesen.

A firmware működik a nyomtatómon, nem probléma. Rendszeresen frissítem a firmware-t, általában a következő verzió kiadásával együtt.

Ha meg akarja változtatni a firmware-t, próbálja ki. Szerintem tetszeni fog.

Miután megváltoztatta a firmware-t Marlinról MagoKimbrára, az első lépés az EEPROM törlése parancs segítségével

M502 - Állítsa vissza az alapértelmezett "gyári beállításokat". Ha akarja, akkor is tárolnia kell őket az EEPROM-ban.

M500 - Paraméterek tárolása az EEPROM-ban

A webhely elméletileg rendelkezik bizonyos firmware-konfigurátorral, de még soha nem használtam. Megpróbáltam, de ő valamiféle rákféle. Ennek eredményeként könnyebb mindent kézzel konfigurálni.

Röviden elmondom, hogyan állítsam be a firmware-t a nyomtatóm, az agyam, például egy arduino mega + rámpák szendvicsének és a derékszögű kinematika (Prusa i3) segítségével. Aktiválom a munkához szükséges funkciók minimális számát.

Nincs semmi különösebben bonyolult a firmware beállításában, minden intuitív.

Én is figyelni fogok AJAK Prusa i3 by flsun3d ... A nyomtatóhoz egyetlen alaplap tartozik RAMPS 1.4 Plus

Ha olyan firmware-t önt bele, amely eltér a kínaiak által küldöttől (Marlin 1.0.0), a kijelző automatikusan leáll a nyomtatóval, és az extruder E0-ról E1-re áll. Egy ilyen problémába ütköztem, este körül ültem és találtam egy megoldást. A cikk végén elmondom, hogyan lehet javítani.

A firmware problémamentesen épít a legújabb Arduino környezetben (1.8.1).

Nyissa meg az MK4duo.ino fájlt az Arduino környezetben, és kezdje el a konfigurációt.

Kezdjük egy füllel Configuration_Basic.h

Itt konfiguráljuk

* - A soros kommunikáció típusa

* - Alaplap

* - Mechanika típusa (derékszögű a Prusa I3 esetében)

* - Az extruderek száma

Kapásból

#define BAUDRÁT 250000

Ha a terminálon (vagy a Pronterface-en) vadászik, nézze meg, ki konfigurálta a firmware-t

#define STRING_CONFIG_H_AUTHOR "(Mef73, egyéni konfiguráció)"

Vagy hagyhatja békén.

Ezen a lapon nincs mit tenni, mert alapértelmezés szerint már engedélyezve van

#define ANYATÁBLA BOARD_RAMPS_13_HFB

#define MECHANISM MECH_CARTESIAN

És telepített egy extrudert és egy meghajtót az extruderhez.

Lépjen a fülre Configuration_Cartesian.h

Kezdem a nyomtató nevének megváltoztatásával, bár erre nincs szükség

#define CUSTOM_MACHINE_NAME "Prusa I3 flsun"

#define INVERT_E0_DIR true

Fordítottam az flsun3d Prusa i3 nyomtatójának szokásos extruderét. Megfordíthatja a léptetőmotor csatlakozóját (SM), de nem akarom. Annak érdekében, hogy amikor kicserélem a nyomtató agyát, ne melegítsem a fejem a motor csatlakozójának elfordításának rovására.

Ismét a drv8825-ös és a microstep 32-es nyomtatómhoz

#define DEFAULT_AXIS_STEPS_PER_UNIT (200, 200, 800, 310, 310, 310, 310) // drv8825

A4988-as nyomtatómhoz és a 16. mikrolépéshez

#define DEFAULT_AXIS_STEPS_PER_UNIT (100, 100, 400, 155, 155, 155, 155) // a4988

Csak EGY sort kell írnia. Az egyik vagy másik léptetőmotor-vezető számára.

A többit helyesbítem

#define DEFAULT_MAX_FEEDRATE (200, 200, 2, 100, 100, 100, 100)

#define DEFAULT_MAX_ACCELERATION (1500, 1500, 50, 1000, 1000, 1000, 1000)

#define DEFAULT_ACCELERATION 1500

#define DEFAULT_XJERK 30.0

#define DEFAULT_YJERK 30.0

#define DEFAULT_ZJERK 0.4

Megadhatja saját értékeit is. Ezen egy füllel Configuration_Cartesian.h végső.

Lépjen a fülre Configuration_Feature.h

Itt konfigurálunk mindenféle firmware funkciót. Megmondom, mit és hová teszek bele. Talán a megjegyzésekben valaki megmondja, mit használ még. Valójában a funkciók minimumát használom, csak azt, amire szükségem van.

Akkor gyerünk ...

Távolítsa el // c

#define HOME_Y_BEFORE_X

Először az Y tengelyt leparkoljuk, nekem van bilincses tükröm, ha az X tengelyt először alacsony Z magasságban fúvókával parkolom, akkor a bilincseket lebontom.

#define FORCE_HOME_XY_BEFORE_Z

a Z-tengely parkolt utoljára

Most lemegyünk

// \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d ADDON FUNKCIÓK \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d

Kommenteljük

#define EEPROM_SETTINGS

#define EEPROM_CHITCHAT

#define SDSUPPORT

#define SD_SETTINGS

az EEPROM és az SD-kártya támogatásának aktiválásával

Van egy karakteres kijelzőm, 2004, reprap kedvezményes intelligens vezérlő

#define ULTRA_LCD

#define ENCODER_PULSES_PER_STEP 4

#define ENCODER_STEPS_PER_MENU_ITEM 1

#define REVERSE_ENCODER_DIRECTION

#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 40

#define LCD_FEEDBACK_FREQUENCY_HZ 2000

Ezekkel a paraméterekkel mindkét kínai reprap kedvezményes intelligens vezérlő jól működik számomra.

#define LCD_INFO_MENU

#define REPRAP_DISCOUNT_SMART_CONTROLLER

Ha Arduino DUE-val rendelkezik, figyeljen ide:

// \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d KIEGÉSZÍTETT JELLEMZŐK \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d

//===========================================================================

/****************************************************************************************

************************************** Puffer cuccok ********** * *************************

****************************************************************************************/

// Azon lineáris mozgások száma, amelyek a tervben bármikor jelen lehetnek.

// A BLOKKOS BUFFER MÉRETÉNEK 2 FELTELjesítménynek kell lennie, azaz 8,16,32, mert a gyűrűpuffereléshez eltolásokat és érceket használnak.

// Arduino DUE esetén a BLOCK BUFFER SIZE méretet 32-re állítja

#define BLOCK_BUFFER_SIZE 16

// ASCII puffer a soros vételhez:

#define MAX_CMD_SIZE 96

// Arduino DUE beállításához 8-ra

#define BUFSIZE 4

Általánosságban elmondható, hogy ezt és az összes beállítást, amelyek Mega és DUE szerint különböznek, másokat nem találtam.

Lépjen a fülre Konfiguráció_hőmérséklet.h

#define TEMP_SENSOR_BED 1

Az asztal fűtött, és alapértelmezés szerint a fűtési termisztor le van tiltva a firmware-ben

Ugrás a *********************** PID beállítások - HOTEND *********************** ****

#define DEFAULT_Kp (14.17, 40, 40, 40) // Kp H0, H1, H2, H3 esetén

#define DEFAULT_Ki (01.55, 07, 07, 07) // Ki: H0, H1, H2, H3

#define DEFAULT_Kd (32,29, 60, 60, 60) // Kd H0, H1, H2, H3 esetén

Villogás után parancsra mindenképpen újrakalibrálom a Kp Ki Kd-t

M303 H0 C8 S240 U

Lemegyünk a ************************* PID beállítások - ÁGYA ******************* *** *******

Asztalomat is a PID szabályozza. A Bang Bang egyszerűbb, de nem olyan pontos. Ezért nem kommentáljuk

#define PIDTEMPBED

#define DEFAULT_bedKp 88.21

#define DEFAULT_bedKi 12.77

#define DEFAULT_bedKd 152.28

Ezek azok a beállítások, amelyeket kísérletileg kaptam meg a nyomtatómhoz.

Villogás után mindenképpen parancs segítségével kalibrálom újra a táblázat Kp Ki Kd-jét

M303 H-1 C8 S100 U

A Pronterface-ben, vagy anélkül, hogy zavarna, az Octoprint terminálban. Az U gomb azonnal alkalmazza az eredményt.

Ha a fűtés leesik az időzítő által, és hibát ad, megismételem a parancsot.

Ezután végre kell hajtania a parancsot

Hogy megvédjem a forró véget és az asztalt a túlmelegedéstől, megjegyzem

#define THERMAL_PROTECTION_HOTENDS

#define THERMAL_PROTECTION_BED

Ez minden.

Van egy saját készítésű Fan Extender telepítve a táblámra, 1 csatornára, és a 11. tűn él. Csatlakoztattam hozzá egy ventilátort, amely hőgátat fújt.

A fülön Configuration_Feature.h

A // -et eltávolítjuk

#define HOTEND_AUTO_FAN

#define HOTEND_AUTO_FAN_TEMPERATURE 45

A válaszhőmérsékletet 45 fokra állítottam

A funkció működéséhez kattintson a fülre Configuration_Pins.h

#if ENABLED (HOTEND_AUTO_FAN)

#define H0_AUTO_FAN_PIN 11

Rámutatok, hogy a ventilátor vezérlés a 11. porton él.

Most mesélek egy csodálatos deszkáról RAMPS 1.4 Plus... Az alaplapot a Prusa I3 Flsun3d nyomtatóval szállítjuk.

A táblán lévő csapok nem felelnek meg az eredeti RAMPS 1.4 szendvicsnek. !!!

Utánajártam a kínaiak firmware-jének, és különbségeket találtam a csapokban.

Mappába tettük

MK4duo-masterMK4duosrcboards

az eredeti fájl cseréje 99.h.

És most a Configuration_Basic.h fülön

betenni // az alaplap BOARD_RAMPS_13_HFB elé

// # definiálja az alaplap BOARD_RAMPS_13_HFB értékét

#define ANYALAP TÁBLÁZAT

A RAMPS 1.4 Plus táblánk most BOARD_99

Ez a firmware-ben lefoglalt tábla száma, szerintem csak ilyen esetre.

Ezt követően a RAMPS 1.4 Plus-on javul az élet. A kijelző elkezd működni, és minden más olyan, amilyennek lennie kell.

A fájl beállításainak analógiájával konfigurálhatja a táblát a klasszikus Marlin-ban. Én is megtettem.

MagoKimbra / MK4duo firmware, Firmware Settings for Prusa i3 for RAMPS 1.4 Sandwich and RAMPS 1.4 Plus Board

megemlítettem, hogy az illesztőprogram telepítése az extruderre, amely az 1/32-es mikrolépést adja, meglehetősen hasznos dolog (bár az előnyét egy olyan eszköz tárja elénk, amelynek nincs jelölése a metrológiai osztályon az ellenőrzés során, más szóval köröm !). Ezt követően azonban érdemes az összes illesztőprogramot lecserélnie hasonlóakra. Sok fórumon olvastam, hogy ettől a motorok hangja zenésebbé válik. Azt szeretném mondani: Minden mértékkel jó. Nem mintha teljesen rossz lett volna, de hadd írjam le azokat az érveket, amelyek a Marlin firmware belébe ásás után jelentek meg, mert sok 3D-s nyomtatónál éppen őt használják alapul.

Hol kezdjem? Először a gyorsításról beszélek. Hasznosak lesznek számunkra, de sehova nem illeszthetők be a szövegbe, az elbeszélés mindenhol elszakad. Tehát ez legyen olyan, mint egy bevezetés. Ha élesen megrántja a fejét, akkor sok probléma lesz. Kezdve az alacsony frekvenciájú nyomtatási zajoktól, amelyek a korábbi cikkekben már élre állították a fogakat, és azzal a ténnyel, hogy a motor éles indításkor kihagyhat néhány lépést. Mindezek elkerülése érdekében a fejet simán felgyorsítják. Nos, és lassulnak - ott is szükség van a zaj csökkentésére. A Marlin firmware trapéz alakú sebesség grafikon módban működik.

Vagyis a sebesség lineárisan nő és csökken egy bizonyos területen. Azt a szöget, amelynél a sebességgrafikon megdől a gyorsulás és a lassítás során, pontosan a "Gyorsulás" paraméter adja meg. Így néz ki a lépésfrekvencia csökkenése az oszcilloszkópon (a piros törések a motor lépései az X tengely mentén, a sárga - az extruder motor, ezt az oszcillogramot elmentettem, amikor az RF csengetés elleni küzdelem során meg voltam győződve arról, hogy az extruder valóban kétszer olyan gyakran lép, mint korábban:

Most beszéljünk arról, milyen gyorsan jár a motorunk. Kérdezzük meg magát a nyomtatót a kommunikációs panelen keresztül. A Simplify3D-ben dolgozom, de más programokban van ilyen panel:


Csak kapcsolja ki a bosszantó hőmérsékleti üzeneteket. Töröljük ezt a jelölőnégyzetet:



Visszatérünk a Kommunikáció fülre, most a feliratok nem villognak (a régiek azonban a helyükön maradtak, de nem számít). Beszélünk az M503 nyomtatóval, és megnyomjuk a SEND gombot



A nyomtató sok mindent kihozott, és emberi nyelven. Érdekel ez a sor:

FOGADOTT: visszhang: lépésenként:

Lépések egységenként:

FOGADOTT: visszhang: M92 X100.00 Y100.00 Z1600.00 E100.00

M92 X100.00 Y100.00 Z1600.00 E100.00

Kiderült, hogy az X és Y tengelyeim milliméterenként 100 lépéssel rendelkeznek. Nos, pontosabban, a mikrolépés.

Csodálatos. Mit jelent? Ez azt jelenti, hogy a fej 1 milliméteres elmozdításához az X és Y motoroknak 100 lépést kell végrehajtaniuk. Általában sokkal több információt adtak ki ott, olvassák el, ez nagyon vicces dolog. A paraméterek megváltoztathatók és menthetők az EEPROM-ban, de erről máskor.

Engedje, hogy a fej 100 mm / s sebességgel mozogjon. Akkor másodpercenként 100 * 100 \u003d 10 000 lépést kell tennie. Vagyis a motor 10 kilohertzen jár. 150 mm / s - 15 kilohertz stb. A számok kissé eltérhetnek, attól függenek, hogy melyik fogaskerekek vannak a motorokon.

A firmware szövegéből megtudtam, hogy elméletileg léteznek MZ3D-256A és MZ3D-256B nyomtatók, ezeknek különböző a lépéseik száma. De vegyük egy másik példaként, hogy ne hipotetikus A és B, hanem egy igazi MakerGear M2 nyomtató legyen, milliméterenként 88,8 lépéssel rendelkezik, akkor 100 mm / s 8,88 kilohertz, 150 mm / s - körülbelül 13 kilohertz. Általában kérdezd meg a nyomtatót, ő válaszol neked, milyen paraméterekkel rendelkezik személyesen.

Valójában, ha a motor mikrolépését 16-ról 32-re növelem, akkor a nyomtatóm frekvenciája 20 és 30 kilohertzre, az M2-es esetében pedig (88,8-ról) 17, illetve 26 kilohertzre nő. Sok vagy kevés? Térjünk rá a firmware-re.

Mit látunk a Marlin firmware-ben? És látjuk, hogy a motorokat az 1. időzítő szolgálja ki. Az időzítő egy pipája - egy lépés. Ezután a processzor a következő jelölésig leáll a motorokkal. De a Marlin nagyon trükkös firmware! Úgy állítja be az időzítőt, hogy a következő pipa pontosan időben történjen! Ehhez a függvényt meghívjuk

unsigned short calc_timer (unsigned short step_rate) (

Amint láthatja, a motor frekvenciája továbbításra kerül. És mit látunk a bejáratnál? Oooo! Először az ártalmatlannal találkozunk

if (lépés_ráta\u003e MAX_STEP_FREQUENCY) lépés_ráta \u003d MAX_STEP_FREQUENCY;

Nos, itt ellenőrizzük, hogy a frekvencia nem haladja-e meg a 40 KHz-et (a nyomtatómnak natív változatában 400 mm / s, de ha 1/32-es mikrolépést hajtok végre, akkor csak 200 mm / s-ot). További

ha (lépés_ráta\u003e 20000 ) (// Ha a fokozat\u003e 20 kHz \u003e\u003e lépés 4-szer

Lépésráta \u003d (lépésráta \u003e\u003e 2)

Step_loops \u003d 4;

Egyébként (lépés_ráta\u003e 10000 ) (// Ha a sebesség\u003e 10 kHz \u003e\u003e lépés 2-szer

Lépésráta \u003d (lépésráta \u003e\u003e 1)

Step_loops \u003d 2;

Más (

Step_loops \u003d 1;

Orosz nyelvre fordítom: Az AtMega processzor teljesítménye nem elegendő az időzítő megszakítás 10 KHz feletti frekvencián történő kiszolgálására. Ezért, ha a motor legfeljebb 10 KHz sebességgel működik, megszakításonként egy lépés lesz. 10 és 20 GKts között - megszakításonként két lépés lesz. És 20 és 40 kHz között - négy lépés.

Valójában a cikk következtetése pontosan az, hogy az AtMega vezérlőn futó Marlin firmware-ben (az Arduino-ban) minden 10 KHz (100 mm / s-nál alacsonyabb) értéket egyenletesen dolgozzunk fel. Fent - a lépések egyenetlenek lesznek. Két lépés, szünet, ismét két lépés, ismét szünet. Vagy akár négy lépés, egy szünet, egy másik négy lépés, egy másik szünet.

Mert (int8_t i \u003d 0; i< step_loops; i++) { // Take multiple steps per interrupt (For high speed moves)

Ha (számláló_x\u003e 0) (

#ifdef DUAL_X_CARRIAGE

Ha (extruder_duplication_enabled) (

Más (

Ha (current_block-\u003e active_extruder! \u003d 0)

ÍRJ (X2_STEP_PIN ,! INVERT_X_STEP_PIN);

Más

WRITE (X_STEP_PIN ,! INVERT_X_STEP_PIN);

#más

WRITE (X_STEP_PIN ,! INVERT_X_STEP_PIN);

#endif

Számláló_x - \u003d aktuális_blokk-\u003e lépés_esemény_szám;

Count_position + \u003d count_direction;

késleltetés mikroszekundum (2);

// Ugyanaz Y, Z és Extruder esetén

Általánosságban elmondható, hogy az 1/32-es mikrolépésnél a motorok zenésebbé válnak, de egyértelműen rángatóznak.

Meg lehet-e tenni az egységességet? Arduinón - nem biztos. Az egészet áthúzhatja ARM-be, ahol maga a processzor gyorsabb, és a szorzást / osztást hardveresen hajtják végre, ezért gyorsabban működik (és az út során kidobhatja az assembler betéteket és a táblázat számításainak egy részét - ez nélkülük az AVR-ben az ARM-nek már van egy fordítója, amely a C kódot elfogadható szerelési parancsokká konvertálja segítségünk nélkül). Néhány Cortex is támogatja a lebegő számtant a hardverben (a firmware egyszerűen bővelkedik ilyen számításokban). Személy szerint nagyjából pontosan egy hét alatt sikerült, így minden valós (tiszta - természetesen még mindig fűrészelés és fűrészelés). Csak ne gondolja, hogy most átdolgozzuk ezeket az összehasonlításokat, és minden működni fog! Ha! Ott ellenőrizze az ellenőrzést és ellenőrizze a meghajtókat. Tegyük fel, hogy itt a calc_timer függvény vége:

ha (időzítő< 100) { timer = 100; MYSERIAL.print(MSG_STEPPER_TOO_HIGH); MYSERIAL.println(step_rate); }//(20kHz this should never happen)

Vissza időzítő;

Vagyis, ha az időzítő kullancs frekvenciája meghaladja a 20 KHz-et, akkor itt csökken. Általában szükség lehet bizonyos helyek ellenőrzésére, ahol bizonyos korlátozások lépnek fel. Itt van például a fej mozgásának kiszámításának függvénye, figyelembe véve a gyorsulást (ennek érdekében idéztem a trapézsebességek elméletét)

void calc_trapezoid_for_block (block_t * blokk, float entry_factor, float exit_factor) {

Aláíratlan hosszú kezdeti_ráta \u003d mennyezet (blokk-\u003e névleges_ráta * bejegyzés_tényező); // (lépés / perc)

Aláíratlan hosszú végösszeg \u003d mennyezet (blokk-\u003e névleges_ráta * kilépés_tényező); // (lépés / perc)

// Korlátozza a minimális lépésszámot (különben az időzítő túlcsordul.)

Ha (kezdeti_ráta<120) {

Kezdeti_ráta \u003d 120;

Ha (végleges_arány< 120) {

Végső_ráta \u003d 120;

Igaz, a minimális sebességet itt alkalmazzuk, hogy a 16 bites időzítő ne folyjon túl. Ez azonban azt mutatja, hogy az ellenőrzések bárhol elrejthetők a kódban. A motorokat nem könnyű zenei szinten tartani! Elvileg azonban minden valóságos. De nem mintha új meghajtókat vásároltunk volna, korrigáltunk volna pár állandót és ennyi. Ez a muzikalitás gyönyörű, de megtévesztő.

Következtetés

A cikkből kiderül, hogy nem tény, hogy van értelme az X és Y menetmotorok meghajtóit az 1/32 támogató mikrolépéssel helyettesíteni. Arduino (AVR alapú vezérlővel) használata esetén a sebesség nem lehet teljesen korrekt, ha 10 kHz-nél nagyobb. Az ARM processzor lépéseinek őszinteségének ellenőrzése még aktív fázisban van, de az már biztosan ismert, hogy legalább el kell távolítania vagy módosítania kell a firmware korlátozásait.

Mielőtt elkezdené a munkát egy nem professzionális vagy félprofi 3D nyomtatóval, valamint az önszereléshez szükséges Kit-készlettel, gyakran szükséges a firmware "kitöltése" és konfigurálása. A firmware egy programkód, amelynek fő feladatai a következők: a G-kód olvasása és reprodukálása, a nyomtató vezérlése különféle interfészeken keresztül, információk megjelenítése a nyomtatási folyamatról. Más szavakkal, a firmware-re van szükség ahhoz, hogy a hardver és az elektronika "életre keljen" és vezérelhető legyen. A firmware feltöltésre kerül a vezérlőpanelre. A különböző 3D nyomtatók különböző vezérlőpanelekkel rendelkeznek, illetve a firmware is más.

A Prusa i3 Steel 3D nyomtatóink egy csomag Arduino Mega 2560 és Ramps 1.4 kártyát használnak, ezért ebben a cikkben alaposabban megvizsgáljuk és elemezzük a számukra megfelelő firmware, Marlin beállításait.

Ha még nem gyűjtött elektronikát, nézze meg a cikket:

Ez a firmware az egyik legnépszerűbb, méghozzá azért, mert a fejlesztők rendszeresen új funkciókat adnak hozzá: automatikus résbeállítás, rúdvégérzékelő és még sok más. Sőt, ez a firmware teljesen ingyenes, és letölthető a hivatalos weboldalról.

Hol lehet kapni?

A Marlin firmware legújabb verziója a fejlesztő hivatalos weboldalán érhető el: https://github.com/MarlinFirmware/Marlin. A linkről letölthet egy korábbi firmware verziót. A webhelyen is sokféle verzió található, de javasoljuk a legújabb verzió megjelölését a Legutóbbi kiadásként megjelölve. Az írás idején ez a verzió 1.0.2-2

A Letöltések alatt kattintson a Forráskód (ZIP) elemre, és töltse le a firmware archívumot a számítógépére. Ezután bontsa ki az archívum tartalmát egy mappába.

Az Arduino IDE telepítése

A firmware letöltése után szerkesztenie kell, majd be kell írnia a vezérlőpanel mikrovezérlőjébe (Arduino mega 2560). Ehhez szüksége van az Arduino IDE programra, amely ingyenesen letölthető az Arduino hivatalos weboldaláról.

Jegyzet! Ezt az Arduino IDE programot rendszeresen frissítik, és elképzelhető, hogy a firmware táblára való feltöltésekor problémák merülhetnek fel az Arduino IDE új verzióival kapcsolatban, nevezetesen hibák jelentkeznek, és nem tudja írni a firmware-t a mikrovezérlő. Ezért, ha problémák merülnek fel, próbálja meg letölteni a program régebbi verzióját, például az 1.6.0 verziót)

A megbízhatóság érdekében azonnal letöltheti a tesztelt 1.6.0 verziót


Kattintson a Windows Installer elemre, és átirányít egy másik oldalra, ahol a JUST DOWNLOAD gombra kell kattintania, majd megkezdődik a fájl letöltése. Telepítse a programot, és folytassa a következő lépéssel.

A Marlin firmware szerkesztése

Ön közvetlenül a Marlin firmware-t és az Arduino IDE programot töltötte le, amellyel szerkesztheti. Nyissa meg a "Marlin" firmware mappát, keresse meg a .ino kiterjesztésű "Marlin" fájlt


Nyissa meg ezt a fájlt, és megnyílik az Arduino IDE


A programablak tetején számos fül található, amelyek mindegyike kóddarabokat tartalmaz, amelyeken a 3D nyomtató működése függ. Csak néhány fő fülre van szüksége. Az első és a fő lap a "Configuration.h"


Ez egy konfigurációs fájl, amely alapvető beállításokat tartalmaz. Ezen a lapon kell elvégeznie a fő változtatásokat.

Jegyzet! Végezzen minden változtatást a firmware-en felülről lefelé. Ezek a változások a kód fő szakaszait érintik, és szükségesek a 3D nyomtató első indításához.

Állítsa be a szükséges adatátviteli sebességet

Az első dolog, amit meg kell változtatni, az az átviteli sebesség. Alapértelmezés szerint a sebesség 250 000 (47 sornyi kód)

// Ez meghatározza a nyomtató kommunikációs sebességét #define BAUDRATE 250000


// Ez meghatározza a nyomtató kommunikációs sebességét #define BAUDRATE 115200

Ha táblát használ, akkor a sebességnek 250 000-nek kell lennie.

Vezérlő tábla kiválasztása

Az adatátviteli sebesség beállítása után meg kell adnia a használt vezérlőpanelt (55 kódsor).

#ifndef ANYAGTÁBLA #define AZ ALAPTARTÓ BOARD_ULTIMAKER #endif


Alapértelmezés szerint az Ultimaker 3D nyomtatópanel BOARD_ULTIMAKER, ezért le kell cserélnie a kártyát. A táblák teljes listája a "BOARDS_H" fülön található


Hatalmas lista található a különböző táblákról, de csak a következőkre van szüksége:

#define BOARD_RAMPS_13_EFB 33 // RAMPS 1.3 / 1.4 (teljesítménykimenetek: extruder, ventilátor, ágy)

#define BOARD_RAMPS_13_EEB 34 // RAMPS 1.3 / 1.4 (Teljesítménykimenetek: Extruder0, Extruder1, Bed)

#define BOARD_RAMPS_13_EFF 35 // RAMPS 1.3 / 1.4 (teljesítménykimenetek: extruder, ventilátor, ventilátor)

#define BOARD_RAMPS_13_EEF 36 // RAMPS 1.3 / 1.4 (teljesítménykimenetek: Extruder0, Extruder1, Fan)

Ezek a táblák az Arduino mega 2560 és a Ramps 1.4-hez készültek. A 3D nyomtató módosításától függően ki kell választania a megfelelő táblát. Például egy standard extruderből álló csomag + a munkaterület fújása + fűtőasztal megfelel a BOARD_RAMPS_13_EFB táblának

A tábla nevét át kell másolni és ki kell cserélni a "Configuration.h" fülön, és módosítani kell a következő sorokat:


A 3D nyomtató nevének megváltoztatása

A beállítás során feltétlenül állítson be egy nevet a 3D nyomtatóhoz, és jelezze ezt a firmware-ben. Minek? A nyomtató neve megjelenik az LCD-kijelzőjén, ilyen lehetőség pontosan megadható egy ilyen kijelzőn.

Öltések keresése: (59 sor)

// #define CUSTOM_MENDEL_NAME "Ez a Mendel"

A #define előtt "//" áll - ez azt jelenti, hogy ezeket a sorokat nem a kód használja, hanem magyarázatokként szolgálnak. Ennek a sornak az aktiválásához le kell vonni a sort, törölni kell a sor előtti // elemet.

Módosítsa az alapértelmezett "This Mendel" nevet 3D nyomtatónévre, például "P3Steel". A következőket kapjuk:

Hőmérséklet-érzékelő kiválasztása az asztalhoz és az extruderhez

A fentiekben 1 extruder és egy fűtőasztal firmware-beállításai voltak, vagyis a 3D-nyomtatóban két fűtőelem található, amelyek hőmérsékletét szabályozni kell. A hőmérséklet-szabályozás hőmérséklet-érzékelőkkel - termisztorokkal történik.

Nagyszámú, különböző jellemzőkkel rendelkező termisztor létezik, ezért a firmware-ben meg kell adnia, hogy melyik termisztor van. Erre azért van szükség, hogy a nyomtató a jövőben megfelelő hőmérsékletet mutasson. Keresse meg a támogatott termisztorok listáját a firmware-ben:

//// Hőmérséklet-érzékelő beállításai: // -2 a MAX6675-ös hőelem (csak a 0. érzékelőhöz) // -1 az AD595-ös hőelem // 0 nem használatos k pullup) // 2 200k termisztor - ATC Semitec 204GT-2 (4.7k pullup) // 3 a Mendel-alkatrész termisztor (4.7k pullup) // 4 10k termisztor !! ne használja hotendhez. Rossz felbontást ad magas hőmérsékleten. !! // 5 100K termisztor - ATC Semitec 104GT-2 (ParCan & J-Head-ben használható) (4,7k pullup) // 6 is 100k EPCOS - Nem olyan pontos, mint az 1. táblázat (fluke termoelemmel létrehozva) (4.7k pullup ) // 7 100k Honeywell termisztor 135-104LAG-J01 (4.7k pullup) // 71 100k Honeywell termisztor 135-104LAF-J01 (4.7k pullup) // 8 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) / / 9 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup) // 10 is 100k RS termisztor 198-961 (4.7k pullup) // 11 is 100k beta 3950 1% termistor (4.7k pullup) / / 12 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (kalibrálva a Makibox melegágyhoz) // 13 100k Hisens 3950 1% -tól 300 ° C-ig a hotend "Simple ONE" és a "Hotend" All In ONE "// 20 az Ultimainboard V2.x fájlban található PT100 áramkör 4,7k 1k // esetén (de nagyobb pontosságot és stabilabb PID-t ad) // 51 is 100k termisztor - EPCOS (1k pullup) // 52 is 200k thermistor - ATC Semitec 204GT-2 (1k pullup) // 55 is 100k thermistor - ATC Semitec 104GT-2 (ParCan & J-Head-ben használatos) (1k pullup) / / // 1047 Pt1000 4k7 kihúzással // 1010 Pt1000 1k kihúzással (nem szabványos) // 147 Pt100 4k7 kihúzással // 110 Pt100 1k kihúzással (nem szabványos)

Keresse meg a sajátját a listában, ne feledje a bal oldali számot. Rendszerint sokan használnak kínai 100 kΩ-os termisztort, az "1" számú termisztor alkalmas rá.

// 1 az 100k termisztor - a legjobb választás az EPCOS 100k (4.7k pullup) esetén

Hajtsa végre a kívánt módosításokat (115–118. Sor)

#define TEMP_SENSOR_0 -1 #define TEMP_SENSOR_1 -1 #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_BED 0

Alapértelmezés szerint az első két termisztor aktiválódik a firmware-ben:

TEMP_SENSOR_0 - felelős az első extruder termisztoráért

TEMP_SENSOR_1 - felelős a második extruder termisztoráért

TEMP_SENSOR_BED - felelős az asztali termisztorért

Változtassa meg a sorokat, és kapja meg a következőket:


A TEMP_SENSOR_1 és a TEMP_SENSOR_2 nincs használva, ezért "0" nullákat teszünk eléjük.

Maximális hőmérsékleti korlátozás

A maximális hőmérséklet korlátozásához a következő sorokra van szükség (140-143)

#define HEATER_0_MAXTEMP 275 #define HEATER_1_MAXTEMP 275 #define HEATER_2_MAXTEMP 275 #define BED_MAXTEMP 150

A jobb oldali számok, nevezetesen a 275 és a 150 az extruder és a fűtőasztal maximális hőmérséklete.

Amikor a hőmérséklet meghaladja a maximális hőmérsékletet, a fűtés kikapcsol. Ez a funkció arra szolgál, hogy megvédje extruderét a véletlen túlmelegedéstől. Ha teflonnal rendelkező hot-end-t használ, javasoljuk, hogy a hőmérsékletet 260 fokra korlátozza.

Minimális hőmérsékleti korlátozás

Továbbá, a firmware-ben alapértelmezés szerint az extruder minimális hőmérséklete 170 fok. Ez azt jelenti, hogy ha az extruder hőmérséklete 170 fok alatt van, akkor az extruder motorja nem forog és a műanyag nem táplálkozik. Védelem a fűtetlen műanyag áttörése ellen (230. sor).

#define EXTRUDE_MINTEMP 170

Ha le szeretné tiltani ezt a funkciót, akkor tegye a "//" szót a sor elé

Végálláskapcsolók beállítása

A végálláskapcsolók logikájának konfigurálása

Először is arra kell figyelni, hogy melyik végálláskapcsolót használja, és mi a működésük elve. A firmware-ben meg kell adni a végálláskapcsolók logikáját. Keresse meg a következő sorokat (301-306)

Const bool X_MIN_ENDSTOP_INVERTING \u003d true; // true értékre állítva megfordítja az endstop logikáját. const bool Y_MIN_ENDSTOP_INVERTING \u003d true; // true értékre állítva megfordítja az endstop logikáját. const bool Z_MIN_ENDSTOP_INVERTING \u003d true; // true értékre állítva megfordítja az endstop logikáját. const bool X_MAX_ENDSTOP_INVERTING \u003d true; // true értékre állítva megfordítja az endstop logikáját. const bool Y_MAX_ENDSTOP_INVERTING \u003d true; // true értékre állítva megfordítja az endstop logikáját. const bool Z_MAX_ENDSTOP_INVERTING \u003d true; // true értékre állítva megfordítja az endstop logikáját.

Ha van mechanikus végálláskapcsolója, akkor az aktiváláskor az áramkör zárva van, állítsa be a "true" értékeket a megfelelő tengely minden egyes sora elé. Ha optikai végálláskapcsolókat használ, az aktiváláskor az áramkör megnyílik, a megfelelő tengely minden egyes vonalával szemben állítsa be a "hamis" értékeket.

Alapértelmezés szerint az egyes végálláskapcsolókkal szembeni firmware "true" értékre van állítva, ami megfelel a mechanikus végálláskapcsolóknak.

A végálláskapcsolók működésének konfigurálása után ellenőrizheti az M119 parancsot a konzolon.
A szövegnek válaszként kell érkeznie:
x_min: nyitott - a pótkocsi nem működött;
x_min: TRIGGERED - pótkocsi aktiválva.

A "HOME" pozíció beállítása - otthon

A firmware 3 pár végálláskapcsolót támogat: minden X, Y és Z tengelyhez két végálláskapcsolót min és max. Rendszerint a végálláskapcsolókat csak az egyes tengelyek minimális helyzetére telepítik, a maximumot pedig a firmware-ben állítják be.

Az alapállás (kiinduló helyzet) a végálláskapcsolók minimális helyzetében lesz, és ez a firmware-ben van beállítva: (337-339. Sor)

#define X_HOME_DIR -1 #define Y_HOME_DIR -1 #define Z_HOME_DIR -1

A motorok forgásirányának megváltoztatása

3D nyomtató összeszerelésekor, nevezetesen léptetőmotorok táblához történő csatlakoztatásakor a következő helyzet lehetséges: ha mindent konfigurált és csatlakoztatott, amikor megnyomta a "home" gombot, az egyik tengely kocsija a másik irányba megy (nem végálláskapcsolóig), akkor a léptetőmotor csatlakozóját fordítsa el 180 fokkal, vagy változtassa meg a firmware értékeit:

#define INVERT_X_DIR true // Mendel hamisra állítva, Orca igazra #define INVERT_Y_DIR hamis // Mendel igazra állítva, Orca hamisra #define INVERT_Z_DIR true // Mendel hamisra állítva, Orca értéke true #define INVERT_E0_DIR false // a közvetlen meghajtású extruder v9-re igaz, a fokozatú extruder hamisra állítva #define INVERT_E1_DIR false // a v9-es közvetlen meghajtású extruder esetében true, a váltott extruder hamisra állítva #define INVERT_E2_DIR false // for a közvetlen meghajtású v9 extruder értéke true, a sebességfokozatú extruder értéke false

Például, ha Y tengelyű kocsi van a másik irányban, akkor meg kell találnia a vonalat

#define INVERT_Y_DIR false // Mendel esetén true, Orca esetében false

és a "hamis" értéket "igaz" -ra változtatja. És így minden tengellyel és extruderrel.

A mozgás méreteinek beállítása

Annak érdekében, hogy a 3D nyomtató meghatározhassa a munkaterületet, meg kell adnia a méreteit a firmware-ben: (345-350 sorok)

#define X_MAX_POS 205 #define X_MIN_POS 0 #define Y_MAX_POS 205 #define Y_MIN_POS 0 #define Z_MAX_POS 200 #define Z_MIN_POS 0

Minden sorral szemben adja meg a megfelelő méreteket, alapértelmezés szerint a munkaterület 205x205x200 mm

A tengelyek mentén a mozgás lépéseinek beállítása

A léptetőmotorok lépésszámának megadása az egyik fő firmware-beállítás (490. sor):

#define DEFAULT_AXIS_STEPS_PER_UNIT (78.7402,78.7402,200.0 * 8/3760 * 1.1) // alapértelmezett lépések egységenként az Ultimaker számára

Zárójelben, vesszőkkel elválasztva az egyes tengelyeknél, meg van adva azoknak a lépéseknek a száma, amelyeket a léptető motornak meg kell tennie ahhoz, hogy a kocsi 1 mm-rel haladjon. Hol lehet ezeket az értékeket megszerezni? Számíthat vagy vehet már ismerteket.

Az X és Y tengely (övek) kiszámítása

Valamennyi tengely léptetőmotorral rendelkezik, 200 fordulat / fordulat, 16 mikrolépés lépésenként (ezt a jumperekkel a táblán állítják be).

Az X és Y tengely mentén található egy 2 mm-es GT2 hajtószíj és 20 fogas tárcsa.

Kiderül:

(200*16)/(2.0*20)=80

A léptetőmotornak annyi lépést kell tennie, hogy az X és Y tengely pontosan 1 mm-rel haladjon.

Ha van egy Gt2 fogazott szíjtárcsa, amelynek osztása 2 mm és 20 foga, akkor a képlet a következő:

(200*16)/(2.0*16)=100

A Z tengely kiszámítása (vezetőcsavar)

A Z tengely lehet:

  • Az M8 csap 1,25 mm menetemelkedéssel, majd a képlet: 200 * 16 / 1,25 \u003d 2560
  • M5-ös csap 0,8 mm osztással, majd a képlet: 200 * 16 / 0,8 \u003d 4000
  • 8 mm átmérőjű trapézcsavar 1 mm-es osztással és 1-es vezetéssel, majd a képlet: 200 * 16/1 \u003d 3200
  • 8 mm átmérőjű trapézcsavar, 2 mm osztással és 1 elvezetéssel, majd a képlet: 200 * 16/2 \u003d 1600
  • 8 mm átmérőjű trapézcsavar 2 mm-es osztással és 4-es kezdettel, majd a képlet: 200 * 16/2 * 4 \u003d 400

A Pruse i3 Steel M5 csapokat használ, akkor a szám 4000.

Extruder számítása

Az extruder előtolásának beállítása a redukciós aránytól és az adagolóeszköz átmérőjétől függ. Az extruder léptetőmotorjának a műanyag 1 mm-es tolásához való lépéseinek számát kísérleti úton választjuk meg, miután a firmware-t először betöltöttük a 3D-nyomtatóba.

Csavarja le a fúvókát, és csökkentse a fúvóka minimális hőmérsékleti határát 5 fokra:

#define EXTRUDE_MINTEMP 5

Az extruder most hideg fúvókával fog működni. Az extruder beállításainak megváltoztatása nélkül nyomja meg a gombot a műanyag 100 mm-es meghajtásához. Mérje meg az extruderen áthaladó rúd hosszát vonalzóval vagy féknyereggel.

Az extruder beállításának kiválasztásakor érjen el pontos értéket ésszerű rúdhosszon, például 200 mm-nél. Beállítás után állítsa vissza a minimális hőmérsékleti határértékeket:

#define EXTRUDE_MINTEMP 170

A tengelyek maximális mozgási sebességének korlátozása

#define DEFAULT_MAX_FEEDRATE (500, 500, 5, 25) // (mm / sec)

Alapértelmezés szerint a sebesség 500 500,5, 25 mm / s az X, Y, Z tengelyen, illetve az extruder. Javasoljuk a sebesség 500-ról 200-ra csökkentését.

A tengelyek mentén a mozgások gyorsulásának beállítása

Egy másik fontos beállítás a különböző tengelyek gyorsulásának beállítása, mivel ennek a pillanatnak a helytelen beállítása miatt a nyomtatás során gyakran vannak problémák, nevezetesen a rétegek elmozdulása a motorlépések kihagyása miatt. Ha túl nagyra állítja a gyorsulást, akkor hiányosságok lesznek. Alapértelmezés szerint a firmware a következő értékeket tartalmazza:

#define DEFAULT_MAX_ACCELERATION (9000,9000,100,10000) // X, Y, Z, E maximális indítási sebesség a gyorsított mozdulatokhoz. Az E alapértelmezett értékek jók a Skeinforge 40+ számára, a régebbi verzióknál sokat emelnek. #define DEFAULT_ACCELERATION 3000 // X, Y, Z és E max gyorsulás mm / s ^ 2-ben a mozdulatok nyomtatásához #define DEFAULT_RETRACT_ACCELERATION 3000 // X, Y, Z és E max gyorsítás mm / s ^ 2-ben visszahúzáshoz

Az X és Y tengely esetében a gyorsulás 9000 mm / s ^ 2 - ez sok.

A kezdeti beállításnál ne állítson többet 1000-nél, a DEFAULT_ACCELERATION esetén pedig 1500 helyett 3000 helyett.

Kijelző aktiválása

Utoljára meg kell tennie, hogy aktiválja a kívánt kijelzőt. Az egyik legnépszerűbb kijelző a. Keresse meg és vonja le a következő sorokat:

#define ULTRA_LCD #define SDSUPPORT #define ULTIPANEL #define REPRAP_DISCOUNT_SMART_CONTROLLER

Ezeket a sorokat nem előzheti meg "//". A következőket kell kapnia:


Töltse ki a firmware-t

A firmware összes fő módosítása után feltöltheti. Az Arduino IDE alkalmazásban lépjen az "Eszközök" -\u003e "Tábla" fülre, és válassza az "Arduino / Genuino Mega vagy Mega 2560" lehetőséget.


És ott be kell állítania a 3D nyomtató megfelelő COM portját. A firmware kitöltéséhez kattintson a nyílra a körre.


A firmware feltöltésének előrehaladását jelző jelzi, és a sikeres befejezés után egy megerősítő üzenet jelenik meg a képernyőn.

Helló kezdők és szakemberek!

Most jöttem el a 3D nyomtatás világába, és nagyon kevés tapasztalatom van ebben a szakmában. De szeretnék mondani neked valamit. Nevezetesen a nyomtatóasztal kalibrálásának ötlete.

A módszer nem igényel sok időt, nem igényel ritka mérőeszközt, meglehetősen pontos és egyszerű.

Az ilyen kalibrálás ötlete ez a kép után merült fel:

Ahogy a képeken is látható, a szegély felső része jól van kinyomtatva, összeragasztva (0,2 mm vastagság), az alsó része pedig nincs ragasztva (0,3 mm vastag).

A szükséges táblázat kalibrálásához:

Kulcs / csavarhúzó készlet az asztal beállításához, ki mit szabályoz;

Vernier féknyereg (ideális esetben 0,05 skálával);

A teszt modellje - http: // site / 3d-models / detali-dlya-3d-printerov / raznoe / test_gorizont /

Esetemben az asztalt három csavarral állítják be, így a modell így néz ki. Minden kör a saját csavarja közelében van. L - Bal, R - Jobb, Z - Hát, C - középpont (a felület görbületének meghatározásához). Rétegvastagság 0,2 mm. Az Ön esetében megteheti a maga módján.

Modellelem (középen):

Tehát kezdjük.

Előkalibrálás:

Veszünk egy A4-es lapot, és az asztalt úgy állítjuk be, ahogyan azt az interneten számos cikk és videó leírja.

Ezzel a módszerrel finomhangolható az asztal, de! Érintéssel nem lesz képes észlelni a megfelelő / elégtelen papírszorító erőt. Az egyszerű csúsztatás mindenki számára eltérő lehet.

Általában nagyjából kiigazítottuk.

Végső kalibrálás:

Kinyomtatjuk a modellt. Amint az a képernyőképen látható - a nyomtatás 2 percet vesz igénybe, figyelembe véve az eltéréseket és a bemelegítést - 5 perc.

Várjuk, hogy a modell lehűljön, hogy lehúzhassa. Nem vártam, hanem csak írószerkéssel hamisítottam, az ABS megadja ezt a lehetőséget.

Húzza le a köröket, vegyen egy féknyerget és mérje meg a vastagságot. Az én esetemben 0,2 mm legyen.

A méreteltérések alapján meghatározza, hogy melyik irányba kell csavarni vagy lecsavarni az asztalt. Győződjön meg arról, hogy minden körnek azonos és kívánt vastagsága van.

Ha a nyomás egyértelműen nem elegendő, amikor a szálak nem tapadnak össze, akkor a nyomtatás során beállítom, amíg a szálak nem kezdenek egymáshoz érni. Ezután megmérem és elkészítem a modell ellenőrző nyomtatását mérésekkel.

A középpont egyszer használható az asztal konvexitásának vagy konkávitásának meghatározására. De néha nem árt az irányítás.

Sok sikert és kalibrált asztalt mindenkinek!

Kritikusokat és javaslatokat várunk.

Mint tudják, a 3D nyomtatóval történő kiváló minőségű nyomtatáshoz gondosan igazítani kell az asztal felületét. Sajnos ez nem mindig lehetséges. Az asztal gyakran ívelt felületű, és még az üveg használata sem oldja meg teljesen ezt a problémát. Szerencsére a legújabb Marlin firmware egyre inkább az asztal felületének kalibrálási képességére összpontosít. A teljesen automatikus kalibráláshoz további szenzorok szükségesek, amelyek nem mindig állnak rendelkezésre, de emellett lehetőség van a táblázat kézi üzemmódban történő kalibrálására. Erről szeretnék neked mesélni.

Automatikus kalibrációs támogatás hozzáadása a firmware-hez

Engedélyezze a kézi kalibrációs támogatást

Rácsopciók beállítása

Figyelem! Tengelyenként ne használjon 7-nél többet. Ez a firmware korlátozása.

Elemek hozzáadása a nyomtató menüjéhez

Utókalibrációs szkript. Itt alapértelmezés szerint néhány testmozgás az extruder által, nem az a tény, hogy szükség van rájuk. Nem vagyok benne biztos.

// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000 \\ nG1 X15 Y330 \\ nG1 Z0.5 \\ nG1 Z10"

Ezt követően töltse ki a frissített firmware-t.

Kalibrálja az asztalt

A kézi kalibráláshoz az úgynevezett hálós szintezőt (MBL) használják. Azok. pontok tömbjével történő kalibrálás módszere. Ennek megfelelően az asztal felülete rácsra van osztva, és a Z koordinátákat a rács csomópontjainál mérjük meg a Z tengely kézi mozgatásával. A méréshez valójában csak egy papírlapra és egyenes karokra van szükség.

Az extruder fúvóka minden pontján egy papírlapot teszünk, és elmozdítjuk a Z tengelyt (vagy egy speciális G parancs elküldésével a szoftveren keresztül a számítógépről, vagy a nyomtató menüjén keresztül) olyan állapotot érünk el, amikor a lap az extruder alatt továbbra is szabadon mozgatható, és az extruder helyzetének egy lépéssel történő csökkentése már zavarja a lap mozgatását. Ezt követően rögzítik az aktuális pontot, és folytatjuk a következőtől és így tovább a végéig.

A folyamat végén, amikor az összes pontot megmérjük, beírjuk az eredményeket a nyomtató nem felejtő memóriájába, és ez valójában elegendő. A jövőben nem kell módosítania a felületet minden használat előtt - a mentett értékeket használjuk.

Alapértelmezés szerint a kalibráláshoz 3 × 3-as rácsot használnak, azaz 9 pontot, de ha akarja, beállíthat egy másik számot is a firmware-ben (tengelyenként legfeljebb 7, azaz összesen legfeljebb 49).

A kalibrálás pontosságának további növelése érdekében az asztalt és az extrudert működési hőmérsékletre melegítheti, mielőtt elvégezné. Ez figyelembe veszi és kompenzálja a hőtágulást.

Külső programon keresztül

Van egy speciális G29 parancs az asztal kalibrálásához

  1. A G29 S0 leolvassa az aktuális pontértékeket a nyomtató memóriájában.
  2. G29 S1 A nyomtatót az első pontra helyezi a telepítési folyamat megkezdéséhez. Valójában a nyomtató először otthoni helyzetben leparkol, majd az első ponthoz megy.
  3. G29 S2 írja be az aktuális pontot, és lépjen a következőre
  4. Minden folyamatnál megismételjük a folyamatot
  5. Az M500 paranccsal írjuk a mért értékeket a nyomtató memóriájába

A nyomtató menüjén keresztül

Válassza ki a következő elemeket a Presets menüben


Ezután a következő feliratot látjuk a képernyőn, és figyeljük, hogyan áll a nyomtató a kezdő helyzetében


Ezután a nyomtató meghív minket, hogy kattintson a kódolóra.


Egy kattintás után az extruder az első ponthoz megy


És látjuk a Z tengely beállítását.



Kattintson a kódolóra az érték mentéséhez és a következő ponthoz lépéshez. Megismételjük az egyes pontok kalibrálását (összesen 9 van belőlük). Az utolsó pont után a nyomtató leparkol és megmutatja nekünk a következőket:



Teljes

Esetemben még ez a kézi kalibrálás is jelentősen javította a nyomtatási minőséget. Sőt, szabad szemmel is észrevehető. További bónusz volt, hogy a jobb tapadás érdekében abbahagytam az üveg ragasztóval való kenését - annak a ténynek köszönhetően, hogy a kalibrálás után a nyomtató figyelembe veszi az asztal egyenetlenségeit, az első réteg most már teljesen egyenletesen illeszkedik és remekül tapad. Ez megint nyilvánvaló. Korábban a szabálytalanságok miatt az egyik rész rosszabban tapadt, és ennek eredményeként a modell ragasztóbevonat nélkül esett le.