Как добавить кнопку аварийной остановки через Micro USB?

У меня есть Эндер 3. Я хочу добавить кнопку аварийной остановки. В идеале он подключается к порту micro USB принтера и запускает M112. Я использую прошивку по умолчанию и не планирую ее менять.

, 👍2


1 ответ


3

Самый эффективный способ осуществить аварийную остановку-выдернуть вилку или выключить принтер. Альтернативой является прекращение использования программы сервера печати, например OctoPrint.

Действительно M112 способен остановить принтер:

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

Чтобы использовать функцию аварийной остановки, вам нужна прошивка, способная выполнить аварийную остановку, включив ее в конфигурационном файле принтера Configuration_adv.h, в противном случае ей придется ждать очереди, которая будет опустошена первой. Я сомневаюсь, что это стандартно включено в вашей прошивке по умолчанию (по умолчанию Marlin отключен).

Из Конфигурации_adv.h Марлина :

/**
 * Анализатор аварийных команд
 *
 * Добавьте низкоуровневый парсер для перехвата определенных команд, как они
 * войдите в буфер последовательного приема, чтобы они не могли быть заблокированы.
 * В настоящее время обрабатывает M108, M112, M410, M876
 * ПРИМЕЧАНИЕ: Еще не реализовано для всех платформ.
 */
//#define EMERGENCY_PARSER

Обратите внимание, что это может быть не реализовано; это не было реализовано для всех платформ.

Более ранний вопрос "Могут ли сценарии G-кода запускаться автоматически при вставке SD-карты при использовании прошивки Marlin?"есть ответ, который намекает на изменение источников при вставке SD-карты. В вашем случае USB необходимо контролировать, и это сигнал обнаружен принтер остановился.

Итак, поскольку:

Я использую прошивку по умолчанию и не планирую ее менять

без модификации прошивки невозможно сделать то, что вы хотите. Но, есть совершенно жизнеспособные варианты, упомянутые и доступные, чтобы сделать то, что вы хотите (выполнение аварийной остановки). В качестве альтернативы вы можете даже использовать реле (n Arduino powered), чтобы отключить питание на основе сигнала, который вы хотите отправить.


,

Как насчет удлинения одного из кабелей питания (предпочтительно заземления) к передней панели и установки на этом проводе красивой красной, нормально подключенной аварийной кнопки? Затем вы нажимаете на нее, и питание на мгновение отключается., @octopus8

Самым простым способом, вероятно, было бы короткое замыкание 5 В на землю с помощью вашей кнопки. Однако то, насколько хорошо ваша плата справится с этим, зависит от платы., @towe

Я просто подумал о том, чтобы разорвать провод заземления, идущий от источника питания к плате. Таким образом, после нажатия кнопки цепь питания размыкается, и питание на плату не подается. Похоже на перезагрузку., @octopus8