Меню

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

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

Когда я начал собирать свой первый самосборный 3D принтер (вариация на тему HyberCube Evolution, но об этом позже), то уже на одном из первых этапов возникла необходимость покрутить шаговые двигатели оси Z, а плата управления еще не пришла. Да и честно сказать, слишком много работы для такой простой задачи. Ведь надо сконфигурировать и залить прошивку, подключить питание, дисплей, двайверы, все это временно подвесить на соплях, сильно повышая шансы на случайное замыкание и досрочный выход из строя самой дорогой запчасти. Да и ждать не охота, вся работа встала из-за того, что мне нечем крутануть туда-сюда один или два движка для подстройки расположения механических компонентов. Руками? Не так быстро, а главное — не точно. Ну как вы крутанете одновременно два мотора, скажем на 100 оборотов (каждый оборот — 200 шагов), не ошибившись ни на шаг, т. к. это вызовет перекос? И вообще, хочется «погонять» ось приближенно к «боевым условиям», чтобы оно само гудело и ездило. Ровно и быстро. В общем, пришлось что-то выдумывать.

Так как у меня уже была горсть дешевейших и надежнейших драйверов А4988, которые суют во все китайские 3D принтеры по-умолчанию, задачу я решил «в лоб». Что там нужно, чтобы этот драйвер крутил вот такой биполярный шаговик (у меня стандартные NEMA 17 48мм)? Всего лишь указать драйверу направление (вывод DIR) логическим уровнем и подать импульсы на вывод STEP. Ну и подключить шаговик и питание, естественно. В итоге образовалась вот такая простая схема, оказавшаяся удобной и практичной. Все есть: «крутилка» скорости, тумблер «туда-сюда», тумблер «крутить/стоять». Джамперами JP1…JP3 можно выставить микрошаг в диапазоне от полного шага до 1/16, хотя на практике оказалось достаточно полношагового режима, но лишняя возможность может пригодиться. Итак, схема.

На популярном таймере 555 собран регулируемый генератор импульсов частотой примерно от 80 до 900 Герц (в режиме полного шага мотор крутится в диапазоне от «едва ползет» до «мчится со свистом»). Импульсы через тумблер SW1 попадают на вход STEP драйвера А4988, это режим «крутить». Если тумблер разомкнуть, драйвер перейдет в режим торможения (удерживания) мотора. Чтобы «отпустить» моторы, надо снять питание с драйвера. Тумблер SW2 переключает направление вращения шагового мотора. Резисторы R6 и R7 «подтягивают» соответствующие входы к «земле», на плате этих резисторов почему-то нет, хотя все прочие входы имеют «подтягивающие» к «земле» внутрисхемные резисторы. Вообще номиналы резисторов могут варьироваться в достаточно широких пределах, плюс-минус процентов 30 точно, схема сохраняет работоспособность. Точно так же не критична емкость конденсаторов, в принципе от 10нФ до 1мкФ пойдет любая керамика. Исключение — конденсатор С1, который желательно использовать пленочный. Значение емкости определяет диапазон частот, вместе с переменным резистором Р1. Номиналы С1 и Р1 можно изменять в широких пределах, сохраняя их произведение, как в исходной схеме. Скажем, можно взять емкость С1 0,47мкФ, но переменник Р1 тогда применить 20кОм. Диапазон частот, конечно, несколько сузится, но работать все будет нормально. Стабилизатор 78L05 можно заменить любым подходящим на напряжение 3.3..5В. Входное напряжение не желательно применять менее 12В и более 24В, драйвер выдерживает ток обмоток мотора 1А длительно, превышать это значение не стоит. Кто не в курсе — на драйвере А4988, как на многих других, установлен миниатюрный подстроечный резистор, которым выставляется максимальный ток шагового двигателя. Выбор максимального тока зависит от типа вашего шагового двигателя, сама же процедура многократно описана в сети, повторяться не вижу смысла. Кто не знает — гуглим «A4988 max current».

Читайте также:  Строим эстакаду для ремонта автомобиля

Таблица для выставления дробления шагов драйвера А4988 джамперами JP1..JP3

Схему собрал на второпях разведенной двусторонней платке размером 75х35мм, где верхний слой фольги играет роль общего провода (GND). Такой тип плат упрощает разводку, да и одностороннего стеклотекстолита под рукой не было. Все «земляные» выводы компонентов паяются прямо на фольгу, без отверстий, на фото видно. Панелька драйвера сделана из двух половинок распиленной панельки под выводную микросхему DIP16, также видно на фото (кликабельно). Плату в формате LAY прилагаю ниже, как и пару фоток, снятых на тапок. Номиналы деталей появляются при наведении на них курсора в программе Sprint Layout.

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

