0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Шаговый двигатель драйвер для чего

Драйверы шаговых двигателей A4988 и DVR8825

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

Шаговые моторы имеют три режима управления вращением: полношаговый, полушаговый и микрошаговый.

Во время полношагового режима шаговые моторы для поворота мотора на 360 градусов делают 200 шагов, во время полушагового — 400, а во время микрошагового возможно делить шаг на 4, 8 и даже 16 частей. Техника управления микрошаговым режимом сложна, поэтому многие производители станков ЧПУ (CNC) и качественных 3D принтеров стали изготавливать специальные контроллеры для управления шаговыми двигателями, часто называемых драйверами шаговых моторов. Ещё их называют StepStick.

Функционирование специальных контроллеров управления (драйверов шаговых двигателей) происходит следующим образом: вначале напряжение питания поступает на шаговый двигатель, затем на логическую часть драйвера шаговика, после этого задается направление вращения и команда (ШАГ) по управляющим контактам на двигателе. Во время команды (ШАГ) шаговый мотор получает необходимое напряжение, которого достаточно для передвижения ротора на один микрошаг (полушаг или шаг) – это зависит от предварительных установок, заданных заранее специальными перемычками на RAMPS 1.4.

Зачастую у продаваемых контроллеров шаговых двигателей (например: RAMPS 1.4) предустановлен режим микрошага 1/16. Чтобы регулировать подаваемое на шаговый мотор напряжение питания, на котроллере RAMPS 1.4 установлен специальный переменный резистор. Он является важным элементом, поскольку шаговики могут быть под 8V, 4V, 12V и д.р.

Для платы RAMPS 1.4 выпускают два вида драйверов A4988 и DVR8825. Они отличаются током, выдаваемым на шаговый двигатель и минимальным микрошагом.

И не только. Выпускаются несколько других драйверов шаговых двигателей, которые могут быть использованы в качестве альтернативы. Например, у драйвера шагового двигателя Pololu A4988 Black Edition производительность на 20% выше. Есть также большая версия драйвера на A4988, которая имеет защиту от обратной мощности на главном входе питания, а также встроенной 5 В и 3.3 В стабилизаторы напряжения, которые устраняют необходимость в покупке отдельного питания для логики и двигателей. Платы на DRV8825 предлагают на около 50% более высокую производительность в более широком диапазоне напряжений и с несколькими дополнительными функциями, в то время как платы на DRV8834 работают с двигателями с напряжением питания от 2.5 В. Любую из этих плат можно использовать в качестве драйвера во многих приложениях.

Рассмотрим драйвер A4988.

Характеристики драйвера A4988

  • Максимальный ток 2 A
  • Минимальный микрошаг 1/16 шага

Величина тока регулируется подстроечным резистором на драйвере. Вращение по часовой стрелке — повышение тока. Вращение против часовой стрелки — понижение величины тока.

Установка микрошага производится перемычками установленными на RAMPS 1.4

Схема драйвера A4988

Подключение драйвера A4988

Для работы с драйвером A4988 необходимо питание логического уровня (3 — 5.5 В), подаваемое на выводы VDD и GND, а также питание двигателя (8 — 35 В) на выводы VMOT и GND. Чтобы обеспечить необходимый потребляемый ток (при пиковых до 4 А), необходимо поставить конденсаторы для гальванической развязки как можно ближе к плате.

Внимание: В плате используются керамические конденсаторы с низким эквивалентным последовательным сопротивлением, что делает её уязвимой для индуктивно-ёмкостных скачков напряжения, особенно если питающие провода длиннее нескольких сантиметров. В некоторых случаях, эти скачки могут превысить максимально допустимое значение (35 В для A4988) и повредить плату. Одним из способов защиты платы от подобных скачков является установка большого (не меньше 47 мкФ) электролитического конденсатора между выводом питания (VMOT) и землёй близко к плате.

При правильном подключении, через Pololu A4988 можно управлять четырёх-, шести- и восьми- проводными шаговыми двигателями.

