[БЕЗ ЗВУКА] [МУЗЫКА] Здравствуйте! Ну что ж, наш 3D-принтер уже собран. Теперь нам предстоит его откалибровать, то есть добиться правильного и точного позиционирования каретки, подачи прутка, а также обработки состояний механических ограничителей движения. Фактически, после выполнения начальной калибровки, ваш принтер уже сможет напечатать первый объект. Для выполнения калибровки, нам придется общаться с принтером. То есть отсылать ему команды в формате G-код, и смотреть, какие ответы он нам присылает. Для этого я предлагаю вам воспользоваться Pronterface — это свободное программное обеспечение, которое, к тому же, кроссплатформенное, то есть работает по крайней мере, под Linux и Windows. В целом, интерфейс простой и интуитивно понятный. Для печати файла достаточно загрузить G-код файл и нажать print. Помимо всех удобностей, там есть окно терминала, в которое выводится все, что нам сообщает принтер. Там же есть и поле ввода команд с кнопкой send. Весь процесс начнем с механических ограничителей движений. Так как в случае их неправильной работы наш экструдер либо будет перемещаться некорректно, либо вообще будет стоять на месте. Итак, прежде всего подключаемся к принтеру с помощью Pronterface. Для этого достаточно указать верное значение COM-порта и его скорость, так называемый Baud Rate и нажать кнопку Connect. Если все сделано верно, принтер ответит чем-то похожим на это. Теперь нам надо переместить экструдер в такое положение, чтобы ни один из ограничителей не был активен. После этого, отправим принтеру команду M119, в ответ на которую, он должен сообщить нам состояние ограничителей. Помните, что вывод может немного отличаться в зависимости от версии Marlin, но суть от этого не меняется. Итак, принтер нам сообщает, что все три ограничителя открыты, то есть не активированы. Если же вместо этого, принтер ответил, что состояние всех концевиков triggered, то есть активированы, значит в файле Configuration h, нужно поменять значение констант. x endstop inverting и соответственно для y и z на противоположные. И затем повторить эксперимент. В случае, если программа сообщает, что часть механических ограничителей движения в одном состоянии, а часть в другом, скорее всего, проблема в них самих. Попробуйте проверить провода и заменить неисправные. Конечно, это верно при условии, что у вас используются одинаковые ограничители. В противном случае, вам придется корректировать значения констант по отдельности. Теперь нужно проверить срабатывание каждого ограничителя. Для этого переместите экструдер по какой-нибудь из осей, например, по x до срабатывания соответствующего концевика, и заново отправьте программу M119. Посмотрите на результат. Если ограничитель остался в состоянии Open, скорее всего, он неисправен или неправильно подключен. Повторите эту процедуру для каждого ограничителя. Драйвер шагового двигателя ограничивает максимальный ток, идущий через него. Поэтому перед включением шаговых двигателей, сперва нужно отрегулировать этот параметр соответственно току, указанному в спецификации вашего двигателя. Ток настраивается с помощью маленького подстроечного резистора на самом драйвере. По-хорошему, надо рассчитать напряжение, именуемое в спецификации VRef. И соответственно добиться, чтобы по факту, именно это напряжение и было выставлено между соответствующими PIN-ами на платке драйвера. Для модельки Paolo A4988 этот параметр рассчитывается как ток, умноженный на 0,4. Чтобы добраться до PIN Ref щупа мультиметра, на плате Paolo предусмотрен специальный пятачок с отверстием, который обведен на обратной стороне драйвера. Следующий этап калибровки — добиться точного позиционирования экструдера по всем осям. Начнем с оси x. Нам надо убедиться, что мотор вращается и при этом вращается в нужном направлении. Поэтому переместите экструдер приблизительно на середину этой оси. Установим режим относительного позиционирования, отправив принтеру команду G91. И отправим команду на перемещение каретки по оси x в сторону увеличения координат, то есть в сторону от ограничителя на 2 см, G1, x20, результаты могут быть разные. Каретка переместилась в нужном направлении. Каретка переместилась в противоположном направлении, эту проблему проще всего решить, изменив значение константы invert x dir на противоположное. Ничего не произошло или мотор начал вибрировать — скорее всего, мотор подключен неправильно. Можно попробовать поменять два любых провода местами. И затем повторить операцию снова. Если мотор все еще не двигается, возможно ему не хватает тока. В этом случае можно попробовать заново отрегулировать ток с помощью подстроечного резистора на драйвере шагового двигателя. Если и это не помогло, подключите другой двигатель. Если другой двигатель продолжает вибрировать, скорее всего, проблема в драйвере. Замените его на другой. Кстати, не такая большая редкость. В моем случае один из пяти драйверов был неисправен и мне пришлось его заменить. Теперь, когда мотор вращается в нужном направлении, нужно откалибровать точность его перемещения. Для этого сначала вернем каретку в ее начальное положение с помощью команды G28x. Включим абсолютное позиционирование G90. И переместим каретку на 10 см, G1 X100. Осталось измерить, насколько реально переместилась каретка, при помощи линейки или штангенциркуля. Если оно отлично от 10 см, скорректировать первый элемент massive default axis step per unit в противоположную сторону. То есть если получилось больше 10 см — уменьшить, если меньше — увеличить. Обычно позиционирование по осям x, y выполняется точно уже со значениями по умолчанию. А вот с осью z возможно придется повозиться подольше, так как ее перемещение зависит от шага резьбы на вот этих вот осях. На этом этапе нам надо добиться точной подачи пластикового прутка. То есть чтобы при команде — подать n миллиметров пластикового прутка, подавалось именно n миллиметров. Для выполнения этой операции вы можете убрать нагреватель на элемент экструдер, в этом случае пруток у вас будет свободно выходить снизу. Для выполнения этого этапа калибровки, можно закомментировать строку define prevent dangerous extrude. В противном случае, команда на подачу прутка при холодном экструдере будет игнорироваться и вам надо будет его нагреть. В целом, процедура аналогична калибровке позиционирования каретки. За направление движения прутка отвечает константа invert e0 dir, которая определена в файле Configuration h. Итак, наш принтер готов печатать. Теперь нам остается освоиться с интерфейсом и настройками соответствующих программ. Что мы собственно и сделаем на следующей лекции. Ну, а я прощаюсь с вами. До следующей встречи.