Strona 1 z 1

Aktualizacja Marlin 1.1.9

: 27 lut 2021, 18:43
autor: Astaj
Witam,

chciałbym dokonać aktualizacji Marlina na mojej drukarce, nie wiem jednak od czego zacząć ani jak tego dokonać. Informacji na internecie jest co prawda sporo, proces ten jednak jest w moim odczuciu dość skomplikowany. Chciałbym prosić zatem o pomoc w przeprowadzeniu aktualizacji.

Obecnie zainstalowany Marlin to 1.1.9mrlukasz ,na zdjęciach widać także stronę z której go pobrano. W temacie:

-viewtopic.php?f=64&t=4517

można znaleźć plik *.FFF z ustawieniami drukarki.

Czy istnieje możliwość aktualizacji przez kartę SD bez podłączania drukarki pod komputer?

Pozdrawiam

Re: Aktualizacja Marlin 1.1.9

: 27 lut 2021, 22:21
autor: tomek_3100
Niestety te sprzęty tylko bezpośrednio przez usb z kompa. Jeśli masz oryginalna płytę oczywiście, bo nowsze drukarki to można przez kartę.
Sama aktualizacja jest bardzo prosta. Kikka kliknięć ledwo. To kompilacja od zera wydaje się być skomplikowaną, ale jeśli znajdziesz soft gotowy pod twój model to masz 95% roboty załatwione.
Czemu chcesz zmieniać? Problemy jakieś?

Re: Aktualizacja Marlin 1.1.9

: 28 lut 2021, 13:10
autor: Astaj
Sprzęt kupiłem na olx w ramie Lume. Wszystko wskazuje, że podzespoły są ANET A8, nie mam jednak całkowitej pewności. Chcę dokonać aktualizacji, gdyż na tej wersji marlina nie mam możliwości zapisania ustawień kalibracji. Wprowadzanie ich przy każdym uruchomieniu drukarki jest czasochłonne i niewygodne.

Re: Aktualizacja Marlin 1.1.9

: 02 mar 2021, 08:50
autor: tomek_3100
To zanim zaczniesz coś konfigurować sprawdź dokładnie jaka masz płytę. Oznaczenia na niej i na procesorze.

Re: Aktualizacja Marlin 1.1.9

: 03 mar 2021, 18:02
autor: Astaj
Sprawdziłem podzespoły i zrobiłem fotografie, nie wiem które z oznaczeń są istotne.

Re: Aktualizacja Marlin 1.1.9

: 03 mar 2021, 18:14
autor: Zepco
Szukaj pod hasłem RAMPS

Re: Aktualizacja Marlin 1.1.9

: 04 mar 2021, 21:03
autor: Astaj
Na płycie nie ma oznaczenia tego typu, znalazłem jednak stronę producenta z której wynika że jest tam RAMPS 1.4 (BIGTREETECH Red RAMPS 1.4 Transfer Control Board)

Re: Aktualizacja Marlin 1.1.9

: 05 mar 2021, 01:55
autor: JGFTW
Każdy kto miał (lub dalej ma) tą kanapkę pozna, że to Ramps 1.4
https://reprap.org/wiki/RAMPS_1.4

Wyświetlacz to LCD2004 tzw REPRAP_DISCOUNT_SMART_CONTROLLER (https://reprap.org/wiki/RepRapDiscount_Smart_Controller)

Sterowniki silników A4988 (https://reprap.org/wiki/A4988)

Zestaw klasyczny sprzed paru lat ;)

Jedyną zagadką pozostaja termistory, należy znać ich nazwę, żeby wybrać odpowiednie w FW - najlepiej kup nowe, kosztują groszę.

Poza tym konfiguracja Marlina będzie dość prosta, będzie trzeba nanosić zmiany w plikach konfiguracyjnych:

https://github.com/MarlinFirmware/Marli ... guration.h

https://github.com/MarlinFirmware/Marli ... tion_adv.h

Całość możesz ściągnąć stąd: https://github.com/MarlinFirmware/Marlin

Nie będę tu pisał krok po kroku jak to należy zrobić, bo jest bardzo wiele poradników (na forum również).

Re: Aktualizacja Marlin 1.1.9

: 05 mar 2021, 18:22
autor: Astaj
Dziękuję za informacje, postaram się nanieść poprawki w plikach o których mowa. Chciałbym jednak wymianę części pozostawić jako ostateczność, nie wiem bowiem jakie termistory wybrać z dość szerokiej oferty i gdzie dokładnie się mieszczą. Czy istnieje możliwość odczytania informacji o nazwie termistorów z obecnych ustawień drukarki?

Re: Aktualizacja Marlin 1.1.9

: 05 mar 2021, 20:40
autor: Mati
W nowszych wersjach Marlina (o ile włączy się tą opcję podczas kompilacji) jest w menu coś takiego jak board info i tam są informacje również o termistorach. Nie wiem kiedy się to pojawiło, ale zobaczyć możesz.

Re: Aktualizacja Marlin 1.1.9

: 07 mar 2021, 04:33
autor: JGFTW
Astaj pisze: [...] Chciałbym jednak wymianę części pozostawić jako ostateczność, nie wiem bowiem jakie termistory wybrać z dość szerokiej oferty i gdzie dokładnie się mieszczą. [...]

Nie przesadzaj, kabla nie potrafisz wymienić?

Bo do tego się to będzie sprowadzać.
Termistory podłączone są do gniazd T0 i T1 na Rampsie.

Tu masz listę wspieranych termistorów:
https://github.com/MarlinFirmware/Marli ... ion.h#L357

Kupuje się gotowe i te z oznaczeniami 100k Beta 3950 mają w Marlinie pozycję 11.

https://allegro.pl/kategoria/drukarki-i ... e-1-3-0304


Co do termistora to tak jak pisze Mati. Możesz spróbowac podpiąć drukarkę do kompa, uruchomić Pronterface i w terminalu coś popróbować wpisywać:
https://marlinfw.org/docs/gcode/M111.html
https://marlinfw.org/docs/gcode/M115.html
https://marlinfw.org/docs/gcode/M503.html

Ale nie nastawiałbym się na powodzenie.

Inwestycja 20zł i wymiana kabli to najprostsze rozwiązanie.

Re: Aktualizacja Marlin 1.1.9

: 07 mar 2021, 15:01
autor: Astaj
Termistory podłączone są do gniazd T0 i T1 na Rampsie.
Dzięki powyższej informacji sprawdziłem rozmieszczenie termistorów i muszę przyznać rację, wymiana będzie dużo prostsza niż początkowo myślałem.

Dziękuję także za link do allegro, zakupię nowe :)