Внимание: Соединение или разъединение шагового двигателя при включённом драйвере может привести к поломке двигателя.

Установка микрошага

У шаговых двигателей обычно установлена конкретная величина (например 1,8° или 200 шагов на оборот), при которой достигается полный оборот в 360°. Микрошаговый драйвер, такой как A4988 позволяет увеличить разрешение за счёт возможности управления промежуточными шагами. Это достигается путём возбуждения обмоток средней величины тока. Например, управление мотором в режиме четверти шага даст двигателю с величиной 200-шагов-за-оборот уже 800 микрошагов при использовании разных уровней тока.

Разрешение (размер шага) задаётся комбинациями переключателей на входах (MS1, MS2, и MS3). С их помощью можно выбрать пять различных шагов, в соответствии с таблицей ниже. На входы MS1 и MS3 переключателя установлены 100 кОм подтягивающие на землю резисторы, а на MS2 — 50 кОм, и если оставить их не подключёнными, двигатель будет работать в полношаговом режиме. Для правильной работы в режиме микрошага необходим слабый ток (см. ниже), который обеспечивается ограничителями по току. В противном случае, промежуточные уровни будут некорректно восприниматься, и двигатель будет пропускать микрошаги.

Обычно для домашних 3D принтеров и станков ЧПУ используются драйверы A4988 с микрошагом 1/16. Для этого все перемычки на плате RAMPS 1.4 должны быть установлены на свои гнезда.

Входы управления

Каждый импульс на входе STEP соответствует одному микрошагу двигателя, направление вращения которого зависит от сигнала на выводе DIR. Обратите внимание, что выводы STEP и DIR не подтянуты к какому-либо конкретному внутреннему напряжению, поэтому вы не должны оставлять эти выводы плавающими при создании приложений. Если вы просто хотите вращать двигатель в одном направлении, вы можете соединить DIR непосредственно с VCC или GND. Чип имеет три различных входа для управления состоянием питания: RST, SLP и EN. Обратите внимание, что вывод RST плавает; если вы его не используете, вы можете подключить его к соседнему контакту SLP на печатной плате, чтобы подать на него высокий уровень и включить плату.

Ограничение тока

Для достижения высокой скорости шага, питания двигателя, как правило, гораздо выше, чем это было бы допустимо без активного ограничения тока. Например, типичный шаговый двигатель может иметь максимальный ток 1 А с 5 Ом; сопротивлением обмотки, отсюда максимально допустимое питание двигателя равно 5 В (U=I*R). Использование же такого двигателя с питанием 12 В позволит повысить скорость шага. Однако чтобы предотвратить повреждение двигателя, необходимо ограничить ток до уровня ниже 1 А.

Драйвер A4988 поддерживает активное ограничение тока, которое можно установить подстроечным потенциометром на плате.

Один из способов установить предельный ток — подключить драйвер в полношаговый режим и измерять ток, протекающий через одну обмотку двигателя без синхронизации по входу STEP. Измеренный ток будет равен 0,7 части предельного тока (так как обе обмотки всегда ограничиваются примерно на 70% от текущей настройки предельного тока в полношаговом режиме). Учтите, что при изменении логического напряжения Vdd, на другое значение, изменит предельный ток, поскольку напряжение на выводе «ref» является функцией Vdd.

Еще один способ установить предельный ток – измерить напряжение на выводе «ref» и вычислить полученное ограничение тока (резисторы SENSE равны 0,05 Ом). Напряжение вывода доступно через металлизированное сквозное отверстие (в кружке на шёлкографии печатной платы). Ограничение тока относится к опорному напряжению следующим образом:

Current Limit = VREF × 2,5

Например: опорное напряжение равно 0,3 В, предельный ток 0,75 А. Как упоминалось выше, в режиме полного шага, ток через катушки ограничен 70% от текущего предела, поэтому, чтобы получить полный шаг тока катушки в 1 А, текущий предел должен быть 1 A / 0,7 = 1,4 А, что соответствует VREF 1,4 A / 2,5 = 0,56 В. Смотрите спецификацию A4988 для получения дополнительных сведений.

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

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

