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

 
 
 

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

13.03.16   basilevscom   53 199   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 ⇣ 65

Даташит на микросхему Allegro A3982
a3982.pdf 🕗 28/02/16 ⚖️ 303,14 Kb ⇣ 51

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

Антон (basilevscom)
Россия, Санкт-Петербург
Профиль basilevscom
О себе автор ничего не сообщил.
 

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

Нравится

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

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

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

 

 

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

 

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

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

«Домашний 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 241 комментарий
  • 274 публикации
 
Николай,
речь пока шла только о драйверах ШД - решения на современных чипах.
Надеюсь и до станины дойдём потихоньку. 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 241 комментарий
  • 274 публикации
 
Саша, врёте, всё нормуль с файлом! 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 241 комментарий
  • 274 публикации
 
Цитата: 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


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