Avtoargon.ru

АвтоАргон
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Шаговые двигатели принцип работы и управление контроллер шагового двигателя

ArduinoGRBL

Виды ардуино-контроллеров

Ардуино-контроллеры используемые в любительском ЧПУ, бывают различного вида, но все содержат одинаковые компоненты:

  1. Микроконтроллер — который в себе содержит не только прошивку (программа по которой он работает), но и специальную память EEPROM в которой можно хранить настройки контроллера, и они не теряются, при отключении контроллера от питания.
  2. Микросхема преобразования USB сигнала в USART сигнал, для связи компьютера с микроконтроллером.
  3. Драйвера моторов — специальные модули преобразующие цифровые данные от микроконтроллера, в нужное напряжение, и ток, который подается на моторы.

Контроллер лазерного выжигателя

Контроллер микро-фрезерного станка

И плата подключаемая к ардуино контроллеру

По умолчанию в 0.9 версии контакты настроены следующим образом:

Карта контактов для платы Arduino Mega версия GRBL 0.9:

Ссылка на прошивку GRBL 0.9j для Arduino Mega с хомлением по осям X и Y. https://yadi.sk/d/UL0NA_hyvTrdm

Драйвера моторов

Применяемые драйвера моторов бывают различных видов, но принцип работы, подключения, и управления одинаковый, на следующем рисунке, представлен один из них:

1) EN (Enable) — Данный вывод может применяться для остановки работы шагового двигателя, если подать на этот вход +5 вольт, то управляющие сигналы, приходящие на этот драйвер не будут применяться, а мотор остановиться.

5) STP (STEP) — На данный вход драйвера, с ардуино-контроллера приходят импульсы, каждый импульс вызывает поворот оси мотора на 1 шаг, 1 шаг соответствует углу указанному на моторе:

В данном примере 1 шаг соответствует углу 1.8 градуса, если на данный вывод подать 10 импульсов, то ось мотора повернется на 18 градусов, а если подать 100 импульсов, то ось повернется на 180 градусов.

2,3,4) M0,M1,M2 — Данные выводы позволяют настраивать дробление шага, т.е. подавая импульсы на вывод №5, можно уменьшить угол поворота, например если настроить дробление 1/2, то для поворота оси мотора на 180 градусов потребуется подать уже 200 импульсов, а если сделать дробление 1/4, то потребуется уже подать 400 импульсов, для поворота на 180 градусов.

6) DIR — Управление направлением вращения, если на данном входе 0 вольт то ось мотора вращается в одном направлении, если +5 вольт, то в обратном.

7,8) Внешнее питание для подачи его на шаговый мотор, дело в том что для моторов используется отдельное питание, которое зачастую намного выше того, что используется для ардуино-контроллера, и цифровых входах драйвера.

9,10,11,12) Контакты доля подключения шагового мотора, шаговый мотор представляет собой 2 отдельные обмотки, которые называют A и B, в месте подключения часто можно видеть надписи +A и -A, что означает подключение первой обмотки, и +B и -B, что означает подключение второй обмотки.

Дополнительно: Если взять и поменять местами контакт +А и -А, то мотор изменит направление вращения, т.е. если раньше он вращался по часовой стрелке, то станет против часовой, и тоже самое в обратном направлении. Что позволяет инвертировать направление вращения, в «железной части», а можно это делать программным путем, в настройке прошивки.

Подключение концевиков

У станка есть рабочее поле, в пределах которого выполняется фрезеровка/гравировка, но в случае неправильных настроек, или указании координат куда двигаться, находящимися за пределами рабочей зоны, может повредиться механика и электроника. Для того что-бы такого не было, добавлена возможность подключать концевики, для каждой из оси, на каждую ось приходится по одному входу, методика подключения следующая:

Для примера подключение концевиков к оси X, к входу микроконтроллера подключается 2 кнопки/тумблера, которые располагают на краях по оси X, по умолчанию кнопки разомкнуты, и значит +5 вольт, на вход микроконтроллера не подается. Но как только механика станка достигнет границы по оси X, сработает одна из кнопок, и на вход микроконтроллера попадет +5 вольт, что вызовет немедленную остановку станка.

. Но это нужно настроить, будет описано ниже