Внимание: При регулировке тока подстроечным резистором на драйвере A4988. Вращение по часовой стрелке — повышение тока. Вращение против часовой стрелки — понижение величины тока.

Максимально допустимый ток подаваемый на обмотку, у микросхемы A4988 равен 2 A. Фактический ток, который можно подать на плату, зависит от качества охлаждения микросхемы. Плата разработана с учётом отвода тепла от микросхемы, но при токе выше 1 A на обмотку необходим теплоотвод или другое дополнительное охлаждение.

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

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

Драйвер шагового двигателя с микрошаговым режимом

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

Целью разработки было создание простого и недорогого драйвера биполярного шагового двигателя универсального применения. Всё программное обеспечение написано на языке ассемблера AVRASM и оптимизировано по времени выполнения, что позволило решить задачу на имеющейся на момент разработки элементной базе.

Основные технические характеристики

  • Напряжение питания силовой части, В ……………….27
  • Напряжение питания логической части, В …………….12
  • Максимальная амплитуда тока фазы двигателя, А, не менее ………………….. 5
  • Минимальная амплитуда тока фазы двигателя, А, не более …………………..0,25
  • Предустанавливаемый коэффициент деления шага … .1/8, 1/4, 1/2, 1/1
  • Автопонижение тока в режиме удержания, %……………65
  • Задержка автопонижения тока относительно последнего шага, с …………..3,4
  • Уровни управляющих сигналов ………………….ТТЛ,5 В
  • Максимальная частота шагов, кГц…………………..12
  • Габариты, мм ………….102x68x40

Принципиальная схема драйвера приведена на рис. 1 . В его основу положены мостовые формирователи тока фаз А и В на полевых транзисторах VT1-VT4, VT5-VT8 соответственно, управляемые специализированными микросхемами-драйверами верхних и нижних ключей полумоста DA5-DA8 IR2104S. Для повышения помехоустойчивости применено раздельное питание силовой части (27 В) и логической части с драйверами силовых ключей (12 В).

Далее рассмотрим часть схемы, относящуюся к одной из фаз (фазе А), поскольку часть, относящаяся к фазе В, действует аналогично.

Мгновенное значение тока фазы устройство определяет по падению напряжения на резисторе R45, которое через интегрирующую цепь R5C6 поступает на неинвертирующий вход усилителя DA1.1 с регулируемым коэффициентом усиления, выполняющего также функцию ФНЧ первого порядка. С выхода усилителя сигнал приходит на инвертирующий вход компаратора DA3.1. Компаратор сравнивает сигнал, пропорциональный текущему через фазу двигателя току, с образцовым напряжением. Его формирует в виде ступенчатой синусоиды (для микрошагового режима работы) Таймер 1 микроконтроллера, работающий в режиме «Быстрая ШИМ» без предварительного деления. Сигнал с выхода таймера пропущен через многозвенный фильтр R1C1R3C4R7C8. Период следования широтно-модулированных импульсов — 12,7 мкс, что соответствует частоте 78,4 кГц. Резистор R23 в рабочем режиме в формировании образцового напряжения не участвует, так как выход PB3 микроконтроллера, к которому он подключён, находится в высокоимпедансном состоянии.

В режиме удержания (после отсутствия импульсов на входе «Шаг» в течение последних 3,4 с) программа устанавливает на выходе PB3 микроконтроллера низкий логический уровень, и амплитуда образцового сигнала понижается. С выхода компаратора DA3.1 с открытым коллектором, нагруженного резистором R25, результат сравнения поступает на вход компаратора DA3.2. Выход компаратора DA3.1 связан также с общим проводом через конденсатор C22. Совместно R25 и C22 — времязадающая цепь узла стабилизации тока. При его падении ниже некоторого образцового уровня происходит зарядка конденсатора C22 через резистор R25. В интервале времени от начала зарядки до достижения напряжением на конденсаторе значения, заданного делителем напряжения R27R28, питание обмотки двигателя отключено, что препятствует быстрым флюктуациям тока около образцового значения.

