Автоматическое выравнивание стола с платой Румба - Сервопривод не развертывается
Кому-нибудь удалось установить автоматическое выравнивание стола на плату Rumba с прошивкой Marlin?
У меня есть последняя стабильная версия 1.1.0 RC6.
Я был бы признателен за некоторые указания, особенно в отношении:
- Как и какой штифт активировать для сервопривода?
- Как проверить это с помощью G-кода, прежде чем перейти к настройкам последовательности зондов?
На данный момент я установил только аппаратное обеспечение (сервопривод 5 В), подключенное к Ext. 3 (EXP3):
- Вывод 2 (+5В);
- Вывод 4 (GND) и;
- Вывод 6 (ШИМ),
но я не могу переместить его с помощью команды G-кода M280 P0 S180
. Я понятия не имею, куда девать прошивку, чтобы все это началось. Однако моя конечная цель - установить ABL.
@FeliceM, 👍6
Обсуждение2 ответа
Лучший ответ:
Общее примечание, у меня нет этой платы, поэтому я не могу проверить эти шаги самостоятельно, прочитайте документацию в configuration.h, она очень подробная и должна помочь вам довольно хорошо. Я специально смотрю на Marlin 1.1 RC7 на Github, поэтому строки ниже могут незначительно отличаться от того, что вы видите.
Что касается контактов для подключения на плате для сервопривода, pins_RUMBA.h - это место, где они определены / сопоставлены. Для других плат существует pins_[your_board_name].h, который будет определять контакты для любой данной платы.
Штифт сервопривода по умолчанию для Румбы:
#define SERVO0_PIN 5
Штифт 6, по-видимому, используется для третьего нагревателя экструдера.
#define HEATER_2_PIN 6 // ЭКСТРУДЕР 3
В конфигурации.h вы должны раскомментировать (удалить косые черты "//" в начале) строки и заполнить углы укладки и развертывания во второй строке для сервопривода. Найдите эти строки под заголовком "Параметры зонда Z".
//#define Z_ENDSTOP_SERVO_NR 0
//#define Z_SERVO_ANGLES {70,0} // Углы развертывания и укладки сервопривода Z
Определите смещения зонда от сопла экструдера:
#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X смещение: -влево + вправо [сопла]
#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Смещение Y: -спереди + сзади [сопла]
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Смещение Z: -ниже + выше [сопла]
Основываясь на вашем комментарии к использованию двух концевых выключателей z, существует опция, которую вы должны включить, чтобы использовать стандартный концевой выключатель для самонаведения и использовать только концевой выключатель зонда для операций типа выравнивания сетчатого стола. Файл config.h содержит много информации об этом, пожалуйста, прочитайте его для вашей собственной безопасности и безопасности ваших принтеров.
Раскомментируйте эту строку:
//#define Z_MIN_PROBE_ENDSTOP
и прокомментируйте эту строку:
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
Затем установите высоту каретки так, чтобы комната z-зонда могла качаться вниз и двигаться:
#define Z_PROBE_DEPLOY_HEIGHT 15 // Поднять, чтобы освободить место для развертывания зонда / уложить
#define Z_PROBE_TRAVEL_HEIGHT 5 // Поднять между точками зондирования.
Для раскомментации выравнивания autobed:
//#define AUTO_BED_LEVELING_FEATURE // Удалить комментарий, чтобы включить
Затем установите углы точек зонда:
#if ENABLED(AUTO_BED_LEVELING_GRID)
#define LEFT_PROBE_BED_POSITION 15
#define RIGHT_PROBE_BED_POSITION 170
#define FRONT_PROBE_BED_POSITION 20
#define BACK_PROBE_BED_POSITION 170
#define MIN_PROBE_EDGE 10 // Минимальные квадратные стороны зонда Z не могут быть меньше этого.
Установите количество точек для зондирования в каждом направлении (x и y), по умолчанию 2, поэтому он будет зондировать 4 местоположения, другой общий выбор - 3, поэтому он будет зондировать сетку из 9 местоположений.
// Задайте количество точек сетки для каждого измерения.
// Вам, вероятно, не нужно больше 3 (квадрат = 9).
#define AUTO_BED_LEVELING_GRID_POINTS 2
Это должно быть все, что вам нужно для базовой настройки, хотя есть и другие варианты, которые я не рассматривал. Пожалуйста, ознакомьтесь со всеми комментариями к документации в разделе конфигурация.файл h так как он очень всеобъемлющий, даже если он может быть немного запутанным.
Надеюсь, это поможет!
Спасибо за ваш ответ. Основная проблема, с которой я сталкиваюсь, заключается в том, чтобы заставить сервопривод двигаться. Если я подключу его в соответствии с моим вопросом, он не сдвинется с места. Читая ваш ответ, похоже, что я должен подключить его к 2, 4 и PWM к 5, а затем использовать Servo0 в конфигурации и в Gcode. Ты это имеешь в виду? Я добавил в свой вопрос рисунок, показывающий диаграмму ext.3., @FeliceM
Да, лучшее, что я могу сказать, это подключить сигнальную линию к контакту 5, который является pwm1., @Jexoteric
Я сделал все в соответствии с вашим ответом. Мне также пришлось активировать поддержку сервопривода, где я определил СЕРВОПРИВОД NR 1. Я проверил функциональность сервопривода с помощью платы arduino, и все в порядке. Однако, когда я отправляю Gcode M280 P0 S90, сервопривод не перемещается! Не уверен в том, что делать., @FeliceM
Под каким углом в данный момент находится ваш сервопривод? Если он уже находится на 90, он не будет двигаться, вы можете попробовать другой угол, чтобы проверить. Кроме того, вы уверены, что индекс сервопривода начинается с 0 на этой плате? Попробуйте M280 P1 S80 и M280 P0 S80. Между этими двумя командами он проверит оба моих предложения. В остальном я думаю, что сделал все, что мог, чтобы помочь, даже не используя доску для румбы., @Jexoteric
Спасибо за вашу помощь. Поскольку мне нужно было определить количество сервоприводов в разделе Поддержка сервоприводов, я использовал 1, если я даю P1, он возвращает "сервопривод вне диапазона", в то время как с P0 ничего не происходит. Не определяя номер сервопривода, прошивка не компилируется и возвращает ошибку "определить номер сервопривода". Я снова протестировал сервопривод с помощью Arduino, и все в порядке. Я попробовал оба вывода 6 и 5 ext. 3, но он не двигается. Если я запускаю G29, принтер выполняет ABL, но сервопривод не перемещается. Я переместил его вручную в промежуточное положение, чтобы избежать того, чтобы он уже находился в конечном положении. Ничего!, @FeliceM
Я не решил свою проблему с сервоприводом, однако вы дали мне хороший ответ в ответ на мой вопрос, и поэтому вы заслужили награду. Спасибо за ваши усилия., @FeliceM
Для дальнейшего использования.
Моя проблема с тем, что сервопривод не двигался, была вызвана ошибкой проводки. Exp. 3 имеет 14 контактов в соответствии с этой схемой.
Однако, когда вы физически смотрите на плату, вы видите следующее:
Я взял первые 2 контакта справа от такого разъема и 3-й из первого ряда, думая, что подключаю контакты 2-4-5 Exp. 3. Я был неправ, потому что первые 2 (1-2) штыря не являются частью Exp. 3.
Правильный способ подключения сервопривода заключается в следующем:
Затем используйте PWM1 (вывод 5 Ext.3). Я решил оставить след этой проблемы и соответствующее решение для тех, кто может столкнуться с той же проблемой.
- Указание смещения Z в прошивке Marlin
- Как настроить Cura для запуска Z-зонда перед нагревом
- Z-смещение: 0,2 мм, 0,1 мм или толщина бумаги?
- Auto Desk Leveling неправильно компенсирует наклон стола (Anycubic Kobra Neo)
- BLTouch бьет по столу на двойном зондировании
- Нужно ли перекалибровать смещение z-зонда каждый раз, когда я переключаюсь на другую высоту слоя?
- Рабочий стол Marlin, выравнивающий шаблон проверки сетки, игнорирующий смещение дома
- 3DTouch срабатывает слишком близко
Чтобы иметь два переключателя Z min, вам придется подключить их параллельно так, чтобы при срабатывании любого из них плата увидела бы это, но это не стандартный способ реализации автоматического выравнивания, и вы захотите убедиться, что при нормальной работе переключатель выравнивания сетки всегда будет нажиматься первым, и, возможно, установите второй переключатель на 5 мм ниже, так что будет легкое, но не вредное столкновение со столом, будет почти невозможно заставить их обоих сработать одновременно и все же получить преимущества выравнивания сетки., @Jexoteric