Но на схеме так-же нарисован резистор, обычно ставится с сопротивлением 10 килоОм. Данный резистор нужен для того, что-бы в тот период времени, когда не нажата ни одна кнопка концевика, на вход микроконтроллера подавалось 0 вольт.

Наверняка у многих возникает вопрос, зачем. если на вход и так не подается +5 вольт, а связано это с тем, что вход микроконтроллера, не подключенный, либо к +5, либо к GND (земле), работает как антенна, собирающая помехи, наводки, которые могут вызвать ложное срабатывание

Настройка GRBL версии 0.9
Ссылка на официальный англоязычный ресурс GitHub https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.9

Список параметров хранящихся в EEPROM контроллера.
$0 = 10 Ширина импульса Step, мкс.
$1 = 25 Задержка перед переходом на удержание, мс.
$2 = 0 Маска инвертирования сигналов Step: 00000000
$3 = 6 Маска инвертирования сигналов Dir: 00000110
$4 = 0 Инвертирование сигнала Step enable, BOOL
$5 = 0 Инвертирование входов от конечных датчиков (концевики), BOOL
$6 = 0 Инвертирование входа от датчика поверхности Probe, BOOL
$10 = 3 Маска получения статуса от GRBL: 00000011
$11 = 0,020 Отклонение при прохождении крутых поворотов, мм.
$12 = 0,002 Величина сегмента дуги, мм.
$13 = 0 Данные от контроллера GRBL в дюймах, BOOL
$20 = 0 Включить программное ограничение перемещений (параметры $130,$131,$132) BOOL
$21 = 0 Включить ограничение по концевым датчикам, BOOL
$22 = 0 Автопозиционирование по концевикам, поиск точки Home, BOOL
$23 = 1 Маска инвертирования направления движения к точке Home 00000001
$24 = 50,000 Скорость движения у концевиков, мм / мин
$25 = 635,000 Скорость движения к точке Home, мм / мин
$26 = 250 Задержка срабатывания концевиков (антидребезг) мс.
$27 = 1,000 Расстояние «отскока» от концевиков, мм.)
$100 = 314,961 Число шагов на мм. по оси X, шаг / мм
$101 = 314,961 Число шагов на мм. по оси Y, шаг / мм
$102 = 314,961 Число шагов на мм. по оси Z, шаг / мм
$110 = 635,000 Максимальная скорость перемещений по оси X мм / мин
$111 = 635,000 Максимальная скорость перемещений по оси Y мм / мин
$112 = 635,000 Максимальная скорость перемещений по оси Z мм / мин
$120 = 50,000 Ускорение по оси X (чем больше значение тем быстрее разгон) мм / сек ^ 2
$121 = 50,000 Ускорение по оси Y (чем больше значение тем быстрее разгон) мм / сек ^ 2
$122 = 50,000 Ускорение по оси Z (чем больше значение тем быстрее разгон) мм / сек ^ 2
$130 = 225,000 Программное ограничение перемещения по оси X мм (включение $20 = 1)
$131 = 125,000 Программное ограничение перемещения по оси Y мм (включение $20 = 1)
$132 = 170,000 Программное ограничение перемещения по оси Z мм (включение $20 = 1)

Читать еще:  Эмульсия в масле двигателя что делать

Вывод списка параметров, команда: $$
Изменение параметра: $x = значение (x — номер параметра, например $100=90, новое значение количества шагов на один миллиметр для оси X = 90)

RST=$, $RST=#, $RST=* — Команды восстановление настроек и параметров Grbl по умолчанию.
RST=$ — Восстанавливает параметры из списка $$ на значения из прошивки (заданные по умолчанию перед компиляцией).
RST=# — Обнуляет все значения заданные через команды G54-G59, G28, G30 (смещения и позиции), хранящиеся в EEPROM.
RST=* — Обнуляет и восстанавливает все настройки и параметры GRBL, хранящиеся в EEPROM.
RST=* рекомендуется выполнить после прошивки, перед дальнейшей настройкой).

Таблица значений для масок инвертирования:

Инв. XИнв. YИнв. ZМаска
bit
Значение
dec
НетНетНет00000000
ДаНетНет000000011
НетДаНет000000102
ДаДаНет000000113
НетНетДа000001004
ДаНетДа000001015
НетДаДа000001106
ДаДаДа000001117

Если например нужно инвертировать направление движения по осям X и Y, выбираем маску 00000011 значение 3.
Вводим команду: $3 = 3 OK

