Promremont34.ru

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

Шаговый двигатель аналоговая схема управления

Управление шаговым двигателем при помощи акселерометра

Авторы: О.Е. Новикова, Д.П. Свиридов, Е.А. Бондаренко, Д.В. Заец, Д.Н. Мирошник. Источник: Перспективы развития электротехнических, электромеханических и энергосберегающих систем – 2016 / Материалы II международной научно-практической конференции «Инновационные перспективы донбасса» – Донецк, ДонНТУ – 2016, Том 2, с. 154-159.

Аннотация

О.Е. Новикова, Д.П. Свиридов, Е.А. Бондаренко, Д.В. Заец, Д.Н. Мирошник. Управление шаговым двигателем при помощи акселерометра. В работе разработана система отслеживания угла поворота и его последующего преобразования в угол поворота шагового двигателя. Заданием системы являются показания акселерометра, преобразованные в угол поворота.

Общие сведения

Шаговые двигатели, получившие свое развитие в начале 20 века, имеют высокую точность и являются одним из лучших вариантов для автоматизации систем, не требующих высокой динамики. Преимуществом шаговых двигателей является возможность осуществлять точное позиционирование и регулировку скорости без датчика обратной связи. Наиболее важной особенностью ШД является то, что на каждый импульс управления ротор поворачивается на фиксированный угол, значение которого в градусах называется шагом.

Работа по управлению ШД

На кафедре «Электропривод и автоматизация промышленных установок» разработан стенд для отслеживания угла поворота акселерометра для задач стабилизации объекта управления. Его принципи- альная схема состоит из отладочной платы STM32F4Discovery, драйвера шагового двигателя Dual Step Motor sheild и шагового двигателя M42SP 6TG (рисунок 1) [1–4].

Рисунок 1 – Принципиальная схема устройства

Плата STM32F4Discover оснащена LIS3DSH [1], ST-MEMS датчиком движения, 3-осевым акселерометром с цифровым выходом (рисунок 2). Принцип работы акселерометра основан на измерении смещения инерционной массы относительно корпуса и преобразовании его в пропорциональный электрический сигнал. Акселерометр – устройство, которое измеряет проекцию кажущегося ускорения или определяет угол наклона устройства относительно поверхности Земли.

Рисунок 2 – Общий вид платы STM32F4 (выделено красным – 3-осевой акселерометр)

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

Микрошаговый режим обеспечивается путем получения поля статора, вращающегося более плавно, чем в полно- или полушаговом режимах. За счет меньшего угла шага под управлением контроллера достигается высшая точность при позиционировании. Также уменьшаются вибрации, реализуется практически бесшумная работа (и при очень низких частотах вращения), устраняется явление резонанса.

Рисунок 3 – Общий вид драйвера Dual step motor driver shield

  • Напряжение питания логики 3,3В или 5 В;
  • Напряжение питания силовой цепи 4,7–30 В;
  • Максимальный ток силовой цепи 750 мА.
Читать еще:  Seat leon тюнинг двигателя

Управлять драйвером можно как через пины, так и через протокол связи UART.

Для управления одним драйвером (рисунок 4) необходимо всего 4 пина: Step, Dir, MS1 и MS2.

Step – делает один шаг двигателя.

Dir – задает направление движения.

MS1 и MS2 задают конфигурацию микро шагового режима.

Рисунок 4 – Схема драйвера Dual step motor driver shield

Микро шаговый режим можно настроить как с помочью джамперов непосредственно на плате, так и с помощью пинов (режим устанавливается отдельно для каждого драйвера, см. табл.1 ).

Таблица 1 – Переключение режимов работы драйвера

MS1MS2Шаг
LLПолный
HL1/2
LH1/4
HH1/8

Имеется подстроечный резистор Vref для настройки тока шагового двигателя (защита драйвера и двигателя от перегрева).

Система управления (рис.5) начинает работу при поступлении данных от акселерометра, которые предварительно пересчитываются в угол поворота (блок ANGLE). После сравнения с показаниями счетчика (порт counter_value), передаются через регулятор положения (CONTROLLER) на порты входа счетчика (COUNTER) up1down0 и move. В свою очередь вход up1down0 синхронизирует работу акселерометра и счетчика, с учетом коэффициентов, через управляемый ключ происходит инкремент или декремент счетчика. Также COUNTER задает направление движения двигателя (step motor direction). Блок min выполняет роль ограничителя счетчика по переполнению. Вход move регистрирует наличие движения акселерометра и контролирует количество необходимых импульсов, которые поступают на шаговый двигатель (step motor pulses). В роли формирователя импульсов выступает Pulse Generator.

Алгоритм управления программируется в отладочную плату STM32F4Discovery, к которой подключен драйвер шагового двигателя Dual step motor driver shield.

При изменении положения в заданной оси плата использует MEMS датчик движения, чтобы мигать светодиодами в соответствии с направлением и скоростью движения, то есть таким образом сигнализирует о реакции акселерометра на угловое перемещение (поворот).

После данный сигнал передается на ПК. Дальнейшее преобразование угла поворота акселерометра в угол поворота шагового двигателя осуществляется программно в среде моделирования Simulink MATLAB.

Рисунок 5 – Модель реализации системы управления

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

Недостатком данного алгоритма является недостаточная точность отработки, что требует дальнейших исследований.

Рисунок 6 – Общий вид системы управления «Акселерометр – шаговый двигатель»

Лабораторный стенд для шагового двигателя