Ниже представлена принципиальная схема драйвера биполярных шаговых двигателей с двумя L298 (усиленный) 48В, 4А.

Данный драйвер может использоваться для управления практически любых 2-фазных биполярных гибридных шаговиков с 4 выводами и может обеспечить ток работы до 4 ампер при максимальном напряжении 35В.

Драйвер поддерживает режимы работы full step и half step которые можно выбрать с помощю джапмпера H/F. Джампер CTRL предназначен для установки типа двигателя униполярный/биполярный, в позиции биполярного ШИМ работает на выходы INHIBIT в противном случае на выходы ABCD. Питание драйвера 12-35В для двигателя и 15-24В для схемы, диоды D1-D8 быстрые на 3 ампера, желательно Шоттки. Цепочкой R9 и C15 можно подбирать частоту ШИМ, при указанных номиналах она выше диапазона слышимых звуков, так что движок не жужжит. Потенциометром RV1 устанавливается рабочий ток двигателя.

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

Схема и плата нарисованы в программе Proteus 7.7.

Схема протестированна и показала полную работоспособность драйвера

Используемые радиоэлементы:

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

Содержание / Contents

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

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

↑ Привод

Нужно двигать собственно фрезер в 3-х направлениях — XYZ, значит нужно 3 привода — 3 мотора с передачей вращения вала двигателя в линейное перемещение.
О передаче…
Для фрезерного станка, где есть боковые усилия резания материала, желательно не применять ременные передачи, очень популярные в 3D принтерах. Буду применять передачу «винт-гайка». Самая бюджетная передача — обычный стальной винт и безлюфтовая, желательно бронзовая, гайка. Более правильная — винт с трапециевидной резьбой и гайка из капролона. Самая хорошая (и, увы, самая дорогая) шарико-винтовая пара, или ШВП. Об этом подробнее я еще расскажу далее…
У каждой передачи есть свой коэффициент, свой шаг — то есть насколько линейно по оси переместится фрезер за один оборот двигателя, например, на 4 мм.

↑ Двигатель (мотор)

В качестве двигателя для привода определил шаговый двигатель (ШД)
Почему шаговый? Что это вообще такое?
Двигатели есть переменного и постоянного тока, коллекторные и бесколлекторные, и так называемые «шаговые». В любом случае нам надо обеспечить какую-то точность позиционирования, например 0,01 мм. Как это сделать? Если двигатель имеет прямой привод — вал двигателя соединяют напрямую с винтом, то для обеспечения такой точности нужно повернуть его на некоторый угол. В данном случае, при шаге передачи 4 мм и желаемой точности перемещения 0,01 мм это… всего 1/400 оборота, или 360/400=0,9 градуса! Ерунда, возьмем обычный моторчик…

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

С «обычным» моторчиком без обратной связи никак не получится. Не вдаваясь в подробности, схема управления двигателем должна «знать», на какой угол повернулась ось. Можно конечно поставить редуктор — потеряем в скорости, и все равно без гарантии, без обратной связи вообще никак! На ось ставится датчик угла поворота. Такое решение надежное, но дорогое.

Альтернатива — шаговый двигатель (как он работает, почитайте сами). Можно считать, что за одну «команду» он повернет свою ось на определенный градус, обычно это 1,8 или 0,9 градуса (точность обычно не хуже 5%) — как раз то, что нужно. Недостаток такого решения — при большой нагрузке двигатель будет пропускать команды — «шаги» и может вообще остановиться. Вопрос решается установкой заведомо мощного двигателя. На шаговых двигателях и делается большинство любительских станочков.

↑ Выбираем шаговый двигатель

2 обмотки, с минимальным током, минимальной индуктивностью и максимальным моментом — то есть максимально мощный и экономичный двигатель.

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

Характеристики некоторых двигателей приведены в таблице:

Для небольшого станка с рабочим пространством размером 300×300х100 мм и легким фрезером вполне сгодятся двигатели с крутящим моментом 0,3Нм и выше. Оптимальным является ток от 1,5 до 2,5 Ампер , вполне подойдет FL42STH38-1684

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

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

Самое простое решение — источник заданного тока и две пары транзисторных ключей на каждую обмотку. И четыре защитных диода. И логическая схема чтобы менять направление. И… Такое решение обычно делают на микросхеме ULN2003A для двигателей с малым током, имеет много недостатков, не буду на них останавливаться.

Альтернатива — специализированные микросхемы «всё в одном» — с логикой, транзисторами и диодами защиты внутри (или снаружи). А еще такие микросхемы контролируют ток обмоток и регулируют его с помощью ШИМ-а, а так же могут реализовывать режим «полушаг», а некоторые режимы 1/4 шага, и 1/8 шага и т. д. Эти режимы позволяют повысить точность позиционирования, повысить плавность движения и снизить резонанс. Обычно достаточно режима «полушаг», что позволит повысить теоретическую точность линейного позиционирования (в моем примере до 0,005 мм).

Что внутри микросхемы драйвера шагового двигателя? Блок логики и управления, источники питания, ШИМ со схемами формирования момента и времени коммутации обмоток, выходные ключи на полевых транзисторах, компараторы обратной связи — ток контролируется по падению напряжения на резисторах (Rs) в цепи питания обмоток. Ток двигателя задается опорным напряжением.

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

↑ Богатство выбора

Из готовых — наиболее распространённые и недорогие драйверы на микросхемах Allegro A4988 (до 2А), Texas Instruments DRV8825 (до 2,5А).
Поскольку модули изначально разрабатывались для использования в 3D принтерах типа Rep-rap проекта Arduino, они не являются законченными модулями (например, им нужно еще питание логики (+5V), которое подается с так называемой рампы (Ramp).

Читайте также:  Ремонт двигателя drz 400

Еще есть решения на DRV8811 (до 1,9 А), A3982 (до 2 А), A3977 (до 2,5 А), DRV8818 (до 2,5 А) DRV8825 (до 2,5 А), Toshiba TB6560 (до 3 А) и другие.

Поскольку мне интересно что-то сделать самому, плюс появилась возможность «попробовать на вкус» микросхемы Allegro A3982 и A3977, решил сделать пару драйверов самостоятельно.

Готовые решения на A4988 не понравились, прежде всего, из-за миниатюризации размеров печатной платы в ущерб хорошему охлаждению. Типовое сопротивление открытых транзисторов у A4388 при токе 1,5А 0,32+0,43 Ом, плюс 0,1-0,22 Ома «измерительный» резистор — получается около 0,85 Ом. А таких каналов два, и хотя и работают они импульсно, но 2-3 Ватта тепла надо рассеивать. Ну не верю я в многослойную плату и малюсенький радиатор охлаждения — в даташите нарисована плата гораздо больших размеров.

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

Управляющие сигналы — «шаг» (step), «направление» (dir), «включение» (enable), индикация состояния сигналов управления. Некоторые схемы не используют сигнал «Enable», но это приводит в режиме простоя к ненужному нагреву и микросхемы и двигателя.

Одно питание 12-24 вольта, источник питания логики (+5B) — на плате. Размеры платы — достаточные для хорошего охлаждения, двухсторонняя печать с большой областью «меди», возможность приклеить на микросхему радиатор (применяемой для охлаждения памяти видеокарт).

↑ Драйвер ШД на микросхеме Allegro A3982

Напряжение питание силовое: 8…35 В Напряжение питание логики: 3,3…5 В Выходной ток (максимальный, зависит от режима и охлаждения): ±2 А Типовое сопротивление открытых транзисторов (при токе 1,5А): 0,33+0,37 Ом

↑ Драйвер ШД на микросхеме Allegro A3977

Напряжение питание силовое: 8…35 В Напряжение питание логики: 3,3…5 В Выходной ток (максимальный, зависит от режима и охлаждения): ±2,5 А Типовое сопротивление открытых транзисторов (при токе 2,5А): 0,33+0,45 Ом

↑ Схема и прототип


Проектировал в среде DipTrace. Драйвер A3982 включен по схеме из документации производителя. Включен режим «полушаг». Дополнительно для надежной работы сигналов управления и индикации применил микросхему логики 74НС14 (с триггерами Шмитта). Можно было сделать гальвано-развязку на оптронах, но для маленького станка я решил ее не делать. Схема на A3977 отличается только дополнительными джамперами режима шага и более мощным разъемом питания, пока в «железе» не реализована.

↑ Печатная плата

↑ Работа

Температуру корпуса микросхемы мерил пирометром — без радиатора она достигала 90-95 градусов (при токе обмоток 1,6А) — мне это не понравилось. С радиатором — 55-60 градусов — куда лучше! Вообще плата вся теплая — около 35 градусов.

Спасибо за внимание!
Продолжение следует…

↑ Файлы

В архиве схема и плата в формате DipTrace
▼ Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте.

Даташит на микросхему Allegro A3982
▼ Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте.

Камрад, рассмотри датагорские рекомендации

🌻 Купон до 1000₽ для новичка на Aliexpress

Никогда не затаривался у китайцев? Пришло время начать!
Камрад, регистрируйся на Али по нашей ссылке. Ты получишь скидочный купон на первый заказ. Не тяни, условия акции меняются.

🌼 Полезные и проверенные железяки, можно брать

Куплено и опробовано читателями или в лаборатории редакции.

Adblock
detector