Re: Aktualizacja Marlin 1.1.9

: 10 mar 2021, 19:04
autor: Astaj
Otrzymałem nowe termistory i dokonałem zmian w kodzie obu plików. Nie jestem pewien poprawności owych zmian (zwłaszcza MOTHERBOARD), poniżej zamieszczam sekcje w których dokonałem zmian:

Configuration.h ( oryginał z adresu podanego wcześniej linku https://github.com/MarlinFirmware/Marli ... guration.h) :

Kod: Zaznacz cały

// Choose the name from boards.h that matches your setup
#ifndef MOTHERBOARD
  #define MOTHERBOARD BOARD_RAMPS_14_EFB
#endif

-------------------------------------------

#define TEMP_SENSOR_0 11
#define TEMP_SENSOR_1 0
#define TEMP_SENSOR_2 0
#define TEMP_SENSOR_3 0
#define TEMP_SENSOR_4 0
#define TEMP_SENSOR_5 0
#define TEMP_SENSOR_6 0
#define TEMP_SENSOR_7 0
#define TEMP_SENSOR_BED 11
#define TEMP_SENSOR_PROBE 0
#define TEMP_SENSOR_CHAMBER 0

-------------------------------------------

#define X_DRIVER_TYPE  A4988
#define Y_DRIVER_TYPE  A4988
#define Z_DRIVER_TYPE  A4988
//#define X2_DRIVER_TYPE A4988
//#define Y2_DRIVER_TYPE A4988
//#define Z2_DRIVER_TYPE A4988
//#define Z3_DRIVER_TYPE A4988
//#define Z4_DRIVER_TYPE A4988
//#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
//#define E2_DRIVER_TYPE A4988
//#define E3_DRIVER_TYPE A4988
//#define E4_DRIVER_TYPE A4988
//#define E5_DRIVER_TYPE A4988
//#define E6_DRIVER_TYPE A4988
//#define E7_DRIVER_TYPE A4988

-------------------------------------------

/**
 * SD CARD
 *
 * SD Card support is disabled by default. If your controller has an SD slot,
 * you must uncomment the following option or it won't work.
 */
#define SDSUPPORT

-------------------------------------------

//
// RepRapDiscount Smart Controller.
// https://reprap.org/wiki/RepRapDiscount_Smart_Controller
//
// Note: Usually sold with a white PCB.
//
#define REPRAP_DISCOUNT_SMART_CONTROLLER
Configuration_adv.h ( oryginał z adresu podanego wcześniej linku
https://github.com/MarlinFirmware/Marli ... tion_adv.h) :

Kod: Zaznacz cały

/**
   * Continue after Power-Loss (Creality3D)
   *
   * Store the current state to the SD Card at the start of each layer
   * during SD printing. If the recovery file is found at boot time, present
   * an option on the LCD screen to continue the print from the last-known
   * point in the file.
   */
  #define POWER_LOSS_RECOVERY
  #if ENABLED(POWER_LOSS_RECOVERY)
    #define PLR_ENABLED_DEFAULT   false // Power Loss Recovery enabled by default. (Set with 'M413 Sn' & M500)
    //#define BACKUP_POWER_SUPPLY       // Backup power / UPS to move the steppers on power loss
    //#define POWER_LOSS_RECOVER_ZHOME  // Z homing is needed for proper recovery. 99.9% of the time this should be disabled!
    //#define POWER_LOSS_ZRAISE       2 // (mm) Z axis raise on resume (on power loss with UPS)
    //#define POWER_LOSS_PIN         44 // Pin to detect power loss. Set to -1 to disable default pin on boards without module.
    //#define POWER_LOSS_STATE     HIGH // State of pin indicating power loss
    //#define POWER_LOSS_PULL           // Set pullup / pulldown as appropriate
    //#define POWER_LOSS_PURGE_LEN   20 // (mm) Length of filament to purge on resume
    //#define POWER_LOSS_RETRACT_LEN 10 // (mm) Length of filament to retract on fail. Requires backup power.

    // Without a POWER_LOSS_PIN the following option helps reduce wear on the SD card,
    // especially with "vase mode" printing. Set too high and vases cannot be continued.
    #define POWER_LOSS_MIN_Z_CHANGE 0.05 // (mm) Minimum Z change before saving power-loss data
  #endif

-------------------------------------------

 /**
   * When using a bootloader that supports SD-Firmware-Flashing,
   * add a menu item to activate SD-FW-Update on the next reboot.
   *
   * Requires ATMEGA2560 (Arduino Mega)
   *
   * Tested with this bootloader:
   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
   */
  #define SD_FIRMWARE_UPDATE
  #if ENABLED(SD_FIRMWARE_UPDATE)
    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
  #endif
Chciałbym także włączyć opcję o której wspominał Mati, nie odnalazłem jej jednak:
W nowszych wersjach Marlina (o ile włączy się tą opcję podczas kompilacji) jest w menu coś takiego jak board info
Czy dokonać jakieś dodatkowe korekty?

Re: Aktualizacja Marlin 1.1.9

: 11 mar 2021, 14:12
autor: JGFTW
Jeżeli to są jedyne rzeczy jakie zmieniłeś to zapewne paru pozycji jeszcze brakuję, ale to zależy jakie masz elementy wykonawcze w tej drukarce i jakie mają realizować funkcję - np czujnik indukcyjny albo BLTouch oraz wybór ABL albo w którą stronę bazują się osie, itp.

Raczej bez znajomości sprzętu to nikt Ci nie podpowie o czym zapomniałeś.

Tu masz opisane trochę szerzej poszczególne pozycję z plików konfiguracyjnych:
https://marlinfw.org/docs/configuration ... ation.html

Przejdź całe Configuration.h oraz Configuration_adv.h posiłkując się powyższym linkiem i sobie poradzisz.

Ewentualnie możesz oglądnąć jakiś filmik na YT albo może postawić komuś flaszkę i niech z Tobą ten plik przejdzie.
[...]
Chciałbym także włączyć opcję o której wspominał Mati, nie odnalazłem jej jednak
[...]
To jest opcja, której szukasz:
https://github.com/MarlinFirmware/Marli ... dv.h#L1084

Re: Aktualizacja Marlin 1.1.9

: 12 mar 2021, 08:46
autor: Astaj
ok, dziękuję za informację, ponownie przejrzę pliki z pomocą opisów.

Re: Aktualizacja Marlin 1.1.9

: 12 mar 2021, 09:53
autor: malyhenio1
Witam dodam , że trzeba jeszcze odblokować eeprom

Re: Aktualizacja Marlin 1.1.9

: 25 mar 2021, 18:51
autor: Astaj
Zajęło mi to więcej czasu niż powinno, niemniej ukończyłem konfigurację pierwszego pliku. Dziękuję za informacje z EEPROM, jakby nie patrzeć z tego powodu chcę dokonać aktualizacji. Poniżej zamieszczam wszystkie zmiany Configuration.h, jeśli jakieś są błędne, niepotrzebne lub czegoś brak to proszę o podpowiedź :)

Kod: Zaznacz cały

#define SERIAL_PORT_2 -1

----------------------------------------------------

#define BAUDRATE 115200

----------------------------------------------------

// Choose the name from boards.h that matches your setup
#ifndef MOTHERBOARD
  #define MOTHERBOARD BOARD_RAMPS_14_EFB
#endif

----------------------------------------------------

// Dummy thermistor constant temperature readings, for use with 998 and 999
//#define DUMMY_THERMISTOR_998_VALUE 25
//#define DUMMY_THERMISTOR_999_VALUE 100

----------------------------------------------------

#define TEMP_SENSOR_0 11
#define TEMP_SENSOR_1 0
#define TEMP_SENSOR_2 0
#define TEMP_SENSOR_3 0
#define TEMP_SENSOR_4 0
#define TEMP_SENSOR_5 0
#define TEMP_SENSOR_6 0
#define TEMP_SENSOR_7 0
#define TEMP_SENSOR_BED 11
#define TEMP_SENSOR_PROBE 0
#define TEMP_SENSOR_CHAMBER 0

----------------------------------------------------

#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10

#define TEMP_RESIDENCY_TIME     10  // (seconds) Time to wait for hotend to "settle" in M109
#define TEMP_WINDOW              1  // (°C) Temperature proximity for the "temperature reached" timer
#define TEMP_HYSTERESIS          2  // (°C) Temperature proximity considered "close enough" to the target

#define TEMP_BED_RESIDENCY_TIME 10  // (seconds) Time to wait for bed to "settle" in M190
#define TEMP_BED_WINDOW          1  // (°C) Temperature proximity for the "temperature reached" timer
#define TEMP_BED_HYSTERESIS      2  // (°C) Temperature proximity considered "close enough" to the target

----------------------------------------------------

// Below this temperature the heater will be switched off
// because it probably indicates a broken thermistor wire.
#define HEATER_0_MINTEMP   10
#define HEATER_1_MINTEMP   5
#define HEATER_2_MINTEMP   5
#define HEATER_3_MINTEMP   5
#define HEATER_4_MINTEMP   5
#define HEATER_5_MINTEMP   5
#define HEATER_6_MINTEMP   5
#define HEATER_7_MINTEMP   5
#define BED_MINTEMP        10
----------------------------------------------------

// Above this temperature the heater will be switched off.
// This can protect components from overheating, but NOT from shorts and failures.
// (Use MINTEMP for thermistor short/failure protection.)
#define HEATER_0_MAXTEMP 250
#define HEATER_1_MAXTEMP 0
#define HEATER_2_MAXTEMP 0
#define HEATER_3_MAXTEMP 0
#define HEATER_4_MAXTEMP 0
#define HEATER_5_MAXTEMP 0
#define HEATER_6_MAXTEMP 0
#define HEATER_7_MAXTEMP 0
#define BED_MAXTEMP      120

-----------------------------------------------------

/**
 * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP.
 * Add M302 to set the minimum extrusion temperature and/or turn
 * cold extrusion prevention on and off.
 *
 * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! ***
 */
#define PREVENT_COLD_EXTRUSION
#define EXTRUDE_MINTEMP 210
-----------------------------------------------------

#if ENABLED(PIDTEMP)
  #define PID_EDIT_MENU         // Add PID editing to the "Advanced Settings" menu. (~700 bytes of PROGMEM)
  #define PID_AUTOTUNE_MENU     // Add PID auto-tuning to the "Advanced Settings" menu. (~250 bytes of PROGMEM)
  //#define PID_PARAMS_PER_HOTEND // Uses separate PID parameters for each extruder (useful for mismatched extruders)
                                  // Set/get with gcode: M301 E[extruder number, 0-2]

----------------------------------------------------

//===========================================================================
//============================== Endstop Settings ===========================
//===========================================================================

// @section homing

// Specify here all the endstop connectors that are connected to any endstop or probe.
// Almost all printers will be using one per axis. Probes will use one or more of the
// extra connectors. Leave undefined any used for non-endstop and non-probe purposes.
#define USE_XMIN_PLUG
//#define USE_YMIN_PLUG
#define USE_ZMIN_PLUG
//#define USE_XMAX_PLUG
#define USE_YMAX_PLUG
//#define USE_ZMAX_PLUG

----------------------------------------------------

#define X_DRIVER_TYPE  A4988
#define Y_DRIVER_TYPE  A4988
#define Z_DRIVER_TYPE  A4988
//#define X2_DRIVER_TYPE A4988
//#define Y2_DRIVER_TYPE A4988
//#define Z2_DRIVER_TYPE A4988
//#define Z3_DRIVER_TYPE A4988
//#define Z4_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
//#define E1_DRIVER_TYPE A4988
//#define E2_DRIVER_TYPE A4988
//#define E3_DRIVER_TYPE A4988
//#define E4_DRIVER_TYPE A4988
//#define E5_DRIVER_TYPE A4988
//#define E6_DRIVER_TYPE A4988
//#define E7_DRIVER_TYPE A4988

----------------------------------------------------

/**
 * Default Axis Steps Per Unit (steps/mm)
 * Override with M92
 *                                      X, Y, Z, E0 [, E1[, E2...]]
 */
#define DEFAULT_AXIS_STEPS_PER_UNIT   { 100, 100, 1600, 100 }

--------------------------------------------------

/**
 * S-Curve Acceleration
 *
 * This option eliminates vibration during printing by fitting a Bézier
 * curve to move acceleration, producing much smoother direction changes.
 *
 * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained
 */
#define S_CURVE_ACCELERATION

----------------------------------------------------

 * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
 * Use G29 repeatedly, adjusting the Z height at each point with movement commands
 * or (with LCD_BED_LEVELING) the LCD controller.
 */
#define PROBE_MANUALLY
#define MANUAL_PROBE_START_Z 0.2

----------------------------------------------------

#define NO_MOTION_BEFORE_HOMING // Inhibit movement until all axes have been homed

//#define UNKNOWN_Z_NO_RAISE      // Don't raise Z (lower the bed) if Z is "unknown." For beds that fall when Z is powered off.

#define Z_HOMING_HEIGHT  10      // (mm) Minimal Z height before homing (G28) for Z clearance above the bed, clamps, ...
                                  // Be sure to have this much clearance over your Z_MAX_POS to prevent grinding.

----------------------------------------------------

// Direction of endstops when homing; 1=MAX, -1=MIN
// :[-1,1]
#define X_HOME_DIR -1
#define Y_HOME_DIR 1
#define Z_HOME_DIR -1

----------------------------------------------------

// The size of the print bed
#define X_BED_SIZE 210
#define Y_BED_SIZE 210

// Travel limits (mm) after homing, corresponding to endstop positions.
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE
#define Z_MAX_POS 220

----------------------------------------------------

//#define AUTO_BED_LEVELING_3POINT
//#define AUTO_BED_LEVELING_LINEAR
//#define AUTO_BED_LEVELING_BILINEAR
//#define AUTO_BED_LEVELING_UBL
#define MESH_BED_LEVELING

----------------------------------------------------

  //===========================================================================
  //=================================== Mesh ==================================
  //===========================================================================

  #define MESH_INSET 10          // Set Mesh bounds as an inset region of the bed
  #define GRID_MAX_POINTS_X 5    // Don't use more than 7 points per axis, implementation limited.
  #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X

  //#define MESH_G28_REST_ORIGIN // After homing all axes ('G28' or 'G28 XYZ') rest Z at Z_MIN_POS

#endif // BED_LEVELING

/**
 * Add a bed leveling sub-menu for ABL or MBL.
 * Include a guided procedure if manual probing is enabled.
 */
#define LCD_BED_LEVELING

#if ENABLED(LCD_BED_LEVELING)
  #define MESH_EDIT_Z_STEP  0.025 // (mm) Step size while manually probing Z axis.
  #define LCD_PROBE_Z_RANGE 4     // (mm) Z Range centered on Z_MIN_POS for LCD Z adjustment
  #define MESH_EDIT_MENU        // Add a menu to edit mesh points
#endif

// Add a menu item to move between bed corners for manual bed adjustment
#define LEVEL_BED_CORNERS

#if ENABLED(LEVEL_BED_CORNERS)
  #define LEVEL_CORNERS_INSET_LFRB { 30, 30, 30, 30 } // (mm) Left, Front, Right, Back insets
  #define LEVEL_CORNERS_HEIGHT      0.0   // (mm) Z height of nozzle at leveling points
  #define LEVEL_CORNERS_Z_HOP       4.0   // (mm) Z height of nozzle between leveling points
  #define LEVEL_CENTER_TOO              // Move to the center after the last corner
#endif

----------------------------------------------------



/**
 * EEPROM
 *
 * Persistent storage to preserve configurable settings across reboots.
 *
 *   M500 - Store settings to EEPROM.
 *   M501 - Read settings from EEPROM. (i.e., Throw away unsaved changes)
 *   M502 - Revert settings to "factory" defaults. (Follow with M500 to init the EEPROM.)
 */
#define EEPROM_SETTINGS     // Persistent storage with M500 and M501
//#define DISABLE_M503        // Saves ~2700 bytes of PROGMEM. Disable for release!
#define EEPROM_CHITCHAT       // Give feedback on EEPROM commands. Disable to save PROGMEM.
#define EEPROM_BOOT_SILENT    // Keep M503 quiet and only give errors during first load
#if ENABLED(EEPROM_SETTINGS)
  //#define EEPROM_AUTO_INIT  // Init EEPROM automatically on any errors.
#endif

----------------------------------------------------

// Preheat Constants
#define PREHEAT_1_LABEL       "PLA"
#define PREHEAT_1_TEMP_HOTEND 180
#define PREHEAT_1_TEMP_BED     40
#define PREHEAT_1_FAN_SPEED     0 // Value from 0 to 255

#define PREHEAT_2_LABEL       "ABS"
#define PREHEAT_2_TEMP_HOTEND 220
#define PREHEAT_2_TEMP_BED    80
#define PREHEAT_2_FAN_SPEED     0 // Value from 0 to 255

----------------------------------------------------

/**
 * SD CARD
 *
 * SD Card support is disabled by default. If your controller has an SD slot,
 * you must uncomment the following option or it won't work.
 */
#define SDSUPPORT

----------------------------------------------------

//
// Individual Axis Homing
//
// Add individual axis homing items (Home X, Home Y, and Home Z) to the LCD menu.
//
#define INDIVIDUAL_AXIS_HOMING_MENU

----------------------------------------------------


//=============================================================================
//======================== LCD / Controller Selection =========================
//========================   (Character-based LCDs)   =========================
//=============================================================================

//
// RepRapDiscount Smart Controller.
// https://reprap.org/wiki/RepRapDiscount_Smart_Controller
//
// Note: Usually sold with a white PCB.
//
#define REPRAP_DISCOUNT_SMART_CONTROLLER
Zmiany w pliku Configuration_adv.h postaram się udostępnić szybciej.

Re: Aktualizacja Marlin 1.1.9

: 26 mar 2021, 16:32
autor: JGFTW
Możesz jeszcze odblokować sterowanie PID stołu:

Kod: Zaznacz cały

#define PIDTEMPBED

Zrobisz jego kalibrację komendą;

Kod: Zaznacz cały


M303 E-1 C8 S70 U1

https://marlinfw.org/docs/gcode/M303.html

Po zakończonej kalibracji zapisać do EEPROM ( M500 ).

Re: Aktualizacja Marlin 1.1.9

: 24 kwie 2021, 21:41
autor: Astaj
Dziękuję za informację, włączyłem sterowanie stołu PID, poniżej zamieszczam zmiany w pliku Configuration_adv.h , jak wcześniej proszę o sprawdzenie poprawności i sensowności zmian.

Kod: Zaznacz cały

#if ENABLED(THERMAL_PROTECTION_HOTENDS)
  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius

  //#define ADAPTIVE_FAN_SLOWING              // Slow part cooling fan if temperature drops
  #if BOTH(ADAPTIVE_FAN_SLOWING, PIDTEMP)
    //#define NO_FAN_SLOWING_IN_PID_TUNING    // Don't slow fan speed during M303
  #endif

  /**
   * Whenever an M104, M109, or M303 increases the target temperature, the
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
   * if the current temperature is far enough below the target for a reliable
   * test.
   *
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
   * below 2.
   */
  #define WATCH_TEMP_PERIOD 20                // Seconds
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
#endif

/**
 * Thermal Protection parameters for the bed are just as above for hotends.
 */
#if ENABLED(THERMAL_PROTECTION_BED)
  #define THERMAL_PROTECTION_BED_PERIOD        20 // Seconds
  #define THERMAL_PROTECTION_BED_HYSTERESIS     2 // Degrees Celsius

  /**
   * As described above, except for the bed (M140/M190/M303).
   */
  #define WATCH_BED_TEMP_PERIOD                60 // Seconds
  #define WATCH_BED_TEMP_INCREASE               2 // Degrees Celsius
#endif

------------------------------------------------------------

/**
 * Automatic Temperature Mode
 *
 * Dynamically adjust the hotend target temperature based on planned E moves.
 *
 * (Contrast with PID_EXTRUSION_SCALING, which tracks E movement and adjusts PID
 *  behavior using an additional kC value.)
 *
 * Autotemp is calculated by (mintemp + factor * mm_per_sec), capped to maxtemp.
 *
 * Enable Autotemp Mode with M104/M109 F<factor> S<mintemp> B<maxtemp>.
 * Disable by sending M104/M109 with no F parameter (or F0 with AUTOTEMP_PROPORTIONAL).
 */
//#define AUTOTEMP
#if ENABLED(AUTOTEMP)
  #define AUTOTEMP_OLDWEIGHT    0.98
  // Turn on AUTOTEMP on M104/M109 by default using proportions set here
  //#define AUTOTEMP_PROPORTIONAL
  #if ENABLED(AUTOTEMP_PROPORTIONAL)
    #define AUTOTEMP_MIN_P      0 // (°C) Added to the target temperature
    #define AUTOTEMP_MAX_P      5 // (°C) Added to the target temperature
    #define AUTOTEMP_FACTOR_P   1 // Apply this F parameter by default (overridden by M104/M109 F)
  #endif
#endif

------------------------------------------------------------

/**
 * Hotend Idle Timeout
 * Prevent filament in the nozzle from charring and causing a critical jam.
 */
#define HOTEND_IDLE_TIMEOUT
#if ENABLED(HOTEND_IDLE_TIMEOUT)
  #define HOTEND_IDLE_TIMEOUT_SEC (5*60)    // (seconds) Time without extruder movement to trigger protection
  #define HOTEND_IDLE_MIN_TRIGGER   180     // (°C) Minimum temperature to enable hotend protection
  #define HOTEND_IDLE_NOZZLE_TARGET   180     // (°C) Safe temperature for the nozzle after timeout
  #define HOTEND_IDLE_BED_TARGET      0     // (°C) Safe temperature for the bed after timeout
#endif

// @section temperature

// Calibration for AD595 / AD8495 sensor to adjust temperature measurements.
// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET.
//#define TEMP_SENSOR_AD595_OFFSET  0.0
//#define TEMP_SENSOR_AD595_GAIN    1.0
//#define TEMP_SENSOR_AD8495_OFFSET 0.0
//#define TEMP_SENSOR_AD8495_GAIN   1.0

------------------------------------------------------------

/**
 * Extruder cooling fans
 *
 * Extruder auto fans automatically turn on when their extruders'
 * temperatures go above EXTRUDER_AUTO_FAN_TEMPERATURE.
 *
 * Your board's pins file specifies the recommended pins. Override those here
 * or set to -1 to disable completely.
 *
 * Multiple extruders can be assigned to the same pin in which case
 * the fan will turn on when any selected extruder is above the threshold.
 */
#define E0_AUTO_FAN_PIN 9
#define E1_AUTO_FAN_PIN -1
#define E2_AUTO_FAN_PIN -1
#define E3_AUTO_FAN_PIN -1
#define E4_AUTO_FAN_PIN -1
#define E5_AUTO_FAN_PIN -1
#define E6_AUTO_FAN_PIN -1
#define E7_AUTO_FAN_PIN -1
#define CHAMBER_AUTO_FAN_PIN -1

#define EXTRUDER_AUTO_FAN_TEMPERATURE 50
#define EXTRUDER_AUTO_FAN_SPEED 255   // 255 == full speed
#define CHAMBER_AUTO_FAN_TEMPERATURE 30
#define CHAMBER_AUTO_FAN_SPEED 255

------------------------------------------------------------

// @section homing

// If you want endstops to stay on (by default) even when not homing
// enable this option. Override at any time with M120, M121.
#define ENDSTOPS_ALWAYS_ON_DEFAULT

------------------------------------------------------------

//
// For Z set the number of stepper drivers
//
#define NUM_Z_STEPPER_DRIVERS 1   // (1-4) Z options change based on how many

------------------------------------------------------------

/**
 * Homing Procedure
 * Homing (G28) does an indefinite move towards the endstops to establish
 * the position of the toolhead relative to the workspace.
 */

//#define SENSORLESS_BACKOFF_MM  { 2, 2 }     // (mm) Backoff from endstops before sensorless homing

#define HOMING_BUMP_MM      { 5, 5, 5 }       // (mm) Backoff from endstops after first bump
#define HOMING_BUMP_DIVISOR { 2, 2, 2 }       // Re-Bump Speed Divisor (Divides the Homing Feedrate)

------------------------------------------------------------

/**
 * Idle Stepper Shutdown
 * Set DISABLE_INACTIVE_? 'true' to shut down axis steppers after an idle period.
 * The Deactive Time can be overridden with M18 and M84. Set to 0 for No Timeout.
 */
#define DEFAULT_STEPPER_DEACTIVE_TIME 150
#define DISABLE_INACTIVE_X true
#define DISABLE_INACTIVE_Y true
#define DISABLE_INACTIVE_Z true  // Set 'false' if the nozzle could fall onto your printed part!
#define DISABLE_INACTIVE_E true

------------------------------------------------------------

/**
 * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
 * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
 * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the
 * lowest stepping frequencies.
 */
#define ADAPTIVE_STEP_SMOOTHING

------------------------------------------------------------

/**
 * Custom Microstepping
 * Override as-needed for your setup. Up to 3 MS pins are supported.
 */
//#define MICROSTEP1 LOW,LOW,LOW
//#define MICROSTEP2 HIGH,LOW,LOW
//#define MICROSTEP4 LOW,HIGH,LOW
//#define MICROSTEP8 HIGH,HIGH,LOW
//#define MICROSTEP16 LOW,LOW,HIGH
//#define MICROSTEP32 HIGH,LOW,HIGH

// Microstep settings (Requires a board with pins named X_MS1, X_MS2, etc.)
//#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16]

------------------------------------------------------------

 // Include a page of printer information in the LCD Main Menu
  #define LCD_INFO_MENU
  #if ENABLED(LCD_INFO_MENU)
    //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages
  #endif

------------------------------------------------------------

// Scroll a longer status message into view
//#define STATUS_MESSAGE_SCROLLING

// On the Info Screen, display XY with one decimal place when possible
//#define LCD_DECIMAL_SMALL_XY

// The timeout (in ms) to return to the status screen from sub-menus
#define LCD_TIMEOUT_TO_STATUS 15000

// Add an 'M73' G-code to set the current percentage
//#define LCD_SET_PROGRESS_MANUALLY

// Show the E position (filament used) during printing
#define LCD_SHOW_E_TOTAL


------------------------------------------------------------

#if EITHER(SDSUPPORT, LCD_SET_PROGRESS_MANUALLY) && ANY(HAS_MARLINUI_U8GLIB, HAS_MARLINUI_HD44780, IS_TFTGLCD_PANEL)
  #define SHOW_REMAINING_TIME       // Display estimated time to completion
  #if ENABLED(SHOW_REMAINING_TIME)
    //#define USE_M73_REMAINING_TIME  // Use remaining time from M73 command instead of estimation
    #define ROTATE_PROGRESS_DISPLAY // Display (P)rogress, (E)lapsed, and (R)emaining time
  #endif


------------------------------------------------------------

  /**
   * This option makes it easier to print the same SD Card file again.
   * On print completion the LCD Menu will open with the file selected.
   * You can just click to start the print, or navigate elsewhere.
   */
  #define SD_REPRINT_LAST_SELECTED_FILE


------------------------------------------------------------

  /**
   * When using a bootloader that supports SD-Firmware-Flashing,
   * add a menu item to activate SD-FW-Update on the next reboot.
   *
   * Requires ATMEGA2560 (Arduino Mega)
   *
   * Tested with this bootloader:
   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
   */
  #define SD_FIRMWARE_UPDATE
  #if ENABLED(SD_FIRMWARE_UPDATE)
    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
  #endif


// Add an optimized binary file transfer mode, initiated with 'M28 B1'
  //#define BINARY_FILE_TRANSFER

  /**
   * Set this option to one of the following (or the board's defaults apply):
   *
   *           LCD - Use the SD drive in the external LCD controller.
   *       ONBOARD - Use the SD drive on the control board. (No SD_DETECT_PIN. M21 to init.)
   *  CUSTOM_CABLE - Use a custom cable to access the SD (as defined in a pins file).
   *
   * :[ 'LCD', 'ONBOARD', 'CUSTOM_CABLE' ]
   */
  #define SDCARD_CONNECTION LCD

#endif // SDSUPPORT

/**
 * By default an onboard SD card reader may be shared as a USB mass-
 * storage device. This option hides the SD card from the host PC.
 */
#define NO_SD_HOST_DRIVE   // Disable SD Card access over USB (for security).

------------------------------------------------------------

// Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
#define BEZIER_CURVE_SUPPORT

------------------------------------------------------------

// @section motion

// The number of linear moves that can be in the planner at once.
// The value of BLOCK_BUFFER_SIZE must be a power of 2 (e.g. 8, 16, 32)
#if BOTH(SDSUPPORT, DIRECT_STEPPING)
  #define BLOCK_BUFFER_SIZE  8
#elif ENABLED(SDSUPPORT)
  #define BLOCK_BUFFER_SIZE 16
#else
  #define BLOCK_BUFFER_SIZE 16
#endif

------------------------------------------------------------

/**
 * Auto-report temperatures with M155 S<seconds>
 */
#define AUTO_REPORT_TEMPERATURES

/**
 * Include capabilities in M115 output
 */
#define EXTENDED_CAPABILITIES_REPORT
#if ENABLED(EXTENDED_CAPABILITIES_REPORT)
  //#define M115_GEOMETRY_REPORT
#endif

------------------------------------------------------------

#define GCODE_CASE_INSENSITIVE  // Accept G-code sent to the firmware in lowercase






Re: Aktualizacja Marlin 1.1.9

: 11 maja 2021, 11:45
autor: Astaj
Czy miał już może ktoś chwilę, żeby sprawdzić kod?

Re: Aktualizacja Marlin 1.1.9

: 12 maja 2021, 02:07
autor: Stanley_B
Chyba nie bardzo, bo wszyscy przeszli jak już na Marlin 2.xxx ;)

