Как запустить шаговый двигатель принтера его драйвером

Драйвер для шагового двигателя из принтера

Простой драйвер для шагового двигателя

Порой встает вопрос о том, как бы управлять шаговым двигателем. Как правило, это нужно осуществить, при проектировании какой-нибудь самоделки или более серьезного проекта, например станка с числовым программным управлением. Естественно, такое управление можно купить. Но, драйвер для шагового двигателя из принтера также можно сделать. Это будет самый простой вариант, который наглядно продемонстрирует возможность управлять этим устройством.

Понадобится старый принтер или сканер, можно неработающий. Оттуда, собственно, и будет извлечен шаговый двигатель, если такового нет в наличии. Также из платы потребуется выпаять управляющую микросхему под названием ULN2003. Она может быть и другая, в разной технике стоят различные микросхемы. Подойдут её аналоги: TD62003, отечественная К1109КТ22, более популярная MC1413, L203 и SG2003.

В принципе, подойдут и собратья этих микросхем, такие как ULN2023A, ULN2803 и им подобные. Стоит только смотреть даташиты. Микросхемы можно купить или выпаять из подобной техники. При выпаивании стоит быть осторожными, так как такие электронные компоненты извлекаются сложнее, и есть угроза повреждения их ножек.

Схема подключения проста.

Потребуется приобрести разъем DB-25, который будет подключаться к порту компьютера, для управления двигателем, в случае, если конструируется ЧПУ станок. Диапазоны входного напряжения указаны для конкретно этой микросхемы. Остальные микросхемы, возможно, потребуют отличного от этого напряжения питания.
В качестве источника питания отлично подойдет компьютерный блок питания. В принципе, подойдет любое зарядное или БП, напряжением от 12В до 24В, с током от 350мА.
Стоит отметить, что желательно обладать технической документацией к модели используемого двигателя, что упростит его подключение к драйверу.

Сам драйвер выглядит так:

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

Если конструкция делается для станка с ЧПУ, то на компьютер потребуется скачать программу Turbo CNC и настроить её под свои нужды.

Мнения читателей

Нет комментариев. Ваш комментарий будет первый.

Вы можете оставить свой комментарий, мнение или вопрос по приведенному выше материалу:

Источник

МК-управление микрошаговым драйвером LB1847 из старого принтера

Данная статья родилась в помыслах изготовить себе трёх-координатный микростанок с ЧПУ для выполнения некоторых минимальных задач по сверлению, фрезерованию и вырезке печатных плат.
В течение некоторого времени мне очень часто на запчасти отдают старые матричные и струйные принтеры по причинам того, что хозяева решили купить себе новый и более совершенный принтер или МФУ, ибо старенький свой принтер уже морально устарел или его ремонт будет стоить соизмеримо с приобретением нового принтера, а старый попросту выкинули.
После разборки и выброса ненужных пластмассовых деталей и внутренней механики, я себе оставлял только печатные платы, шаговые двигатели с пасиками и стальные направляющие, по которым когда-то бегала печатающая головка. Давным-давно я посматривал в них на интересную микросхему, которая питает тамошние шаговые двигатели.
Просто запросив в поиске даташит на данную микросхему, я увидел в ней не просто драйвер с четырьмя парами ключей, а полноценный микрошаговый ШИМ контроллер.

Итак, микросхема LB1847 (даташит PDF) — это драйвер для шаговых двигателей с широтно-импульсным управлением током обмоток биполярного двигателя.
Особенностью данной микросхемы является возможность установки тока на обмотки двигателя в 15 шагов в любой полуфазе.
С возможностью установки медленного затухания тока, быстрого спада тока или смешанного режима, тем самым повышая частотные характеристики, которыми можно добиться высокоточного управления и получить наименьшие вибрации двигателя.

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

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

В считанные минуты была нарисована печатка и при помощи ЛУТа сделана плата, обвязку из резисторов, конденсаторов и диодов Шоттки, тоже снял со старой платы:

