Повторная калибровка исходного положения

Я купил себе "Эндер-3". Исходное положение находится примерно на 1 мм слева и на 2 мм впереди переднего левого угла. Теперь центральная ось hotend находится на расстоянии 11 мм от несущей пластины, а охладитель "Mk 10" установлен прямо на паре 5-миллиметровых колышков, являющихся частью пластины. Поскольку я хочу перейти на e3D v6, диаметр которого составляет 22 мм, мне придется отойти на некоторое расстояние (около 13 мм) от текущей оси Z. Это означает, что любая команда Y будет отключена на этом расстоянии.

Как мне перенастроить Исходное положение так, чтобы оно было смещено к 0-м позициям, полученным от концевых выключателей?

По словам Repetier Host, он работает на Marlin 1.0. Creality предлагает прошивку на своем веб - сайте в виде шестнадцатеричного файла, который трудно редактировать.

, 👍12

Обсуждение

По сути, вы хотите центрировать сопло в середине стола, как я понял из вашего вопроса. Когда сопло находится в центре, все остальные размеры также верны. Я описал, как вы это делаете, в книге Как центрировать мои отпечатки на сборке platform?. Решения 2 и 3-это прошивка, а не слайсерные решения, и они делают именно то, что вы хотите. Как только вы центрируете сопло в середине пластины, сопло будет находиться в начале координат (0,0), то есть в углу пластины., @0scar

Рабочее исходное положение/исходное положение печатного стола в точке 0,0,0 не обязательно должно быть положением переключателя возврата в исходное положение. Промышленные ЧПУ устанавливают концевые выключатели на механические/безопасные пределы системы, а затем калибруют рабочую систему координат для работы со «Смещениями». Смещение по Z, X, Y между исходным местоположением и системой координат стола настраивается в Marlin с помощью M206: https://marlinfw.org/docs/gcode/M206.html. Вы можете жестко закодировать некоторые смещения по умолчанию в источнике mMarlin. code и перекомпилируйте прошивку, или используйте M206, а затем запишите смещения в EEPROM вашей текущей прошивки., @Dave X


3 ответа


Лучший ответ:

4

Мы с Greenonline провели этот вечер, взламывая/перепроектируя Ender3, чтобы решить эту проблему. Greenonline также написал об этом в своем блоге.

Шаг 1 - Получите встроенное ПО

Для этого есть в основном два способа:

  1. Найдите готовую к использованию прошивку
  2. Сделайте свой собственный

Вариант 1-использовать предварительно предоставленные шестнадцатеричные файлы от Creality или какого-либо другого производителя . Вариант 2 означает самостоятельную запись настроек или использование прошивки Repetier для записи файлов за вас. В случае с Ender 3 чип использовал, к сожалению, дисквалифицированную прошивку Repetier, поэтому написать ее самостоятельно-единственный вариант.

Чтобы написать прошивку самостоятельно или с помощью прошивки Repetier, вам понадобятся старые настройки. Чтобы получить их, подключите принтер через USB, подключите его к программному обеспечению, такому как Repetier host, и отправьте M503, чтобы получить все настройки.

Теперь либо взломайте их в прошивку Repetier, либо используйте пустой файл Marlin.ino и Arduino IDE для его настройки. В более позднем случае вам нужно поместить папку Marlin-?.?.X.ZIP/Marlin-?.?.X/Marlin в папку Arduino в Документах (Windows) или Дома (Mac). Теперь откройте Marlin.ino в среде IDE Arduino. Настройте новую прошивку с этими базовыми настройками или отрегулируйте ее по мере необходимости.

Шаг 2 - Настройка

Теперь, когда у нас есть наши файлы конфигурации (в конце концов мы в значительной степени пропустили шаг 1 и взяли примерку (немецкий!) один от Кристиана, немецкого производителя, также известного как "Хаос-Друкер"), Нам нужно сначала настроить их по мере необходимости в соответствии с нашими потребностями, а затем скомпилировать их должным образом (следующий шаг!). В качестве альтернативы (на английском языке!) база для работы, также доступна прошивка TH3D, предоставленная Hooglands и командой TH3D.

Итак, давайте откроем ваш Marlin.ino с помощью arduino и найдем X_MIN_POS (CTRL+F > >X_MIN_POS > Поиск по всем эскизам).

В конфигурациях мы взяли конфигурацию файла эскиза.h содержит строки 786-789 (может отличаться):

// Пределы хода (мм) после самонаведения, соответствующие позициям упора.
#define X_MIN_POS -10
#define Y_MIN_POS -15
#define Z_MIN_POS 0

Отрегулируйте их, пока не будет достигнуто желаемое положение - хост-репетитор может помочь здесь определить правильное положение.

Шаг 3 - Компиляция

Самым сложным шагом с Ender3 было заставить код фактически компилироваться, так как он использует 16-бит ATmega1284P, который изначально не поддерживается Arduino. Хотя MightyCore поддерживает этот чип, он не компилируется с этой аппаратной библиотекой. Тем не менее, Кристиан выяснил, что Sanguino, установленный на 16 бит ATmega 1284P, действительно работает. Они относятся к извлеченным папкам в папке Arduino/аппаратного обеспечения, обычно в ваших документах (если вы используете Windows) или дома (на Mac). Теперь мы установили инструменты>Плата:>> Sanguino>> и инструменты>Процессор:>>ATmega1284 или ATmega1284P (16 МГц)>>

Также было обязательно установить U8glib.h для Arduino. Для этого загрузите zip с github, а затем в эскизе программного обеспечения Arduino>Включите библиотеку>>Добавьте .Библиотека ZIP... и выберите весь репозиторий zip для автоматической установки.

