Что не так с моим кодом «отключить датчик»?

8

У меня есть катушка из полупрозрачной нити PLA, которая плохо работает с датчиком нити на моем Prusa i3 MK3. Прозрачность отключает датчик, заставляя его думать, что нить закончилась. Я решил создать профиль нити в Slic3r и отключить датчик в блоке «Start G-code», который вставляется в начало экспортированного файла gcode.

У меня есть следующий код:

M900 K{if printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}200{else}30{endif}; Filament gcode
M406 ; Disable filament sensor
M117 Filament sensor OFF

Первая строка предоставлена ​​профилем PLA по умолчанию Prusa. Вторая строка должна отключить датчик, а третья строка должна напечатать сообщение «Датчик нити выключен». Если я посмотрю в gcode, это там:

G92 E0.0
M221 S95
M900 K30; Filament gcode
M406 ; Disable filament sensor
M117 Filament sensor OFF
G21 ; set units to millimeters
G90 ; use absolute coordinates
M83 ; use relative distances for extrusion
;BEFORE_LAYER_CHANGE

Но если я распечатаю этот файл gcode, я не вижу сообщения, и при проверке датчика в меню «Настройка» во время печати датчик все еще включен.

Я думал, что у меня могут быть проблемы с окончаниями строк, но, глядя на файл в шестнадцатеричном редакторе, все строки, похоже, заканчиваются 0Aсимволом перевода строки, включая мою.

Почему мой принтер ничего не делает с сообщениями M406 и M117? Полный файл gcode здесь .

Bas
источник

Ответы:

1

Когда вы загружаете последнюю версию вашей прошивки, вы найдете реализацию всех кодов в Marlin_main.cpp. Здесь вы видите, что M406 не реализован! Следовательно, это не работает.

0scar
источник
это оригинальная пруса - значит марлин не используется!
profesor79
1
@ profesor79 Загрузите программное обеспечение с самого Prusa, и вы увидите, что у него есть файл Marlin_main.cpp! github.com/prusa3d/Prusa-Firmware/blob/MK3/Firmware/…
0scar
хорошо, понял, еще раз, это пазлы отсортированы :)
profesor79
1
@ profesor79 Всегда рад преподавать профессору;)
0scar
1
@ Поскольку я не могу сказать наверняка, Prusa реализовала M117 по-другому (с более высоким приоритетом?). Может быть, это не работает безупречно.
0scar
1

В github PR это не реализовано - смотрите этот PR для подробностей. Проверьте, обрабатывает ли ваш принтер M406, выдав его вручную.

А пока наклейка на сенсоре поможет вам распечатать :)

profesor79
источник
Professor79 Не могли бы вы рассказать немного подробнее о том, как использовать наклейку, чтобы остановить проблему с датчиком накаливания? Может быть, фотография или конкретный совет размещения? Оставшись наедине со своими устройствами, я буду продолжать избегать этой проблемы, печатая мои блестящие нити в полной темноте. Там должен быть лучший способ. Спасибо, из арахисовой галереи
Winky42
@ Winky42, это зависит от того, есть ли у вас механический или оптический датчик. Если он оптический, тогда просто закройте линзы, если механический, опустите рычаг.
profesor79