После внесения изменений в параметры, выполняем сброс контроллера (команда CTRL-X OK или соответствующая кнопка в управляющей программе).

Настройка параметров ($100, $101, $102) количество шагов на миллиметр для осей X, Y, Z.
Для ШВП. Вводные:
1. Шаг винта мм/оборот
2. Число полных шагов на один оборот вала двигателя, для шагового двигателя обычно 200 но может быть и меньше (смотрите документацию на двигатель).
3. Микрошаг (деление шага, установленное на драйвере двигателя) если полный шаг берем 1.
Шагов на миллиметр = Число полных шагов * микрошаг / Шаг винта.
Пример для оси Y: Шаг винта = 5, Число полных шагов = 200, микрошаг = 8; 200 * 8 / 5 = 320
Задаем новое значение для оси Y: $101 = 320 OK, делаем сброс CTRL-X и проверяем перемещение (например F500 G1 Y30).
Тоже самое для других осей.

Метод подбора (пример для оси X). Входящие:
1. Заданный путь, например F500 G1 X10.
2. Реально пройденный путь (замеряем линейкой), к примеру получилось 16 мм.
3. Текущее количество шагов на миллиметр для оси X (смотрим параметр $100 по команде $$), допустим у нас $100 = 314.961.
Считаем: шагов на мм. (новое значение) = Реально пройденный путь мм / Заданный путь мм * Шагов на мм (текущее значение); 16 / 10 * 314.961 = 503.9376
Задаем новое значение для оси X: $100 = 503.9376 OK, делаем сброс CTRL-X затем проводим замер заново но с большим перемещением
(например F500 G1 X100). И так несколько раз до получения приемлемой точности. Тоже самое для других осей.

EQDrive Standard

Доступно для свободного повторения не в коммерческих целях!

Файлы
Описание

Блок управления EQDrive Standart, предназначен для автоматизации работы экваториальной монтировки.
Блок управления может работать практически с любой EQ монтировкой, управляемой шаговыми двигателями (ШД), поддерживает большой диапазон редукции осей, позволяет управлять монтировкой телескопа как автономно пультом, так и через астрономические программы с установленной платформой ASCOM6.х + EQMOD на Вашем персональном компьютере.

  • Электропитание: 12в 3А.
  • Тип ШД: Биполярный.
  • Напряжение питания драйверов ШД: 24в
  • Ток обмотки ШД: Регулируемый 0,1 — 0,8А.
  • Плавный разгон и торможение ШД: Регулируемый 0 — 10сек.
  • Коррекция нелинейности хода ШД: Есть.
  • Коэффициент редукции оси: Не ограничен. Рекомендуемый 1:1 — 1:2000.
  • Корпус изделия: Анод. алюминиевый 100мм х 75мм(90мм) х 35мм (Д х Ш х В)
  • Вес изделия: 230 грамм.
Читать еще:  В двигателе что то стучит скутер

Все настройки EQDrive Standart производятся в программе EQDrive Config и сохраняются в энергонезависимой памяти.
Настройки под выбранную монтировку можно сохранить на PC в созданном для этого файле и в последствии считать и записать в eqdrive.
Всего одним блоком EQDrive вы можете управлять всем своим парком экваториальных монтировок.

Из схемотехнических особенностей в управлении использованы самые современные компоненты: 32-разрядный контроллер с тактовой частотой 72 мГц, четыре канала 12-бит ЦАП, современные драйвера шаговых двигателей, драйвера запитаны 24 вольтами от внутреннего преобразователя напряжения.
Как опция защита от переполюсовки входного напряжения, гальваническая развязка входов USB и Пульта(HC).
Контроллер с 32-битной архитектурой дал нам бонус скорости для отработки совершенно иного алгоритма управления ШД, нет шагов в классическом виде, все без шагово. Шаговый двигатель работает как синхронный мотор. Это дает нам точность перемещения, бесшумность, плавность разгона/торможения монтировки. Разгон/торможение присутствует на любых скоростях будь то изменение от 0..0,5х,
от 1х до 5х или от 1х до 800х.

Разъемы передней панели