С помощью этих настроек мы смогли скомпилировать настройки.

Шаг 4 - Установка на машину

Большинство людей ожидали бы сейчас прочитать о загрузчиках и перепрошивке, и это действительно вариант. Но поскольку я только что выяснил, как установить прошивку из .hex, и поэтому я задался вопросом: не можем ли мы создать файлы .hex из наших настроек? И да, Arduino поддерживает это.

Итак, в Arduino IDE нажмите Ctrl+Alt+S (или Эскиз > Экспорт скомпилированного двоичного файла>). Это приведет к появлению двух файлов:

  • Марлин.ино.сангино.гекс
  • Marlin.ino.с_загрузчиком.sanguino.hex

Из этих двух, Marlin.ino.sanguino.hex является интересным для "прямого мигания" через CURA. Используйте этот файл с процессом, начинающимся с шага 2 здесь, или используйте одно из решений Greenonline, чтобы прошить прошивку - не требуется загрузчик!


,

10

При наведении принтера на каретку hotend'а будет дана инструкция нажать на (механические или оптические) концевые упоры. С этого момента хорошо настроенная прошивка знает, где найти источник тепла.

Для того чтобы принтер знал происхождение рабочего стола, в встроенном ПО определяются смещения от мест конечных остановок к фактическому происхождению теплового стола.

Например, в прошивке Marlin это определяется

 #define X_MIN_POS -35 ; move the head 35 mm to the right to place the 
                       ; nozzle at X = 0
 #define Y_MIN_POS -8  ; move the head 8 mm to the back (or the plate
                       ; forward) to place the nozzle at Y = 0

При замене оборудования (например, каретки) необходимо заново откалибровать механизм от места конечной остановки до начала рабочего стола. Обратите внимание, что для повторной калибровки можно использовать любую произвольную точку на нагревательном столе. Например, можно также использовать центр стола, и часто гораздо проще выполнить повторную калибровку, поскольку обогреваемые столы обычно имеют закругленные углы или немного больше фактической площади печати (например, у меня есть нагревательный стол 300 х 300 мм, который на самом деле составляет 315 х 315 мм). Таким образом, печать большого квадрата на нагревательном столе даст вам хорошее представление о смещении сопла благодаря вашей новой конструкции каретки.

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

Подробное описание для повторной калибровки приведено в ответе Как центрировать мои отпечатки на платформе сборки? или в калибровке центра внешней связи.

,

Ваш ответ пропускает основные положения, теперь, когда я действительно тестирую его: 1) как установить настройки прошивки в настоящее время? 2) Как реализовать изменения с помощью хоста Repetier? 3) Как загрузить измененную прошивку?, @Trish

Вы можете значительно улучшить ответ, включив 1) M503, чтобы получить текущие настройки прошивки. 2) укажите, какие файлы конфигурации прошивки обычно содержат эти команды, и 3) упомяните, что обычно в качестве загрузчика для прошивки новой прошивки используется arduino, и для этого перейдите по ссылке на учебник., @Trish

Получение, изменение и загрузка @Trish уже описано в другом вопросе, но очень приятно, что вы догадались скомпилировать его на своей плате! Приятно слышать, что все получилось!, @0scar

просто... пришлось в значительной степени перепроектировать части ender3 XD, @Trish

о боже, я только что понял, как много я узнал за последние 1,5 года о прошивке... тогда я был нубом, теперь я инструктирую, как это сделать, возвращаясь к этому вопросу!, @Trish

@Триш Обратите внимание, что источник Marlin все еще активно разрабатывается, и изменения происходят в диапазоне от версии 1.1.9 до версии 2.0.x. Например, для смещения датчика в версии 2.0. x смещение определяется "#define NOZZLE_TO_PROBE_OFFSET { XXX, YYY, ZZZ} " также сложнее получить отдельные значения из массива, я описал это здесь., @0scar

мы могли бы сделать пошаговое руководство по замене встроенного ПО для базы знаний, используя все ответы здесь и обновляя их для 2.x??, @Trish


4

Следуя ответу 0scar


Чтобы изменить или получить настройки EEPROM, вам необходимо открыть хост Repetier (для Linux или Windows, версия v2.1.3 - версия OSX, которую я пробовал, версия v1.1.0, похоже, не имела этой функции).

Чтобы изменить существующие настройки

От того, как вносить изменения в данные EEPROM. По-видимому, существует редактор EEPROM (на хосте Repetier). Из этого поста:

Если вы видите это в редакторе eeprom, просто измените их. Если он основан на повторной прошивке, он сохранит изменения в eeprom при нажатии "ок".

Чтобы получить существующие настройки

Это сообщение из поиска существующих настроек..., показывает, как:

Чтобы скопировать данные eeprom:

  • Подключение к хосту
  • Откройте настройки eeprom
  • Выберите экспорт параметров eeprom. Это сохраняет все данные в файле epr, и позже вы можете использовать параметры импорта eepsom для их перезаписи.

Пример результирующего файла показан в вопросе "Помощь с переменными прошивки Repetier" (робототехника группы Dimension Dual Delta - J), образец которого я включил ниже:

<Repetier-Firmware-EEPROM>
<epr pos="1028" type="0" value="0">Language</epr>
<epr pos="75" type="2" value="115200">Baudrate</epr>
<epr pos="129" type="3" value="32.752">Filament printed [m]</epr>
<epr pos="125" type="2" value="21644">Printer active [s]</epr>
<epr pos="79" type="2" value="0">Max. inactive time [ms,0=off]</epr>

Однако, по-видимому, для работы этих двух решений вам придется запускать прошивку Repetier, а не Marlin (но я могу ошибаться).

,