Опубликовано 27.09.2013 23:12:00

Читать еще:  Двигатель n52 бмв какое масло лить

Автор: tamerby

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

— автоматический / ручной режим
— шаг / полушаг
— реверс
— отображение скорости (расчетная)
— гнезда для подключения лог анализатора / осциллографа

Выбор компонентов:

Контроллер был выбран Atmega328P, почему такой мощный? а просто какой был в наличии.

Драйвер шагового двигателя L297. Отличная микросхема. Все управление осуществляется 5ю входами: Enable(включение), CW/CWW (выбор направления вращения), Clock (тактовый вход), Half / Full (выбор режима шаг / полушаг), Reset (сброс драйвера в первноначальное состояние). Конечно функционал драйвера можно было бы реализовать в контроллере, но зачем изобретать велосипед, следить за интервалами и тд, к тому же тут имеется возможность сделать обратную связь по току через шунтирующий резистор (первоначально в стенде планировалось использовать более мощный двигатель, но потом было решено поставить маломощный, т.к. стенд носит только демонстративный характер, и никакая нагрузка не подключается)

Усилителем выходов L297 была выбрана транзисторная сборка Дарлингтона ULN2803. Так как она имеет 8 каналов, каждый по 0,5А, а обмоток только 4, то было решено запараллелить по два, вышло максимальный ток до 1А, что с лихвой покрывает потребности двигателя. Почему именно ULN а не обычные транзисторы? А потому, что ее удобнее разводить на плате, входы слева — выходы справа (идеальная микросхема), имеются базовые резисторы, обратные диоды для защиты транзисторов от пробоя.

Схема одного канала ULN2803

Дисплей

Выбран тоже какой оказался под рукой им оказался WH1602 с ибей без поддержки кирилицы. Кирилица была сделана из одинкаковых символов которые имеются в латинице и кирилице, и недостающие Л П У м б и н Ч добавлены через lcd.createChar http://pastebin.com/jdYdBwk9

Блок питания

Для питания стенда необходимо два уровня напряжения: +5 В (для питания контроллера и тд) и +12 В (для двигателя) БП построен на трансформаторе, мосте и двух кренках (фото кликабельно). Было решено упрять БП в отдельную коробку, к основному блоку подключается через 5DIN разъем

Контрольные гнезда

Подключены к линии CLOCK и выходу обмотки А(остальные выходные линии дают такую же картинки, толька сдвинуты), там наблюдаем такую картинку.

В режиме полушага

В режиме полного шага

Отличное пособие по шаговым двигателям, от конструкции до принципов управления Емельянов, А. В., Шилин, А. Н. Шаговые двигатели: Учебное пособие

Читать еще:  Чем отличаются 126 двигатель от 127

Принципиальная схема

Не было времени наносить номиналы на картинку, поэтому спецификация отдельно:)

C1 SMD1206 0,1 мкФ 50 В
C2 2200 мкФ 25В
C3 0,33 мкФ 50В
C4 100 мкФ 25В
C5 SMD1206 22пФ 50В
C6 100 мкФ 25 В
C7 SMD1206 22пФ 50В
C8 0,33 мкФ 50 В
C9 SMD1206 0,1 мкФ 50 В
C10 100 мкФ 25В
C11 SMD1206 0,1 мкФ 50 В
C12 2200 мкФ 25В
DA1 LM7812
DA2 LM7805
DD1 Atmega328P DIP-28
DD2 L297 DIP-20
DD3 ULN2803A DIP-18
FU1-FU2 0,5A 250V
HG1 WH1602D
М1 23-ВВ-Н
R1-R8 SMD1206 10 кОм
R9 Потенциометр 10 кОм
SA1 Переключатель двухполюсный
SB1-SB8 Кнопка тактовая
TV1 SLT5J234S
VD1 КЦ405Е
XP1 2×2,54 мм
XP2 ОНЦ-ВГ-4-5/16-В
XS1 ОНЦ-ВГ-4-5/16-Р
XS2-X S3 Гнездо R1-22-B
ZQ1 16 МГц

Печатка БП

Lay файл для скачивания

Основной блок

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

Lay для скачивания

Прошивка контроллера:

Контроллер можно прошить двумя способами:

1) Прошиваем нужный скетч в Arduino UNO и вытаскиваем контроллер и вставляем в панельку на нашей плате (для этого способа все должно быть идеально отлажено, иначе придется нескольо раз туда сюда ставить его)

2) Наиболее удобно прошивать через USB-UART преобразователь, для этих целей специально не использованы пины контроллера RESET, RX (D0), TX (D1) соединяем их с преобразователем. Я использовал преобразователь на чипе CP2102, его особенностью является то что он не сбрасывает контроллер, перед загрузкой необходимо сбросить контроллер в ручную.

3) Можно использовать USB — UART преобразователь платы Arduino, для этого придется вытащить контроллер и теперь можно подключаться, принцип тот же, что и в пункте 2.

4) Обычно контроллеры прошивают через ISP, описывать это не буду, т.к. нужные пины были заняты, да и тогда не имел нужного опыта, а через UART безопаснее

Чуть не забыл скетч🙂 на pastebin

Ну и медиа которые не вошли в основной текст.

Небольшое видео в процессе отладки (снято тем же калькулятором).

А как же комментарии?

В данный момент еще реализованы не все элементы нашего сообщества. Мы активно работаем над ним и в ближайшее время возможность комментирования статей будет добавлена.

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