Где я ошибся, пытаясь добавить дополнительный двигатель к своей плате?

Я хотел бы добавить дополнительный двигатель к своей плате, и я не уверен, где я ошибся. Двигатель будет использоваться для вращения вращающегося колеса/каретки с потенциальными горячими концами для переключения. Поскольку это всего лишь двигатель, ему не нужен нагревательный стержень или датчик температуры.

У меня была только плата MKS_BASE 1.0, поэтому я купил плату RAMPS 1.4 на Ebay, чтобы расширить ее.

RAMPS 1.4 board

(( **Предупреждение ** эта плата дешевая, потому что она была изготовлена неправильно и представляет опасность пожара: https://reprap.org/wiki/RAMPS_1.4 . Я рекомендую вместо этого использовать щит с ЧПУ ))

Эта красная плата предназначена для Arduino Mega, но я полагаю, что могу использовать дополнительные контакты на MKS_BASE1.0 и подключить их с помощью перемычки к плате RAMPS 1.4. Это имело смысл на случай, если я захочу добавить что-то еще к оригинальной плате MKS_BASE 1.0 (например, больше картриджей с нагревателем хотенда).

Я подключил 5 В и один вывод GND из моей базы MKS_BASE 1.0. Я также подключил некоторые выводы сервоприводов из базы MKS_BASE 1.0: D37-это "Dir", D35 - "Шаг", а D17 - "Включить". Я также подключил источник питания 12 В к плате RAMPS 1.4.

RAMPS 1.4 board pinout

Когда пришло время модифицировать Marlin, все это немного раздражало, потому что, хотя Marlin позволяет легко добавлять больше экструдеров, добавить только двигатели немного сложнее. Мне пришлось изменить количество экструдеров на 3 (с двойной экструзии на двойную экструзию + дополнительный двигатель), включить дополнительный температурный вывод (который я оставляю пустым), а также изменить файл pins.h.

Мне, вероятно, не пришлось бы имитировать этот двигатель в качестве экструдера, если бы я знал необработанные команды Arduino для вращения двигателя с использованием вызовов D37, D35и D17, поэтому я решил, что имитация экструдера будет лучше, но теперь я сомневаюсь в этом решении.

Вот моя модификация pins.h:

#define E2_STEP_PIN 35
#define E2_DIR_PIN 37
#define E2_ENABLE_PIN 17

#define HEATER_2_PIN 17  

//#define TEMP_SENSOR_2 3 in Configuration.h

#define TEMP_2_PIN 3

// Marlin 0-indexes these pins, so "2" is actually for the "3"rd extruder

Первое, что мне нужно сделать, это разрешить холодное прессование с помощью M302 S-80. Все другие (настоящие) двигатели экструдера будут двигаться после этой команды, так что эта часть у меня работает....

В Repetier-Хосте я просто выбираю экструдер 3 и пытаюсь "протолкнуть нить накала" через него, но двигатель не движется. Я использую шаговый драйвер A4988 на Kysan 1124090. На самом деле, я проделал весь этот процесс с двумя двигателями, потому что не был уверен, будет ли проблемой само оборудование, поэтому с другим набором контактов я использую двигатель Suncor, и он также не реагирует, и я также не знаю почему.

Было бы действительно полезно отладить, если бы я мог выполнить одну команду G-кода только для того, чтобы двигатель работал на определенной скорости, и исключить это из уравнения. это не обязательно должна быть команда для "экструдера", а просто команда для вывода, например, M42 D35 S100 (но я не знаю команды raw для простого тестирования соединений двигателя).

, 👍5

Обсуждение

Я использую RAMPS 1.4 и не имею опасности возгорания, просто зеленый разъем должен быть изменен и лучше, чем экран с ЧПУ., @Fernando Baltazar


2 ответа


Лучший ответ:

1
  • Я заставил его работать с помощью щита с ЧПУ. До сих пор не разобрался с РАМПАМИ 1.4 на борту.

  • Он не работает с использованием D1 и D2 внутри Aux-1, потому что они используются для последовательной связи с ЖК-дисплеем. Поэтому каждый раз, когда вы отправляете команду по USB, они засоряются. В итоге я использовал порты 4, 5 и 63, и это работает отлично (не требуется сопоставление контактов, как в другом ответе).

    #define E4_STEP_PIN    4 // D4
    #define E4_DIR_PIN     5//  D5
    #define E4_ENABLE_PIN  63// D63

,

2

D35, D37, D17-это метки контактов на Arduino Mega. Они не соответствуют пинам внутри Marlin.

Я считаю, что D35 на самом деле соответствует pin-коду 49 marlin, и это номер, который вы должны ввести в свою прошивку. Вы можете найти отображение в fastio_1280.h:

Hardware Pin  : 02 03 06 07 01 05 15 16 17 18 23 24 25 26 64 63 13 12 46 45 44 43 78 77 76 75 74 73 72 71 60 59 58 57 56 55 54 53 50 70 52 51 42 41 40 39 38 37 36 35 22 21 20 19 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 04 08 09 10 11 14 27 28 29 30 31 32 33 34 47 48 49 61 62 65 66 67 68 69 79 80 81 98 99 100
Port          : E0 E1 E4 E5 G5 E3 H3 H4 H5 H6 B4 B5 B6 B7 J1 J0 H1 H0 D3 D2 D1 D0 A0 A1 A2 A3 A4 A5 A6 A7 C7 C6 C5 C4 C3 C2 C1 C0 D7 G2 G1 G0 L7 L6 L5 L4 L3 L2 L1 L0 B3 B2 B1 B0 F0 F1 F2 F3 F4 F5 F6 F7 K0 K1 K2 K3 K4 K5 K6 K7 E2 E6 E7 xx xx H2 H7 G3 G4 xx xx xx xx xx D4 D5 D6 xx xx J2 J3 J4 J5 J6 J7 xx xx xx xx xx
Logical Pin   : 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx

Найдите в верхней строке номер пин (например, D35 соответствует 35), затем найдите в нижней строке пин для использования в Marlin (в данном случае 49).

,

Я не думаю, что это правда, потому что цифры "D", на которые я ссылаюсь, взяты с платы MKS_BASE1.40, а не с Arduino mega (см. Второе изображение). Когда я подключаю кастрюлю к контакту 49 на втором изображении и запускаю ее с помощью "M42 P49 S100", она вращается так, чтобы номера Марлинов соответствовали номерам, которые я использую., @K Mmmm

`M42 " выполняет некоторый перевод pin, чего не делает код погружения на мотор., @Tom van der Zanden

Мой щит с ЧПУ пришел сегодня, так что я закончил тем, что наполнил руководство здесь; https://reprap.org/wiki/Adding_more_extruders#RAMPS_using_CNC_Shield Но это не переводит цифры, как вы предлагали... В то же время я могу заставить свой мотор работать очень слабо (или, по крайней мере, дрожать) по цене кнопки, но он работает "дергано" и не плавно. И я не знаю, как это исправить., @K Mmmm

Я думаю, что вы, возможно, правы, и я не знаю, как правильно перевести цифры... В приведенной выше базе MKS_BASE я использую четыре контакта AUX-1 (5 В, GND, D1, D2). Я также использую D63 в AUX-2. Судя по вашему переводу, pins.h должны быть... что? 0, 4, 15 для D1, D2 и D63? Когда я делаю это, ничто не движется, в отличие от того, когда я использую 2,1,63, оно, по крайней мере, немного движется, @K Mmmm

С тех пор как я написал ответ, на который я ссылался, сопоставления pin изменились. Я обновлю ответ новыми сопоставлениями., @Tom van der Zanden

Он вообще не движется с 0,4,15 для D2, D1 и D63 .... Я просто использую схему MKS_BASE сверху, а не необработанный Arduino Mega, @K Mmmm

Кроме того, почему Руководство, на которое я ссылаюсь, не учитывает это ?, @K Mmmm