Кремень КД Реклама
Кремень КМ Реклама

Аппаратное обеспечение RepRap. Часть 2. Шаговый квартет.

eta4ever
Идет загрузка
Загрузка
01.02.2016
20536
80
Техничка

Подпишитесь на автора

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

Отписаться от уведомлений вы всегда сможете в профиле автора.

65
Аппаратное обеспечение RepRap. Часть 2. Шаговый квартет.
Первая часть про 8 бит была встречена достаточно тепло, это приятно. Правда, пришлось немного ответвиться от основного повествования, проведя экспресс-анализ того, как на самом деле Marlin выдает импульсы драйверам… Ответвление, кстати, имеет непосредственное отношение к сегодняшней теме. Речь пойдет о том, как описанный ранее микроконтроллер управляет шаговыми двигателями.

Move it!

В «прямоугольных» принтерах нужно обеспечить перемещение по трем осям. Допустим, двигать печатающую головку по X и Z, а стол с моделью - по Y. Это, например, привычный, любимый китайскими продавцами и нашими покупателями Prusa i3. Или Mendel. Можно двигать голову только по X, а стол - по Y и Z. Это, например, Felix. Я практически сразу как вляпался в 3D-печать (с МС5, у которого XY-стол и Z-голова), так стал поклонником перемещения головы по X и Y, а стола - по Z. Это кинематика Ultimaker, H-Bot, CoreXY.
Аппаратное обеспечение RepRap. Часть 2. Шаговый квартет.
Короче, вариантов много. Давайте для простоты считать, что у нас три мотора, каждый из которых отвечает за движение чего-нибудь по одной из осей в пространстве, согласно декартовой системе координат. У «прюши» за вертикальное перемещение отвечают два двигателя, суть явления это не меняет. Итак, три мотора. Почему в заголовке квартет? Потому что надо еще пластик подавать.

В ногу

Традиционно используются шаговые двигатели. Их фишка - хитрая конструкция обмоток статора, в роторе используется постоянный магнит (то есть, контактов, касающихся ротора нет - ничего не стирается и не искрит). Шаговый двигатель, согласно своему названию, двигается дискретно. Наиболее распространенный в рамках RepRap образчик имеет типоразмер NEMA17 (по сути, регламентируется посадочное место - четыре крепежных отверстия и выступ с валом, плюс два габарита, длина может варьироваться), оснащен двумя обмотками (4 провода), а полный оборот его состоит из 200 шагов (1.8 градуса на шаг).
Аппаратное обеспечение RepRap. Часть 2. Шаговый квартет.
В простейшем случае, вращение шагового двигателя осуществляется путем последовательной активации обмоток. Под активацией понимается приложение к обмотке напряжения питания прямой или обратной полярности. При этом схема управления (драйвер) должна не только уметь коммутировать «плюс» и «минус», но и ограничивать потребляемый обмотками ток. Режим с коммутацией полного тока называется полношаговым, и у него есть весомый недостаток - на низких скоростях двигатель жутко дергается, на чуть более высоких - начинает греметь. В общем, ничего хорошего. Для увеличения плавности движения (точность не увеличивается, дискретность полных шагов никуда не пропадает!) применяется микрошаговый режим управления. Он заключается в том, что ограничение тока, подаваемого на обмотки, изменяется по синусоиде. То есть, на один реальный шаг приходится некоторое количество промежуточных состояний - микрошагов.

Для реализации микрошагового управления двигателями применяются специализированные микросхемы. В рамках RepRap их две - A4988 и DRV8825 (модули на основе этих микросхем обычно называются так же). Плюс, осторожно сюда начинают проникать хитроумные TMC2100. Драйверы шаговых двигателей традиционно выполняются в виде модулей с ножками, но бывают и напаяны на плату. Второй вариант с первого взгляда менее удобен (нет возможности изменить тип драйвера, да и при выходе оного из строя возникает внезапный геморрой), но плюсы тоже имеются - на продвинутых платах обычно реализуется программное управление током двигателей, а на многослойных платах с нормальной разводкой запаянные драйверы охлаждаются через «пузо» чипа на теплоотводный слой платы.