Этот алгоритм в классическом смысле не относится к алгоритмам стабилизации тока “Fixed-Frequency PWM” или “Fixed-Off-Time PWM”, однако на практике он показал хорошую работоспособность. При превышении током образцового значения на выходе компаратора DA3.2 установлен низкий логический уровень. Микроконтроллер реагирует на это отключением обмотки одновременным закрыванием транзисторов VT1-VT4 с помощью сигнала SD, подаваемого на драйверы DA5 и DA6. Этим достигается быстрый спад тока в обмотках двигателя. В случае спада тока ниже образцового происходит обратное, на драйверы DA5 и DA6 поступает сигнал SD высокого уровня, открывающий упомянутые транзисторы, что не препятствует нарастанию тока в обмотке.

Смена ступеней образцового напряжения, а также смена комбинаций открытых и закрытых транзисторов моста происходит с приходом очередного импульса на вход «Шаг» по алгоритмам, зависящим от предустановленного коэффициента деления шага (наличия перемычек между контактами 1-2 и 3-4 разъёма XP1) и текущего направления вращения (логического уровня сигнала на входе «Напр.»). Вход «Разр.» был задуман для разрешения и запрета работы двигателя, но в прилагаемой к статье версии программы он не действует.

Драйвер выполнен на двухсторонней печатной плате, чертёж печатных проводников которой изображён на рис. 2, а расположение элементов — на рис. 3. Транзисторы VT1-VT8 расположены с одной стороны платы теплоотводящими поверхностями от неё. К этим поверхностям прижат через изоляционные прокладки теплоотвод — в простейшем случае алюминиевая пластина размерами 60х60 мм. Следует заметить, что при токе фаз более 4…5 А и длительном режиме работы теплоотвода в виде пластины может оказаться недостаточно и его поверхность следует увеличить, сделав теплоотвод ребристым или игольчатым.

Материал платы следует выбрать толщиной не менее 1 …1,5 мм, толщина фольги — не менее 35 мкм. Печатные проводники, по которым течёт большой ток, следует обильно залудить или бандажировать медной проволокой, припаяв её по всей длине проводника.

Большая часть компонентов конструкции применена в оформлении для поверхностного монтажа. Резисторы и конденсаторы — типоразмера 1206. Резисторы R45, R50 имеют проволочные выводы и мощность — не менее 2 Вт. оксидные конденсаторы в цепях питания — с малым ESR. Подстроечные резисторы R18 и R19 — многооборотные 3296W.

Амплитудные значения тока фаз двигателя регулируют подстроечными резисторами R18, R19. Проще всего это делать, переведя драйвер в режим микрошага 1/8 и контролируя цифровым вольтметром падение напряжения на резисторах-датчикахтока R45 и R50. Подавая на вход «Шаг» одиночные импульсы, добиваются максимальных значений тока поочерёдно в фазах А и В. Подстроечными резисторами устанавливают эти значения одинаковыми и соответствующими требуемой амплитуде тока. Уменьшение сопротивления под-строечных резисторов приводит к снижению тока, и наоборот. Для ориентировки можно воспользоваться табл. 1, в которой приведена зависимость амплитуды тока фазы Imф от введённого сопротивления подстроечного резистора.

I, A 0,25 0,5 1,0 2,0 3,0 4,0 5,0 6,0 6.5
R18, R19, кОм 0,31 0,62 1,27 2,62 4,07 5,62 7,29 9,09 10,04

Перед включением драйвера следует установить перемычки между контактами 1-2 и контактами 3-4 разъёма XP1, обеспечивающие нужный коэффициент деления шага двигателя в соответствии с табл. 2. Программа анализирует состояние перемычек однократно в начале своей работы, дальнейшее изменение их состояния никакого влияния на работу драйвера не оказывает. Переключение коэффициента деления «на ходу» в предлагаемой версии программы не предусмотрено.

Перемычки на ХР1 Коэффициент деления шага
1-2 3-4
Есть Есть 1/1
Нет Есть 1/2
Есть Нет 1/4
Нет Нет 1/8

