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

Классическая схема шагового двигателя

Принцип управления 4 обмоточного шагового двигателя заключается в коммутации обмоток двигателя. В инете я нашел три варианта

  1. one phase on – управление запиткой по одной фазе. В этом варианте мы получим самый экономичный режим работв, но и саму малую мощность.
  2. two phase on – управление запиткой двух обмоток сразу в это варианте потребление увеличивается в два раза соответственно и мощность вращения ротора, по оценкам на 40-50%.
  3. one and two phase on – это полушаговый режим работы, в принципе комбинация первого и второго метода.

 

Механизм управления обмотками

one phase on

two phase on

one and two phase on

Схема подключения для тестирования

 

Функция управления в режимах one phase on и two-phase-on

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

Я показываю, этот проект на 8 битном контроллере, что можно было понять, что при правильной организации работы, 8-битка PIC справляется с управление на уровне 32 битных микроконтроллеров других производителей.

Вспомогательные функции

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

Режим работы

Основная функция управления

Запуск двигателя, направление и количество шагов

Принцип работы, мы задаем количество шагов, направление и включаем прерывание от таймера Т2. Все остальное происходит автоматически. Для контроля выполнения позиционирования ШД, можно использовать сброс разрешения прерываний для таймера T2.

Если использовать МСС для конфигурации, то функцию прерываний от T2 надо модернизировать следующим образом:

Что происходит во время прерывания? Программы в прерываниях должны выполняться с максимальной скорость, т.е. быть минимальной длины. Чтобы не мешать выполнять основное задание. В нашем случае задача состоит в том. что-бы во время прерывание изменить состояние порта и закончить прерывание. И это всё. Если мы будем переключать порт по битам, это будет долго, единственный вариант выполнить запись в порт сразу.

Мы считываем состояние порта (в нашем случае порт С) это необходимо, когда мы будем выполнять управление шаговым двигателем, надо не забывать, что двигатель использует, только часть выводов порта, а другую, часть надо оставлять не тронутой. Вот по этому мы считывает текущее состояние с очисткой бито шагового двигателя, затем суммируем с переменной которая определяет следующее положение ротора и загружаем в порт (Если количество шагов не равно нулю), далее в зависимости от бита направление делаем вращение битов в нашей перемененной подготавливая данные для следующего прерывания. Дополнительно корректируем нашу перемененную, т.к. сдвиг может изменить не только “рабочие” битв, но и “сторонние”. И последнее уменьшаем количество заданных шагов.

Пример тестовой программы для управления шаговым двигателем.

Перед началом работы надо задать режим работы one phase on и two-phase-on и необходимую скорость вращения. Далее для перемещения двигателя на заданное количество шагов используем функцию steping.

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


 


Проект для тестирования

Icon

Униполярный шаговый двигатель - проект для тестирования 680.43 KB 9 downloads

В приводах различных устройств часто применяются...
Login Required Message:


Это может быть интересно


  • DS18B20 – удаленный контроль температурыDS18B20 – удаленный контроль температуры
    Плата в корпусе Датчики температуры DS18B20 Схема подключения Вывод данных на ПК Установка дополнительных резисторов Назначение выводов This jQuery slider was created with the free EasyRotator for WordPress plugin from …
  • Проект с использованием MCC часть 11Проект с использованием MCC часть 11
    Можно несколько облагородить программу вынести наши процедуры обработки нажатия кнопок в отдельные функции. Но вы должны понимать, что это хоть и не значительно, но будет тормозить общую скорость работы проекта, …
  • Одноканальный емкостной сенсор – AT42QT1012Одноканальный емкостной сенсор – AT42QT1012
    Описание сенсора  Незаконченный проект, так-как сенсор не оправдал своего назначения, не рекомендую, просто выброшенные деньги. Особенности. • Количество сенсоров – один, режим переключения ( touch-on/touch-off ), а также программируемая автоматическая задержка выключения …
  • Мультимедийная сеть – AVC-LAN TOYOTAМультимедийная сеть – AVC-LAN TOYOTA
    AVC LAN – протокол обмена данными мультимедийных систем автомобиля. Кодирование данных. При кодировании различаться три типа данных : преамбула – её назначение, это сообщение устройствам на шине, что начинается передача данных. бит 0 …
  • Ссылки на интересные источникиСсылки на интересные источники
    Сбор 3D моделей от André L’Hérault конденсаторы, резисторы, индуктивности dropbox IPC-SM-782 Surface Mount Design and Land Pattern Standard Видео уроки по Altium designer Alexey Sabunin https://www.youtube.com/channel/UCG7N5CqXpyK8nQjr1EmMgng Сергей Булавинов https://www.youtube.com/channel/UCISAMXRnN_Qw9UTjUwZI1Jw Robert Feranec https://www.youtube.com/user/matarofe Самый быстрый, …
  • MAX7219/21 и 8х8 LED дисплеиMAX7219/21 и 8х8 LED дисплеи
    MAX7219, MAX7221 предназначены для вывода информации на 8 разрядов семисегментного индикатора, но на нем легко организовать вывод на светодиодные индикаторы 8х8. продолжение следует…. Это может быть интересно Метки:MAX7219, MAX7221
  • ch-светомузыка от теории до реализацииch-светомузыка от теории до реализации
    Сразу оговоримся технология или теория ch-светомузыки, это постоянно развивающийся процесс и то что будет сказано сегодня завтра может быть опровергнуто и считаться ошибочным. Назовем само решение проблемы автоматического преобразования или …
  • Toyota Auto Fader – Модуль включения усилителяToyota Auto Fader – Модуль включения усилителя
    Toyota Auto Fader – Модуль включения усилителя. Часто автолюбители прибегают к замене штатного головного устройства на универсальное мультимедийное, в котором значительно расширены функциональные возможности. Если возникает желание оставить в работе …
  • Дифференциальный терморегуляторДифференциальный терморегулятор
    Дифференциальный терморегулятор ch-3020 Назначение. Ch-c3020 представляет собой дифференциальный терморегулятор. Основное назначение солнечные системы горячего водоснабжения, а также вентиляционные системы управление притоком свежего воздуха. Контроллер позволяет работать пяти режимах. 1 – …
  • Проект с использованием MCC часть 05Проект с использованием MCC часть 05
    Эту часть назовем так как избавься от delay, там где а это реально не надо. Для это нам потребуется научиться использовать прерывания и работать с таймерами. Что такое таймер? Это …



 

Tagged with →  
Share →
Translate »

Copyright © Catcatcat electronics 2013-2020. Все права защищены.
Копирование разрешается только с указанием активной ссылки на правообладателя.

e-mail: catcatcat.electronics@gmail.com