Далее это все было подключено к одной из моих самодельных тестовых плат с микроконтроллером Atmega32. Конечно, можно использовать любую доступную вам, но нужно учитывать, что должно хватать выводов для подключения, так как на управление используется аж 12 линий.

В моём случае изначально тестировался максимально возможный режим работы драйвера в режиме Phase 4W1-2, но потом посчитал что это уже чересчур и настолько уже сверх-точность мне не нужна, потому и перевел на режим Phase 2W1-2, тем самым просмотрев данную таблицу выявил закономерность по первым входам каждого плеча драйвера — на них постоянно присутствует логическая «1» в нужном для меня режиме.

Ну и пусть, просто подключим их на питание микросхемы и забудем про них.

Так мы сократили количество используемых выводов до 10. При дальнейшем исследовании этой таблицы явно заметно, что вывод ENABLE получая логическую «1» (просто обесточивает канал, давая возможность другому каналу притянуть к себе магнитный ротор на максимальном токе), и при этом не имеет значения в какой фазе этот канал находится.

Сразу заметно, что та самая единица появляется тогда как на входах 2-3-4 каждого канала присутствует логический «0». Тут просто вспомним о справочнике микросхем логики и найдем нужный для нас логический элемент. Нам понадобится два элемента 3ИЛИ-НЕ, выбираем микросхему, импортная 7427, отечественная К155ЛЕ4 или подобные.

Обвязку полного подключения LB1847 не изображал, так как она ничем не отличается от той, что в даташите. На Vref временно поставил проволочный подстроечный резистор.

Как видно, теперь мы используем только 8 выводов для управления, чего вполне достаточно для использования одного полного порта микроконтроллера.

Теперь приступим к программированию нашего микроконтроллера. Для этого нам потребуется предварительно рассчитать значение выхода целого порта микроконтроллера для каждого микрошага.

Тут я просто использовал программу Excell, где создал таблицу и встроенными формулами рассчитал значение PORTB для режима Phase 2 W1-2 (учтите, что пример в даташите указан только для одной фазы, необходимо продублировать его для второй с изменением направления тока через обмотки ).

Сразу забегу вперед. Я изначально вдоволь наигрался как заданием статических величин по значениям перемещения вала, так и с вводом значения перемещения через порт RS232, но потом всё же захотелось вручную лицезреть сие детище и подключил энкодер, дабы насладиться механическим управлением с визуальным вращением вала шагового двигателя.

Функция опроса энкодера

Функция опроса энкодера не имеет никаких особенностей, банально читает значения с выводов и по их изменению добавляет или отнимает значение счетчика, тем самым диктуя главной программе направление на вращения. Единственное что опрос у меня сейчас проходит на частоте 100кГц, и мне было лень добавлять отдельный счетчик (три строчки программы), чтобы отсчитывать только полные щелчки оборота энкодера, да это и совсем не нужно на данной стадии тестовых испытаний.

Обработчик прерывания таймера

Аналогичная функция на обработку обратного счета для движения оси шагового двигателя в обратную сторону.

В данную функцию я ввел очень полезную величину, можно задать шаг работы двигателя от 1 до 8. Это я и хочу использовать в дальнейшем, чтобы можно было программно управлять скоростью перемещения.

Например: для холостого перемещения на пару тысяч шагов можно составить простой алгоритм, который может п лавно н ачать с одного микрошага за такт разрешения таймера, и каж дые 10 тактов поднимать на единицу пока не достигнет «8», так будет программно реализован четверть шаг (счетчик тоже будет добавлять или отнимать по 8 шагов), а далее за 100 шагов до окончания пути начать уменьшать значение перешагивания каждые 10 тактов и двигатель плавно остановится на нужном ему значении. Такая реализация программно обеспечит высокую скорость перемещения при максимальной точности перемещения вала двигателя даже под нагрузкой (старт-разгон-работа-торможение-остановка). Можно, конечно, поднять значение и до 16, в таком случае двигатель выйдет на режим полушага.