На передней панели расположено четыре разъема, Power, HC, ACC, USB и индикатор состояния (светодиод).
Разъем Power для подачи постоянного напряжения питания, имеет защиту от переполюсовки (если Вы во время подключения EQDrive
к блоку питания ошибетесь полярностью подключения то нечего не произойдет, прибор не сгорит, EQDrive просто не включится).
Разъем НС (Hand Controller) для подключения пульта управления. Имеет гальваническую развязку от основной схемы блока упр.
Дополнительные функции, может работать как второй COM порт, через который можно управлять монтировкой также как и через порт USB.
На него вы можете к примеру подключить блютус модуль (НС-04, 05, 06) и управлять монтировкой удалено.
Разъем Accessories (ACC) (в данный момент в разработке).
1. Режим Auto Guide. Вход авто гида. Скорость гидирования настраивается отдельно на каждую ось.
2. Режим Пульта. Режим активизируется удержанием 1-3сек кнопки (RA+ & RA-) после включения устройства.
Разъем USB для подключения блока управления к компьютеру. Имеет гальваническую развязку от основной схемы блока упр.

Разъем Power
Разъем питания PC-2.1/5.5
Центральный контакт плюс.
Боковой контакт минус
Защита от переполюсовки: есть.

Разъем Hand Controller (HC)
1. +3,3v (100mA max.)
2. Rx.
3. Tx.
4. Gnd (масса)

Разъем Accessories (ACC).
В режиме Auto Guide
1. nc.
2. Gnd.
3. RA+
4. DEC+
5. DEC-
6. RA-
Скорость гидирования прописывается в флеш память устройства программой EQDriveConfig.

Пульт
1. RA-
2. Gnd.
3. DEC+
4. MODE
5. DEC-
6. RA+

Активация драйверов ЩД кнопки RA+ & RA- (подается напряжение питания на моторы).
Де активация драйвера ШД кнопки DEC+ & DEC- (снятие напряжения питания с моторов).
Звездная скорость кнопки MODE & RA- .
Лунная скорость кнопки MODE & DEC+.
Солнечная скорость кнопки MODE & RA+.
Стоп кнопки MODE & DEC-.
Переключение скорости наведения Low/High кнопка MODE.
1-но кратное нажатие кнопки MODE устанавливает 40 x или 1000 x
2-x кратное — 20x
3-x кратное — 10x
4-x кратное — 5x
5-ти кратное — 2.5x
6-ти кратное — 1.2x
7-ти кратное — 0.6x
8-ти кратное — 0.4x

Разъемы задней панели.

На задней панели расположено два 9-ти контактных разъема, для подключения шаговых двигателей.

Разъемы RA Motor, DEC Motor. (Winding Configurations)
1. Обмотка А1.
2. Обмотка А2.
3. nc.
4. Обмотка В1.
5. Обмотка В2.
6, 7, 8, 9. Масса (Gnd).

Список рекомендуемых моторов

(их аналог смотрим и подбираем самостоятельно).
SY42STH47-1206A (работают на токе 0,75А, коррекция cor1 0,07)
QSH4218-51-10-049 (работают на токе 0,6 — 0,75А)
42STH47-0806MA
42STH47-0406MA

UNI Форум

Настройка драйверов TMC2208 и TMC2209 StandAlone (без UART)

Настройка драйверов TMC2208 и TMC2209 StandAlone (без UART)

Сообщение demonlibra » 25 мар 2020, 17:38

Читать еще:  Большие обороты при запуске двигателя рено логан

Обратите внимание, что при расчете максимального тока:

для TMC2208 — опорное напряжение надо делить на 1.4
для TMC2209 — опорное напряжение надо умножать на 0.63

Re: Настройка драйверов TMC2208 и TMC2209

Сообщение Palich » 26 мар 2020, 13:29

Re: Настройка драйверов TMC2208 и TMC2209

Сообщение demonlibra » 26 мар 2020, 14:39

Re: Настройка драйверов TMC2208 и TMC2209

Сообщение Evg33 » 26 мар 2020, 15:34

Re: Настройка драйверов TMC2208 и TMC2209

Сообщение demonlibra » 26 мар 2020, 18:16

Re: Настройка драйверов TMC2208 и TMC2209

Сообщение Palich » 26 мар 2020, 20:42

Re: Настройка драйверов TMC2208 и TMC2209

Сообщение demonlibra » 26 мар 2020, 20:49

На 0.63 умножаете значение напряжения измеренное мультиметром и получаете максимальный ток.