Re: Aktualizacja Marlin 1.1.9

: 05 lis 2021, 09:35
autor: Astaj
Po przeciągającym się remoncie dokonałem aktualizacji. Skutek niepomyślny, drukarka cuda wyprawia. Jeśli ktoś jest z okolic Koszalina, Kołobrzegu lub okolic i zna się na tym to proszę o kontakt. Chciałbym możliwie najszybciej to naprawić, dogadamy się do ceny.

Re: Aktualizacja Marlin 1.1.9

: 05 lis 2021, 09:50
autor: arkomania.pl
Nie jestem z w/w okolic, ale jak pytasz o pomoc, do zawsze mów do czego.

Podaj jaki masz model drukarki, czy ze standardową elektroniką, itp.

Wysil się więcej !!!

Re: Aktualizacja Marlin 1.1.9

: 06 lis 2021, 14:23
autor: Astaj
Dzięki użytkownikowi JGFTW bardzo wiele informacji otrzymałem odnośnie sprzętu i dobrałem nowe termistory:

- Płyta Mega 2560
- BIGTREETECH Red RAMPS 1.4 Transfer Control Board
- LCD2004 - REPRAP_DISCOUNT_SMART_CONTROLLER
- Sterowniki silników A4988 - po jednym na każda oś i ekstruder
- termistory 100k Beta 3950
- podgrzewany stół 24V
- Pasy osi x i y - 2GT-6
- Oś z: 220 mm - zdjęcie Osi poniżej
- wymiary robocze stołu 210mm x 210mm
- 2 wentylatory 12 V
- osie zerowane na X min ; Z min , Y max

