KREMEN Реклама
KREMEN Реклама

Прошу помощи в восстановлении работоспособности принтера после смерти контроллера.

ttt.89
Идет загрузка
Загрузка
17.06.2025
585
10
Вопросы и ответы

Уважаемые товарищи нужна помощь, могу отблагодарить пивом и тд в денежном эквиваленте!)

Имеется когда-то кем-то самосборный принтер на раме P3STEEL BIZON или Prusa i3 Steel.

Так случилось что проц МЕГА2560 погиб. Естественно никаких исходников нет.

Но принтер в целом работал и я потихоньку учился и вникал в мир принтеров.

– Marlin 2.1.3;

– Arduino Mega 2560 + RAMPS 1.4;

– модуль UNI BLK Board v2.0 на хотэнде ;

– Дисплей 12864 ЖК-полностью Графический смарт-дисплей контроллер для RepRap RAMPS 1.4

– концевики по X и Y обычные микрики;

– аналог bltouch (touch antclabs smart v1.2 bltouch);

 – 0 по Z определялся по bltouch.

Так как контроллер умер я начал собирать прошивку с 0 ничего в этом не понимая на момент входа.

Начал собирать в конфигураторе на сайте 3drob.

Собрал на сколько мне хватало понимания.

Добился того что прошивка стала компилироваться.

Проблемы начались при парковке.

X и Y нормально паркуется по концевикам, как только дело доходило до парковки Z то принтер ехал по XY в центр стола, выкидывал щуп и тут же уходил в полный останов с ошибкой Error:Printer halted. kill() called!

Смотрел положение по "M119" и как я сделал вывод, щуп видит положение наоборот. то есть он выкидывая щуп сразу думал что щуп сработал. Начал я воевать в эту сторону попутно с попыткой получить какой-то вменяемый лог происходящего. Единственное что я смог заставить давать лог это команда "M111 S65535".

x_min: open

y_min: open

z_min: open

По этой инфе я подумал что проблема в том что z_min: open не определяется как probe: open.

потом стало

x_min: open

y_min: open

z_min: open

probe: open

при попытке сделать инверсию понял что ее не возможно сделать командами.

#define Z_MIN_PROBE_ENDSTOP_INVERTING true

#define PROBE_PIN_INVERTING true

#define Z_MIN_ENDSTOP_INVERTING true

Но я по прежнему не уверен в ту ли сторону я воюю. 

В общем напару с гуглом и нейросетью пробовали настраивать

Стандартный “сервомод” (Servo mode)

– Базовая схема, когда Marlin управляет сервоприводом напрямую (через SERVO0_PIN), а измерение срабатывания идёт по аналитическому сигналу BLTouch.

Принудительный “sw-mode” (software switch mode)

– Включали #define BLTOUCH_FORCE_SW_MODE, чтобы трактовать датчик как обычный концевик (триггерный switch).

Задержка перед считыванием (BLTOUCH_DELAY)

– Пробовали добавлять #define BLTOUCH_DELAY 500 (или увеличивали значение), чтобы дать механике время развернуться и стабилизироваться перед опросом состояния.

Инверсия сигнала зондирования (PROBE_PIN_INVERTING)

– Тестировали #define PROBE_PIN_INVERTING true (и false), чтобы учесть особенности вашей платы и разводки провода сигнала (активный низкий vs активный высокий).

Использование Z-MIN как входа зонда (Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)

– Перенаправляли вывод BLTouch на контакт концевика Z-MIN и включали соответствующую опцию, вместо отдельного порта Z_PROBE_PIN.

Товарищи прошу помочь собрать прошивку, что бы притер снова заработал!

С меня пиво, виски, коньяки тому кто поможет!

Извиняюсь за сумбурность мыслей, я два дня безвылазно просидел над принтером компилируя 100500 прошивок.

Ответы на вопросы