Главный цикл программы

Для проверок использовался один из биполярных шаговых двигателей с тех самых разобранных принтеров.

Он имеет шаг 7,5 градусов, что соответствует 48 шагам на полный оборот, при 32 микрошагах это выходит точность 1536 микрошагов на полный оборот вала двигателя. Если бы нам не было жалко использовать еще 2 вывода микроконтроллера, то легко можно получить 1/64 шага. А присмотревшись в конструктив этой микросхемы, думаю несложно и поболее 128 шагов сделать, только придется много расчетов произвести на усредненные значения, правда будет серьёзная нелинейность вращения, но и то что мы получили вполне достаточно, незачем нам вращение менее 0,1 градуса.

Энкодер, что я нашел у себя, имеет 24 щелчка на полный оборот, в каждом щелчке 4 импульса изменения состояния, то есть 96 импульсов на полный оборот.

Читайте также:  Неисправность дизельного двигателя плавают обороты

Без использования энкодера программно запускал его на довольно быстрое вращение и действительно чувствовалась сила на валу при том, что я его питаю 12V вместо 24V родного питания принтера.

Вот посмотрите что из этого вышло.

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

Данная статья была предварительным тестом работы микросхемы LB1847, все собрано практически на коленке, только для уточнения всех нюансов её работы. Далее планируется использовать более продвинутый микроконтроллер (скорее всего STM32) и организация одновременного управления тремя (и более) двигателями.

При необходимости можно еще дополнительно вывести на МК выводы DECAY, MD и программно управлять режимом спада тока при различных условиях.

Источник

3D печать для самых новеньких. От А до Я. Шаговики, драйверы и немного магнитного поля.

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

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

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

В продолжение предыдущего поста для начинающих пользователей 3D принтеров.

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

Существующие 3D принтеры выросли из больших станков, у которых позаимствовали кинематику и способ управления, который заключается в том, что бы последовательно передавать координаты для перемещения хотенда. Такой своеобразный метод является общепринятым стандартом для управления станков с ЧПУ (числовым программным управлением). Этот язык программирования называется G-code. Язык своеобразный, и изучать его нет необходимости, перевод модели из графического вида в машинный код для перемещения хотенда по осям и подачи пластика осуществляется в программах-слайсерах. Их я опишу чуть позже, пока же хочу вернуться к физической части принтеров и рассмотреть с помощью чего же можно правильно крутить шаговыми двигателями и получать готовую модель.

1. Платы управления и как они управляют.

Для упрощенного понимания платы стоит разделить на 2 категории по их разрядности. Бывают 8-битные и 32-битные. Первые 3D принтеры, основанные на REPRAP (Replicating Rapid Prototyper — самовоспроизводящийся механизм для быстрого изготовления прототипов) имели в основе распространенную плату для робототехники, ориентированную на непрофессиональных пользователей — Arduino. Для создания прошивки используется собственная бесплатная среда разработки — Arduino IDE.

Которые вставляются в гнезда платы. То есть для каждого шагового двигателя, подключаемого к связке Arduino+RAMPS необходим драйвер. RAMPS поддерживает подключение до 5 шаговых двигателей.

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

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

Vref – пин замера напряжения для установки тока по формуле.

Current Limit – ток шагового двигателя.

Формула Vref для A4988 изменяется от номинала токочувствительных резисторов. Это два чёрных прямоугольника на плате драйвера. Обычно подписаны R050 или R100.

Vref = Current Limit * 8 * (RS)

Vref = Current Limit * 8 * 0,100 = Current Limit / 1,25

Vref = Current Limit * 8 * 0,050 = Current Limit / 2,5

Например для 17HS4401: Vref = 1,7 / 2,5 = 0,68В