jeśli potrzeba coś więcej, to proszę mi o tym powiedzieć. Z tego co wiem z pliku *.FFF jest to Anet A8 w niestandardowej ramie LUME.

Re: Aktualizacja Marlin 1.1.9

: 26 lis 2021, 08:51
autor: malyhenio1
elektronika zasilana 12v , czy przerobiona na 24 ?

Re: Aktualizacja Marlin 1.1.9

: 29 lis 2021, 22:21
autor: Astaj
Z tego co wiem 24V. Tak też podłączony jest jest stół.

Re: Aktualizacja Marlin 1.1.9

: 08 gru 2021, 20:13
autor: comandos21
Podepnę tu bo tyczy się aktualizacji/kompilacji

Mam takie pytanko do mistrzów Marlina...
Marlin 2.0.9.2

Na zdjęciu w kompilacji Marlin opcja "probe offset wizard -4.0" Ona normalnie jest wyłączona.
Ender przy pozycji zerowej wciska dysze w stół gdy standardowo parametr zaraz po wgraniu softu z offset jest na 0.00.
Czy to przez ten parametr?
Lepiej tego -4 nie włączać?
Włączyłem wg poradnika na YT.


Drugie pytanie to gdzie w marlinie włącza się wizualny wygląd "z probe wizard" ale żeby pokazywał strzałki z lewej i prawej strony..

Dodam, że mam włączone babystepy jako ustawienie Z offset i w menu konfiguracja>zaawansowane>probe offset> z probe wizard mam jak na fotce (przesuń dysze do stołu) a chciałbym mieć tak jak na tym filmiku ze strzałkami https://www.youtube.com/watch?v=W8ouBPn ... 3Dprinting
Czy to się zmieniło wizualnie przez włączenie opcji babysteping jako z offset?