Настройка Marlin под второй экструдер на плате MKS Gen v1.4

agent00785
Идет загрузка
Загрузка
03.03.2019
801
10
печатает на TEVO Black Widow
Вопросы и ответы
Статья относится к принтерам:
TEVO Black Widow
Принтер у меня Tevo Black Widow. На плате MKS Gen v1.4 четыре силовых выхода (extruder1, extruder2, fan, bed). Поставил два боуден экструдера. В Марлине прописал настройки под два экструдера. тип платы пришлось выбрать MOTHERBOARD BOARD_RAMPS_14_EEB ( было MOTHERBOARD BOARD_RAMPS_14_EFB), т.к. прошивка ругалась на то что в данной MOTHERBOARD BOARD_RAMPS_14_EFB не прописан пин второго нагревателя.

В итоге получилось так , что у меня просто вместо вентилятора сейчас нагреватель второго экструдера.

Можно ли плату оставить EFB, но прописать пин нагревателя второго экструдера и где это сделать?

Вкладка pins_RAMPS_14.h выглядит так:

* Arduino Mega with RAMPS v1.4 (or v1.3) pin assignments

*

* Applies to the following boards:

*

* RAMPS_14_EFB (Extruder, Fan, Bed)

* RAMPS_14_EEB (Extruder, Extruder, Bed)

* RAMPS_14_EFF (Extruder, Fan, Fan)

* RAMPS_14_EEF (Extruder, Extruder, Fan)

* RAMPS_14_SF (Spindle, Controller Fan)

*

* RAMPS_13_EFB (Extruder, Fan, Bed)

* RAMPS_13_EEB (Extruder, Extruder, Bed)

* RAMPS_13_EFF (Extruder, Fan, Fan)

* RAMPS_13_EEF (Extruder, Extruder, Fan)

* RAMPS_13_SF (Spindle, Controller Fan)

*

* Other pins_MYBOARD.h files may override these defaults

*

* Differences between

* RAMPS_13 | RAMPS_14

* 7 | 11

*/

#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)

#error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.

#endif

#define LARGE_FLASH true

#ifdef IS_RAMPS_13

#define SERVO0_PIN 7 // RAMPS_13 // Will conflict with BTN_EN2 on LCD_I2C_VIKI

#else

#define SERVO0_PIN 11

#endif

#define SERVO1_PIN 6

#define SERVO2_PIN 5

#define SERVO3_PIN 4

#define X_STEP_PIN 54

#define X_DIR_PIN 55

#define X_ENABLE_PIN 38

#define X_MIN_PIN 3

#ifndef X_MAX_PIN

#define X_MAX_PIN 2

#endif

#define Y_STEP_PIN 60

#define Y_DIR_PIN 61

#define Y_ENABLE_PIN 56

#define Y_MIN_PIN 14

#define Y_MAX_PIN 15

#define Z_STEP_PIN 46

#define Z_DIR_PIN 48

#define Z_ENABLE_PIN 62

#define Z_MIN_PIN 18

#define Z_MAX_PIN 19

#define E0_STEP_PIN 26

#define E0_DIR_PIN 28

#define E0_ENABLE_PIN 24

#define E1_STEP_PIN 36

#define E1_DIR_PIN 34

#define E1_ENABLE_PIN 30

#define SDPOWER -1

#define SDSS 53

#define LED_PIN 13

// Use the RAMPS 1.4 Analog input 5 on the AUX2 connector

#define FILWIDTH_PIN 5 // ANALOG NUMBERING

#if ENABLED(Z_MIN_PROBE_ENDSTOP)

// Define a pin to use as the signal pin on Arduino for the Z_PROBE endstop.

#define Z_MIN_PROBE_PIN 32

#endif

#if ENABLED(FILAMENT_RUNOUT_SENSOR)

// define digital pin 4 for the filament runout sensor. Use the RAMPS 1.4 digital input 4 on the servos connector

#define FILRUNOUT_PIN 4

#endif

#if MB(RAMPS_14_EFF) || MB(RAMPS_13_EFF) || ENABLED(IS_RAMPS_EFB)