Скачать программу микроконтроллера Atmega48 и файл печатной платы в формате Sprint Layout 6.0.

Автор: М. Резников, г. Волчанск, Украина
Источник: Радио №9, 2016

Выбор драйвера для шагового двигателя

Драйвер шагового двигателя (особенности выбора и применения)

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

1. Максимальный ток.

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

a) драйвер ШД должен уметь уменьшать ток в режиме удержания (простоя) не менее чем в 1.4 раза;

б) коэффициент увеличения тока 1-1.4 должен подбираться и удовлетворять температурному режиму работы ШД.

Максимальный ток фазной обмотки 4.2 А ( 3 * 1.4) и драйвер может уменьшать ток в режиме удержания до 70%.

2. Напряжение источника питания.

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

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

4. Тактовый сигнал.

Параметры тактового сигнала (шагового сигнала) по длительности импульсов и частоте должны быть согласованы между драйвером ШД и управляющим контролером ЧПУ. Лучший вариант, когда драйвер ШД формирует шаг/микрошаг по фронту или спаду импульса тактового сигнала. Многие драйверы и особенно драйверы, реализованные на специализированных чипах (интегральных драйверах ШД) могут иметь требования по длине импульса тактового сигнала, это надо учитывать при совместной работе драйвера ЩД и контроллера ЧПУ.

В качестве контроллера ЧПУ выступает персональный компьютер с установленным ПО MACH3. Данное ПО формирует импульсы тактового сигнала максимальной длительности 5 микросекунд.

Интегральный драйвер ШД THB7128 имеет требование по длине импульса 2 микросекунды и возможна корректная работа.

Интегральный драйвер ШД TB6560 имеет требование по длине импульса 15 микросекунд и корректная работа не возможна.

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

5. Сигнал направления.

Очень важным моментом для правильной работы драйвера ШД является время и скорость установки/изменения сигнала направления. Сигнал направления должен быть изменен и отработан драйвером ШД до подачи импульсов тактового сигнала. Такие задержки или упреждения могут формироваться на стороне контроллера ЧПУ или драйвера ШД. К сожалению не все устройства могут это делать и это надо учитывать. На рынке драйверов ШД существуют драйверы ШД с более медленным оптроном для сигнала направления чем для тактового сигнала. Это усугубляет ситуацию. Даже вовремя поданный сигнал направления может быть отработан драйвером ШД спустя 1-3 импульса тактового сигнала. Т.Е. фактически дистанция предыдущего направления увеличивается соответственно на 1-3 шаг/микрошаг ШД а дистанция текущего направления изначально меньше. Такая ошибка не накопительная, но может давать смещения (ступеньки) при многослойной выборке. В случае, когда контроллер ЧПУ формирует одновременно сигнал направления и импульс тактового сигнала, драйвер ШД имеющий одинаковые оптроны и не имеющий схему задержки может формировать хаотические ошибки дистанции соответственно +-1 шагу/микрошагу ШД.

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

6. Цифровой или нецифровой.

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

а) выполненные на специализированных микросхемах (интегральных драйверах ШД);

б) выполненные на универсальных программируемых контроллерах.

В обоих случаях присутствуют вычисления. В первом случае стоит руководствоваться описанием чипа и декларацией производителя о дополнительных свойствах/функциях, полученных дополнительными элементами в схеме. Во втором случае разброс контроллеров и их вычислительных мощностей может быть большим и весь набор свойств и функций определяется программным обеспечением контроллера (прошивкой). Такие драйверы ШД могут иметь задержки сигналов, упомянутые ранее, фильтры помех, контроль над режимами. Некоторые драйверы ЩД могут обнаружить остановку или пропуски шагов ШД, связанные с механическими неисправностями и выдавать соответствующий сигнал контроллеру ЧПУ. Некоторые драйверы могут иметь вход для подключения энкодера перемещения.

7. Подключение драйвера ШД.