Но, опять же, говоря о самом распространенном варианте - микросхема драйвера на собственной печатной плате с ножками. На входе у нее три сигнала - STEP, DIR, ENABLE. Еще три вывода отвечают за конфигурацию микрошага. На них мы подаем или не подаем логическую единицу, устанавливая или снимая джамперы (перемычки). Логика микрошага прячется внутри чипа, нам туда влезать не надо. Можно запомнить только одно - ENABLE разрешает работу драйвера, DIR определяет направление вращения, а импульс, поданный на STEP, говорит драйверу о том, что необходимо сделать один микрошаг (в соответствии с заданной джамперами конфигурацией).

Основное отличие DRV8825 от A4988 - поддержка дробления шага 1/32. Есть другие тонкости, но для начала достаточно этого. Да, модули с этими чипами вставляются в колодки управляющей платы по-разному. Ну, так получилось с точки зрения оптимальной разводки плат модулей. А неопытные пользователи жгут.
Аппаратное обеспечение RepRap. Часть 2. Шаговый квартет.
В общем случае, чем выше значение дробления, тем плавнее и тише работают двигатели. Но при этом увеличивается нагрузка на «ногодрыг» - ведь выдавать STEP приходится чаще. О проблемах при работе на 1/16 лично мне не известно, а вот когда возникает желание полностью перейти на 1/32, уже может возникнуть нехватка производительности «меги». Особняком тут стоят TMC2100. Это драйверы, которые принимают сигнал STEP с частотой как для 1/16, а сами «додумывают» до 1/256. В результате имеем плавную бесшумную работу, но не без недостатков. Во-первых, модули на TMC2100 стоят дорого. Во-вторых, лично у меня (на самодельном CoreXY под названием Kubocore) с этими драйверами наблюдаются проблемы в виде пропуска шагов (соответственно, сбой позиционирования) при ускорениях выше 2000 - с DRV8825 такого нет.

Резюмируя в трех словах: на каждый драйвер нужно две ноги микроконтроллера, чтобы задать направление и выдавать импульс микрошага. Вход разрешения работы драйвера обычно общий на все оси - кнопка отключения двигателей в Repetier-Host как раз одна. Микрошаг - это хорошо с точки зрения плавности движений и борьбы с резонансами и вибрацией. Ограничение максимального тока двигателей надо настраивать с помощью подстроечных резисторов на модулях драйверов. При превышении тока мы получим чрезмерный нагрев драйверов и двигателей, при недостаточном токе будет пропуск шагов.

Спотыкач

В RepRap не предусмотрено обратной связи по положению. То есть, программа управляющего контроллера не знает, где в данный момент находятся подвижные части принтера. Странно, конечно. Но при прямой механике и нормальных настройках это работает. Принтер перед началом печати перемещает все, что можно, в начальную позицию, и от нее уже отталкивается во всех передвижениях. Так вот, противное явление пропуска шагов. Контроллер выдает драйверу импульсы, драйвер пытается провернуть ротор. Но при чрезмерной нагрузке (или недостаточном токе) происходит 'отскок' - ротор начинает поворачиваться, а потом возвращается в исходное положение. Если это происходит на оси X или Y, мы получаем сдвиг слоя. На оси Z - принтер начинает 'вмазывать' следующий слой в предыдущий, тоже ничего хорошего. Нередко пропуск происходит на экструдере (из-за забива сопла, чрезмерной подачи, недостаточной температуры, слишком малого расстояния до стола при начале печати), тогда мы имеем частично или полностью непропечатанные слои.

С тем, как проявляется пропуск шагов, все относительно понятно. Почему это происходит? Вот основные причины:

1. Слишком большая нагрузка. Например, перетянутый ремень. Или перекошенные направляющие. Или 'убитые' подшипники.

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

3. Неправильная настройка тока драйвера.

Последний пункт - вообще тема для отдельной статьи. Если вкратце - у каждого шагового двигателя есть такой параметр, как номинальный ток. Он для распространенных моторов находится в диапазоне 1.2 - 1.8 А. Так вот, при таком ограничении тока у вас должно все хорошо работать. Если нет - значит, двигатели перегружены. Если нет пропуска шагов с более низким ограничением - вообще прекрасно. При снижении тока относительно номинала уменьшается нагрев драйверов (а они могут перегреваться) и двигателей (больше 80 градусов не рекомендуется), плюс, снижается громкость 'песни' шаговиков.

На этом, пожалуй, все. В комментарии приглашаются новички с вопросами и специалисты с дополнениями и конструктивной критикой.

Подпишитесь на автора

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

Отписаться от уведомлений вы всегда сможете в профиле автора.

65
Комментарии к статье