#define FAN_PIN 9 // (Sprinter config)

#if MB(RAMPS_14_EFF) || MB(RAMPS_13_EFF)

#define CONTROLLERFAN_PIN -1 // Pin used for the fan to cool controller

#endif

#elif MB(RAMPS_14_EEF) || MB(RAMPS_14_SF) || MB(RAMPS_13_EEF) || MB(RAMPS_13_SF)

#define FAN_PIN 8

#else

#define FAN_PIN 4 // IO pin. Buffer needed

#endif

#define PS_ON_PIN 12

#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) || ENABLED(G3D_PANEL)

#define KILL_PIN 41

#endif

#if MB(RAMPS_14_EFF) || MB(RAMPS_13_EFF)

#define HEATER_0_PIN 8

#else

#define HEATER_0_PIN 10 // EXTRUDER 1

#endif

#if MB(RAMPS_14_SF) || MB(RAMPS_13_SF) || ENABLED(IS_RAMPS_EFB)

#define HEATER_1_PIN -1

#else

#define HEATER_1_PIN 9 // EXTRUDER 2 (FAN On Sprinter)

#endif

#define HEATER_2_PIN -1

#define TEMP_0_PIN 13 // ANALOG NUMBERING

#define TEMP_1_PIN 15 // ANALOG NUMBERING

#define TEMP_2_PIN -1 // ANALOG NUMBERING

#if MB(RAMPS_14_EFF) || MB(RAMPS_14_EEF) || MB(RAMPS_14_SF) || MB(RAMPS_13_EFF) || MB(RAMPS_13_EEF) || MB(RAMPS_13_SF)

#define HEATER_BED_PIN -1 // NO BED

#else

#define HEATER_BED_PIN 8 // BED

#endif

#define TEMP_BED_PIN 14 // ANALOG NUMBERING

#if ENABLED(Z_PROBE_SLED)

#define SLED_PIN -1

#endif

#if ENABLED(ULTRA_LCD)

#if ENABLED(NEWPANEL)

#if ENABLED(PANEL_ONE)

#define LCD_PINS_RS 40

#define LCD_PINS_ENABLE 42

#define LCD_PINS_D4 65

#define LCD_PINS_D5 66

#define LCD_PINS_D6 44

#define LCD_PINS_D7 64

#else

#define LCD_PINS_RS 16

#define LCD_PINS_ENABLE 17

#define LCD_PINS_D4 23

#define LCD_PINS_D5 25

#define LCD_PINS_D6 27

#define LCD_PINS_D7 29

#endif

#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)

#define BEEPER_PIN 37

#define BTN_EN1 31

#define BTN_EN2 33

#define BTN_ENC 35

#define SD_DETECT_PIN 49

#elif ENABLED(LCD_I2C_PANELOLU2)

#define BTN_EN1 47 // reverse if the encoder turns the wrong way.

#define BTN_EN2 43

#define BTN_ENC 32

#define LCD_SDSS 53

#define SD_DETECT_PIN -1

#define KILL_PIN 41

#elif ENABLED(LCD_I2C_VIKI)

#define BTN_EN1 22 // reverse if the encoder turns the wrong way.

#define BTN_EN2 7 // http://files.panucatt.com/datasheets/viki_wiring_diagram.pdf

// tells about 40/42.

// 22/7 are unused on RAMPS_14. 22 is unused and 7 the SERVO0_PIN on RAMPS_13.

#define BTN_ENC -1

#define LCD_SDSS 53

#define SD_DETECT_PIN 49

#elif ENABLED(ELB_FULL_GRAPHIC_CONTROLLER)

#define BTN_EN1 35 // reverse if the encoder turns the wrong way.

#define BTN_EN2 37

#define BTN_ENC 31

#define SD_DETECT_PIN 49

#define LCD_SDSS 53

#define KILL_PIN 41

#define BEEPER_PIN 23

#define DOGLCD_CS 29

#define DOGLCD_A0 27

#define LCD_PIN_BL 33