Особо хотим обратить внимание на правильность подключения для тактового сигнала. Для правильной работы драйвера ШД необходимо согласовать всю цепь начиная от настроек контроллера ЧПУ. Изменение полярности сигнала может соответственно изменить общий режим работы. Если контроллер ЧПУ считает, что шаг формируется по фронту импульса, а реально драйвер ШД формирует шаг/микрошаг по спаду импульса это также может вызвать ошибки в дистанции соответственно +-1 шаг/микрошаг ЩД.

8. Проверка драйвера ШД.

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

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

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

1. Двигатели бывают с 2-х фазным питанием и 3-х фазным.

У 2-х фазных двигателей обычно 2,4,6 или 8 проводов. Для них соответственно необходимы драйверы с выходом питания на 2 фазы. На драйвере клемма, которая отвечает за питание двигателя, обычно подписана: A+, A-, B+, B-.

___________________

Драйвер Leadshine DM442 для двухфазных двигателей _____________________ Двухфазный двигатель Moons 34HD4404-02

У 3-х фазных двигателей обычно 3 или 6 проводов. На драйвере клемма, которая отвечает за питание двигателя, подписана: U, V, W.

________________

Драйвер Leadshine 3ND583 для трёхфазных двигателей _________________ Трёхфазный двигатель Leadshine 573S-09

2. Драйвера тоже должны получать питание для работы.

Обычно им необходимо питание не “жёстко установленное” (например, 48 вольт), а в диапазоне, например, от 20 до 50 вольт (как на примере выше, драйвер 3ND583). Идеально, если диапазон питания старого драйвера и нового пересекаются. В другом случае, необходимо проверить блоки питания оборудования на предмет того, есть ли у них такие выходы питания, чтобы подходили под диапазон питания драйвера.

Например, в лазерном станке стоит материнская плата Ruida RDLC-320a, которая питается от 24 вольт. Значит где-то в оборудовании размещен блок питания, который раздает питание 24 вольта. Значит драйвер можно так же запитать от блока питания, который даёт питание материнской плате.

Если у вас в станке стоит материнская плата Ruida RDLC-320a, то вы без сомнения сможете запитать драйвер Moons SR4H

3. Каждому двигателю необходима своя сила тока (А – амперы) для нормальной работы.

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

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

__________________

К двигателю 57HS09 с током фазы 3А подойдёт драйвер Leadshine DM442, у которого можно настроить выдаваемую силу тока от 2,36 до 3,31А

4. Драйвер передает некоторое кол-во импульсов (сигналов) на двигатель для того, чтобы вал двигателя сделал один оборот на 360 градусов. Он может передавать 2 импульса, чтобы двигатель делал один оборот. Или 10 000 импульсов, и двигатель так же будет делать один оборот.

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

Например, на старом драйвере было значение 1000. На новом драйвере значение 200. Тогда передаточное число, которое надо будет подстроить в программе, будет больше в 5 раз. Без остатка.

Если же на старом драйвере было значение 1000, а на новом 300, то передаточное число будет в 3,33(3) раза выше. Это не точная цифра, и подстроить верное передаточное число будет сложнее.

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

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

1. Берем наш старый драйвер и смотрим на расположение pin-переключателей:

_________

2. Если сверить расположение наших pin-переключателей с таблицей, то получаем следующий результат: драйвер настроен на выдаваемую силу тока от 2,03А до 2,84А, а установленное количество шагов на 1 оборот — 6 400.

3. Драйвер DM442 двухфазный, о чём говорят обозначения A+, A-, B+, B- на одной из колодок.

4. Необходимое питание для драйвера в диапазоне от 20 до 40 вольт, что говорит надпись в нижнем левом углу.

5. В поисках нужного драйвера я наткнулся на драйвер Moons SR4H, который наиболее вероятно подойдёт под замену вышедшему из строя Leadshine DM442.

____________

Pin-переключатели я настроил на 2.5А, количество шагов на оборот — 1/32, что, в соответствии с инструкцией к данному драйверу, означает 6 400 импульсов на 1 оборот двигателя. Необходимое питание для Moons SR4H составляет от 24 до 48 вольт, что как раз вписывается в диапазон питания драйвера Leadshine DM442. Необходимые клеммы, такие как Dir+/Dir- и Step+/Step- (PUL+/PUL-) так же присутствуют на новом драйвере. Этот драйвер точно подойдёт на замену DM442.

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

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