И вращая резистор добиваемся данной цифры на дисплее мультиметра. Важное дополнение, для того, что бы отрегулировать напряжение необходимо выключить принтер, а для замера — включить.

Формулы для других типов драйверов приведены в этой статье.

Другие платы формата All-in-one (все на одной плате, без таких многослойных конструкций) имеют аналогичные колодки под уже ставшими столь распространенными Pololu-драйвера.

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

Режимов работы у шагового двигателя с драйверами А4988 всего 5: полный шаг, 1/2 шага, 1/4 шага, 1/8 шага и 1/16.

Перемычки всего 3: MS0, MS1, MS2. Low — перемычка отсутствует, high — установлена.

Получается, что когда нет ни одной перемычки мотор вращается без деления шага на микрошаги, а когда установлены все 3 — на 1/16.

Дробление шага на микрошаги сделано с единственной целью — увеличения точности перемещения. То есть используя дробление 1/4 шага мы не сможем остановиться посередине между 2 и 3 микрошагом. При 1/16 это возможно.

Существует множество драйверов, совместимых с платами, применяемыми в 3D принтерах. Небольшой список:

Могут быть как зеленые, так и красные.

Максимальный делитель 1/16.

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

Максимальный делитель 1/32.

Сравнение шума от А4988 и TMC2100.

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

Как следствие — нужно хорошее охлаждение (некоторые китайцы пренебрегают метализацией для отвода тепла, поскольку чип расположен ‘на пузе’ ) и очень точная регулировка напряжения. Есть и небольшие каверзы — вроде бы точно отрегулировал, печатает который месяц мелкие детали без съездов, а ставишь деталь на сутки-двое, и где-то в конце печати получишь микросъезд на 0,5 мм.

Драйвер имеет собственный чип, который интерполирует делитель 1/16 в 1/256 без нагрузки для процессора, и обеспечивает очень тихую работу.

Чаще всего драйвер исполнения китайской компании Makerbase (MKS).

Использовать с 1/64 и 1/128 с 8-битной электроникой (на базе AtMega 2560) не рекомендуется, так как необходимо задействовать очень много ресурсов процессора. Предназначены для установки в 32-разрядные платы.

Поставляется в 2 вариантах:

1) Стандартная версия. Площадка под пины регулировки напряжения закорочена, и регулировка напряжения возможна как во всех остальных драйверах — руками, в смысле отверткой и мультиметром. Поддерживается всеми платами.

2) Цифровая регулировка. Пины в наличии и регулировка производится программно. Поддерживается только собственными контроллерами: Azteeg X3, X3 PRO и X5 mini V3.

Драйвера так же производства Panucatt Devices.

В отличие от SD6128 имеют дробление шага до 1/256. Так же, имеется защита от перегрева и большого тока. Аналогично, присутствует в 2 версиях: с ручной регулировкой напряжения, и с поддержкой программной регулировки. Программная регулировка доступна только для плат Azteeg X3, X3 PRO и X5 mini V3.

В основе драйвера лежит чип THB6128. Драйвер работает как в 3,3В (32-разрядные платы), так и 5В (8-разрядные). Установка делителя производится так же, перемычками, в соответствии с таблицей из pdf-описания.

Для установки в 8-битные платы, задействовать делители выше 1/64 не рекомендуется из-за возможной перегрузки процессора.

Собственная версия Panucatt Devices, аналогичная привычной DRV8825, с тем лишь отличием, что есть 2 пина для управления напряжением на драйвере. Регулировка доступна лишь на платах собственного производства: Azteeg X3, X3 PRO и X5 mini V3.

