Проблема с заменой E0 на E1 (TEVO TARANTULA MARLIN 1.1.x)

Глядя на следующий код, из строки 139, pins_RAMPS.h

Screenshot of code snippet

Вот фактический код:

#if ENABLED(EXTRUDER_USE_E1)
  #define E0_STEP_PIN        36
  #define E0_DIR_PIN         34
  #define E0_ENABLE_PIN      30
  #ifndef E0_CS_PIN
    #define E0_CS_PIN        44
  #endif
#else
  #define E0_STEP_PIN        26
  #define E0_DIR_PIN         28
  #define E0_ENABLE_PIN      24
  #ifndef E0_CS_PIN
  #define E0_CS_PIN        42
  #endif
#endif

#if DISABLED(X_AXIS_USE_E1) && DISABLED(Y_AXIS_USE_E1) && DISABLED(Z_AXIS_USE_E1) && DISABLED(EXTRUDER_USE_E1)
  #define E1_STEP_PIN        36
  #define E1_DIR_PIN         34
  #define E1_ENABLE_PIN      30
  #ifndef E1_CS_PIN
  #define E1_CS_PIN        44
  #endif
#endif

Я уже перепробовал все, что говорит мне интернет-сообщество, чтобы решить эту проблему, но это все не помогает мне. Почти все говорят, что мне просто нужно поменять местами эти строки кода, и это сработает, но это не работает. Есть какие-нибудь идеи ?

Кстати, E0 не работает, потому что я сжег на нем кастрюлю :)

, 👍1

Обсуждение

Возможный дубликат Как изменить E0 на E1 в Marlin 1.1?, @0scar

Нет, у меня другой вопрос. У меня изменились строки кода, но он не работает, в то время как в другом посте таких строк вообще не было, @Ilya Smirnoff

пожалуйста, проверьте это и дайте мне знать, если это поможет: https://3d-printery.ru/topics/5916/9730, @profesor79

@IlyaSmirnoff в связанной теме описано, что вам нужно сделать, чтобы изменить расположение выводов, чтобы заменить E0 на E1, так что это сработает, если вы измените контакты в правильном файле расположения выводов для вашей материнской платы. Откуда взят фрагмент, который вы опубликовали? Я не могу найти это в Марлине по умолчанию., @0scar

Привет, поскольку вы говорите, что предлагаемые 0scar и профессором решения не сработали для вас, мне было интересно, решали ли вы когда-нибудь свою проблему и находили ли решение? Если да, не могли бы вы опубликовать это..?, @Greenonline


2 ответа


1

Сначала было неясно, откуда взят фрагмент, который вы опубликовали, поскольку он не был указан в вопросе (теперь это было рассмотрено редакцией модератора).

В зависимости от значения EXTRUDER_USE_E1 (и от того, где и как оно установлено) будет выполняться базовый код оператора if. Несмотря на сказанное, замена строк не будет работать, если вы хотите использовать разъем E1 на материнской плате, вы должны заставить принтер думать, что он использует E0, когда он перенаправляется на E1! Это означает, что вам нужно назначить контакты E1 экструдеру E0 (поэтому меняйте местами контакты, а не линии). Это было объяснено ранее в этом разделе путем редактирования правильного файла компоновки контактов прошивки Marlin.


Дальнейшее расследование показывает, что у вас есть собственный Марлин для тарантула TEVO, и вы используете развилку Марлина, поддерживаемую Джимброуном (это важная информация для вашего вопроса). Я просмотрел файлы, единственное, что вам нужно будет сделать, это определить константу EXTRUDER_USE_E1 в файле configuration.h:

//#define EXTRUDER_USE_E1

Для:

#define EXTRUDER_USE_E1

Так что ничего не меняйте местами. Как только эта константа будет определена, перераспределение контактов будет выполнено автоматически! (смотрите файл pins_RAMPS.h)

В принципе, это точно то же самое, что описано в теме, Как изменить E0 на E1 на Marlin 1.1? и, следовательно, дубликат. ;)


,

0

Я просто поменял контакты местами

#define E1_STEP_PIN        26  //swapping to E1 FRED
#define E1_DIR_PIN         28
#define E1_ENABLE_PIN      24
#ifndef E1_CS_PIN
  #define E1_CS_PIN        42
#endif

#define E0_STEP_PIN        36  //swapping to E0 FRED
#define E0_DIR_PIN         34
#define E0_ENABLE_PIN      30
#ifndef E0_CS_PIN
  #define E0_CS_PIN        44
#endif

Что работало для основной операции, однако теперь, когда я попытался добавить автоматический выравнивание, двигатель E1 перестал двигаться. Моя конфигурация.файл h не содержит:
#define EXTRUDER_USE_E1 по-видимому, как и его более старая версия, точно так же, как RAMPS.h не имеет этих условных утверждений.

,

Привет и добро пожаловать в SE.3DP! К сожалению, ваш ответ на самом деле не отвечает на вопрос. StackExchange-это сайт вопросов и ответов, а не форум с потоковыми сообщениями. Причина этого заключается в том, чтобы помочь в поиске ответов на вопросы и предоставить их в виде структурированных вопросов и ответов. Можете ли вы опубликовать свой вопрос, используя ссылку [Задать вопрос](/вопросы/задать) в верхней части страницы? Когда вы публикуете свой новый вопрос, добавьте версию Marlin, вернитесь к этому исходному вопросу, используя URL-адрес (поскольку именно по этой причине вы опубликовали его в первую очередь), и удалите этот ответ. Спасибо., @Greenonline