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

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


 


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

Значок

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

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


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


  • Простой цифровой регулятор мощностиПростой цифровой регулятор мощности
    Простой регулятор мощности с цифровой индикацией. Этот проект создан как обучающий, для ознакомления с основами построения сетевых регуляторов мощности. Устройства подобного типа можно использовать для управления освещением, скоростью работы вентиляторов …
  • I2C MODULE – PIC18F25K42 Device ID Revision = A001I2C MODULE – PIC18F25K42 Device ID Revision = A001
    I2C MODULE Обход ошибок в версии I2C MODULE – PIC18F25K42 Device ID Revision = A001 В Серии K42 применен совершенно новый модуль шины I2C, который позволяет поддерживать все режимы этой …
  • Acquaintance with audio-bluetooth modules F-6888 (BK3254).Acquaintance with audio-bluetooth modules F-6888 (BK3254).
    Для проектов появилось необходимость познакомиться с недорогими модулями китайского производства, которые можно приобрести у нас в Украине и у китацев, на алиэкспрессе. Так как меня интересует не просто, как в …
  • TM1650 драйвер LED семисегментного индикатораTM1650 драйвер LED семисегментного индикатора
    Китайский производитель Shenzhen Titan Micro Electronics Co., Ltd.  Выпускает широкую линейку драйверов управления светодиодными дисплеями, которые позволяют разгрузить микроконтроллер для основной работы, главная особенность этих драйверов не только в их …
  • Ultrasonic Level Meters – ULM –53LUltrasonic Level Meters – ULM –53L
    Измерение расстояния при помощи ультра звукового датчика ULM–53L–10. Диапазон измерения от 0,5 м до 10 м, полностью пластмассовый излучатель PVDF, механическое соединение фланцем из полиэтилена HDPE (исполнение “N”) Характеристики Диапазон измерения …
  • ch-4050 – дифференциальный терморегуляторch-4050 – дифференциальный терморегулятор
    ch-4050 – это не новая модель, это расширенная версия универсального терморегулятора ch-4000. Различия коснулись в появлении новой функции дифференциального регулирования. Это вид регулирования по разности температур измеренного двумя датчиками. Теперь …
  • ch-светомузыка и AK4113ch-светомузыка и AK4113
    Пришло время вернуться к светомузыке. На сегодня использование аналогового входа стало непрактичным, на сегодня необходимо использовать S/PDIF и Toslink. С этим надо было как то разобрать, что это такое, так …
  • LCD индикаторы на драйвере ML1001LCD индикаторы на драйвере ML1001
     ML1001 – статический LCD GOG (чип в стекле) драйвер для 40-сегментного LCD в позолоченном противоударном исполнении. На них можно каскадно строить цельные из 80 или 120 сегментов LCD индикаторы. Описание драйвера  …
  • MTouch® Модуль Емкостной Библиотеки для MPLAB®X Code Configurator (MCC)MTouch® Модуль Емкостной Библиотеки для MPLAB®X Code Configurator (MCC)
    Введение MTouch ® Модуль Емкостной Библиотеки для MPLAB ® X Code Configurator (MCC) позволяет быстро и легко генерировать решение кода на  Cи для емкостной сенсорной кнопки, датчика приближения и слайдера. Этот библиотечный модуль …
  • Акриловый корпус для платы ch-4000Акриловый корпус для платы ch-4000
    Плата ch-4000 подходит для монтажа в корпуса на дин рейку, но для домашней автоматики необходимо что-то другое, поэтому был разработан корпус из акрила который позволит создавать настольные и настенные устройства. Корпус состоит из …



 

Tagged with →  
Share →
Translate »

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

e-mail: catcatcat.electronics@gmail.com