Свой опыт использования и покупки я уже описывал. Повторюсь, что если есть желание заморочиться с использованием SPI на плате, и попытаться настроить напряжение — пожалуйста. В распространенную прошивку для 8-битных плат Marlin уже добавлена библиотека для данного драйвера и авторегулировки его напряжения (ток прибавляется до тех пор, пока не появится ошибка о перегреве, далее оно снижается пошагово, с шагом в 50мА), но пока толковых упоминаний об установке и настройке Pololu-драйвера не видел. Единственная реализация, заслуживающая внимания — реализация Джозефа Прюши, на новой MK3. В его новой плате EINSY RAMBO данные драйвера уже впаяны в плату, а прошивка поддерживает регулировку напряжения. Одним из преимуществ данного драйвера является контроль момента на роторе двигателя, то есть в момент касания каретки стопора момент на валу ротора резко увеличивается, и плата понимает, что каретка доехала до максимума и дальше пытаться ее двигать нет смысла. Поэтому там отсутствуют концевые выключатели.

Плата, аналогично с TMC2100, имеет внутренний делитель с 1/16 до 1/256. Переключение между делителями производится программно, по SPI-интерфейсу.

Появилось достаточно много китайских клонов, в которых SPI-интрефейс запаян, и работа полностью аналогична TMC2100. Как утверждает представитель компании Watterott — разницы между TMC2100 и TMC2130 с запаяным SPI никакой.

После конфигурирования прошивки плату можно отключить от драйвера.

Уже появились китайские клоны данной платы.

Приобрел себе такой. Могу сделать единственный вывод — китайские клоны намного капризнее и сложнее в настройке напряжения, нежели оригиналы. Были и BigtreeTech TMC2100 и Makerbase TMC2100 и вот эти blkbox TMC2208, и разумеется оригинальные TMC2100. Настроить китайцев, что б вот прям ‘ни единого разрыва’, ни одного пропуска шага за достаточно долгую печать я не смог. За то оригинальные за 5 минут и все ок.

Читайте также:  Что такое механическая характеристика двигателя внутреннего сгорания

У чипа такой же делитель с 1/16 до 1/256, как и у всех остальных TMC2100,2130.