#elif ENABLED(MINIPANEL)

#define BEEPER_PIN 42

// Pins for DOGM SPI LCD Support

#define DOGLCD_A0 44

#define DOGLCD_CS 66

#define LCD_PIN_BL 65 // backlight LED on A11/D65

#define SDSS 53

#define KILL_PIN 64

// GLCD features

//#define LCD_CONTRAST 190

// Uncomment screen orientation

//#define LCD_SCREEN_ROT_90

//#define LCD_SCREEN_ROT_180

//#define LCD_SCREEN_ROT_270

//The encoder and click button

#define BTN_EN1 40

#define BTN_EN2 63

#define BTN_ENC 59 //the click switch

//not connected to a pin

#define SD_DETECT_PIN 49

#else

#define BEEPER_PIN 33 // Beeper on AUX-4

// buttons are directly attached using AUX-2

#if ENABLED(REPRAPWORLD_KEYPAD)

#define BTN_EN1 64 // encoder

#define BTN_EN2 59 // encoder

#define BTN_ENC 63 // enter button

#define SHIFT_OUT 40 // shift register

#define SHIFT_CLK 44 // shift register

#define SHIFT_LD 42 // shift register

#elif ENABLED(PANEL_ONE)

#define BTN_EN1 59 // AUX2 PIN 3

#define BTN_EN2 63 // AUX2 PIN 4

#define BTN_ENC 49 // AUX3 PIN 7

#else

#define BTN_EN1 37

#define BTN_EN2 35

#define BTN_ENC 31 // the click

#endif

#if ENABLED(G3D_PANEL)

#define SD_DETECT_PIN 49

#else

// #define SD_DETECT_PIN -1 // Ramps doesn't use this

#endif

#endif

#else // !NEWPANEL (Old-style panel with shift register)

#define BEEPER_PIN 33 // No Beeper added

// Buttons are attached to a shift register

// Not wired yet

//#define SHIFT_CLK 38

//#define SHIFT_LD 42

//#define SHIFT_OUT 40

//#define SHIFT_EN 17

#define LCD_PINS_RS 16

#define LCD_PINS_ENABLE 17

#define LCD_PINS_D4 23

#define LCD_PINS_D5 25

#define LCD_PINS_D6 27

#define LCD_PINS_D7 29

#endif // !NEWPANEL

#endif // ULTRA_LCD

// SPI for Max6675 or Max31855 Thermocouple

#if DISABLED(SDSUPPORT)

#define MAX6675_SS 66 // Do not use pin 53 if there is even the remote possibility of using Display/SD card

#else

#define MAX6675_SS 66 // Do not use pin 49 as this is tied to the switch inside the SD card socket to detect if there is an SD card present

#endif

#if DISABLED(SDSUPPORT)

// these pins are defined in the SD library if building with SD support

#define SCK_PIN 52

#define MISO_PIN 50

#define MOSI_PIN 51

#endif

#ifndef KILL_PIN

// #define KILL_PIN -1

#endif
Ответы на вопросы

Ответы

03.03.2019 в 22:57
1

создаёте pins_MYBOARD.h и в нём прописываете пины, которые должны отличаться от стандартной MOTHERBOARD BOARD_RAMPS_14_EFB.
можно, конечно, и MOTHERBOARD BOARD_RAMPS_14_EFB исправить по своему усмотрению, прописав туда всё, что нужно, но с pins_MYBOARD.h кошернее - такая возможность как раз предусмотрена для случаев нестандартного включения некоторых пинов. с другой стороны - можно и забыть о его существовании и потом долго ломать голову: почему не переназначаются пины. поэтому когда делаю только для себя и ни с кем делиться не собираюсь - правлю основной файл. там всё есть, но закоментировано - обычно значением -1.

03.03.2019 в 23:32
0

я бы лучше в профиле MOTHERBOARD BOARD_RAMPS_14_EFB поменял (дописал) пины и все. 
Нашел распиновку MKS Gen v1.4:
Extruder1 - 7
Extruder0 - 10
fun - 9
head bad - 8.

