Что такое шаговый двигатель? Ниже я буду называть его просто «мотор», для краткости.
Расскажу кратко, подробнее об этом можно прочитать в Википедия или здесь .
Самый простой вариант: Имеются четыре электромагнитные катушки 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, хотя подробности не очень важны, так как цель статьи — рассказать общий принцип, не вдаваясь в подробности.
Теги: #Робототехника #встроенные #моторы
-
Афганистан
19 Oct, 24 -
Новый Алгоритм Защиты От Спама Google
19 Oct, 24 -
Нью-Йорк Будет Заполнен Датчиками
19 Oct, 24 -
Нейронные Сети Против Цензуры Хентая
19 Oct, 24 -
Пусть Расцветает Сотня Многоразовых Ракет
19 Oct, 24 -
О Нейропротезах
19 Oct, 24 -
Для Тех, Кто Покупает Ссылки
19 Oct, 24 -
Отчет О Шестой Киевской Хабравстрече
19 Oct, 24 -
Простая Служба Поддержки
19 Oct, 24