Сложно сказать, кто кого повторил, если убрать все стереотипы. Немецкие драйвера, на базе THB6128 ( как и у Panucatt Divices SD6128 ,если верить Wiki REPRAP.org и сайту производителя. Судя по описанию на сайте магазина, где они продаются, немцы не гнушаются ставить и LV8729V, как у китайских MKS LV8729.

Драйвер имеет делитель от полного шага до 1/128. Для 8-битных плат не рекомендуется ставить делитель выше 1/32.

Небольшое лирическое отступление.

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

Шаговый двигатель. Как он работает и зачем ему спад тока?

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

Однако шаговые двигатели обладают множеством полезных свойств, а главное — они дешевы.

Чем же хорош шаговый двигатель?

  • угол поворота ротора определяется числом импульсов, которые поданы на двигатель;
  • двигатель обеспечивает полный момент в режиме удержания;
  • точное позиционирование и повторяемость. Хорошие шаговые двигатели имеют точность 3-5% от величины шага. Эта ошибка не накапливается от шага к шагу;
  • возможность быстрого старта/остановки/реверсирования;
  • надежность, связанная с отсутствием щеток, срок службы шагового двигателя фактически определяется сроком службы подшипников;
  • однозначная зависимость положения от входных импульсов обеспечивает позиционирование без обратной связи;
  • возможность получения очень низких скоростей вращения для нагрузки, присоединенной непосредственно к валу двигателя без промежуточного редуктора;
  • может быть перекрыт довольно большой диапазон скоростей, скорость пропорциональна частоте входных импульсов;

Но не все так хорошо.

  • шаговым двигателям присуще явление резонанса;
  • возможна потеря положения из-за отсутствия обратной связи;
  • потребление энергии не уменьшается даже без нагрузки;
  • затруднена работа на высоких скоростях;
  • невысокая удельная мощность;
  • относительно сложная схема управления;

    Существуют три основных типа шаговых двигателей:

    • двигатели с переменным магнитным сопротивлением
    • двигатели с постоянными магнитами
    • гибридные двигатели

Определить тип двигателя можно даже на ощупь: при вращении вала обесточенного двигателя с постоянными магнитами (или гибридного) чувствуется переменное сопротивление вращению, двигатель вращается как бы щелчками. В то же время вал обесточенного двигателя с переменным магнитным сопротивлением вращается свободно. Гибридные двигатели являются дальнейшим усовершенствованием двигателей с постоянными магнитами и по способу управления ничем от них не отличаются. Определить тип двигателя можно также по конфигурации обмоток. Двигатели с переменным магнитным сопротивлением обычно имеют три (реже четыре) обмотки с одним общим выводом. Двигатели с постоянными магнитами чаще всего имеют две независимые обмотки. Эти обмотки могут иметь отводы от середины. Иногда двигатели с постоянными магнитами имеют 4 раздельных обмотки.

В шаговом двигателе вращающий момент создается магнитными потоками статора и ротора, которые соответствующим образом ориентированы друг относительно друга. Статор изготовлен из материала с высокой магнитной проницаемостью и имеет несколько полюсов. Полюс можно определить как некоторую область намагниченного тела, где магнитное поле сконцентрировано. Полюса имеют как статор, так и ротор. Для уменьшения потерь на вихревые токи магнитопроводы собраны из отдельных пластин, подобно сердечнику трансформатора. Вращающий момент пропорционален величине магнитного поля, которая пропорциональна току в обмотке и количеству витков. Таким образом, момент зависит от параметров обмоток. Если хотя бы одна обмотка шагового двигателя запитана, ротор принимает определенное положение. Он будет находится в этом положении до тех пор, пока внешний приложенный момент не превысит некоторого значения, называемого моментом удержания. После этого ротор повернется и будет стараться принять одно из следующих положений равновесия.

Нас интересуют гибридные двигатели, наиболее часто применяемые в 3D принтерах.

Гибридные двигатели сочетают в себе лучшие черты двигателей с переменным магнитным сопротивлением и двигателей с постоянными магнитами. Ротор гибридного двигателя имеет зубцы, расположенные в осевом направлении.

Ротор привычного для 3D принтера двигателя имеет 100 полюсов (50 пар), двигатель имеет 2 фазы, поэтому полное количество полюсов – 200, а шаг, соответственно, 1.8 град.

Как видно на рисунке, воздушные зазоры у верхнего и нижнего полюсного наконечника ротора разные. Это достигается благодаря повороту полюсных наконечников на половину шага зубъев. Поэтому существует другая магнитная цепь, которая содержит минимальные воздушные зазоры и, как следствие, обладает минимальным магнитным сопротивлением. По этой цепи замыкается другая часть потока (на рисунке показана штриховой белой линией), которая и создает момент. Часть цепи лежит в плоскости, перпендикулярной рисунку, поэтому не показана. В этой же плоскости создают магнитный поток катушки статора. В гибридном двигателе этот поток частично замыкается полюсными наконечниками ротора, и постоянный магнит его «видит» слабо. Поэтому в отличие от двигателей постоянного тока, магнит гибридного двигателя невозможно размагнитить ни при какой величине тока обмоток.

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

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

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

Гибридные двигатели подразделяются на 2 типа. В зависимости от конфигурации обмоток двигатели делятся на биполярные и униполярные. Биполярный двигатель (на рисунке ниже под буквой а) имеет одну обмотку в каждой фазе, которая для изменения направления магнитного поля должна переполюсовывается драйвером. Всего биполярный двигатель имеет две обмотки и, соответственно, четыре вывода.

Униполярный двигатель (б) также имеет одну обмотку в каждой фазе, но от середины обмотки сделан отвод. Это позволяет изменять направление магнитного поля, создаваемого обмоткой, простым переключением половинок обмотки. Средние выводы обмоток могут быть объединены внутри двигателя, поэтому такой двигатель может иметь 5 или 6 выводов. Иногда униполярные двигатели имеют раздельные 4 обмотки, по этой причине их ошибочно называют 4-х фазными двигателями. Каждая обмотка имеет отдельные выводы, поэтому всего выводов 8 (в). При соответствующем соединении обмоток такой двигатель можно использовать как униполярный или как биполярный. Униполярный двигатель с двумя обмоткими и отводами тоже можно использовать в биполярном режиме, если отводы оставить неподключенными. В любом случае ток обмоток следует выбирать так, чтобы не превысить максимальной рассеиваемой мощности.

Так какой лучше?

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

Момент, создаваемый шаговым двигателем, пропорционален величине магнитного поля, создаваемого обмотками статора. Наиболее важным является ограничение по нагреву двигателя вследствие омических потерь в обмотках. Как раз этот факт и демонстрирует одно из преимуществ биполярных двигателей. В униполярном двигателе в каждый момент времени используется лишь половина обмоток. Другая половина просто занимает место в окне сердечника, что вынуждает делать обмотки проводом меньшего диаметра. В то же время в биполярном двигателе всегда работают все обмотки, т.е. их использование оптимально. В таком двигателе сечение отдельных обмоток вдвое больше, а омическое сопротивление – соответственно вдвое меньше. Это позволяет увеличить ток в корень из двух раз при тех же потерях, что дает выигрыш в моменте примерно 40%. Если же повышенного момента не требуется, униполярный двигатель позволяет уменьшить габариты или просто работать с меньшими потерями. На практике все же часто применяют униполярные двигатели, так как они требуют значительно более простых схем управления обмотками.

А как управлять шаговым двигателем?

Существует несколько способов управления шаговым двигателем. Все расписывать не буду, так как они относятся к полношаговым или полушаговым режимам работы. Нас интересует именно микрошаговый режим. При этом способе управления ток в фазах нужно менять небольшими шагами, обеспечивая таким образом дробление половинного шага на еще меньшие микрошаги (Важный ресурс — частота процессора, т.е с какой частотой он может подавать сигнал STEP на перемещение драйверу). Когда одновременно включены две фазы, но их токи не равны, то положение равновесия ротора будет лежать не в середине шага, а в другом месте, определяемом соотношением токов фаз. Меняя соотношение, можно обеспечить некоторое количество микрошагов внутри одного шага. Для реализации микрошагового режима требуются более сложные драйверы, позволяющие задавать ток в обмотках с необходимым соотношением. Полушаговый режим является частным случаем микрошагового режима, но он не требует формирования ступенчатого тока питания катушек, поэтому часто реализуется.

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

Смещение точки равновесия ротора говорит о том, что ротор можно зафиксировать в любой произвольной позиции. Для этого нужно лишь правильно установить отношение токов в фазах. Именно этот факт используется при реализации микрошагового режима.

Результатом использования микрошагового режима является более плавное вращение ротора на низких частотах. Для достижения высоких скоростей в микрошаговом режиме требуется высокая частота повторения микрошагов, которую не всегда может обеспечить управляющий микроконтроллер. Именно из-за этого происходит переход от 8-битной электроники к 32-битной, так как в дельта-принтерах для перемещения вдоль одной оси используется движение сразу 3 двигателей.

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

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

При вращении ротора у двигателя есть мертвые зоны, которые ограничивают точность позиционирования.

На рисунке показана зависимость зависимость момента от угла поворота ротора.

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

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

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

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

Параметры привода зависят от характеристик нагрузки. Кроме трения, реальная нагрузка обладает инерцией. Инерция препятствует изменению скорости и требует от двигателя больших моментов на разгоне и торможении, ограничивая максимальное ускорение. С другой стороны, увеличение инерционности нагрузки увеличивает стабильность скорости.

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

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

Поведение момента при увеличении частоты коммутации фаз примерно такое: начиная с некоторой частоты среза момент монотонно падает. Обычно для шагового двигателя приводятся две кривые зависимости момента от скорости.

Внутренняя кривая (кривая старта) показывает, при каком максимальном моменте трения для данной скорости шаговый двигатель способен тронуться. Эта кривая пересекает ось скоростей в точке, называемой максимальной частотой старта или частотой приемистости. Она определяет максимальную скорость, на которой ненагруженный двигатель может тронуться.

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

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

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

При осуществлении разгона или торможения важно правильно выбрать закон изменения скорости и максимальное ускорение. Ускорение должно быть тем меньше, чем выше инерционность нагрузки. Критерий правильного выбора режима разгона – это осуществление разгона до нужной скорости для конкретной нагрузки за минимальное время. Чаще всего применяют разгон и торможение с постоянным ускорением.

Реализация закона, по которому будет производится ускорение или торможение двигателя, обычно производится программно управляющим микроконтроллером, так как именно микроконтроллер обычно является источником тактовой частоты для драйвера шагового двигателя. Для генерации тактовой частоты удобно использовать аппаратный таймер, который имеется в составе того же процессора Arduino — Atmega2560. Когда двигатель вращается с постоянной скоростью, достаточно загрузить в таймер постоянное значение периода повторения шагов (длительность шага). Если же двигатель разгоняется или тормозится, этот период меняется с каждым новым шагом. При разгоне или торможении с постоянным ускорением частота повторения шагов должна изменяться линейно, соответственно значение периода, которое необходимо загружать в таймер, должно меняться по гиперболическому закону.

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

Когда двигатель совершает шаг, ротор не сразу устанавливается в новую позицию, а совершает затухающие колебания. Дело в том, что система ротор – магнитное поле – статор работает как пружинный маятник, частота колебаний которого зависит от момента инерции ротора (плюс нагрузки) и величины магнитного поля.

Резонансную частоту определяет момент инерции собственно ротора двигателя и момент инерции нагрузки на валу двигателя. Поэтому резонансная частота ротора ненагруженного двигателя, которая приводится среди параметров, имеет маленькую практическую ценность, так как любая нагрузка, подсоединенная к двигателю, изменит эту частоту.

Когда используется не микрошаговый режим, основной причиной появления колебаний является прерывистое вращение ротора. При осуществлении шага ротору толчком сообщается некоторая энергия. Этот толчок возбуждает колебания. Энергия, которая сообщается ротору в полушаговом режиме, составляет около 30% от энергии полного шага. Поэтому в полушаговом режиме амплитуда колебаний существенно меньше. В микрошаговом режиме с шагом 1/32 основного при каждом микрошаге сообщается всего около 0.1% от энергии полного шага. Поэтому в микрошаговом режиме явление резонанса практически незаметно.

Способы изменения направления тока

При работе шагового двигателя требуется изменение направления магнитного поля независимо для каждой фазы. Изменение направления магнитного поля может быть выполнено разными способами. В униполярных двигателях обмотки имеют отвод от середины или имеются две отдельные обмотки для каждой фазы. Направление магнитного поля меняется путем перключения половинок обмоток или целых обмоток. В этом случае требуются только два простых ключа A и B для каждой фазы.

После отключения индуктивности от источника питания ток не может мгновено прекратится. Возникает ЭДС (электродвижущая сила) самоиндукции, имеющая противоположное источнику питания направление.

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

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

Еще одним методом стабилизации тока в обмотках двигателя является ключевое (ШИМ) регулирование. Это позволяет использовать простые и дешевые нестабилизированные источники питания.

Падение напряжения на этом резисторе зависит от тока в обмотке. Когда ток достигает установленного значения, ключ выключается, что приводит к падению тока. Когда ток спадает до нижнего порога, ключ снова включается. Этот процесс повторяется периодически, поддерживая среднее значение тока постоянным.

Источник

Adblock
detector