Где мне это прописать, чтобы при выборе профиля MOTHERBOARD BOARD_RAMPS_14_EFB у меня было 2 нагревателя экструдера, вентилятор и стол?

И почему в прошивке присутствуют HEATER_0_PIN, HEATER_1_PIN, HEATER_2_PIN. Какой за что отвечает?

04.03.2019 в 00:13
0

перед // Use the RAMPS 1.4 Analog input 5 on the AUX2 connector добавляете:
#define HEATER_1_PIN 7 // EXTRUDER 2
остальное, как понимаю - остаётся так же, как было. термистор тоже уже прописан - на 15й пин

04.03.2019 в 08:41
0

Подождите, А разве для MKS GEN V1.4 не
вот этот тип платы ставить?
#define MOTHERBOARD BOARD_MKS_GEN_13 

Просто жду сейчас с Китая именно её. И Марлин уже сконфигил.

А та, что у вас указана - для бутерброда используется.

Поправьте, если ошибаюсь. Принтер только собираю, но с теорией,
как мне казалось, познакомился.

04.03.2019 в 10:04
0

В стоке у меня прописано  MOTHERBOARD BOARD_RAMPS_14_EFB

04.03.2019 в 10:14
0

если пины прописаны правильно - пофих, как вы назовёте плату. сверяйтесь с даташитом.

04.03.2019 в 12:05
0

Согласен, что если понимать где что и как, то, собственно, не только пофиг какую плату расскомментировать,
но и прошивку можно с нуля написать.
А если новичок (как я, например), то мне проще пока что не лезть во внутренности программы,
и прописывать всё с нуля, а взять максимально адаптированный вариант прошивки, и лишь чутка подправить её под свои нужды.

На скрине видно, что 'бутербродные' варианты все какие-то ущербные. 
Хочешь что-то дополнительно использовать - должен чем-то пожертвовать.

04.03.2019 в 12:19
0

На скрине видно, что 'бутербродные' варианты все какие-то ущербные.
из чего это видно? это просто стандартные распиновки для разных вариантов компоновки. как раз - для новичков/тех, кто не хочет или не может сам настроить полностью. но никто не запрещает для себя любимого дописать/исправить имеющийся файл. при этом у вас широкий выбор:
1. исправить наиболее подходящий
2. выбрать наиболее подходящий, а изменения прописать в pins_MYBOARD.h
3. скопировать наиболее подходящий, обозвать его pins_VASJA_PYPKIN.h, внести в него изменения и выбрать в качестве  MATSERBOARD..

04.03.2019 в 13:37
0

Это мне ещё только предстоит осваивать. :)

04.03.2019 в 17:34
0

Короче разобрался. Надо было выбрать MOTHERBOARD BOARD_MKS_13

Вот вкладка 'pins_MKS_13.h'

* Arduino Mega with RAMPS v1.4 adjusted pin assignments
 *
 *  MKS v1.3  (Extruder, Fan, Bed)
 *  MKS v1.3  (Extruder, Extruder, Fan, Bed)
 *  MKS v1.4  (Extruder, Fan, Bed)
 *  MKS v1.4  (Extruder, Extruder, Fan, Bed)
 */

#include 'pins_RAMPS_14_EFB.h'

#undef HEATER_1_PIN
#define HEATER_1_PIN        7 // EXTRUDER 2 (-1 on RAMPS 1.4)

Тут тупо тоже самое что и в 'pins_RAMPS_14_EFB.h', только добавляется тот самый второй экструдер.

Для написания комментариев, пожалуйста, авторизуйтесь.

Читайте в блогах

Моргающая черепушка для флористов

Герконовый датчик импульсов для газового счетчика BK-4GT

Хирургический шаблон из фотополимера Harz labs Dental yellow на Form2.

Печать ULTEM (PEI) и материалом PEEK на одном устройстве: новый 3DGence INDUSTRY F420

Причесываем TEVO Little Monster для использования дома.

3D печать пластиком PEEK и ULTEM. Обзор 3D принтера Intamsys Funmat HT от 3Dtool.