Установка отклонения соединения в прошивке не имеет никакого эффекта
Я построил 3D-принтер с раздвоенным Marlin bugfix-2.0.x из github.
Я пытаюсь установить значение по умолчанию для отклонения соединения, чтобы мне не приходилось менять его через экран/интерфейс принтера каждый раз, когда я включаю принтер, но то, что, как я думал, установит его правильно, не помогает.
Я думал, что раскомментировать это в Configuration_adv.h будет работать:
#define JUNCTION_DEVIATION_MM 0.02
Я попытался установить это определение внутри и снаружи блока if по умолчанию, в котором оно появляется, просто чтобы убедиться, что проблема не была вызвана тем, что у меня не было чего-то еще установленного, и я получаю то же самое поведение, когда этот
оператор define либо защищен, либо незащищен
if
Кроме того, блок if по умолчанию выглядит следующим образом:
#if ENABLED( JUNCTION_DEVIATION )
#define JUNCTION_DEVIATION_MM 0.02
#endif
Раскомментирование #define JUNCTION_DEVIATION
оставляет меня с ошибкой компилятора, говорящей мне, что мне не нужно этого делать, поэтому я не вижу ничего, что я должен включить, чтобы заставить его использовать параметр JUNCTION_DEVIATION_MM. Другими словами, я больше не могу включить "JUNCTION_DEVIATION", поэтому мне нужно сломать настройку JUNCTION_DEVIATION_MM из if
, но она по-прежнему не имеет эффекта.
После настройки этого параметра, когда я включить Питание принтера, соединения отклонение равно 0 (хотя одно касание ручка регулировки заставляет прыгать до 0.010, поэтому я думаю, что то, что отображается, как "0", на самом деле может означать "отключено"), который вызывает значительное стоп/старт, рывок на каждого угла не изменится, пока я вручную установить соединение отклонение.
Моя текущая конфигурация.h и Configuration_adv.h взяты из этой вилки Марлина.
Если это имеет значение, я запускаю это на SKR V1.3 с драйверами TMC2208 на 24V.
Есть идеи, чего мне не хватает? Я уверен, что это что-то простое, просто я его не нашел.
ОБНОВЛЕНИЕ: По-прежнему нет решения через 10 дней. Вот дополнительная информация с другого форума, где я разместил этот запрос:
Вы запускали
M502
иM500
после обновления прошивки?
Я покопался в этом немного больше, и я либо сталкиваюсь с ошибкой, либо просто не понимаю, что я должен видеть.
Я посылаю такую команду:
M205 J0.020
Затем убедитесь, что отклонение соединения установлено правильно (оно) Тогда вот что:
M500
И тот отвечает:
Сохраненные настройки (616 байт; crc 51371)
Тогда я посылаю это:
М503
И в отчете для M205 отсутствует настройка, которую я только что подтвердил, что она изменилась и работает:
...
M205 B20000.00 S0.00 T0.00
...
И циклическое включение или сброс регулятора приводит к тому же результату: отклонение перехода сбрасывается на 0.
Разве я не должен видеть "J0.020" в строке M205 сразу после изменения настройки и проверки ее работы?
@Chris Ostmo, 👍5
Обсуждение2 ответа
Лучший ответ:
Я купил SKR Pro V1.1, который страдает от той же проблемы. На самом деле это связано с недостатком или недостатком конструкции (адресации SPI-устройств типа "HAL" или "Hardware Abstraction Layer") Marlin и доступом к SD-карте; цитирую:
Проблема: На борту SD-карта на SKR-PRO 1.1 не может быть использована.
После того, как SD-карта была вставлена, двоичный файл прошивки загружается в память, и весь доступ к SD-карте отсутствует. Первоначальное соединение осуществляется аппаратным оформлением плат SKR.
В основном, в платах Marlin code/SKR есть ошибка, препятствующая хранению (на SD-карту) каких-либо изменений после загрузки прошивки. Есть PR на Marlin, который исправляет его, но он еще не был объединен в Marlin.
Есть 2 варианта,
- Каждое изменение прошивки должно быть скомпилировано и загружено на плату путем размещения шестнадцатеричной (firmware.bin) на SD-карте;
- Скомпилируйте версию прошивки из источников из упомянутого PR.
Для SKR для хранения новых определений Marlin необходимо отправить comand M502
для восстановления заводских настроек (будет использоваться конфигурация на SD-карте) и отправить comand M500
для сохранения конфигураций.
Спасибо, но восстановление настроек не требуется для установки или сохранения настроек. Это была ошибка между Marlin и SKR, и она была устранена в Marlin., @Chris Ostmo
- Шаговый двигатель нагревается через некоторое время
- Шаговые двигатели не работают при подключении к RAMPS 1.4
- Проблемы с Автоматическим выравниванием стола
- Перевернутая ось Y принтера
- Наведение 3D-принтера
- Какой порт UART использовать для выводов RPi GPIO на плате SKR v1.3
- Отпечатки зеркально отражаются по оси X и инвертируются в направлении оси Y
- Переключатель сопла контактного зонда автоматическое выравнивание с помощью Marlin 2.0
После нескольких месяцев борьбы с этим, я упростил тестовые случаи, и я пришел к выводу, что это ошибка в SKR 1.3. Я жду прибытия нового SKR 1.4, и если проблема существует и там, я отправляю отчет об ошибке на github. Обновит этот вопрос, когда это будет сделано., @Chris Ostmo
В плате Marlin code/SKR есть ошибка, препятствующая хранению любых изменений после загрузки прошивки (на SD-карту). Есть такой [пиар на Марлине](https://github.com/MarlinFirmware/Marlin/pull/16260) это исправляет его, но он еще не был объединен в Marlin., @0scar
@0scar Похоже, что этот запрос на вытягивание еще не был объединен, но я объединил изменения из ветки Marlin bugfix-2.0.x впервые примерно за 1,5 месяца, и проблема была решена. Подтверждено на SKR V1.3 и SKR V1.4 (проблема, возможно, никогда не существовала на последнем). Я не уверен, какой коммит сделал свое дело. Если вы опубликуете ответ, я приму его как решение. Спасибо!, @Chris Ostmo