Вращением переменного резистора изменяется значение напряжения, подаваемое на ножку VREF микросхемы драйвера.
Микросхема драйвера использует значение тока проходящего через VREF для расчета тока подаваемого на мотор.

VREF — Analog reference voltage for current scaling or reference current for use of internal sense resistors (optional mode).
Motor run current either is fixed, or set by the CPU using the analog input VREF.

Re: Настройка драйверов TMC2208 и TMC2209

Сообщение demonlibra » 26 мар 2020, 21:29

Я так понимаю, что значение коэффициента в формуле расчета определяется подстроечным резистором и входным сопротивлением VREF.
Драйверы 2208 и 2209 имеют разное входное сопротивление VREFT.
TMC2208 — 1,00 кОм
TMC2209 — 0,45 кОм

В итоге максимальный ток, который драйвер выдаст на мотор = 3000 х » ток через контакт VREF«.
Ток на контакте VREF = 5V / (Сопротивление VREF + сопротивление подстроечного резистора)

Re: Настройка драйверов TMC2208 и TMC2209

Сообщение Palich » 26 мар 2020, 21:33

Re: Настройка драйверов TMC2208 и TMC2209

Сообщение Vladimir » 26 мар 2020, 21:39

Электронное дистанционное управление лодочным мотором (Просматривают: 2)

  • 01.03.2016

В данной теме решил выложить идеи по разрабатываемой схеме дистанционного управления лодочным мотором от 12 В.

Причина: после сезона ловли троллингом на 2Т 30 л.с., поняли, что это совсем не бюджетно и приобрели мотор-докатку 4Т 2.5 л.с.
После второго сезона ловли, доперло, что сидеть сверху на спинке сиденья и управлять докаткой не особо комфортно. Бабушкина шуба, накинутая на спинку и удлинитель румпеля (канализационная труба) немного исправили ситуацию, но сильно комфортнее от этого не стало.

Идея: переделать управление троллинговым мотором с механического на электронное, вынести управление на пульт, оставить возможность возврата к механическому управлению «максимум за 5 минут».

Реализация: прикинув возможные варианты, покопавшись в загашниках с электронными компонентами, посмотрев десятки видео решил последовательно сделать 3 версии дистанционного управления.

Общие компоненты управления для всех версий:
Управление поворотом мотора, газом, ручкой кпп — сервоприводы
Мозги — Arduino Uno
Джойстик 4-х позиционный, 3 кнопки (F N R), тумблер подачи питания на контроллер, кнопка глушения мотора.

Версия 1: BDC Simple
Возможности: управление джойстиком газом (больше-меньше), поворотом (влево-вправо), кнопки FNR — переключение скоростей (газ самостоятельно сбрасывается до хх), при нажатии кнопки «заглушить мотор» — сброс газа, замыкание контактов чеки, включение нейтрали.
Стоимость компонентов около 4000 руб.

Что сделано на 01.03.2016: написан код, заказаны кнопки, джойстик. Нужно заказать еще 2 сервопривода и привести мотор с дачи, чтобы реализовывать механическую часть.

Версия 2: BDC Advanced
Дополнительно к версии 1: устанавливается кнопка, гироскоп, акселерометр, магнитометр.
Выезжаем на лодке на воду, регулируем направление движения, нажимаем на кнопку и контроллер сам управляет поворотом мотора для удержания заданного направления.
Дополнительная стоимость к версии 1 около 1000 руб.

Что сделано на 01.03.2016: написан код, нужно тестировать на воде после реализации 1 версии.

Версия 3: BDC Professional
Дополнительно к версии 2: нужен телефон (планшет), блютус модуль для контроллера.
Выезжаем на лодке на воду, на планшете на карте ставим точки, нажимаем на кнопку — лодка сама едет по точкам.
Дополнительная стоимость к версии 2 около 500 руб.

Что сделано на 01.03.2016: ничего. ищется человек который напишет программу для Андройда.

PS: в цели проекта зарабатывание денег не входит, поэтому просьба не обсуждать здесь продажу устройства.
PSS: все исходники будут публиковаться по лицензии GPL v3 (исходный код открыт и может свободно использоваться и изменяться с указанием в нем авторов)

Обсуждения и предложения приветствуются. Первоочередная задача сделать версию 1 к середине июня.

голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector