Драйвер шагового двигателя для станка с ЧПУ. Драйвер шагового


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

В статье представлены схема и конструкция, описан принцип действия драйвера биполярного шагового двигателя на базе микроконтроллера 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 В).

Рис. 1

Рис. 1

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

Мгновенное значение тока фазы устройство определяет по падению напряжения на резисторе 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 А и длительном режиме работы теплоотвода в виде пластины может оказаться недостаточно и его поверхность следует увеличить, сделав теплоотвод ребристым или игольчатым.

Рис. 2

Рис. 2

Рис. 3

Рис. 3

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

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

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

Таблица 1

Imф, 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. Программа анализирует состояние перемычек однократно в начале своей работы, дальнейшее изменение их состояния никакого влияния на работу драйвера не оказывает. Переключение коэффициента деления "на ходу" в предлагаемой версии программы не предусмотрено.

Таблица 2

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

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

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

meandr.org

Драйвер шагового двигателя (Troyka-модуль) [Амперка / Вики]

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

Элементы платы

Подключение двигателя

На контакты 1, 2 подключается первая обмотка биполярного шагового двигателя. На контакты 3, 4 — вторая обмотка. Униполярный двигатель подключается точно также, просто не используются выводы из середин обмоток.

Питание двигателя

На колодки Vin подаётся напряжение 4,5–25 В постоянного тока. Для питания двигателя рекомендуется использовать отдельный контур питания, не связанный с цепью питания управляющего контроллера.

К примеру, если вы используете Arduino, не рекомендуется использовать питание с пина 5V Arduino. Это может привести к перезагрузке управляющего контроллера, или к перегрузке регулятора напряжения Arduino. В некоторых случаях допускается использовать для питания шагового двигателя пин Vin Arduino. Например, если Arduino запитана от мощного внешнего источника питания 7–12 В, напряжение которого при включении двигателя не падает ниже 7 В.

Контакты подключения 3-проводного шлейфа

Troyka-Stepper подключается к управляющей электронике по трём 3-проводным шлейфам. Назначение контактов 3-проводных шлейфов:

  • Питание (V) — красный провод. На него должно подаваться напряжение 3,3–5 В, которое используется для питания логической части драйвера шагового двигателя.

  • Земля (G) — чёрный провод. Должен быть соединён с землёй микроконтроллера.

  • Сигнальный — жёлтый провод. Через него происходит управление соответствующим пином модуля.

Для управления модулем используется от одного до трёх сигнальных контакта:

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

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

  • Enable. Высокий уровень на этом пине включает подачу напряжения на двигатель. При остановке шагового двигателя в определённом положении, питание продолжает поступать на его управляющую обмотку. Это приводит к нагреву шагового двигателя и излишнему расходу электроэнергии. Чтобы отключить подачу питания на двигатель, достаточно выставить низкий уровень напряжения на этом контакте. При остановке двигателя бывает полезно подать на этот контакт ШИМ-сигнал. Это позволит оставить на двигателе небольшое усилие, необходимое для удержания вала в текущем положении. Электроэнергии в таком случае будет тратится значительно меньше. Если нет необходимости управлять включением двигателя, вы можете не подключать этот контакт к микроконтроллеру. Тогда ток через обмотки двигателя будет течь всегда, если есть напряжение питания.

Индикатор вращения двигателя

Светодиодный индикатор. Горит зелёным при шаге в одну сторону, красным - при шаге в другую сторону.

Пример использования

troykaStepper.ino // Troyka-Stepper подключён к следующим пинам: const byte stepPin = 7; const byte directionPin = 8; const byte enablePin = 11;   // Выдержка для регулировки скорости вращения int delayTime = 20;   void setup() { // Настраиваем нужные контакты на выход pinMode(stepPin, OUTPUT); pinMode(directionPin, OUTPUT); pinMode(enablePin, OUTPUT);   }   void loop() {   // Подаём питание на двигатель digitalWrite(enablePin, HIGH);   // Задаём направление вращения по часовой стрелке digitalWrite(directionPin, HIGH);   // Делаем 50 шагов for (int i = 0; i < 50; ++i) { // Делаем шаг digitalWrite(stepPin, HIGH); delay(delayTime);   digitalWrite(stepPin, LOW); delay(delayTime); }   // Переходим в режим экономичного удержания двигателя... analogWrite(enablePin, 100); //... на три секунды delay(3000);   // Меняем направление вращения digitalWrite(directionPin, LOW);   // Включаем двигатель на полную мощность digitalWrite(enablePin, HIGH);   // Делаем 50 шагов for (int i = 0; i < 50; ++i) { digitalWrite(stepPin, HIGH); delay(delayTime);   digitalWrite(stepPin, LOW); delay(delayTime); }   // Ничего не делаем без отключения двигателя delay(3000);   // Отключаем двигатель digitalWrite(enablePin, LOW);   // Ничего не делаем до перезагрузки   while (true) { ; }   }

Характеристики модуля

Номинальное напряжение питания двигателя 4,5–25 В
Пиковое напряжение на контактах Vin 35 В
Напряжение питания логической части 3,3–5 В
Длительно допустимый ток до 600 мА
Пиковый ток 1200 мА

Ресурсы

wiki.amperka.ru

Драйвер шагового двигателя для станка с ЧПУ — libixur — Мой блог

31.07.2012

Просмотров: 40 955

Вот довольно таки простой драйвер ШД для самодельного станка с ЧПУ на 3 оси + управление питанием шпинделя. Сам такой собрал, прост в сборке, не требует прошивки. Микросхемы использовал SN74LS75. Стабилизатор 78L05 не использовал, т.к. запитал микросхемы (и сам драйвер) от компьютерного БП (самый оптимальный вариант). При сборке не повторите мою ошибку, под транзисторы обязательно нужна изоляционная тепло-отводная прокладка! А то я замкнул все транзисторы на радиатор и долго не мог понять почему оно не работает… Позже я вовсе убрал радиатор, так как с двигателями типа ПБМГ-200-265 транзисторы не греются совсем.

Разводка печатной платы:

 Микросхемы которые можно применить в драйвере:

  • К555ТМ7
  • К155ТМ7
  • КР1533ТМ7
  • SN74ALS75 (аналог КР1533ТМ7)
  • SN74LS75 (аналог К555ТМ7)
  • SN7475 (аналог К155ТМ7)

Datasheet (Даташит) к зарубежным аналогам (SN74ALS75, SN74LS75, SN7475): SN74LS75_datasheet.zip (220кб)

Скачать печатную плату в формате SprintLayout: UR3VCD_V2.0 (34кб)

Позже будет видео, и статья о самом станке.

Добавление: 28.08.2015

Схема контроллера:

drajver-shagovogo-dvigatelya-dlya-stanka-s-chpu_4drajver-shagovogo-dvigatelya-dlya-stanka-s-chpu_5

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

drajver-shagovogo-dvigatelya-dlya-stanka-s-chpu_6

VN:F [1.9.20_1166]

Rating: 9.5/10 (77 votes cast)

Драйвер шагового двигателя для станка с ЧПУ, 9.5 out of 10 based on 77 ratings

Поделиться ссылкой с друзьями:

Updated: 28.08.2015 at 15:24

libixur.ru


Смотрите также