Если вы хотите купить драйвер шагового двигателя, нажмите на информер справа

Типы (виды) драйверов ШД

Драйверы делятся по способу закачки тока в обмотки на несколько видов:

1) Драйверы постоянного напряжения

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

Arduino, шаговый двигатель 28-BYJ48 и драйвер ULN2003

Шаговый двигатель — это мотор, который управляется несколькими электромагнитными катушками.

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

Подобная конструкция позволяет реализовать очень точное управление углом поворота ротора шагового двигателя относительно катушек — статора. Можно выделить два основных типа шаговых моторов: униполярные и биполярные шаговые двигатели.

В данной статье мы рассмотрим работу униполярного шагового двигателя 28-BYJ48 с драйвером ULN2003.

Униполярные шаговые двигатели имеют пять или шесть контактов для подключения и четыре электромагнитные катушки в корпусе (если быть более точными, то две катушки, разделенные на четыре). Центральные контакты катушек соединены вместе и используются для подачи питания на двигатель. Эти шаговые моторы называются униполярными, потому-что питание всегда подается на один из этих полюсов.

Спецификация и драйвер шагового двигателя

Существуют разные модели драйверов (контроллеров) шаговых двигателей. Среди них можно выделить самые популярные в DIY разработках на базе Arduino: L293, ULN2003, A3967SLB.

Как правило, шаговый двигатель 28-BYJ48 используют в паре с драйвером ULN2003.

Спецификацию шагового двигателя 28-BYJ48 на английском языке вы можете скачать здесь. Краткие выдержки основных технических характеристик приведены ниже:

  • Напряжение питания: 5 В (постоянный ток);
  • Количество фаз: 4;
  • Количество шагов: 64;
  • Угол поврота на один шаг: 5.625 градуса
  • Частота: 100 Герц;
  • Частота холостого хода по часовой стрелке: > 600 Герц;
  • Частота холостого хода против часовой стрелки: > 1000 Герц;
  • Крутящий момент > 34.3 миллиньютон на метр;
  • Сопротивление вращению: 600-1200 грамм на сантиметр;
  • Класс элетробезопасности: A;

Внешний вид и схемы подключения ULN2003 приведены на изображениях ниже

Примечание. Если вы захотите использовать плату L293 вместо ULN2003, красный контакт подключать не надо.

Необходимые компоненты

  1. Микроконтроллер Arduino.
  2. Шаговый двигатель BYJ48 5В.
  3. Драйвер шагового двигателя ULN2003.
  4. Коннекторы.
  5. Источник питания 5v — необязательно.

Скетч для Arduino

В Arduino IDE есть встроенная библиотека для управления шаговыми двигателями. После подключения шагового двигателя, ULN2003 и Arduino, вы можете загрузить скетч из категории Examples и .

На этом этапе возникают определенные нюансы:

У этого двигателя передаточное отношение 1:64, а угол поворота 5.625, то есть у него 4096 шагов.

Шаг = Количество шагов на один поворот * передаточное отношение.

Шаги= (360/5.625)*64″Передаточное отношение» = 64 * 64 =4096. Это значение надо учесть в скетче Arduino.

А вот угол поворота для шаговых двигателей от adafruit равен 7.5 градусов, а передаточное отношение 1:16, так что количество шагов за 1 полный оборот вала равно:

Шаги за один оборот = 360 / 7.5 = 48.

Шаги = 48 * 16 = 768

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

Модуль драйвера шагового двигателя ULN2003 подключается к Arduino контактами IN1 — IN4 к D8 — D11 соответственно.

Для подачи питания на ваш мотор, рекомендуется использовать внешний источник питания 5V с силой тока 500mA минимум. Не питайте двигатель непосредственно от контакта 5V на плате Arduino.

Проблема направления вращения в библиотеке и как ее исправить

