Управляем Шаговым Двигателем С Помощью Драйвера

Что такое шаговый двигатель? Ниже я буду называть его просто «мотор», для краткости.



Управляем шаговым двигателем с помощью драйвера

Расскажу кратко, подробнее об этом можно прочитать в Википедия или здесь .

Самый простой вариант: Имеются четыре электромагнитные катушки A, B, A', B'.

Если через них пропустить ток, они становятся магнитами (катушки А и В активны в «прямом» направлении тока, А’ и В’ – в «обратном» направлении).

Есть колесо с зубцами (например, один зуб — стрела).

Зуб притягивается к катушке, через которую проходит ток.

Таким образом, если включить ток в катушках последовательно, игла совершит вращательное движение.

Чтобы сделать это движение более плавным, можно добавить зубья, можно витки, а можно и то, и другое — принцип остается тот же, меняется только тяга и угол поворота в одном включении/выключении.

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

Рассмотрим простейшую модель с четырьмя катушками и одним зубом.

Давайте подумаем, как можно повернуть стрелку.

Допустим, его начальная позиция находится в точке B’.

1. Самое очевидное: Включите А: стрелка остановится напротив А.

Выключите А, включите Б: стрелка идет к Б и останавливается напротив.

Выключите B, включите A’: стрелка останавливается на A’.

Выключите А’, включите Б’: стрелка идёт к Б’ и останавливается напротив.

Выключите Б', включите А: стрелка останавливается напротив А и т. д. За каждый раз выполняется поворот на 90 градусов, полный круг соответственно за четыре раза.

Быстрый, но очень резкий.

Что плохого: Он острый, поэтому шумный.

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

Из-за проблемы, описанной выше, если вы сделаете скорость слишком высокой, вы можете потерять контроль над вращением, и у вас что-то полетит куда-то или движение станет совсем странным.

Почему это хорошо: относительно легко реализовать.

2. Чуть менее очевидное решение: Включите A и B’: стрелка останавливается между A и B’, ровно посередине.

Выключите B’, включите B: стрелка фиксируется между A и B. Выключите A, включите A’: стрелка между B и A’.

Выключите B, включите B’: стрелка останавливается между A’ и B’.

Выключите А’, включите А: стрелка между Б’ и А.

И т.д. За один раз - те же 90 градусов, полный круг тоже в четыре раза.

Еще и острый.

Что не так: Все то же самое, что и в предыдущем способе Плюс это немного сложнее реализовать, но не слишком.

Что хорошо: При этом «в силе» сразу две катушки, то есть тяга намного лучше, чем у предыдущего способа.

Соответственно, порог скорость+инерция, после которого мы теряем управление, становится выше по сравнению с первым способом.

3. Сократим шаги: Пусть для каждого двигателя будет не просто состояние «включено/выключено», а некая таблица состояний: а) 0% 50% 100% Здесь 50% означает, что ток в катушке составляет 50% от максимального.

Оно может быть еще меньше: б) 0% 25% 50% 75% 100% Или даже меньше.

Тогда последовательность будет такая: Б’ 100%, А 0% Б’ 75%, А 25% Б’ 50%, А 50% Б’ 25%, А 75% Б’ 0%, А 100% И то же самое для пар А-Б, Б-А’, А’-Б’, Б’-Б.

Что не так: Сложнее реализовать.

Что хорошо: Шаг меньше, поэтому меньше шума и дребезжания, движение более плавное.

Меньше проблем с инерцией и потерей контроля.

Можно сделать его еще меньше, и движение будет еще плавнее.

4. Подавать ток будем аналоговым способом.

Так сказать, предельный случай, когда частота расщепления возрастает до бесконечности.

Плавно меняем Б’ со 100% на 0%, А с 0% на 100% и так далее для всех пар А-Б, Б-А’, А’-Б’, Б’-Б.

Почему это хорошо: Очень плавный, хороший контроль, хорошая тяга.

И тишина.

Что плохого: Аналог.

Запатентовано.

5. Используем следующий вариант: Включите B' и A: стрелка между B' и A. Выключите B’: стрелка на A. Включите B: стрелка между A и B. Выключите A: стрелка на B. Включите A’: стрелка между A’ и B. Выключите B: стрелка на A’.

Включите B': стрелка между B' и A'.

Выключите A’: стрелка на B’ Включите A: стрелка между B’ и A. И т. д. От шага 3 «0%,50%,100%» он отличается только тягой.

5 – сильнее.

Способы 1, 2, 3, 5 стандартны, у них даже есть обозначения.

Если посчитать положение «у витка» за 1, а положение «между витками» за 2, то станут понятны следующие обозначения: Режим 1 будет называться 1 фаза (полный шаг) (стрелка останавливается только на фазе «1»), но он почти не используется — тяга в целом плохая.

Режим 2: 2 фазы (полный шаг) (только на фазе «2»).

Режим 5: 1-2 фаза (полушаг) (остановимся и на «1», и на «2»).

Режим 3: В зависимости от частоты разделения: 4 (Цикл от положения «до витка» до «до следующего витка» равен четырем шагам): 2W1-2 фаза (2*2 = 4) 8: Фаза 4W1-2 (4*2 = 8) Микрошаг на русском языке.

Режим 3-а ничем не называется, поскольку не используется, а метод 4 запатентован.

Таким образом, зависимость силы тока от времени на катушках А и Б (А’ и Б’ соответствуют отрицательным значениям тока) должна быть примерно такой (для случая 1-2 фазы).



Управляем шаговым двигателем с помощью драйвера

Водитель.

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

Такая микросхема называется драйвером.

Мы задаем необходимые настройки режима (в регистрах), постоянно подаем сигнал таймера на драйвер, а драйвер сам формирует вывод необходимой конфигурации.

Нам понадобятся: сам драйвер (с моторчиком), таймер достаточной частоты и управляющее устройство (процессор, микроконтроллер или fpga).

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

Например, вот так: Сам режим

Управляем шаговым двигателем с помощью драйвера

Максимальный ток (от максимального согласно спецификации).



Управляем шаговым двигателем с помощью драйвера

Управляющие контакты: таймер, направление вращения (по часовой стрелке, против часовой стрелки), контакт сброса и контакт включения.



Управляем шаговым двигателем с помощью драйвера

CW – по часовой стрелке CCW – против часовой стрелки Начальный режим – заданное состояние катушек, соответствующее «начальному».

Для разных режимов может быть разным.

Например, 100% на А и 0% на Б для фазы 1-2, 100% на А и -100% на Б для фазы 2. Удерживая двигатель в этом режиме некоторое время, мы гарантируем вращение двигателя.

определенным заранее известным способом.

Из этого состояния можно начинать отсчет (нам необходимо знать в каждый момент времени, в каком положении находится мотор).

Наконец-то у нас есть правильно установленный режим (например, 1-2 фаза) и работающий таймер.

Тогда вывод драйвера будет выглядеть так:

Управляем шаговым двигателем с помощью драйвера

В общем, это все.

Для примера мы использовали драйвер от Toshiba TB6560AHQ/AFG, хотя подробности не очень важны, так как цель статьи — рассказать общий принцип, не вдаваясь в подробности.

Теги: #Робототехника #встроенные #моторы

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.