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

 
 
 
8

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

Разместил basilevscom 13 марта 2016. Просмотров: 17 201


При конструировании очередного станка с ЧПУ, а попросту 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 | Файл 44,22 Kb загружен 49 раз.

Даташит на микросхему Allegro A3982
a3982.pdf | Файл 303,14 Kb загружен 34 раз.
Антон (basilevscom)
Россия, Санкт-Петербург
Профиль basilevscom
Электроника для меня - и профессия, и хобби. Испытываю огромное удовольствие, когда получается что-то сделать или починить, основные предпочтения - звуковая аппаратура и микроконтроллеры.
 

Понравилось? Палец вверх!

  • всего лайков: 118

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

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


Схема на Датагоре. Новая статья Kaspersky FREE. Бесплатная годовая лицензия для России, Белоруссии и Украины... Привет, друзья! Очередной подарок от kaspersky.ru — антивирус «Kaspersky FREE». Спасибо Евгению...
Схема на Датагоре. Новая статья Блок управления вытяжным вентилятором. Наладка, результаты... Всем здоровья! Утюг починен. Хочу коротко отчитаться в проделанной работе и результатах наладки...
Схема на Датагоре. Новая статья Домашний CNC. Часть 2. Механика... При конструировании очередного станка с ЧПУ, а попросту 3-х осевого фрезерного-сверлильного...
Схема на Датагоре. Новая статья Пусть всегда будет солнце!... Сегодня День Победы. Мы так долго живём без войны, что начали забывать, что это такое, а без этой...
Схема на Датагоре. Новая статья 17/01 киберсубботник на портале... Привет, дрУги! В ближайщую субботу на нашем портале и в магазине будет проводиться...
Схема на Датагоре. Новая статья Coil32 v9.0 - программа для расчета катушек индуктивности... Всем, кто занимался изготовлением (и ремонтом) приемников, передатчиков, акустических систем, ИБП,...
Схема на Датагоре. Новая статья Сэмплы гитарного комбоусилителя U-96... Как и обещал, записал пару сэмплов на скорую руку с моего комбика из статьи "Новый гитарный...
Схема на Датагоре. Новая статья Библиотеки Diptrace +3D. Разъёмы PBS (розетки)... Продолжая тему библиотек для Diptrace, хочу предложить розетки однорядные PBS для пайки на плату...
Схема на Датагоре. Новая статья Toshiba - это хорошо! Новейший каталог 4Q2012... Предлагаю вниманию сограждан новейший каталог Toshiba Bipolar Power Transistors — 4 квартал...
Схема на Датагоре. Новая статья Датагорскiя Вѣдомости №1 (2012)... Здравствуйте, уважаемые сограждане-датагорцы и гости нашего электронного города! Спешу рассказать...
Схема на Датагоре. Новая статья Transformer: программа расчета маломощного (до 500 Вт) силового трансформатора на частоте 50 Гц... Предлагаю начинающим очень простую программулину для расчета силовых трансформаторов. Автор...
Схема на Датагоре. Новая статья Датагорская Ярмарка электроники v.2 открылась!... Уважаемые граждане Датагории и гости нашего кибер-города! После обновления открылась Датагорская...
<
  • Подписчик
14 марта 2016 04:21

Николай / nick_shuvalov

  • С нами с 16.12.2011
  • Ушёл в реал Пользователь offline
  • 2 комментария
  • 0 публикаций
 
  • 0
Класс! А STEP/DIR с компа? Станина - алюминиевый профиль?

<
  • Главный редактор
14 марта 2016 11:10

Игорь Петрович Котов / Datagor

  • С нами с 25.02.2011
  • Ушёл в реал Пользователь offline
  • 1 638 комментариев
  • 261 публикация
 
  • 0
Николай,
речь пока шла только о драйверах ШД - решения на современных чипах.
Надеюсь и до станины дойдём потихоньку. good
В заглавие вынесена отвлеченная 3d-картинка.

<
  • Гражданин
14 марта 2016 12:38

Никита / remontsofta

  • С нами с 1.02.2010
  • Ушёл в реал Пользователь offline
  • 7 комментариев
  • 0 публикаций
 
  • 0
Круть! Вот только неделю назад заинтересовался вопросом. Зарылся на пару дней в интернет, понял что не все просто) Если целая статья посвящена шаговым и драйверу, значит цикл планируется ого-го ;)
Ждем с нетерпением!!!

<
  • Гражданин
14 марта 2016 12:56

Антон / basilevscom

  • С нами с 8.01.2010
  • Ушёл в реал Пользователь offline
  • 111 комментариев
  • 15 публикаций
 
  • +1
Цитата: nick_shuvalov
А STEP/DIR с компа?

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

<
  • Подписчик
14 марта 2016 17:49

Игорь / StalKer-NightMan

  • С нами с 15.03.2012
  • Ушёл в реал Пользователь offline
  • 90 комментариев
  • 1 публикация
 
  • 0
Очень интересная статья. Буду с нетерпением ждать продолжения.

<
  • Гражданин
14 марта 2016 23:18

Александр / minchenko

  • С нами с 16.06.2009
  • Ушёл в реал Пользователь offline
  • 31 комментарий
  • 4 публикации
 
  • 0
В нашем ряду станкостроителей прибыло))) Антон поздравляю Вас с великим началом! Наверное пора добавить и мой станок, точнее первую его часть - механику.

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

<
  • Главный редактор
15 марта 2016 13:37

Игорь Петрович Котов / Datagor

  • С нами с 25.02.2011
  • Ушёл в реал Пользователь offline
  • 1 638 комментариев
  • 261 публикация
 
  • 0
Саша, врёте, всё нормуль с файлом! wink
И хотя у меня открылось в предыдущем, возьмите себе свеженький DipTrace 3.0:
//diptrace.com/rus/download-diptrace/

<
  • Гражданин
16 марта 2016 01:05

Антон / basilevscom

  • С нами с 8.01.2010
  • Ушёл в реал Пользователь offline
  • 111 комментариев
  • 15 публикаций
 
  • 0
Цитата: minchenko
поздравляю Вас с великим началом!

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

Информация
Вы не можете участвовать в комментировании. Вероятные причины:
— Администратор остановил комментирование этой статьи.
— Вы не авторизовались на сайте. Войдите с паролем.
— Вы не зарегистрированы у нас. Зарегистрируйтесь.
— Вы зарегистрированы, но имеете низкий уровень доступа. Получите полный доступ.