Когда вы загрузите скетч на Arduino, шаговый двигатель будет вращаться в одном направлении с помощью функции:

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

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

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

Измененный код для Arduino

Окончательная версия скетча для шагового двигателя:

/* Скетч для шагового двигателя BYJ48

Схема подключения: IN1 >> D8 IN2 >> D9 IN3 >> D10 IN4 >> D11 VCC . 5V.

Лучше использовать внешний источник питания Gnd

Автор кода: Mohannad Rawashdeh

Детали на русском языке: /arduino-shagovii-motor-28-BYJ48-draiver-ULN2003

Англоязычный вариант: http://www.instructables.com/member/Mohannad+Rawashdeh/ 28/9/2013 */

boolean Direction = true;

unsigned long last_time;

unsigned long currentMillis ;

void stepper(int xw)<

StepperMotor::StepperMotor(int In1, int In2, int In3, int In4)<

// Записываем номера пинов в массив inputPins

// Проходим в цикле по массиву inputPins, устанавливая каждый из них в режим Output

for (int inputCount = 0; inputCount inputPins[inputCount], OUTPUT);

void StepperMotor::setStepDuration(int duration)<

void StepperMotor::step(int noOfSteps)<

* в данном 2D массиве хранится последовательность, которая

* используется для поворота. В строках хранится шаг,

* а в столбцах — текущий input пин

int factor = abs(noOfSteps) / noOfSteps; // Если noOfSteps со знаком +, factor = 1. Если noOfSteps со знаком -, factor = -1

noOfSteps = abs(noOfSteps); // Если noOfSteps был отрицательным, делаем его позитивным для дальнейших операций

* В цикле ниже обрабатываем массив sequence

* указанное количество раз

for(int sequenceNum = 0; sequenceNum inputPins[inputCount], sequence[(int)(3.5-(3.5*factor)+(factor*position))][inputCount]);

Давайте посмотрим на конструктор на строчке 4. Мы начинаем с того, что добавляем выбранные пользователем пины в массив inputinputPins в строчках 6-9. В результате мы получаем простой и интуитивно понятный доступ к номерам пинов в дальнейшем коде.

В 12 строке мы пробегаемся по массиву inputinputPins и устанавливаем для каждого режим OUTPUT.

В 15 строке мы устанавливаем длительность шага по-умолчанию равной 15 мс.

В 18 строчке у нас функция-сеттер для установки длительности шага.

Теперь давайте рассмотрим метод step. Этот метод дает возможность шаговому двигателю делать переданное методу количество шагов.

В 28 строчке мы объявляем частоту вращения с использованием 2-х мерного массива. Строки представляют шаг, столбцы — выходящие пины.

В 37 строчке рассчитывается значение переменной factor, которое равно +1 или -1 в зависимости от знака, который мы передали при указании шагов. Это значение используется для определения направления перебора массива, то есть, в результате, для изменения направления вращения.

В 38 строчке мы присваем noOfSteps переменной позитивное значение.

В 44 строке мы запускаем цикл, который будет отрабатывать для каждой последовательности оборотов, то есть в начале каждого 8-го щага.

В 45 строке мы запускаем второй цикл, который пробегается по строкам в нашем массиве.

В 46 строчке мы устанавливаем задержку в соответствии со спецификацией.

В 47 строке мы пробегаемся по номерам пинов.

В 48 строке мы передаем цифровой сигнал на текущий номер пина.

Если переменная factor отрицательная, в 48-й строчке кода строки массива обрабатываются в противоположном порядке, то есть с низу вверх.

Доступ к библиотеке для шагового двигателя из Arduino IDE

Нам осталось добавить созданные файлы в папку библиотек Arduino IDE и мы сможем импортировать ее в любой наш проект.

Перейдите в папку:

C:Program Files (x86)Arduinolibraries

И создайте папку под названием StepperMotor.

Переместите созданные файлы .h и .cpp в созданную папку.

Теперь вы можете импортировать библиотеку в IDE (sketch > import library. > StepperMotor) с помощью директивы

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector