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

 
 
 

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

📆13.03.16 🙋basilevscom 👀49 122 💬12

При конструировании очередного станка с ЧПУ, а попросту 3-х осевого фрезерного-сверлильного станочка для печатных плат и мелких фрезерных работ, у меня появилось неугомонное желание разложить всё «по полочкам».
Многие скажут, что тема не нова, существует множество проектов, множество технических и программных решений. Но, плавая в этом море информации, я постарался убрать всю «воду» и получить «сухой остаток».
Вот что из этого получилось…
Сразу оговорюсь — все, что здесь далее написано, лишь мои личные выводы и не претендует на абсолютную истину. Истина рождается в споре, так что если уважаемые читатели в чем-то со мной не согласны, давайте это обсудим!

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

Привод

Нужно двигать собственно фрезер в 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).

Еще есть решения на 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 отличается только дополнительными джамперами режима шага и более мощным разъемом питания, пока в «железе» не реализована.

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

Процесс изготовления — ЛУТ, двухсторонняя. Габариты 37×37 мм, крепеж — как у двигателей, 31×31 мм.

Для сравнения — слева мое творчество, справа драйвер на A4988.


Работа

Все заработало сразу, наладки не требовалось.

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

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


Файлы

В архиве схема и плата в формате DipTrace
a3982.7z 🕗 28/02/16 ⚖️ 44,22 Kb ⇣ 64

Даташит на микросхему Allegro A3982
a3982.pdf 🕗 28/02/16 ⚖️ 303,14 Kb ⇣ 50
Антон (basilevscom)
Россия, Санкт-Петербург
Профиль basilevscom
О себе автор ничего не сообщил.
 

Читательское голосование

Нравится

Статью одобрили 123 читателя.

Для участия в голосовании зарегистрируйтесь и войдите на сайт с вашими логином и паролем.
 

Поделись с друзьями!

 

 

Связанные материалы

 

Схема на Датагоре. Новая статья Atmel U211B - контроллер оборотов двигателя от стиралки для домашнего станка... Моя новая датагорская статья посвящена теме о превращении электродвигателя от стиральной машины в...
Схема на Датагоре. Новая статья Домашний CNC. Часть 2. Механика... При конструировании очередного станка с ЧПУ, а попросту 3-х осевого фрезерного-сверлильного...
Схема на Датагоре. Новая статья Сверлильный станок для печатных плат на базе механизмов дисковых приводов... Сейчас аппаратура быстро устаревает. Всё, что остаётся не у дел, надо снова пускать в дело!...
Схема на Датагоре. Новая статья Намоточный станок с проводоукладчиком... Давно была идея о создании намоточного станка с проводоукладчиком. На просторах Интернета много...
Схема на Датагоре. Новая статья Руководство по созданию фрезерного CNC ЧПУ станка. Глава 2. Рама и механика... Всех приветствую! Судя по количеству просмотров первой части статьи, тема ЧПУ людям не...
Схема на Датагоре. Новая статья Руководство по созданию фрезерного CNC ЧПУ станка. Глава 1. Электроника станка... Всем доброго времени суток! А вот и я с новой частью своего рассказа о ЧПУ - станке. Когда начинал...
Схема на Датагоре. Новая статья Фанерный робот. Мой первый в жизни ЧПУ-станок из подножных материалов... Приветствую всех земляков Датагорцев! Планировал написать очередную статью конечно же о новом...
Схема на Датагоре. Новая статья Станок для сверления печатных плат из CD-привода TEAC... Прочитав статьи о достижениях форумчан в области станкостроения (молодцы, ребята!) с упоминанием...
Схема на Датагоре. Новая статья Как я сделал станочек для намотки трансформаторов, простой и точный... Прошло почти два года после моего вселения в наш Дата-город. Пришло время отсчитаться о проделанной...
Схема на Датагоре. Новая статья Управление шаговым двигателем с ПК... Драйвер для шагового двигателя, который управляется с персонального компьютера. Привет всем! Решил...
Схема на Датагоре. Новая статья Программируемые роботы. Дж. Вильямс... Программируемые роботы. Дж. Вильямс Год: 2006 Страниц: 240 Формат: DjVu Размер: 6.39 mb Качество:...
Схема на Датагоре. Новая статья Электроника шаг за шагом: Практическая энциклопедия юного радиолюбителя. Р. А.Сворень... Электроника шаг за шагом: Практическая энциклопедия юного радиолюбителя. Рудольф Анатольевич...
 

Общаемся по статье 💬

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

Комментарии, вопросы, ответы, дополнения, отзывы

 

<

nick_shuvalov

Николай Читатель Датагора
  • Кандидат
Комментарий # 1 от 14-03-16, 4:21.
Ответить
  • С нами с 16.12.2011
  • 2 комментария
  • 0 публикаций
 
Класс! А STEP/DIR с компа? Станина - алюминиевый профиль?

<

Datagor

Игорь Котов Читатель Датагора
  • Главный редактор
Комментарий # 2 от 14-03-16, 11:10.
Ответить
  • С нами с 26.02.2006
  • 2 212 комментариев
  • 273 публикации
 
Николай,
речь пока шла только о драйверах ШД - решения на современных чипах.
Надеюсь и до станины дойдём потихоньку. good
В заглавие вынесена отвлеченная 3d-картинка.

<

remontsofta

Никита Читатель Датагора
  • Гражданин
Комментарий # 3 от 14-03-16, 12:38.
Ответить
  • С нами с 1.02.2010
  • 7 комментариев
  • 0 публикаций
 
Круть! Вот только неделю назад заинтересовался вопросом. Зарылся на пару дней в интернет, понял что не все просто) Если целая статья посвящена шаговым и драйверу, значит цикл планируется ого-го ;)
Ждем с нетерпением!!!

<

basilevscom

Антон Читатель Датагора
  • Гражданин
Комментарий # 4 от 14-03-16, 12:56.
Ответить
  • С нами с 8.01.2010
  • 126 комментариев
  • 16 публикаций
 
Цитата: nick_shuvalov
А STEP/DIR с компа?

Не торопитесь, все варианты будут рассмотрены в следующей статье...)))

<

StalKer-NightMan

Игорь Читатель Датагора
  • Гражданин
Комментарий # 5 от 14-03-16, 17:49.
Ответить
  • С нами с 15.03.2012
  • 96 комментариев
  • 1 публикация
 
Очень интересная статья. Буду с нетерпением ждать продолжения.

<

minchenko

Александр Читатель Датагора
  • Гражданин
Комментарий # 6 от 14-03-16, 23:18.
Ответить
  • С нами с 16.06.2009
  • 31 комментарий
  • 4 публикации
 
В нашем ряду станкостроителей прибыло))) Антон поздравляю Вас с великим началом! Наверное пора добавить и мой станок, точнее первую его часть - механику.

А как открыть файл платы, пишет - неверный формат?

<

Datagor

Игорь Котов Читатель Датагора
  • Главный редактор
Комментарий # 7 от 15-03-16, 13:37.
Ответить
  • С нами с 26.02.2006
  • 2 212 комментариев
  • 273 публикации
 
Саша, врёте, всё нормуль с файлом! wink
И хотя у меня открылось в предыдущем, возьмите себе свеженький DipTrace 3.0:
//diptrace.com/rus/download-diptrace/

<

basilevscom

Антон Читатель Датагора
  • Гражданин
Комментарий # 8 от 16-03-16, 1:05.
Ответить
  • С нами с 8.01.2010
  • 126 комментариев
  • 16 публикаций
 
Цитата: minchenko
поздравляю Вас с великим началом!

Спасибо, но это скорее продолжение, первый станок сделал 3 года назад)))

<

Ivan_Maggot

Иван Читатель Датагора
  • Кандидат
Комментарий # 9 от 25-06-17, 21:56.
Ответить
  • С нами с 25.06.2017
  • 1 комментарий
  • 0 публикаций
 
Ребята оч важный вопрос для меня!!! хочу собрать свой первый станок ЧПУ для фрезеровки! Из двигателей выбрал Nema 23_2430
Ток, А : 3
Сопротивление фазы, ом : 1.6
Индуктивность, mH : 6.8
Момент удержания кг*см : 28
Кол-во выводов : 4

Подскажите пожалуйста какой драйвер подойдет а также контроллер? Я не совсем разбираюсь во всех данных микросхем и механики (вольты, амперыы и тд) и решил что для данного ШД подойдет А4988 с CNC Шилдом и на базе Arduino uno.
И еще один вопрос: если двигатель с током на 3 ампера а драйвер до 2 Ампер то двигатель будет работать или нет? не совсем разбираюсь в совместимостях этих показателей!

Кому не сложно ответье пожалуйста.

<

Datagor

Игорь Котов Читатель Датагора
  • Главный редактор
Комментарий # 10 от 26-06-17, 7:07.
Ответить
  • С нами с 26.02.2006
  • 2 212 комментариев
  • 273 публикации
 
Цитата: Ivan_Maggot
если двигатель с током на 3 ампера а драйвер до 2 Ампер то двигатель будет работать или нет?
Будет, но не долго lol Лучше всегда иметь запас по току у дравера (не наоборот).

<

basilevscom

Антон Читатель Датагора
  • Гражданин
Комментарий # 11 от 26-06-17, 11:14.
Ответить
  • С нами с 8.01.2010
  • 126 комментариев
  • 16 публикаций
 
Иван! 3 ампера для А4988 это перебор. Для него этого драйвера желательно 1-1.5 ампера, и то обязательно нужно устанавливать на него радиатор. Для 3-х амперных моторов можно порекомендовать недорогие драйверы на микросхеме TB6600 (но только не китайские HY-DIV268N-5A любой версии, там куча ошибок как схематических, так и в монтаже) А вообще смотрите на характеристику драйвера - можно ли на нем установить ток 3А

<

Террон

Читатель Датагора
  • Прохожий
Комментарий # 12 от 11-03-19, 22:43.
Ответить
  • С нами с --
  • 0 комментариев
  • 0 публикаций
 
На схеме конденсатор с11, по моему полярность перепутана.

Добавить комментарий, вопрос, отзыв 💬

Камрады, будьте корректны и вежливы, соблюдайте правила!


Налетай! Паяльники, станции, жала с доставкой

Офигенная миниатюрная рация на литии BaoFeng UV-5R, 5W, 5-15 км!

Тестер универсальный LCR-TC1 для транзисторов, конденсаторов, ESR, MOSFET и т.д.
  • smilelolhellowinkscepticthumbupbored
    crazybadcryingsadirefulsickstraight
    ballooncakegooddrinksmailbombsun
    nightrainstarscolddashpartyhandshake
    musicnegativenowordspardonshoksleepunknown
    wackoyawnsainthelmethashsmokingwhew


Скопируйте текст вашего комментария на случай неверного ответа на контрольный вопрос.