EEPROM használata

Az ATmega2560 processzorú Arduino Mega2560 tartalmaz egy 4 kilobyte-os EEPROM modult. Ez egy memória ami kikapcsolás után is megőrzi a benne tárolt értékeket. Mivel a RAMPS és a vele kompatibilis board-ok is az Arduino Mega-ra épülnek így a Marlin firmware-t is felkészítették ennek használatára.

EEPROM modul

Enélkül is teljes értékűen használható a 3D nyomtató, abban nyújt segítséget, hogy néhány apróbb paraméter jellegű érték módosításához nem kell az egész firmware-t frissítenünk. Ilyen módosítások lehetnek:

  • Nozzle offset
  • Home offset
  • Steps per unit
  • Acceleration
  • PID Settings
  • Preheat temperature

Mint látható a listán, nem ördögtől való, hogy ezeket ne a firmware-be égetve használjuk. Azonban fontos tisztában lenni vele, hogy ha elkezdjük az EEPROM-ban tárolni ezeket az értékeket, akkor a firmware frissítés nem lesz hatással rájuk!

Marlin firmware verzióváltás esetén előfordulhat, hogy konfliktusba kerül a firmware az EEPROM tartalmával, ilyenkor a mentett értékeket felül kell írni a firmware értékeivel.

Három módon is könnyen használhatjuk a Marlin ezen funkcióját, de előtte ellenőrizzük, hogy a Marlin-ban engedélyezve van-e: a következő sor elől ki kell venni a kommentet:

#define EEPROM_SETTINGS // Enable for M500 and M501 commands

Marlin LCD kijelzője

Az LCD kijelző menüjében a Contorl -> Motion menüpontban módosíthatjuk a
Z Offset értékét, vagy a gyorsulások maximális mértékét. Ezek a módosításaink, csak a nyomtató kikapcsolásáig maradnának érvényben.

A Control menüpontban a Store settings menüpont viszont elmenti a változtatásinakat az EEPROM-ba, így azok a következő bekapcsolás után is érvényben maradnak. Ha esetleg nagyon elállítgattuk a dolgokat és már nem vagyunk magunkban biztosak, akkor a Load settings menüponttal az aktuális értékeket a korábban tároltakra cserélhetjük.

Terminál képernyő

Arduino IDE konzolján, vagy az OctoPrint Terminal fülén parancsok segítségével is módosíthatjuk az értékeket.

M503 – Aktuális értékek megjelenítése

Az M503-as utasításra kilistázza az éppen aktuális értékeket, de vigyázat, ez a riport nem az EEPROM tartalmát mutatja, hanem azokat az értékeket melyekkel a Marlin éppen dolgozik! Ezek származhatnak az EEPROM-ból is, vagy ha azt nem használjuk, akkor a firmware-ből, vagy akár éppen most állítottuk be őket parancsok segítségével. Akár EEPROM engedélyezése nélkül is működik ez az utasítás.

OctoPrint Terminal képernyő

Nagyon praktikus lista, mert ha megnézzük például a Z offset értékét a Z offset módosításának utasításával együtt jeleníti meg: M851 Z-2.05
Ctrl+C-vel kimásolhatjuk az értéket az utasítással együtt, CTRL+V-vel bemásolhatjuk küldendő parancsként, és kényelmesen átírjuk az értéket az Enter előtt.

M500 – Értékek mentése

Az aktuális értékeket az M500-as paranccsal menthetjük el. Ha korábban nem mentettünk adatokat, akkor látszólag nem történik semmilyen változás, de ettől a pillanattól kezdve már nem a firmware értékeit használja a Marlin, hanem EEPROM-ban tároltakat tölti be induláskor.

M501 – Értékek visszaállítása

Az aktuális értékeket a korábban EEPROM-ban tároltakkal felülírja.

M502 – Firmware értékek betöltése

Az M502-es utasítás az aktuális értékeket a frimwaer-ben tároltakkal írja felül. Fontos, hogy itt sem az EEPROM kerül felülírásra, így ez az utasítás is működik EEPROM használata nélkül. És éppen ezért, ha ezeket az értékeket meg szeretnénk őrizni, akkor ki kell még adnunk egy M500-as utasítást is, hogy ténylegesen az EEPROM-ba kerüljenek a firmware-ben rögzített értékek.

OctoPrint plugin

Ha OctoPrint-et használunk, akkor mindez még kényelmesebb ezzel a plugin-nel: https://github.com/amsbr/OctoPrint-EEprom-Marlin

OctoPrint plugin

Az összes értéket kényelmesen szerkeszthetjük egy formon. Load/Upload gombokkal elmenthetjük, visszatölthetjük őket. De készíthetünk fájlba egy mentést is magunknak az aktuális állapotról.

Hozzászólás küldése

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük