CNC-DESIGN
В корзине пусто!
Настройка тока драйвера шагового двигателя
Драйвер шагового двигателя является достаточно важным компонентом любого ЧПУ устройства, управляя движением каждой из осей. Перед использованием необходимо убедиться, что они правильно установлены и настроены, чтобы не допустить перегорание шаговых моторов или платы контроллера Arduino Sheild.
Настройку тока драйвера необходимо сделать для решения нескольких достаточно важных моментов:
— уменьшить вероятность пропуска шагов при низком токе;
— снижение нагрева драйвера и шагового двигателя при высоком напряжении;
— снизить шум при высоких значениях тока;
Для настройки тока нам понадобится:
— контроллеры с установленными драйверами;
— драйвера А4988 или DRV8825 ;
— мультиметр;
— отвертка.
Для начала необходимо собрать и подключить всю систему в полношаговом режиме. После сборки «бутерброда» из контроллера Ардуино, ЧПУ шилда и драйверов шаговых двигателей необходимо подключить шаговые двигатели. В описании к выбранным моторам надо узнать значение максимального тока Imax (для примера у шагового двигателя 17HS8401 это значение 1,8А)
Затем надо рассчитать значение опорного напряжения Vref на переменном резисторе для каждого типа драйверов, у нас их два: А4988 или DRV8825.
Формула опорного напряжения Vref для драйверов отличается.
Расчет для драйвера типа А4988.
Для A4988 формула расчета зависит от номинала резисторов, которые распаяны на плате драйвера. Если присмотреться, то можно увидеть надписи R050 или R100.
На приведенной фотографии они обведены черными кружками, их значение R100.
В общем виде формула выглядит как:
Vref = Imax * 8 * (RS)
Imax — максимальный ток на обмотках двигателя, из описания;
RS — сопротивление резистора, если резистор подписан R100, то RS=0,100, при R050 значение RS=0,05.
Для двигателя из нашего примера 17HS8401
Vref = 1,8 * 8 * 0,100 = 1,44 В.
Из-за того, что рабочий ток двигателя обычно рекомендуется ограничивать в 70% от максимального тока, для уменьшения перегрева двигателя, полученное значение необходимо умножить на 0,7.
Vref= 1,44*0,7 = 1,01 В.
Расчет для драйвера типа DRV8825.
Формула опорного напряжение для данного типа драйвера:
При рекомендованной работе на 70% от максимального тока двигателя, подставив значения для нашего примера, получим следующие значения:
Vref = 0.7*1,8 / 2 = 0.63V
Настройка тока драйвера на контроллере.
Для настройки необходимо подключить сборку плат к компьютеру,
Включить на мультиметре измерение постоянного напряжения напротив положения «20».
Для измерения напряжения необходимо минусовой щуп приложить к минусу на CNC Sheild, а положительный щуп замкнуть с подстроечным резистором, который по совместительству является «+» в данной схеме.
Необходимо вращать подстроечный резитор, пока мультиметр не покажет требуемое значение напряжения, при вращении по часовой стрелке, значения растут, против часовой стрелки — напряжение падает.
Настройку расчетных значений необходимо повторить это для всех активных драйверов в сборке.
Источник
Настройка драйвера A4988. Первый запуск шаговых двигателей
Продолжаю сборку станка ЧПУ. Шаговые двигателя я уже подобрал. Для проверки электроники, собрал тестовое подключение на столе.
Более подробное описание драйверов A4988 читайте на моем втором сайте ЧПУ технологии (CNC-tex.ru).
Сперва я подключил к CNC shield v3 шаговые двигателя:
- 17HS4401 — ток 1,7A
- EM-181 — ток 1,2A
- EM-142— значение максимального тока не нашел.
Двигателя выбраны сейчас нам нужно настроить рабочий ток драйверов A4988 для каждого шагового двигателя. Это можно сделать двумя способами:
1. Подключить двигатель в полношаговом режиме и замерить ток на одной обмотки. Он должен быть 70% от номинального тока двигателя. Т.е. для 17HS4401 1,7*0,7= 1,19 А
2. Рассчитать значение Vref — напряжение на переменном резисторе расположенном на драйвере А4988.
Формула Vref для A4988 изменяется от номинала токочувствительных резисторов. Это два черных прямоугольника на плате драйвера. Обычно подписаны R050 или R100.
Vref = Imax * 8 * (RS)
Imax — ток двигателя;
RS — сопротивление резистора. В моем случае RS = 0,100.
Для 17HS4401 Vref = 1,7 * 8 * 0,100 = 1,36 В.
В связи с тем что рабочий ток двигателя равен 70% от тока удержания. Полученное значение нам нужно умножить на 0,7. В противном случае двигателя в режиме удержания будут сильно греться.
Для 17HS4401 Vref ист. = 1,36*0,7 = 0,952 В.
Аналогично рассчитываю значения для EM-181
Vref = 1,2 * 8 * 0,100 = 0,96 В
Vrefист. = 0,96*0,7 = 0 ,672 В.
Так как я не смог найти datasheets для ЕМ-142. Для расчетов предложил, что ток на обмотку данного двигателя составляет 0,6 А. Если двигатель будит издавать гул сильнее обычного значит ток превышает максимальное значение. Его нужно понижать. Так как я взял ток обмотки. При расчете Vref ист. Не нужно умножать на 0,7, как я говорил выше ток одной обмотки составляет 70% от номинального. Расчет будет вот таким:
Vrefист. = 0,6 * 8 * 0,100 = 0,48 В.
По моим ощущениям я угадал с током двигателя ЕМ-142. Останется рассчитать сколько шагов он делает для совершения одного оборота. Об этом расскажу в следующей статье.
В видео подключил кнопки «Пауза», «Продолжить», «Аварийная остановка» . Подключил на пины шпинделя светодиод. И протестировал работу. Так же установил один конечный выключатель. Все работает. Если у вас возникли вопросу что куда подключается к CNC shield v3, читайте статью: Плата расширения для Arduino UNO, CNC shield v3 и драйверов A4988
Подписывайтесь на мой канал на Youtube и вступайте в группы в Вконтакте и Facebook.
Спасибо за внимание!
Понравилась статья? Поделитесь ею с друзьями:
Источник
Управляем шаговым электродвигателем с помощью драйвера
Что такое шаговый электродвигатель?
Я его буду называть ниже просто “мотор”, для краткости.
Расскажу кратко, более подробно про него можно прочитать в википедии или тут.
Самый простой вариант:
Есть четыре электромагнитные катушки A, B, A’, B’. Если по ним пропускать ток — они становятся магнитами (катушки А и В активны при “прямом” направлении тока, A’ и B’ — при “обратном”).
Есть колесо с зубчиками (например, зубчик один — стрелка).
Зубчик притягивается к той катушке, по которой пропускают ток. Таким образом, если последовательно включать ток в катушках, то стрелка будет совершать вращательное движение.
Чтобы сделать это движение более плавным, можно добавлять зубчики, можно катушки, а можно и то и другое — принцип остаётся тот же, меняется только тяга и угол поворота за один вкл/выкл.
Обычно используется следующая конфигурация: катушки выстраиваются по четыре вдоль периметра вращения, на каждую четвёрку есть по зубцу, таким образом есть шестерёнка и много катушек вокруг неё.
Рассмотрим самую простую модель с четырьмя катушками и одним зубчиком.
Подумаем, какими способами можно вращать стрелку.
Допустим, начальное её положение — у B’.
1. Самое очевидное:
Включаем А: стрелка останавливается напротив А.
Выключаем А, включаем В: стрелка идёт к В и останавливает напротив.
Выключаем В, включаем A’: стрелка останавливает уже у A’.
Выключаем A’, включаем B’: стрелка идёт к B’ и останавливает напротив.
Выключаем B’, включаем А: стрелка останавливается напротив А. и т.д.
За каждый раз раз совершается вращение в 90 градусов, полный круг, соответственно, за четыре раза.
Быстро, но очень резко.
Чем плохо:
Резко, потому шумно.
Сразу большой угол поворота, поэтому в зависимости от груза инерция может быть большой, и разогнавшаяся стрелка не остановится сразу, поэтому нужна бОльшая задержка перед тем, как выключить текущую катушку и включить следующую.
Из-за проблемы выше, если скорость сделать слишком большой, можно потерять контроль над вращением, и у вас что-нибудь куда-нибудь улетит или движение станет совсем уж странным.
Чем хорошо: относительно просто реализуемо.
2. Чуть-чуть менее очевидное решение:
Включаем А и B’: стрелка останавливается между А и B’, ровно посередине.
Выключаем B’, включаем В: стрелка фиксируется между А и В.
Выключаем А, включаем A’: стрелка между В и A’.
Выключаем В, включаем B’: стрелка останавливается между A’ и B’.
Выключаем A’, включаем А: стрелка между B’ и А. И т.д.
За раз — те же 90 градусов, полный круг тоже за четыре раза.
Тоже резко.
Что плохо:
Все то же, что и в предыдущем методе
Плюс чуть-чуть сложнее в реализации, но не слишком.
Что хорошо:
Одновременно “в силе” сразу две катушки, то есть тяга гораздо лучше, чем у предыдущего метода.
Соответственно, порог скорость + инерция, после которого мы теряем управление, становится выше по сравнению с первым методом.
3. Измельчим шаги:
Пусть у нас для каждого мотора есть не только состояние вкл/выкл, а некая таблица состояний:
a)
0%
50%
100%
Здесь 50% означает, что сила тока в катушке 50% от максимальной.
Можно ещё мельче:
b)
0%
25%
50%
75%
100%
Или ещё мельче.
Тогда последовательность будет такой:
B’ 100%, А 0%
B’ 75%, А 25%
B’ 50%, А 50%
B’ 25%, А 75%
B’ 0%, А 100%
И то же самое для пар А-В, В-A’, A’-B’, B’-В
Что плохо:
Сложнее реализовать.
Что хорошо:
Шаг мельче, следовательно меньше шума и дребезжания, движение более плавное.
Меньше проблем с инерцией и потерей управления.
Можно сделать ещё мельче, и движение будет ещё плавнее.
4. Будем подавать ток аналоговым способом.
Так сказать предельный случай при увеличении частоты разбиения до бесконечности.
B’ плавно меняем от 100% до 0%, А от 0% до 100%, и так для всех пар А-В, В-A’, A’-B’, B’-В.
Чем хорошо:
Очень плавно, хороший контроль, хорошая тяга. И тишинааа.
Чем плохо:
Аналогово.
Запатентовано.
5. Используем следующий вариант:
Включаем B’ и А: стрелка между B’ и А.
Выключаем B’: стрелка у А.
Включаем В: стрелка между А и В.
Выключаем А: стрелка у В.
Включаем A’: стрелка между A’ и В.
Выключаем В: стрелка у A’.
Включаем B’: стрелка между B’ и A’.
Выключаем A’: стрелка у B’
Включаем А: стрелка между B’ и А.
И т.д.
Отличается от “0%,50%,100%” шага 3 только тягой. 5 — сильнее.
Методы 1, 2, 3, 5 — стандартные, у них даже есть обозначения.
Если считать положение “у катушки” за 1, а положение “между катушками” за 2, следующие обозначения станут понятными:
Режим 1 будет называться 1 phase (полношаговый) (стрелка останавливается только на фазе “1”), но он почти не используется — тяга нехороша и вообще.
Режим 2: 2 phase (полношаговый) (только на фазе “2”).
Режим 5: 1-2 phase (полушаговый) (останавливаемся и на “1” и на “2”).
Режим 3: В зависимости от частоты разбиения:
4 (Цикл от положения “перед катушкой” до “перед следующей катушкой” равен четырём шагам): 2W1-2 phase (2*2 = 4)
8: 4W1-2 phase (4*2 = 8)
По-русски микрошаговый.
Режим 3-а никак не называется, потому что не используется, а метод 4 — запатентован.
Таким образом, зависимость силы тока от времени на катушках А и В (A’ и B’ соответствуют отрицательным значениям силы тока) должна быть примерно такой (для случая 1-2 phase).
Можно, безусловно, подавать ток соответствующей силы в нужной последовательности прямо на мотор, а можно использовать чип, который сильно упрощает управление. Такой чип называют драйвером. Мы устанавливаем нужные настройки режимов (в регистры), постоянно подаём на драйвер сигнал таймера, и драйвер сам генерирует выход нужной конфигурации.
Нам нужно: сам драйвер (с мотором), таймер достаточной частоты и контролирующий девайс (процессор, микроконтроллер или fpga).
В общем случае, у драйвера есть пины, отвечающие за выставление режима, и управляющие пины.
Например, так:
Сам режим
Максимальная сила тока (от максимальной по спецификации).
Управляющие пины: таймер, направление вращения(по часовой стрелке, против часовой стрелки), пин сброса и пин enabled.
CW — clock-wise
CCW — counter clock-wise
Initial mode — заранее определённое состояние катушек, соответствующее “начальному”. Может быть разным для разных режимов. Например, 100% на А и 0% на В для 1-2 phase, 100% на А и -100% на В для 2 phase. Подержав мотор в этом режиме некоторое время, мы гарантируем, что мотор повёрнут определённым заранее известным образом. Можно начинать отсчёт с этого состояния (нам же нужно в каждый момент времени знать, на какой позиции находится мотор).
Наконец, мы имеем правильно выставленный режим (например, 1-2 phase) и работающий таймер. Тогда выход драйвера будет выглядеть следующим образом:
Для примера использовался драйвер от Тошиба TB6560AHQ/AFG, хотя подробности не сильно важны, так как цель статьи — рассказать именно общий принцип, не вдаваясь в детали.
Источник