20.01.2025

Управление шаговыми двигателями с помощью компьютера: Управление шаговым двигателем с ПК

Содержание

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

Драйвер для шагового двигателя, который управляется с персонального компьютера.

Привет всем! Решил продолжить тему с шаговыми двигателями и написать о своей последней разработочке. В общем задача полезна вдвойне. Я думаю что каждому человеку работающему с МК рано или поздно приходится как-то этот МК подключать к персональному компьютеру, то ли для передачи управляющего воздействия с ПК, то ли принимать какие-то данные с микропроцессорной системы. Вот и у меня задача была таковой: разработать стенд, который будет организовывать работу двух шаговых двигателей, а также получать данные о этом управлении с ПК.

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

Задача поставлена. Я разбил ее на две подзадачи: организация связи МК с ПК и сам драйвер для ШД. Ну как я делал драйвер описывается в моей предыдущей статье, так что осталось связать микроконтроллер (МК) с персональным компьютером (ПК), а потом связать все это дело в одном устройстве.

Итак связь МК с ПК. Я немного полистал даташит МК ATmega8 (это самый на мой взгляд популярный AVR микроконтроллер, я с ним работаю в основном) и понял, что самый простой и подходящий для меня это интерфейс RS232, по простому СОМ порт. Он есть на любом ПК, а для ноутбука я просто использовал переходник USB to COM. Да и практически на любом МК тоже есть аппаратная реализация этого интерфейса. Говоря проще чтобы на МК заработал СОМ порт нужно просто написать определенную программку и все будет ок. Кусочек необходимого для этой задачи кода на языке С представлена ниже
▼ Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте.

Программа есть, остался вопрос аппаратной части реализации задачи. Дело в том что на выходе СОМ порта микроконтроллера 5 вольтовые импульсы, т.е. логическая 1 представляется в виде +5В, а логический 0 в виде 0В. А вот СОМ порт компьютера работает с +12В и -12В. Т.е. по сути необходимо согласовать уровни. Слава богу для этого есть хорошая микросхема MAX232 или ее китайский аналог. Даташит данной микросхемы представлен ниже
▼ Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте.

Данная микросхема подключается к МК и к ней подключается разъем RS232. Также имеется небольшая обвязка. Принципиальная схема ниже

Схема в Dip trace
▼ Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте.

Все ваш МК подключен к компьютеру. Теперь я еще приделал два драйвера для ШД ко всей этой системе и написал программу с помощью которой можно управлять этими двумя движками.

Схема всего устройства с источником первичного питания для МК

Схема в Dip trace
▼ Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте.

А теперь и код программы
▼ Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте.

Программа написана на языке С в IAR (это отладчик+компилятор). Сразу приношу извинения за то, что программа практически без комментариев, но задавайте вопросы, все расскажу.

Система работает так: С ПК через гипертерминал например (виндошное приложение для отправки и получения инфы через СОМ порт) отправляете номер двигателя, например 1 или 2, а после этого колличество оборотов, после того как ШД прокрутится он пришлет на СОМ порт информацию о том что он сделал. Ну если что спрашивайте.

Чуть не забыл, печатная плата в Lay.
▼ Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте.

Камрад, рассмотри датагорские рекомендации

🌻 Купон до 1000₽ для новичка на Aliexpress

Никогда не затаривался у китайцев? Пришло время начать!
Камрад, регистрируйся на Али по нашей ссылке.
Ты получишь скидочный купон на первый заказ. Не тяни, условия акции меняются.

🌼 Полезные и проверенные железяки, можно брать

Куплено и опробовано читателями или в лаборатории редакции.

 

Способ потактового управления несколькими шаговыми двигателями с помощью персонального компьютера по каналу usb и устройство для его осуществления

Изобретение относится к области электротехники и может быть использовано для управления шаговыми двигателями (ШД) с помощью персонального компьютера (ПК) по каналу USB. Технический результат – обеспечение практически неограниченного наращивания количества управляемых двигателей, увеличение расстояние между ПК и МК до 1200 метров, обеспечение, при необходимости, одновременного управления ШД или разнесения во времени исполнения команд ШД для снижения требований к мгновенной мощности источника питания и уменьшения помех. Способ потактового управления несколькими шаговыми двигателями реализует режим управления с постоянной частотой и состоит в том, что для каждого такта управления формируют пакет данных, содержащий информацию о направлении поворота и количестве шагов ротора каждого шагового двигателя (ШД), которые он должен выполнить на данном такте управления. Этот пакет данных передают в виртуальный последовательный порт персонального компьютера. Драйвер порта передает пакет данных по каналу USB после преобразования в соответствии со стандартом интерфейса передачи данных по полудуплексному многоточечному последовательному каналу связи в микроконтроллер (МК), где принятый пакет данных преобразуют в три дискретных сигнала для подачи на три входа EN, DIR и STEP драйверов каждого ШД. Драйверы обеспечивают необходимую коммутацию обмоток своих ШД, вызывающую одновременный поворот их валов на соответствующее количество шагов в требуемых направлениях. Если заранее известно задание на отработку шагов двигателями на несколько тактов управления вперед, формируют массив пакетов данных для известного количества тактов, записывают его в виртуальный последовательный порт и передают в МК, где этот массив последовательно отрабатывают ШД на каждом такте управления. 2 н. и 10 з.п. ф-лы, 21 ил.

 

Предполагаемое изобретение относится к электротехнике, а именно, к способам и устройствам управления шаговыми двигателями (ШД) с помощью персонального компьютера (ПК) по каналу USB.

Известны технические решения, которые применяются для управления множеством электродвигателей. Например, в описании патента [1] предложен способ управления несколькими бесколлекторными (brushless DC motors — безщеточными) двигателями от компьютера, предусматривающий передачу команд управления по системной шине (CAN или LIN) к драйверам двигателей или к дополнительному микроконтроллеру (МК), организующему обмен данными по отдельной шине управления несколькими двигателями. Данный способ управления предполагает адресное обращение к каждому двигателю непосредственно от ПК по последовательному интерфейсу, что, с одной стороны, значительно увеличивает разновременность выполнения управляющих команд, а с другой стороны требует использования в составе каждого привода не только простого драйвера, но и контроллера, обеспечивающего поддержку выбранного протокола с приемопередатчиком шины CAN или LIN. Величина задержки между интервалами времени выполнения двух последовательных шагов одним и тем же ШД определяется количеством ШД и длительностью операций, необходимых для формирования соответствующих сигналов, а также задержками времени на обмен данными между персональным компьютером и микроконтроллером.

В техническом решении, изложенном в описании патента [2], предложен способ управления нескольким шаговыми двигателями от компьютера через специализированный контроллер многоосевого позиционирования, формирующий команды управления движением для нескольких драйверов ШД. Увеличение количества управляемых двигателей достигается введением дополнительного коммутатора на выходе каждого драйвера, позволяющего выбрать один из двух подключенных к нему ШД. При этом возникают перерывы в процессе запитывания обмоток каждого отдельного ШД током, поскольку драйвер питает обмотки только того ШД, который должен совершить перемещение в данный момент. Данное решение требует введения в систему нескольких силовых коммутаторов (по числу приводов), что значительно увеличивает габариты, а также снижает момент удержания обесточенных ШД. При этом многократное обесточивание и последующее подключение к питанию обмоток ШД приводит к случайному перемещению каждого ШД в пределах одного шага и снижает тем самым точность позиционирования. Кроме того, одновременно выполнить шаг может только половина управляемых ШД, а управление оставшимися двигателями возможно только по окончании движения и прекращения тока в обмотках первой группы ШД.

Аналогичное решение предложено в патенте [3], где в отличие от технического решения предыдущего патента к одному драйверу через демультиплексор подключается более двух ШД. При этом обращение к каждому из них будет происходить реже в n раз (где n — количество ШД, подключенных к одному драйверу).

Наиболее близким к предлагаемому является техническое решение [4], принятое за прототип. Для этого технического решения характерно, что потактовое управление несколькими шаговыми двигателями осуществляется с помощью персонального компьютера по каналу USB (Universal Serial Bus — универсальная последовательная шина). При этом реализуется режим управления с постоянной частотой, который состоит в том, что для каждого такта управления формируют пакет данных, содержащий информацию о направлении поворота и количестве шагов ротора каждого шагового двигателя, которые он должен выполнить на данном такте управления. Этот пакет данных передают в виртуальный последовательный порт персонального компьютера, а драйвер порта передает пакет данных по каналу USB в микроконтроллер, в котором его обрабатывают и формируют с частотой выполнения шагов дискретные команды для драйвера каждого двигателя, где они вызывают коммутацию обмоток двигателей, заставляя каждый из них выполнить на каждом такте управления заданное количество шагов в требуемом направлении. В результате обеспечивается управление от ПК шестнадцатью ШД по каналу USB через микроконтроллер. При таком управлении используется достаточно распространенная схема, при которой команда на поворот вала каждого ШД на заданное количество шагов в нужном направлении выдается один раз в начале установленного интервала времени (такта). Далее команда отрабатывается каждым ШД путем подачи на его драйвер управляющих импульсов обычно с постоянной частотой. При этом за один такт управления может быть выполнено не более определенного заранее количества шагов.

В техническом решении «Способ управления шестнадцатью шаговыми двигателями по USB-каналу квазиодновременно» [4] предложен вариант мультиплексного управления несколькими шаговыми двигателями. От упомянутых выше способов управления это решение отличается тем, что в нем мультиплексор перенесен с выхода драйвера на его вход. Кроме того, на входе каждого драйвера производится запоминание сигналов в добавленных элементах памяти. При этом используется прямое управление ключами драйвера. Данный способ позволяет управлять только ШД, в которых не требуется регулирование тока в обмотках. При этом использование мультиплексирования имеет следующие недостатки: значительное увеличение аппаратного состава и, как следствие, стоимости оборудования по сравнению с прямым управлением; увеличение габаритов устройства; значительное увеличение времени выдачи команд множеству ШД, вызванное последовательной выборкой команды и адреса; повышенные требования к скорости канала передачи информации от ПК к микроконтроллеру, обусловленные содержанием в протоколе обмена адреса ШД и нескольких байт команды. Следует также отметить, что использование в качестве канала связи USB-интерфейса ограничивает расстояние от ПК до микроконтроллера величиной 6 метров.

Задачей предполагаемого изобретения является расширение функциональных возможностей способа управления ШД и реализующего его устройства. Решение этой задачи достигается за счет того, что пакет данных имеет размер n байт (по байту на каждый из n двигателей соответственно). Причем первый бит каждого байта содержит информацию о направлении вращения двигателя, а следующие 7 бит содержат информацию о количестве шагов, на которые должен повернуться вал данного двигателя в текущем такте управления. Пакет данных, записанный в виртуальный последовательный порт персонального компьютера и переданный по каналу USB, преобразуют в соответствии со стандартом интерфейса передачи данных по полудуплексному многоточечному последовательному каналу связи и передают в микроконтроллер, где принятый пакет данных преобразуют в три дискретных сигнала для подачи на три входа EN, DIR и STEP драйверов каждого двигателя так, что на все время работы двигателей подают высокий потенциал на входы EN драйверов всех двигателей, в течение всего текущего такта управления на вход DIR драйвера соответствующего двигателя подают низкий потенциал, если необходимо обеспечить направление вращения влево, и высокий потенциал, если необходимо обеспечить направление вращения вправо, а на входы STEP драйверов всех двигателей одновременно с частотой выполнения шагов подают управляющие импульсы высокого уровня длительностью менее периода выполнения шагов, если соответствующий двигатель должен выполнить шаг, и подают низкий потенциал на входы STEP драйверов тех двигателей, для которых все требуемые на данном такте управления шаги уже выполнены. В результате таких действий все драйверы обеспечивают необходимую коммутацию обмоток своих шаговых двигателей, вызывающую одновременный поворот их валов на соответствующее количество шагов в требуемых направлениях. Причем, если заранее известно задание на отработку шагов двигателями на несколько тактов управления вперед, то формируют массив пакетов данных для известного количества тактов, записывают его в виртуальный последовательный порт и передают в микроконтроллер, где этот массив последовательно отрабатывают на каждом такте управления в соответствии с описанной последовательностью операций.

Применение последовательного интерфейса RS-485 (Recommended Standard ANSI TIA/EIA-485A — стандарт передачи данных по полудуплексному многоточечному последовательному интерфейсу) обеспечивает возможность масштабирования рассматриваемого способа за счет применения нескольких индивидуально адресуемых микроконтроллеров и позволяет увеличить расстояние между персональным компьютером и микроконтроллером до 1200 метров (для USB — максимум 6 метров).

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

Применяемый формат данных, включающий унифицированный набор сигналов: «включить питание обмоток» (EN), «выбрать направление вращения» (DIR) и «выполнить шаг» (STEP), позволяет управлять различными типами ШД, используя различные драйверы (например, А4979 для биполярного ШД [5]) без изменения управляющей программы.

Кроме того, использование унифицированного набора сигналов позволяет сократить количество управляющих сигналов (и, соответственно, выводов микроконтроллера) для одного ШД до двух (DIR и STEP) против четырех, используемых в [4]. Сигнал «включение питания обмоток» используется общий для драйверов всех ШД, подключенных к данному микропроцессору. Таким образом, управляющие импульсы подаются синхронно и одновременно на драйверы всех ШД, подключенных к одному порту микропроцессора, обеспечивая одновременное (а не квазиодновременное, как в [4]) управление этими ШД.

Если необходимо уменьшить количество выводов микропроцессора, используемых для решения задачи управления, то предлагается сигналы DIR, поступающие от микроконтроллера на соответствующие входы всех драйверов связанных с ним двигателей, формировать на одном выходе микроконтроллера перед выполнением каждого шага двигателей. При этом сначала на входы DIR всех драйверов подают низкий потенциал, после чего подают управляющий импульс высокого уровня на входы STEP драйверов тех двигателей, которые должны повернуть на текущем шаге свой вал влево. Затем на входы DIR всех драйверов подают высокий потенциал и далее подают управляющий импульс высокого уровня на входы STEP драйверов тех двигателей, которые должны повернуть на текущем шаге свой вал вправо, обеспечивая уже квазиодновременное управление всеми двигателями. При этом выполнение шага всеми ШД может быть осуществлено за пять тактов микропроцессора. Тогда как при использовании технического решения [4] для этого потребуется 32 такта микропроцессора.

При использовании автономного электропитания для осуществления управления ШД на передний план выдвигаются условия по снижению требований к мгновенной мощности источника питания и уменьшению помех, создаваемых при переключении обмоток ШД, а также демпфированию возникающего при этом напряжения самоиндукции. Эта задача решается за счет того, что управляющие импульсы на входы STEP драйверов двигателей за отрезок времени Tstep, в течение которого двигатель должен совершить шаг, формируют не одновременно в начале этого отрезка, а с задержкой по времени, для чего предварительно до начала управления двигателями измеряют промежуток времени Δtp, за который ток потребления драйвера достигает своего квазистационарного значения после его снижения при подаче управляющего импульса (под квазистационарным значением тока потребления драйвера понимают его среднее значение, измеренное при включенном драйвере и отсутствии управляющих импульсов в течение интервала времени не менее 10Tstep секунд). В процессе управления определяют количество двигателей nd, которые должны выполнить шаг на наступающем отрезке времени Tslep, определяют величину временного интервала At„=Tstep /nd, а затем поочередно с задержкой по времени Δtp, если Δtp<Δtn, и с задержкой Δtn, если Δtp≥Atn, подают управляющие импульсы на входы STEP драйверов тех двигателей, которые должны выполнить шаг на наступающем отрезке времени Tstep.

Сущность предлагаемого технического решения поясняется чертежами.

Фиг. 1. Участок экспериментального переходного процесса изменения тока потребления драйвера ШД при совершении одного шага.

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

Фиг. 3. Пример блок-схемы устройства, реализующего управление шестнадцатью ШД.

Фиг. 4. Пример электрической принципиальной схемы соединения приемопередатчика RS-485 с модулем универсального асинхронного приемопередатчика UART микроконтроллера.

Фиг. 5. Пример электрической принципиальной схемы силового питания через буферную емкость.

Фиг. 6. Блок-схема, иллюстрирующая пример последовательности операций, поясняющих работу устройства фиг. 3.

Фиг. 7. Блок-схема, иллюстрирующая пример последовательности операций, поясняющих работу устройства, реализующего способ управления с использованием нескольких микроконтроллеров.

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

Фиг. 9. Пример электрической принципиальной схемы элемента гальванической развязки при управлении четырьмя ШД.

Фиг. 10. Пример электрической принципиальной схемы основного и дополнительного вторичного источника питания.

Фиг. 11. Пример блок-схемы устройства для управления шестнадцатью ШД, имеющего один общий для всех шаговых двигателей дискретный выход DIR микропроцессора.

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

Фиг. 13. Блок-схема, иллюстрирующая пример последовательности операций, поясняющих работу устройств фиг. 11 и фиг.12, имеющих один общий для всех шаговых двигателей дискретный выход DIR микропроцессора.

Фиг. 14. Пример блок-схемы устройства с датчиком тока потребления для управления шестнадцатью ШД.

Фиг. 15. Пример блок-схемы устройства с датчиком тока потребления и элементом гальванической развязки для управления шестнадцатью ШД.

Фиг. 16. Пример блок-схемы устройства с датчиком тока потребления и одним общим для всех шаговых двигателей дискретным выходом DIR микропроцессора.

Фиг. 17. Пример блок-схемы устройства с датчиком тока потребления, одним общим для всех шаговых двигателей дискретным выходом DIR микропроцессора и элементом гальванической развязки.

Фиг. 18. Блок-схема, иллюстрирующая пример последовательности операций, поясняющих работу устройств, имеющих в своем составе датчик тока потребления драйверов ШД.

Фиг. 19. Электрическая принципиальная схема датчика тока.

Фиг. 20. Пример электрической принципиальной схемы микроконтроллера с приемопередатчиком RS-485 для управления шестнадцатью ШД.

Фиг. 21. Пример электрической принципиальной схемы соединений драйверов с шестнадцатью ШД и модулем микроконтроллера.

На фиг. 1 приведен пример участка экспериментально полученного графика изменения тока потребления Ip драйвера ШД для иллюстрации технического эффекта, получаемого при решении задачи по снижению требований к мгновенной мощности источника питания и уменьшению помех, создаваемых при переключении обмоток ШД, а также демпфировании возникающего при этом напряжения самоиндукции. Из графика видно, что (при выполнении шага двигателем) сначала происходит снижение тока потребления драйвером вплоть до изменения его направления из-за возникающей ЭДС самоиндукции в обмотке ШД, а затем возрастание и плавное снижение тока потребления до его квазистационарного значения, имеющего место в режиме, когда двигатель не совершает шагов достаточно продолжительное время. На графике отмечен промежуток времени Atp и показаны пиковые и квазистационарные значения тока потребления.

В рассмотренном примере Tstep=2.048 мс, Δtp=0.518 мс. Если квазиодновременное управление производится четырьмя ШД, то nd=4, a Δtn=0.512 мс. На фиг. 2 показан участок экспериментально полученных графиков процессов изменения суммарного тока потребления четырех драйверов ШД для случая использования предлагаемого технического решения (сплошная линия) и для случая одновременного выполнения шагов всеми четырьмя ШД (штриховая линия). Здесь всеми ШД выполнялось несколько шагов при подаче на каждый из них управляющих импульсов с периодом Tstep=2.048 мс. На графике показаны числовые пиковые и квазистационарное значения суммарного тока потребления для обоих случаев. Сравнение полученных результатов показывает, что отклонение пиковых значений суммарного тока потребления драйверов от его квазистационарного значения при использовании предлагаемого технического решения снижается в 2,5-3 раза, что подтверждает реальный технический эффект от использования предполагаемого изобретения.

Аппаратная реализация способов управления с помощью ПК несколькими ШД, описанных в [1-4], предполагает применение устройств, обычно имеющих в своем составе один или несколько связанных с ПК микроконтроллеров, внешние кварцевые резонаторы, и драйверы двигателей. Недостатки этих устройств, как правило, обусловлены реализуемыми ими способами управления. Наиболее близким к заявляемому является схемное решение устройства, предложенное в качестве примера в описании патента [4]. Оно содержит микроконтроллер, внешний кварцевый резонатор, выводы которого соединены с соответствующими входами микроконтроллера, драйверы, соответствующие типу и количеству используемых шаговых двигателей, причем выводы драйверов соединены с соответствующими выводами шаговых двигателей.

Для решения поставленной задачи в устройство дополнительно введены буферная емкость, вторичный источник питания (ВИП), а также связанный стандартным USB-кабелем с персональным компьютером конвертер интерфейса USB — RS-485 и приемопередатчик RS-485, соединенные между собой линией связи типа витая пара в экране с волновым сопротивлением 120 Ом. Приемопередатчик RS-485 связан с модулем универсального асинхронного приемопередатчика UART (Universal Asynchronous Receiver Transmitter) микроконтроллера. Питающие выводы драйверов и вход вторичного источника питания соединены через буферную емкость с выводом внешнего источника питания требуемого напряжения. Выход вторичного источника питания соединен с питающим входом микроконтроллера, а соответствующие дискретные выходы микропроцессора соединены с входами STEP, DIR и EN драйверов соответствующих шаговых двигателей.

Пример блок-схемы устройства, реализующего управление шестнадцатью ШД, показан на фиг. 3. На фиг. 4. приведен пример электрической принципиальной схемы соединения приемопередатчика RS-485 с модулем универсального асинхронного приемопередатчика UART микроконтроллера. Пример схемы силового питания через буферную емкость представлен на фиг. 5.

Работу устройства иллюстрирует последовательность операций, приведенная на фиг. 6. В соответствии с этой схемой работа устройства осуществляется следующим образом. В начале работы после включения питания МК подает высокий потенциал на входы EN драйверов всех ШД. После этого на ПК начинается выполнение цикла, который определяется условием, известно ли на текущий момент времени задание на выполнение одного или нескольких тактов шаговыми двигателями. Если известно задание только на один такт управления, ПК формирует пакет данных о направлении поворота и количестве шагов каждого ШД для текущего такта управления и затем передает его в МК. МК, прочитав пакет данных, определяет, что известно задание только на один такт управления, и готовит цикл по числу шагов на одном такте управления. Поскольку изменения направления вращения внутри такта не происходит, то перед его началом МК подает низкий потенциал на входы DIR тех драйверов, ШД которых должны вращаться влево, и — высокий потенциал на входы DIR тех драйверов, ШД которых должны вращаться вправо. Далее на МК запускается цикл с числом повторений, равным максимально возможному на одном такте управления количеству шагов. В этом цикле отрабатывается следующая последовательность операций. МК определяет порядковые номера ШД, которые еще не выполнили все требуемое для них в текущем такте управления количество шагов. Затем МК подает низкий потенциал на входы STEP всех драйверов и формирует импульс положительной полярности, поступающий на входы STEP тех драйверов, ШД которых должны вращаться. Длительность импульса выбирается больше минимально необходимой для нормальной работы драйвера ШД, поскольку команда управления по входу «STEP» воспринимается драйвером по переднему фронту управляющего импульса. Так происходит с частотой выполнения шагов до тех пор, пока не будет исчерпано время на выполнение максимально возможного на одном такте управления количества шагов, т.е. не будет закончен текущий такт управления.

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

Применяемый формат данных, включающий унифицированный набор сигналов: «включить питание обмоток» (EN), «выбрать направление вращения» (DIR) и «выполнить шаг» (STEP), позволяет управлять различными типами ШД, используя различные драйверы (например, А4979 для биполярного ШД [5]) без изменения управляющей программы.

Кроме того, использование унифицированного набора сигналов позволяет сократить количество управляющих сигналов (и, соответственно, выводов микроконтроллера) для одного ШД до двух (DIR и STEP) против четырех, используемых в [4]. Сигнал «включение питания обмоток» используется общий для драйверов всех ШД, подключенных к данному микропроцессору. Таким образом, управляющие импульсы подаются синхронно и одновременно на драйверы всех ШД, подключенных к одному порту микропроцессора, обеспечивая одновременное (а не квазиодновременное, как в [4]) управление этими ШД.

Предложенное техническое решение (см. блок-схему на фиг. 3) позволяет синхронно управлять шестнадцатью ШД. Для передачи команд от ПК и приема ответов от устройства управления (УУ) используют последовательный канал USB. Для расширения функциональных возможностей канала связи ПК — УУ предложено преобразовать его в интерфейс RS-485. При использовании микроконтроллера с 16-разрядными портами вывода, например 1986 ВЕ92У [6], формирование сигналов Step1-Step16 одним портом микроконтроллера и, соответственно, выполнение шага всеми 16 двигателями, подключенными к данному порту, будет произведено одновременно. Использование одного общего сигнала EN обеспечивает максимально быстрое отключение всех 16 ШД при возникновении аварийной ситуации. В качестве конвертера интерфейса USB — RS-485 может быть использован конвертер интерфейса МОХА UPort 11501 [7], а в качестве приемопередатчика RS-485 — приемопередатчик интерфейса RS-485/422 SN65HVD1785[8] или 5559ИН10А АЕЯР.431230.645ТУ [9]. Входной импеданс приемника соответствует 1/8 единицы нагрузки (1/8 U.L.), что допускает параллельное включение до 256 эквивалентных приемопередатчиков на шине. Эти микросхемы предназначены для использования в качестве приемопередатчика по стандарту RS-485/422 для организации полудуплексного канала связи по соответствующим стандартам. Максимальная длина линии связи для микросхем типа SN65HVD1785 1,5 км и 1,2 км для 5559ИН10А. в качестве линии связи используется витая пара в экране с волновым сопротивлением 120 Ом. Для устойчивой работы канала RS-485 с обоих концов линии установлены согласующие резисторы с номиналом 120 Ом, как показано на рис. 2 в [7].

Приемопередатчик RS-485 соединен с модулем универсального асинхронного приемопередатчика (UART — Universal Asynchronous Receiver Transmitter), представляющего собой периферийное устройство микроконтроллера. Возможная схема соединения приведена на фиг. 4. Резистор R12 обеспечивает согласование волнового сопротивления на конце линии. Резистор R15 необходим для отключения передатчика на время начальной установки микроконтроллера после включения питания. Сигналы RX1 и ТХ1 представляют собой выход приемника и вход передатчика соответственно, a R/T1 управляет направлением передачи. Если значение сигнала R/T1 соответствует «1», то микроконтроллер передает данные, а если соответствует «0», то микроконтроллер принимает данные.

В качестве микроконтроллера может быть применен микропроцессор PIC18F67K22[10], обеспечивающий выполнение следующих операций:

— формирование управляющих сигналов на драйверы ШД в соответствии с командами, полученными от ПК;

— управление приемопередатчиком RS-485 и поддержка протокола обмена с ПК;

— синхронизация и обеспечение точных временных интервалов от собственного генератора с внешним кварцевым резонатором BQ1;

— формирование дискретных выходных сигналов STEP, DIR и EN. Количество подключаемых ШД может быть увеличено добавлением в пакет данных адреса микроконтроллера. При реализации такого технического решения на плате микроконтроллеров должно быть увеличено количество микропроцессоров. Работа устройства в этом случае поясняется блок-схемой, приведенной на фиг.7.

С целью повышения помехозащищенности управляющие сигналы от микроконтроллера поступают на драйверы ШД через схему гальванической развязки, разделяющую сигнальную и силовую части. Некоторые драйверы ШД уже имеют в своем составе гальваническую развязку, например драйверы серии OSM [11]. При использовании для управления ШД драйверов, не имеющих гальванической развязки по входам STEP, DIR и EN, в устройство (см. блок-схему устройства на фиг. 8) между соответствующими дискретными выходами микропроцессора и входами STEP, DIR и EN драйверов соответствующих ШД введен элемент гальванической развязки (ЭГР), а также дополнительный ВИП, вход которого соединен через буферную емкость с выводом внешнего ИП, а выход — со вторым питающим входом ЭГР, первый питающий вход которого соединен с выходом ВИП.

Для реализации ЭГР можно, например, использовать схему, приведенную на фиг. 9. На этой схеме DD4 — ADuM6400CRWZ [12] четырехканальный изолятор, с встроенным вторичным источником питания. Сигналы STEP1+STEP4 поступают напрямую с выводов микроконтроллера, a STEP(1_I÷4_I) поступают на соответствующие входы драйверов ШД. индексы 1-5-4 указывают номер драйвера. При управлении большим количеством ШД используется необходимое количество схем ADuM6400CRWZ. Соответственно соединяются остальные сигналы STEP и сигналы DIR, начиная с 5-го. Сигнал EN поступает одновременно на соответствующие входы драйверов. Такое решение позволяет обеспечить одновременное управление ШД разных типов, изменяя только драйвер ШД, с сохранением программных и аппаратных решений, предложенных выше.

В качестве драйвера ШД могут быть использованы как различные микросхемы, например А4979 Allegro MicroSystems с соответствующей обвязкой для управления биполярным шаговым двигателем, как показано на рис. Typical Applications для Parallel Control [13], или ТМС262 [14], так и готовые драйверы — контроллеры, например IDX 7505 [15] или OCM-42RA [11]. Работу с трехфазным ШД можно обеспечить, используя в качестве драйвера ШД микросхему ТМС389 TPJNAMIC Motion Control GmbH & Co. KG, как показано на figure 1: Basic application block diagram в [16].

Силовое питание устройства обеспечивается через буферную емкость, например, как показано на фиг.5. Питание низковольтной части устройства обеспечивается двумя вторичными источниками питания (ВИП и дополнительный ВИП), построенными по схеме, приведенной на фиг. 10. В данной схеме конденсаторы С5, С6 образуют входной фильтр, а С9, С10, С12, С13 — выходной. В качестве преобразователя напряжения применен одноканальный модуль МПВ3А [17], обеспечивающий выходное напряжение 5 В ±1%, в диапазоне питающих напряжений 18÷36 В. Напряжение 5 В, формируемое ВИП, используется для питания цифровой части устройства, а выходное напряжение 5 В дополнительного ВИП поступает на низковольтную часть драйверов.

При необходимости уменьшить количество выводов микропроцессора, используемых для решения задачи управления, может быть использовано устройство, блок-схема которого показана на фиг. 11 или на фиг. 12 (при необходимости использовать ЭГР). В этих примерах реализуется управление шестнадцатью ШД. Работа этих устройств осуществляется аналогично описанному выше циклу с той лишь разницей, что добавляются последовательные операции, вызванные использованием общего выхода DIR всех драйверов. Эти отличия отражены на представленной на фиг. 13 блок-схеме, иллюстрирующей работу этих устройств.

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

Примеры блок-схем устройства без ЭГР и устройства с ЭГР для этого случая приведены соответственно на фиг. 14 и фиг. 15. Примеры блок-схем такого устройства в случае использования общего выхода DIR микроконтроллера для управления всеми драйверами для вариантов без ЭГР и с ЭГР приведены соответственно на фиг. 16 и фиг. 17. В этих примерах также реализуется управление шестнадцатью ШД.

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

Для решения поставленной задачи устройствами, имеющими в своем составе датчик тока потребления, предлагается его конкретное исполнение. Датчик тока содержит два изолированных линейных датчика Холла, выполненных на микросхемах ACS758LCB-050B-PFF со встроенным усилителем, инструментальный операционный усилитель MCP6V02, шесть конденсаторов и восемь резисторов. Причем первый вход датчика тока соединен с пятыми выводами датчиков Холла, четвертые выводы которых соединены с первым выходом датчика тока. Первые выводы датчиков Холла и второй вывод седьмого резистора соединены со вторым входом датчика тока. Первый и второй выводы первого датчика Холла соединены между собой через первый конденсатор, а третий и второй выводы первого датчика Холла соединены между собой через последовательно соединенные первый резистор и третий конденсатор. Второй вывод первого резистора соединен с первым выводом третьего резистора, а первый и второй выводы второго датчика Холла соединены между собой через второй конденсатор. Третий и второй выводы второго датчика Холла соединены между собой через последовательно соединенные второй резистор и четвертый конденсатор, а второй вывод второго резистора соединен с первым выводом четвертого резистора. Вторые выводы третьего и четвертого резисторов соединены со вторым выводом инструментального операционного усилителя, а первый и второй выводы инструментального операционного усилителя соединены между собой через параллельно соединенные пятый конденсатор и шестой резистор. Первые выводы пятого и седьмого резисторов соединены с третьим выводом инструментального операционного усилителя, первый вывод которого через восьмой резистор соединен со вторым выходом датчика тока, а второй вывод восьмого резистора через шестой конденсатор и второй вывод пятого резистора соединены со вторым выводом второго датчика Холла.

Электрическая принципиальная схема предлагаемой реализации датчика тока приведена на фиг. 19. Датчик тока выполнен на двух микросхемах DA1, DA2 ACS758LCB-050B-PFF [08], представляющих собой изолированные линейные датчики Холла с встроенным усилителем. Использование двух параллельно включенных датчиков тока позволяет повысить надежность работы устройства, а также снизить плотность тока в зоне входных контактов. Такое решение позволяет устанавливать датчики тока вместе с остальными элементами схемы на печатную плату, имеющую толщину дорожки 35 мкм. Кроме того, учитывая последующее инвертирование сигнала в сумматоре, направление тока через измерительные контакты датчика выбрано противоположным принятому — от +IP к -IP.

Суммирование выходных сигналов датчиков тока выполняется инструментальным операционным усилителем DA3:1 MCP6V02 [19] по схеме, приведенной на рис. 3.1 в книге [20]. Для подавления помех на частотах работы регуляторов тока в обмотках ШД в схему введены три звена ФНЧ, образованные Rl, С3 (R4, С4), R6, С5, R8, С6. Их частота среза F выбирается из условия 4fStep<F<0.l/rmjn, где:

fstep — частота шагов;

7rmin — минимальная частота переключения регулятора тока в обмотке ШД.

Программное управление работой устройства во всех его предложенных вариантах обеспечивает микроконтроллерный модуль (микроконтроллер), электрическая принципиальная схема возможного исполнения которого для случая управления шестнадцатью ШД приведена на фиг. 20. Ядро выполнено на восьмиразрядном контроллере PIC18F67K22 (DD2). Команды управления от ПК поступают на приемопередатчик интерфейса RS-485 SN65HVD1785 (DD1), обеспечивающий преобразование дифференциального сигнала указанного интерфейса в 5-ти вольтовые логические уровни и обратно. Резистор R1 обеспечивает согласование линии, а резистор R2 необходим для перевода приемопередатчика DD1 в режим приема на время инициализации микроконтроллера. Тактирование микроконтроллера обеспечивает внутренний генератор, частоту которого определяет кварцевый резонатор BQ1 с конденсаторами обвязки С3 и С6. Первичное программирование микроконтроллера осуществляется в режиме внутрисхемного программирования (In-Circuit Serial Programming) через технологический соединитель ХТ3 при замкнутых джамперах ХТ1, ХТ2. Для программирования используется программатор ICD3 Microchip Technology Inc. Через соединитель ХР1 на вход АЦП RF3 поступает сигнал с выхода датчика тока. Резисторы R5+R22 обеспечивают защиту портов микроконтроллера от замыкания.

Через соединитель Х3 осуществляется связь с драйверами ШД. Возможная электрическая принципиальная схема соединений драйверов с ШД и модулем микроконтроллера для случая управления шестнадцатью ШД приведена на фиг. 21. В качестве драйверов ШД АКА16 используются устройства OSM-42RA [И]. В качестве ШД в этой схеме могут быть использованы любые биполярные шаговые двигатели с номинальным током обмоток 1-4 А.

Все заявляемые варианты устройства представляют собой двухуровневую систему управления, включающую ПК, в котором реализуется: подготовительная вычислительная часть задачи управления, визуализация состояния системы, интерфейс оператора и связь с нижним уровнем. Нижний уровень управления реализуется в микроконтроллере. Связь между уровнями управления организована по принципу «Master — Slave» («ведущий -ведомый»), где ПК является «Master», а МК — «Slave». Работают эти устройства следующим образом. При включении ИП микроконтроллер проводит самодиагностику, на запрос ПК о состоянии сообщает «ЗАНЯТ», выставляет на входы всех драйверов ШД дискретный сигнал «EN», проводит самодиагностику и установку ШД в начальные положения. По окончании установки всех ШД в начальные положения состояние МК изменяется на «ГОТОВ». После получения готовности от МК, ПК начинает передачу данных задания на один или несколько тактов. Данные состоят из пакета последовательно передаваемых байт информации и служебных символов, по одному байту на каждый ШД, причем номер байта в пакете соответствует номеру ШД. МК проводит преобразование полученного пакета в задание для каждого ШД на один такт управления, содержащее количество шагов и направление вращения. Тактирование всех внутренних и внешних устройств выполняется таймерами МК, работающими от внутреннего генератора, стабилизированного внешним кварцевым резонатором. При выполнении шага МК уменьшает на единицу значение числа шагов задания на текущий такт управления для выбранного ШД до достижения нулевого значения.

Если применяемые драйверы ШД имеют в своем составе гальваническую развязку (варианты устройства фиг. 3, 11, 14 и 16) между управляющими сигналами и силовым питанием, то сигналы «STEP», «DIR» и «EN» с дискретных выходов МК поступают на входы соответствующих драйверов ШД напрямую. В случае ее отсутствия дополнительно устанавливаются ЭГР (варианты устройства фиг. 8, 12, 15 и 17). ЭГР должны обеспечивать необходимую скорость передачи данных и иметь уровни логических сигналов, совместимые с МК с одной стороны и с управляющими входами драйверов ШД — с другой. Питание элементов устройства за ЭГР осуществляется от дополнительного ВИП.

Если при работе устройства используется датчик тока (варианты блок-схем, представленных на фиг. 14-17). Он обеспечивает преобразование тока в напряжение с полосой пропускания более 4/step. Кроме формирования команд управления сигнал с датчика тока позволяет реализовать функцию защиты устройства от перегрузки по току.

Работоспособность заявляемого технического решения подтверждена экспериментально для случая управления четырьмя ШД. Экспериментально полученные осциллограммы изменения рабочих параметров устройства при реализации заявляемого способа управления приведены на фиг. 1 и 2 для одного характерного участка работы.

ИСТОЧНИКИ ИНФОРМАЦИИ

1. METHOD AND APPARATUS FOR CONTROLLING A PLURALITY OF MOTORS US 2009/0189550 Al H02P 5/00.

2. MULTIPLEXED STEPPER MOTOR CONTROL APPARATUS (United States Patent Number: 5,237,250 H02P 9/00).

3. Контроллер шагового двигателя RU 2531360 C2 H02P 8/40.

4. Способ управления шестнадцатью шаговыми двигателями по USB-каналу квазиодновременно. Патент РФ RU 2546315 C1 G05B 19/00.

5. A4979-DS, Rev. 2 Allegro MicroSystems, LLC, www.allegromicro.com.

6. МИКРОСХЕМЫ ИНТЕГРАЛЬНЫЕ 1986 ВЕ91Т, 1986 ВЕ92У, 1986 ВЕ93У, 1986 ВЕ94Т Технические условия АЕЯР.431290.711ТУ.

7. UPort 1100 Series User’s Manual Fifth Edition, May 2009 www.moxa.com/

8. http://www.ti.com/lit/ds/symlink/sn65hvdl785.pdf

9. https://ic.milandr.ru/upload/iblock/fe5/fe58f8b55949bb7d5e278ed20edd8006.pdf

10. http://www.microchip.com/support DS39960D.pdf

11. http://onitex.ru/attachments/article/85/datasheet_OSM-17RA_OSM-42RA.pdf

12. www.analog.com ADuM6400_6401_6402_6403_6404.pdf

13. www.allegromicro.com A4979-Datasheet.pdf

14. www.trinamic.com TMC262 DATASHEET (V2.01 /2012-FEB-16)

15. www.trinamic.com IDX Manual (VI. 16 / December 3rd, 2008)

16. www.trinamic.com TMC389 DATASHEET (V. 1.14 / 2013-MAR-25)

17. www.mmp-irbis.ru / ТУ 6589-004-40039437-07

18. ACS758xCB-Datasheet.pdf www.allegromicro.com

19. http://support.microchip.com DS22058C

20. Алексенко А.Г., Коломбет E.A., Стародуб Г.И. Применение прецизионных аналоговых ИС. — М. Радио и связь, 1981.

1. Способ потактового управления несколькими шаговыми двигателями с помощью персонального компьютера по каналу USB (Universal Serial Bus — универсальная последовательная шина), реализующий режим управления с постоянной частотой и состоящий в том, что для каждого такта управления формируют пакет данных, содержащий информацию о направлении поворота и количестве шагов ротора каждого шагового двигателя, которые он должен выполнить на данном такте управления, этот пакет данных передают в виртуальный последовательный порт персонального компьютера, драйвер порта передает пакет данных по каналу USB в микроконтроллер, в котором его обрабатывают и формируют с частотой выполнения шагов дискретные команды для драйвера каждого двигателя, где они вызывают коммутацию обмоток двигателей, заставляя каждый из них выполнить на каждом такте управления заданное количество шагов в требуемом направлении, отличающийся тем, что пакет данных имеет размер n байт (по байту на каждый из n двигателей соответственно), причем первый бит каждого байта содержит информацию о направлении вращения двигателя, а следующие 7 бит содержат информацию о количестве шагов, на которые должен повернуться вал данного двигателя в текущем такте управления, пакет данных, записанный в виртуальный последовательный порт персонального компьютера и переданный по каналу USB, преобразуют в соответствии со стандартом интерфейса передачи данных по полудуплексному многоточечному последовательному каналу связи и передают в микроконтроллер, где принятый пакет данных преобразуют в три дискретных сигнала для подачи на три входа EN, DIR и STEP драйверов каждого двигателя так, что на все время работы двигателей подают высокий потенциал на входы EN драйверов всех двигателей, в течение всего текущего такта управления на вход DIR драйвера соответствующего двигателя подают низкий потенциал, если необходимо обеспечить направление вращения влево, и высокий потенциал, если необходимо обеспечить направление вращения вправо, а на входы STEP драйверов всех двигателей одновременно с частотой выполнения шагов подают управляющие импульсы высокого уровня длительностью менее периода выполнения шагов, если соответствующий двигатель должен выполнить шаг, и подают низкий потенциал на входы STEP драйверов тех двигателей, для которых все требуемые на данном такте управления шаги уже выполнены, в результате таких действий все драйверы обеспечивают необходимую коммутацию обмоток своих шаговых двигателей, вызывающую одновременный поворот их валов на соответствующее количество шагов в требуемых направлениях, причем, если заранее известно задание на отработку шагов двигателями на несколько тактов управления вперед, формируют массив пакетов данных для известного количества тактов, записывают его в виртуальный последовательный порт и передают в микроконтроллер, где этот массив последовательно отрабатывают на каждом такте управления в соответствии с описанной последовательностью операций.

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

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

4. Способ потактового управления несколькими шаговыми двигателями по п. 1, отличающийся тем, что управляющие импульсы на входы STEP драйверов двигателей за отрезок времени Tstep, в течение которого двигатель должен совершить шаг, формируют с задержкой по времени, для чего предварительно до начала управления двигателями измеряют промежуток времени Δtp, за который ток потребления драйвера достигает своего квазистационарного значения (среднее значение тока потребления драйвера, измеренное при включенном драйвере и отсутствии управляющих импульсов в течение интервала времени не менее 10Tstep секунд) после его снижения при подаче управляющего импульса, а в процессе управления определяют количество двигателей nd, которые должны выполнить шаг на наступающем отрезке времени Tstep, определяют величину временного интервала Δtn=Tstep/nd, а затем поочередно с задержкой по времени Δtp, если Δtp<Δtn, и с задержкой Δtn, если Δtp≥Δtn, подают управляющие импульсы на входы STEP драйверов тех двигателей, которые должны выполнить шаг на наступающем отрезке времени Tstep.

5. Устройство потактового управления несколькими шаговыми двигателями с помощью персонального компьютера по каналу USB по п. 1, содержащее микроконтроллер, внешний кварцевый резонатор, выводы которого соединены с соответствующими входами микроконтроллера, драйверы, соответствующие типу и количеству используемых шаговых двигателей, причем выводы драйверов соединены с соответствующими выводами шаговых двигателей, отличающееся тем, что в него введены буферная емкость, вторичный источник питания, а также связанный стандартным USB-кабелем с персональным компьютером конвертер интерфейса USB — RS-485 и приемопередатчик RS-485, соединенные между собой линией связи типа витая пара в экране с волновым сопротивлением 120 Ом, в свою очередь, приемопередатчик RS-485 связан с модулем универсального асинхронного приемопередатчика UART (Universal Asynchronous Receiver Transmitter) микроконтроллера, причем питающие выводы драйверов и вход вторичного источника питания соединены через буферную емкость с выводом внешнего источника питания требуемого напряжения, выход вторичного источника питания соединен с питающим входом микроконтроллера, а соответствующие дискретные выходы микропроцессора соединены с входами STEP, DIR и EN драйверов соответствующих шаговых двигателей.

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

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

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

9. Устройство потактового управления несколькими шаговыми двигателями по п. 5, отличающееся тем, что в него между буферной емкостью и драйверами введен датчик тока, второй вход которого соединен с выходом вторичного источника питания, а второй выход соединен с входом аналогово-цифрового преобразователя микропроцессора, причем датчик тока содержит два изолированных линейных датчика Холла, выполненных на микросхемах ACS758LCB-050B-PFF со встроенным усилителем, инструментальный операционный усилитель MCP6V02, шесть конденсаторов и восемь резисторов, причем первый вход датчика тока соединен с пятыми выводами датчиков Холла, четвертые выводы которых соединены с первым выходом датчика тока, первые выводы датчиков Холла и второй вывод седьмого резистора соединены со вторым входом датчика тока, первый и второй выводы первого датчика Холла соединены между собой через первый конденсатор, третий и второй выводы первого датчика Холла соединены между собой через последовательно соединенные первый резистор и третий конденсатор, второй вывод первого резистора соединен с первым выводом третьего резистора, первый и второй выводы второго датчика Холла соединены между собой через второй конденсатор, третий и второй выводы второго датчика Холла соединены между собой через последовательно соединенные второй резистор и четвертый конденсатор, второй вывод второго резистора соединен с первым выводом четвертого резистора, вторые выводы третьего и четвертого резисторов соединены со вторым выводом инструментального операционного усилителя, первый и второй выводы инструментального операционного усилителя соединены между собой через параллельно соединенные пятый конденсатор и шестой резистор, первые выводы пятого и седьмого резисторов соединены с третьим выводом инструментального операционного усилителя, первый вывод которого через восьмой резистор соединен со вторым выходом датчика тока, а второй вывод восьмого резистора через шестой конденсатор и второй вывод пятого резистора соединены со вторым выводом второго датчика Холла.

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

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

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

Система управления шаговым двигателем ZETLAB

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

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

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

  • угол поворота ротора определяется числом импульсов, которые поданы на двигатель;
  • если обмотки запитаны, то двигатель в режиме остановки обеспечивает полный момент;
  • хорошие шаговые двигатели обеспечивают точность 3-5% от величины шага, при этом ошибка не накапливается от шага к шагу;
  • возможность быстрого старта/остановки/реверсирования;
  • высокая надежность, связанная с отсутствием щеток, срок службы шагового двигателя фактически определяется сроком службы подшипников;
  • однозначная зависимость положения от входных импульсов обеспечивает позиционирование без обратной связи;
  • возможность получения очень низких скоростей вращения для нагрузки, присоединенной непосредственно к валу двигателя без промежуточного редуктора;
  • может быть перекрыт довольно большой диапазон скоростей, скорость пропорциональна частоте входных импульсов.

Недостатки применения шаговых двигателей

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

Применение шаговых двигателей:

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

Принцип работы шагового двигателя

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

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

В данной работе описывается алгоритм управления шаговыми двигателями двухфазного (биполярного) и четырёхфазного (униполярного) типа с помощью модуля управления шаговым двигателем с интерфейсом CAN ZET 7160-S StepMotor-CAN или интерфейсом RS-485 ZET 7060-S StepMotor-485.

Биполярный (двухфазный) шаговый двигатель

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

Рис. 1 Внутренняя схема биполярного Ш.Д.Рис. 2 Схема выводов биполярного Ш.Д.Рис. 3 Схема подключения биполярного Ш.Д. к ZET7X60-S

Униполярный (четырёхфазный) шаговый двигатель

Четырёхфазный шаговый двигатель (униполярный шаговый двигатель) также имеет одну обмотку в каждой фазе, но от середины обмотки сделан отвод. Это позволяет изменять направление магнитного поля, создаваемого обмоткой, простым переключением половинок обмотки. При этом существенно упрощается схема драйвера. Драйвер должен иметь только 4 простых ключа. Таким образом, в униполярном двигателе используется другой способ изменения направления магнитного поля. Средние выводы обмоток могут быть объединены внутри двигателя, поэтому такой двигатель может иметь 5 или 6 выводов.

Рис. 4 Внутренняя схема униполярного Ш.Д.Рис. 5 Схема выводов униполярного Ш.Д.Рис. 6 Схема подключения униполярного Ш.Д. к ZET7X60-S

Режимы работы шагового двигателя

Существует несколько способов управления фазами шагового двигателя. Наиболее распространёнными из них являются полношаговый и полушаговый режим. Существуют также режимы управления с 1/4, 1/8, 1/16 шага. Но эти режимы нужны только для узкого круга задач, и они требуют значительного усложнения схемы микроконтроллера и алгоритма управления. Ниже приводится последовательность генерируемых импульсов для различных режимов работы шагового двигателя, на примере униполярного двигателя.

Рис. 7 Полношаговый режим, с 1-ой активной обмоткой на каждом шаге

Рис. 8 Полношаговый режим, с 2-мя активными обмотками на каждом шаге

Рис. 9 Полушаговый режим

Разгон и торможение шагового двигателя

Такой параметр шагового двигателя, как зависимость момента от скорости является важнейшим при выборе типа двигателя, выборе метода управления фазами и выборе схемы драйвера. При конструировании высокоскоростных драйверов шаговых двигателей нужно учитывать, что обмотки двигателя представляют собой индуктивность. Эта индуктивность определяет время нарастания и спада тока. Поэтому если к обмотке приложено напряжение прямоугольной формы, форма тока не будет прямоугольной. При низких скоростях (рис. 10а) время нарастания и спада тока не способно сильно повлиять на момент, однако на высоких скоростях момент падает. Связано это с тем, что на высоких скоростях ток в обмотках двигателя не успевает достигнуть номинального значения (рис. 10б).

Рис. 10 Зависимость тока в обмотках Ш.Д. от частоты

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

Управление шаговым двигателем с помощью модуля ZET7X60-S StepMotor

Перед началом работы с шаговым двигателем необходимо выставить необходимые параметеры на вкладке «Настройки»:

  • Частота опроса — частота, с которой будет обновляться информация в канале о количестве проделанных шагов;
  • Тип двигателя — тип двигателя, подключенного к модулю ZET 7X60-S StepMotor.

После этого с помощью вкладки «Управление» можно начинать управление шаговым двигателем.

  • Старт/Стоп — начать /остановить движение шагового двигателя;
  • Направление вращения — задаём направление вращения шагового двигателя, по или против часовой стрелки;
  • Кол-во шагов до остановки — количество шагов, которое проделает шаговый двигатель после запуска;
  • Время одного шага — скорость вращения шагового двигателя.
Рис. 11 Вкладка «Настройки» в программе MODBUS-ZETLABРис. 12 Вкладка «Управление» в программе MODBUS-ZETLAB

Во время выполнения команды, контроллер сообщает о количестве проделанных шагов на данный момент с частотой заданной в настройках (Настройки —> Частота опроса).

Рис. 13 Отображение количества проделанных шагов в программе ZETLAB «Многоканальный осциллограф»

Система управления шаговым двигателем с обратной связью

Система управления шаговым двигателем с обратной связью строится на базе модуля управления шаговым двигателем ZET 7060-S StepMotor-485 (ZET 7160-S StepMotor-CAN) и интеллектуального энкодера ZET 7060-E Encoder-485 (ZET 7160-E Encoder-CAN). Для подключения к системе ZETLAB используется преобразователь интерфейса ZET 7070. Управление шаговым двигателем осуществляется подачей сигналов с модуля ZET7060-S StepMotor-485 (ZET 7160-S StepMotor-CAN). Контроль состоянием шагового двигателя осуществляется энкодером, сигнал с которого обрабатывается модулем ZET 7060-E Encoder-485 (ZET 7160-E Encoder-CAN). Обработка сигналов с интеллектуального энкодера и программное управление модулем ZET7060-S StepMotor-485 (ZET 7160-S StepMotor-CAN) осуществляется с помощью программного обеспечения ZETLAB.

Схема системы управления шаговым двигателем с обратной связью

Состав системы управления шаговым двигателем с обратной связью

Описание
Управляющий модуль ZET 7060-S StepMotor-485 или ZET 7160-S StepMotor-CAN
Цифровой модуль управления шаговым двигателем с интерфейсом RS-485 или CAN.
Датчик углового перемещения
Преобразование углового перемещения в последовательность электрических сигналов, содержащих информацию о величине и направлении этого перемещения. Диаметр корпуса 50 мм. Разрешающая способность до 320000 дискрет на оборот.
Измерительный модуль ZET 7060-E Encoder-485 или ZET 7160-E Encoder-CAN
Преобразование сигнала с датчика в значения углового перемещения и передача этих данных по протоколу Modbus по интерфейсу RS-485 или CAN 2.0.
ZET 7070 RS-485↔USB или ZET 7174 CAN-USB
Модуль передачи данных с измерительных модулей на ПК
MODBUS OPC Сервер
Программа «Сервер данных интеллектуальных датчиков»
Кабели для подключения измерительных и управляющих модулей к ZET 7070 или ZET 7174
Программное обеспечение ZETLAB
Программы для отображения результатов измерений интеллектуальных датчиков в численном и графическом виде на плоскости и в объеме.
SCADA ZETVIEW
Графическая среда разработки приложений для автоматизации измерений

Управление шаговым двигателем через контроллер Canny / Хабр

Наткнулся недавно на статью камрада BosonBeard про новые контроллеры и решил попробовать на зуб что это такое. Недолго думая были раздобыты 3 типа контроллеров: Canny 3 Tiny, Canny 5 Nano, Canny 7.

Рис. 1. Внешний вид упаковки контроллеров Canny 7 (слева), Canny 5 Nano (в центре), Canny 3 Tiny (справа), шариковая ручка для масштаба

Рис. 2. Внешний вид контроллеров Canny 7 (слева), Canny 5 Nano (в центре), Canny 3 Tiny (справа), шариковая ручка для масштаба


На что стоит обратить внимание… сердцем контроллеров являются чипы семейства PIC — PIC18F25K50-I/ML, PIC18F25K80, PIC24HJ128GP506A-I/PT — соответственно. Про возможности каждого чипа можно прочитать из даташитов производителя, так что не будем заострять на этом внимание. Из особенностей могу добавить только, что у модели Canny 5 Nano есть внешний TTL-USB драйвер на чипе CP2102. На счет подключения и впаянных разъемов на моделях Canny 7 и Canny 3 переживать не стоит, т.к. производитель укомплектовывает поставку солидным пучком проводов с запаянными разъемами.

Применение чипов семейства PIC было неожиданностью. Хотя сам я не большой их поклонник, свою нишу они определенно занимают не зря. К слову, система защиты от протечек “аквасторож” тоже построена на чипах PIC.

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

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

Внимание! Собственный бутлоадер и графическая среда программирования накладывают определенные ограничения — невозможность использования стандартных библиотек. Но когда это нас останавливало?)

Не уверен что использовать подобный контроллер в качестве полноценного драйвера шагового двигателя даже для настольного ЧПУ или 3D принтера рационально, но для простого поворотного столика для создания моделей или съемки думаю реально.

От старого проекта у меня лежал неиспользованный старенький ДШИ-200 и самодельный драйвер к нему.

Рис.3. Мой старый драйвер шагового двигателя, на рисунке можно увидеть 3 канала управления

Это делает задачу немного интересней, так как готовые примеры рассчитаны на использование обычных сейчас 2-х обмоточных двигателей, в то время как ДШИ-200 — четырехобмоточный с двумя выводами с каждой обмотки.

Для сравнения, стандартная программа управления выглядит так:

А то что изобразил я, для управления своим двигателем выглядело так:

Почему такая разница в программах? Во-первых для таймлапса не надо организовывать реверс, т.е. достаточно вращения двигателя в одну сторону. Во-вторых — особенности самого двигателя, который может быть включен как по униполярной, так и по биполярной схеме. Так что нам подойдет униполярная схема:

В качестве платформы для таймлапса я использовал слегка измененный поворотный стол от 3д сканера cyclopus:

Достоинства и недостатки.

По традиции начнем с недостатков:

Закрытый бутлоадер

Отсутствие возможности подключения внешних библиотек

Из достоинств:

Графическая среда программирования — да, это непривычно, но это снижает порог вхождения

Высокая скорость разработки программ

Простота настройки и наладки программ “по месту” в полевых условиях

Развитое сообщество и поддержка разработчиков

Выводы

Не смотря на то, что контроллер достаточно специфичный и относится больше к узкоспециализированному профессиональному классу, производитель позаботился и о простых смертных. Это действительно сопоставимо со временем написания программ на Arduino. Но если взять более сложные программы, Arduino в проигрыше из-за сложности восприятия кода. Всетаки “картинку” мозг воспринимает быстрей чем текст. Кроме того, человеку который не участвовал в изначальной разработке кода проще будет его разобрать по картинке. Конечно визуальная среда разработки добавляет в загружаемый код хлама, но для сложных задач можно выбрать другой контроллер с большим объемом памяти… в общем каждый сам решает что ему важнее.

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

Мне было любопытно что это за контроллеры и что они умеют и я на данный момент удовлетворил свое любопытство. Я не придумал красивое окончание статьи, так что всем прочитавшим — спасибо за внимание.

Управление биполярным шаговым двигателем с помощью контроллера Текст научной статьи по специальности «Механика и машиностроение»

Секция ««Информатика и автоматизированные системы»

Рис. 2. Форма 1

Рис. 3. Форма 2

Рис. 4. Форма 3

Рис. 5. Форма 4 2. САПР и графика. URL: www.sapr.ru/article.

Библиографические ссылки

1. Гладышев Г. Н., Дмитриев В. С., Копытов В. И. aspx?id=14918&iid=707. Системы управления космическими аппаратами ;

Томский политехнич. ун-т. Томск : Изд-во ТПУ, © Мезинова А. А., Костюченко Т. Г., 2010

2000.

УДК 681.51

Р. А. Мирзаев, Ф. А. Халковский Научный руководитель — Н. А. Смирнов Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, Красноярск

УПРАВЛЕНИЕ БИПОЛЯРНЫМ ШАГОВЫМ ДВИГАТЕЛЕМ С ПОМОЩЬЮ КОНТРОЛЛЕРА

Рассматриваются аспекты управления биполярным шаговым двигателем с применением драйвера L293D. В программе PCB Layout разработана топология платы контроллера шаговых двигателей. Созданная плата контроллера позволяет управлять тремя биполярными шаговыми двигателями.

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

изделиях ракетно-космической и промышленной техники.

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

Актуальные проблемы авиации и космонавтики. Информационные технологии

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

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

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

Самый простой драйвер управления двигателями -это микросхема. Для биполярных шаговых двигателей одной из самых распространенных микросхем является Ь293Б [3].

«- 12V +5V

L2930 CLM10293N)

Рис. 1. Схема соединения микросхем 555ТМ7, L293D и шагового двигателя [4]

Для генерации сигналов управления используется персональный компьютер с ЬРТ-портом. На нем установлена разработанная программа, которая выдает на порт компьютера последовательности кодов: 01001010, 01000110, 01000101, 01001001. Первые четыре бита указывают, какой двигатель работает: в данной последовательности всегда работает двигатель по оси У. Вторая четверка битов управляет состоянием четырех выводов биполярного шагового двигателя: единица соответствует подаче на вывод

положительного напряжения, нуль — подаче на вывод нулевого потенциала.

По схеме на рис. 1 в программе PCB Layout разработана топология платы контроллера шаговых двигателей. Созданная плата контроллера позволяет управлять тремя биполярными шаговыми двигателями (рис. 2). Ограничение на мощность двигателей накладывает микросхема драйвера этих двигателей: максимальный ток в обмотке 600 мА, напряжение -не больше 36 В.

Рис. 2. Контроллер биполярного двигателя

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

Библиографические ссылки

1. Кихтенко Д. А. Управление шаговыми двигателями в микрошаговом режиме, оптимизация управления // Современные технические средства, комплексы и системы. ААЭКС. № 2 (12). 2003.

2. Кенио Т. Шаговые двигатели и их микропроцессорные системы управления : пер. с англ. М. : Энергоатомиздат, 1987.

3. Драйвер двигателей L293D //myrobot.ru. URL: http://myrobot.ru/stepbystep/el_driver.php. — (дата обращения: 05.09.2009).

4. Контроллер для биполярного двигателя или TM7+L298/ Vetrov Roman. URL: http://vri-cnc.ru /mo-dules.php?Name=News&file=article&sid=83. — (дата обращения: 15.11.2009).

© Мирзаев Р. А., Халковский Ф. А., Смирнов Н. А., 2010

Схема блока управления шаговым двигателем

Шаговый двигатель используется в машинах для точного перемещения. Наладим управление шаговым двигателем через USB с компьютера своими руками. Нам потребуется:

1) Шаговый двигатель, возьмем – Nema23 76 мм, вместо него может быть другой, управлять будем биполяным методом, любой гибридный и биполярный шаговый двигатель будет работать с таким же управлением.

2) Блок питания, возьмем – импульсный блок питания мощностью 360W с выходным напряжением 24V / 15A, может использоваться любой другой блок питания, если будет достаточно мощности и напряжения для работы двигателя. Более мощному двигателю будет нужно больше напряжения. Предел напряжения нашего драйвера ограничивается максимальным напряжением, которое выдерживают транзисторы, это 100V, у нас блок питания на 24V. В случае большего напряжения транзисторы в схеме необходимо заменить на более мощные, также при увеличении напряжения, транзисторы могут начать греться, если такое случилось, необходимо дополнительно обдувать их куллером (у меня все в порядке и куллер не требуется). Для подключения блока питания к сети 220V также нужен шнур и нужно определить где в вашей розетке ноль, а где фаза. Контакт блока N подключается к нулю, а L к фазе, также можно подключить заземление (но не обязательно). Определение возможно при помощи индикаторной отвертки, у меня определилось, что слева ноль, а справа фаза.

Как крутить шаговый двигатель

Шаговый двигатель работает от подачи комбинаций напряжения в разных направлениях на его обмотки, у этого шагового двигателя 2 обмотки – 4 провода, первая обмотка – черный (A) и зеленый (A*) провод, вторая обмотка – красный (B) и синий (B*). За одну смену комбинаций делается 1 шаг – 1,8 градусов. Если комбинации быстро менять, то двигатель будет быстро и точно позиционироваться – крутиться. Смена комбинаций возможна в двух направлениях, соответственно двигатель будет крутиться вперед или назад.

Чтобы крутить шаговый двигатель, надо:

1) Собрать устройство – USB контроллер шагового двигателя на микроконтроллере AVR и драйвер шагового двигателя, 2 в 1. Перед тем как собирать это сложное устройство, рекомендую сначало отдельно собрать и проверить работу только USB контроллера, его я уже собрал вот тут – контроллер USB. Если USB связь работает нормально, то можно приступать к изготовлению драйвера.

2) Написать программу для компьютера, которая будет посылать USB команды устройству.

3) Написать программу для микроконтроллера AVR, которая будет принимать USB команды и крутить двигатель.

USB контроллер шаговых двигателей и USB драйвер шагового двигателя

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

Драйвер шагового двигателя с USB управлением своими руками

На картинке сверху – биполярный (гибридный) шаговый двигатель NEMA 23 с потреблением – 3А тока на обмотку. Под ним – импульсный блок питания 360 Вт, 24 В, 15 А. Мощности блока хватает на 15 / 3 = 5 одновременно запитанных обмоток, у одного двигателя 2 обмотки, т.е хватит на 2 одновременно работающих двигателя (4 обмотки). Я не вижу необходимости включать одновременно больше одного двигателя, в случае если необходимо двигаться по кривой траектории, то нужно чередовать короткие включения то одного, то другого двигателя. Так что имеющейся мощности с запасом хватает. Двигатель и блок питания подключены к устройству, которое также подключено через USB к компьютеру. Все соединено по схеме.

Схема драйвера биполярного шагового двигателя и USB контроллера (схема длинная и нуждается в прокрутке для просмотра):

Драйвер шагового двигателя USB на микроконтроллере AVR своими руками

Электронные компоненты, которые надо купить для сборки устройства по схеме:

Дополнительно нужно (нет в наличии):

1) Модуль питания DC-DC SMAU01L-12 (вместо него пойдет любой конвертер DC-DC с 5V до 10V-15V) – 1 шт., возможно можно без него, от 5V питать (не проверено)

Главным компонентом схемы является программируемый микроконтроллер AVR – ATmega16A, если вы не знаете как с ними работать (записывать программу), сначало ознакомьтесь с основами такой работы, которые подробно описаны в первой статье
управление машиной. Для устройства можно использовать и другой микроконтроллер AVR, я выбрал ATmega16A, т.к. в нем с запасом имеется много памяти и контактов для подключения нескольких двигателей и большого количества рабочих инструментов.

Слева от ATmega16A находятся компоненты для организации связи по протоколу USB – к выводам XTAL подключен внешний кварцевый резонатор с USB-совместимой частотой 12 МГц. Для сглаживания сигнала у него есть 2 конденсатора по 20 пФ, все это соединяется с минусом питания. К контактам, через которые идет обмен сообщениями с USB, подключены 2 резистора по 68 Ом, как того требует протокол USB. Резистор на 1.5 кОм, подключенный к D- линии задает низкоскоростной режим работы USB устройства. Диоды Зенера 3V6 понижают напряжение на линиях, через которые идет обмен данными USB с 5 до 3.6V.

Управление двигателем подключается к контактам PB0, PB1, PB2, PB3, на остальные свободные P-контакты можно в будующем подключить еще двигатели и рабочие инструменты, но пока они пустуют. Микроконтроллер ATmega16 отдает команды и обрабатывает USB сигналы после того как в него записана программа (ниже она будет написана). После него идет конструкция из микросхем IR2102 и транзисторов IRF540N (2 так называемых H-моста) – она приводит шаговый двигатель в движение.

Драйвер IR2101 нужен для преодаления большой емкости затвора транзистора IRF540N, что позволяет открывать и закрыть транзистор с большой скоростью (например принимать сигнал ШИМ, которым может регулироваться скорость двигателя при необходимости – об этом сигнале дальше напишу), что нам и нужно. К сожалению для питания этого драйвера необходимо 10-15V, у нас есть только 5V от USB. Поэтому пришлось поставить компонент DC-DC SMAU01L-12, который преобразует 5V в 12V, вместо него можно использовать любой другой способ получения такого напряжения, например, при помощи трансформатора или любым другим путем. К VCC подключается +12V, к COM -12V. Один драйвер работает с 2мя транзисторами – верхним (H) и нижним (L). Контакты HIN и LIN – входной сигнал с микроконтроллера для верхнего и нижнего транзистора, по этому сигналу транзисторы открываются и закрываются. HO и LO – это выходные сигналы, транзисторы подключаются гейтами (G) к этим контактам. Они подключаются не просто так – справа на линиях 2 резистора 10/100 Ом и диод, они нужны для нормальной работы транзисторов – чтобы они замедлялись при открытии и не замедлялись при закрытии, эти транзисторы слишком быстро открываются и это может вызвать проблемы. Диод и конденсаторы 3300 пФ – нужны для работы драйвера IR2101 согласно документации на эту микросхему.

Каждая обмотка (фаза) двигателя (у двигателя 2 обмотки A и B – 4 контакта) подключается к H-мосту из транзисторов IRF540N. H-мост – это специальная схема соединения транзисторов, которая позволяет подавать через них напряжение высокого уровня (24V) в разных направлениях. Один мост изготавливается из 4-х транзисторов. В итоге здесь вы видите 2 H-моста, которые позволяют гонять разнонаправленное напряжение высокого уровня по 2м обмоткам двигателя и тем самым крутить его.

Обратите внимание, что в мосту – HIN верхнего драйвера соединяется с LIN нижнего драйвера, а LIN верхнего с HIN нижнего. Это сделано для одновременной подачи сигналов. Если вы включили HIN сверху, то обязаны включить LIN с низу, иначе произойдет короткое замыкание. Такое подключение позволяет автоматом включать пару. Впрочем короткое замыкание все же возможно, если вы откроете и HIN и LIN на одном мосте, поэтому не допускайте этого. На контактах PB0 – PB3 допустимы только значения 0000, 1010, 0110, 0101, 1001. Их перебор крутит двигатель. Подача других значений скорей всего приведет к короткому замыканию моста.

Мощные резисторы с низким номиналом 0.1 Ом и высокой мощностью (3-5 Вт) нужны для защиты от высокого тока – это шунты. Если что их можно снять и заменить простым соединением с минусом питания, если например не будет хватать мощности. Для слабых резисторов мощность берется от тока USB: 0.05 А * 5 V = 0.25 Вт (ток USB задается программно, по умолчанию в нашей программе стоит 0.05). Черная полоска на диодах соответствует вертикальной линии на схеме.

Шаговый двигатель и блок питания подключаются к H-мостам, как показано на схеме. Минусы питания 24V, 12V и 5V соединяются. Между плюсом и минусом 24V линии ставится сглаживающий пленочный конденсатор.

Отдельное крупное фото драйвера шагового двигателя:

Разделы сайта

DirectAdvert NEWS

Друзья сайта

ActionTeaser NEWS

Статистика

Что такое шаговый двигатель.
Блок управления шаговым двигателем на таймере NE555 (КР1006ВИ1).

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

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

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

Разновидности шаговых двигателей:

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

● Биполярные ШД – имеют две обмотки, четыре вывода;
● Униполярные ШД – имеют две обмотки, шесть выводов;
● Четырехобмоточные ШД – имеют четыре обмотки, восемь выводов.

Чтобы с обмотками было понятнее – смотрите следующее изображение:

У последнего варианта, если соединить выводы “А-штрих” с “В” , и “С-штрих” с “D”, получите биполярный шаговый двигатель.

Пример внутреннего строения обмоток шагового двигателя:

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

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

В сети можно найти множество схемных решений контроллеров ШД, основанных на применении программируемых микроконтроллеров, ну а мы сейчас рассмотрим принципиальную схему управления однополярным ШД, реализованную на микросхеме-таймере NE555, отечественным аналогом которой является КР1006ВИ1. На этой микросхеме собран тактовый генератор прямоугольных импульсов. Эти импульсы поступают на устройство (микросхемы D2 и D3), которое обеспечивает подачу импульсов управления на соответствующие обмотки двигателя в нужном порядке для того, чтобы вал нашего двигателя начал вращаться. Управляющие импульсы на обмотки поступают через ключи VT1…VT4. Скорость вращения вала ШД изменяется вращением ручки переменного резистора R1. Принципиальная схема блока управления изображена на рисунке ниже:

Зарубежные микросхемы и их отечественные аналоги: CD4070 – К561ЛП14 ; CD4027 – К561ТВ1.

Даташит микросхемы NE555 можно скачать по прямой ссылке с нашего сайта, которая появится после клика по любой строке рекламного блока ниже, кроме строки “Оплаченная реклама”. Размер файла – 93,5 KB.

В качестве дополнения к статье приведем пример еще одной не сложной схемы управления ШД , которые применялись в дисководах 5,25″.

Схема собрана на следующих элементах:

– DD1 – К561ЛА7;
– DD2 – К561ИЕ14;
– DD3 – К555ИД7;
– DD4, DD5 – К155ЛИ5.

Печатная плата выглядит следующим образом:

Печатная плата блока управления ШД_установка элементов на плате

Более подробное описание вы можете найти в журнале “Радиохобби” в первом номере 2001 года, страница 44, статья “Система дистанционного управления для High-End УМЗЧ”, а вышеприведенная схема является частью схемы из этого журнала.

И последний довесок к статье без описания, может быть кому и пригодится:

Элементы указаны на схеме, переключатель S1 – реверс вращения.

Блог о электронике

НЕТ В НАЛИЧИИНЕТ В НАЛИЧИИНЕТ В НАЛИЧИИ
НЕТ В НАЛИЧИИ
Нужно 2 шт.
НЕТ В НАЛИЧИИ
Нужно 1 шт.
Первая модификация силового блока. L293 вытащена.
Вид снизу

Шаговый двигатель это, как понятно из его названия, двигатель который вращается дискретными перемещениями . Достигается это за счет хитрой формы ротора и двух (реже четырех) обмоток. В результате чего, путем чередования направления напряжения в обмотках можно добиться того, что ротор будет по очереди занимать фиксированные значения.
В среднем, у шагового двигателя на один оборот вала, приходится около ста шагов. Но это сильно зависит от модели двигателя, а также от его конструкции. Кроме того, существуют полушаговый и микрошаговый режим , когда на обмотки двигателя подают ШИМованное напряжение, заставляющее ротор встать между шагами в равновесном состоянии, которое поддерживается разным уровнем напряжения на обмотках. Эти ухищрения резко улучшают точность, скорость и бесшумность работы, но снижается момент и сильно увеличивается сложность управляющей программы — надо ведь расчитывать напряжения для каждого шага.

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

Типы шаговых двигателей
Если не углубляться во внутреннюю конструкцию, число шагов и прочие тонкости, то с пользовательской точки зрения существует три типа:

  • Биполярный — имеет четыре выхода, содержит в себе две обмотки.
  • Униполярный — имеет шесть выходов. Содержит в себе две обмотки, но каждая обмотка имеет отвод из середины.
  • Четырехобмоточный — имеет четыре независимые обмотки. По сути дела представляет собой тот же униполярник, только обмотки его разделены. Вживую не встречал, только в книжках.

Униполярный отличается от биполярного только тем, что ему нужна куда более простая схема управления, а еще у него значительно слабее момент. Так как работает он только половинами обмоток. НО! Если оторвать нафиг средний вывод униполярника, то мы получим обычный биполярный . Определить какой из выводов средний не сложно, достаточно прозвонить сопротивление тестером. От среднего до крайних сопротивление будет равно ровно половине сопротивления между крайних выводов. Так что если тебе достался униполярник, а схема подключения для биполярного, то не парься и отрывай средний провод.

Где взять шаговый двигатель.
Вообще шаговики встречаются много где. Самое хлебное место — пятидюймовые дисководы и старые матричные принтеры . Еще ими можно поживиться в древних винчестерах на 40Мб, если, конечно, рука поднимется покалечить такой антиквариат.
А вот в трехдюймовых флопарях нас ждет облом — дело в том, что там шаговик весьма ущербной конструкции — у него только один задний подшипник, а передним концом вал упирается в подшипник закрепленный на раме дисковода. Так что юзать его можно только в родном креплении. Либо городить высокоточную крепежную конструкцию. Впрочем, тебе может повезет и ты найдешь нетипичный флопарь с полноценным движком.

Схема управления шаговым двигателем
Я разжился контроллерами шаговиков L297 и мощным сдвоенным мостом L298N.

Схема включения L298N+L297 до смешного проста — надо тупо соединить их вместе. Они настолько созданы друг для друга, что в даташите на L298N идет прямой отсыл к L297 , а в доке на L297 на L298N .

Осталось только подключить микроконтроллер.

  • На вход CW/CCW подаем направление вращения — 0 в одну сторону, 1 — в другую.
  • на вход CLOCK — импульсы. Один импульс — один шаг.
  • вход HALF/FULL задает режим работы — полный шаг/полушаг
  • RESET сбрасывает драйвер в дефолтное состояние ABCD=0101.
  • CONTROL определяет каким образом задается ШИМ, если он в нуле, то ШИМ образуется посредством выходов разрешения INh2 и INh3 , а если 1 то через выходы на драйвер ABCD. Это может пригодится, если вместо L298 у которой есть куда подключать входы разрешения INh2/INh3 будет либо самодельный мост на транзисторах, либо какая-либо другая микросхема.
  • На вход Vref надо подать напряжение с потенциометра, которое будет определять максимальную перегрузочную способность. Подашь 5 вольт — будер работать на пределе, а в случае перегрузки сгорит L298 , подашь меньше — при предельном токе просто заглохнет. Я вначале тупо загнал туда питание, но потом передумал и поставил подстроечный резистор — защита все же полезная вещь, плохо будет если драйвер L298 сгорит.
    Если же на защиту пофигу, то можешь заодно и резисторы, висящие на выходе sense выкинуть нафиг. Это токовые шунты, с них L297 узнает какой ток течет через драйвер L298 и решает сдохнет он и пора отрубать или еще протянет. Там нужны резисторы помощней, учитывая что ток через драйвер может достигать 4А, то при рекомендуемом сопротивлении в 0.5 Ом, будет падение напряжения порядка 2 вольт, а значит выделяемая моща будет около 4*2=8 Вт — для резистора огого! Я поставил двухваттные, но у меня и шаговик был мелкий, не способный схавать 4 ампера.

Правда на будущее, когда я буду делать роботу шаговый привод, я возьму не связку L297+L293 , а микруху L6208 которая может и чуть слабей по току, но зато два в одном! Сразу подключай двигатель и работай. Если же их покупать, то на L6208 получается даже чуть дешевле.

197 thoughts on “Управление шаговым двигателем”

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

По продаваемым не в курсе. В нашей деревне их в продаже нету, а что там в Московии я даже не знаю.

Оппа, теперь самое время разбираться, что за шаговики у меня имеются по результатам годового потрошения CD-DVD ROM’ов. 🙂

А в сидюках/дивдюках вроде бы стоят обычные коллекторники+синхронный на шпиндель. Хотя могут быть и шаговики, но я не встречал ни разу.

Шаговики во многих CD/DVD приводах стоят — для таскания каретки с лазером (у меня минимум 3 таких экземпляра валяются). Но конструкция двигателя — как в трехдюймовых дисководах, для практического применения неудачная.

ну когда я расотрошил сиди ром там был безколлекторник + еще какойто на шпиндель
для безколлекторника я думаю применение в моделизме
http://forum.rcdesign.ru/index.php?showtopic=12183&st=560
может пригодится кому

http://forum.rcdesign.ru/index.php?showtopic=12183&st=560
может чем пригодится там модельный регултор хода
может управлять сдромным безколлекторником

работал с шаговыми движками на своей фирме.
ещё с нашими совеццкими и руссийскими.

сколько раз коротыш верещал на источниках — не счесть ) единственное оправдание — я про них ещё тогда ничего не знал и доков не имел. работал методом тыка…

всё хорошо, но нету обратной связи.

зы! от постоянных замыканий избавлялись частыми переключениями обмоток, когда надо было застопорить двигло.

. в смысле от постоянных замыкани? Как ты умудрялся его коротнуть? Одновременным замыканием ключей верхнего и нижнего плеча? Так там Dead Time надо ставить!

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

Долгая подача напруги на обмотки это его нормальный рабочий режим. Главное чтобы напряжение было номинальным.

Полезно, спасибо. Мне в свое время довелось раскурочить 8″ дисковод. Два шаговика лежат дожидаются своего часа. Так, что информация может пригодиться.

У меня этих дисководов полтора десятка штук!

Есть интересная статья по использованию шаговых двигателей
Журнал Современная электроника Октябрь 2004 г. стр. 46-47
Автор: Олег Пушкарев, Омск, конструкция на базе PIC16F84 и
драйвера — ULN2003A. (WWW.SOEL.RU)
Журнал очень рульный, советую почитать, статьи высылают
по почте, по запросу или подписка (в том числе бесплатная).

Еще одна задача — управление двигателем
постоянного тока на 24 в (12В), реверс,
управление скоростью. Есть буржуйская схема,
но без регулятора, могу тиснуть, схема из
стриммера, реверс-технология схемы.

кто знаком с драйвером шины ULN2804a b ULN2004a , какая разници между ними.

Кажется, один для КМОП, другой — для ТТЛ. Схема отличается только номиналом сопротивления от входного штырька до базы транзистора. В одном случае — 10ком (для КМОП), в другом — кажется, 1,5 ком, точно не помню. Ну, и входные уровни соответственно разные. В остальном — одинаково. Я сам года три назад выбирал, какие брать. А использую все же чаще ULN2003 (привычка, чтоли)…

У меня есть движок от древнего лазерного принтера. Двигатель фирмы CANON PM60-h518Z21B можно ли запустить таку вещь? Торчат из него по 3 провода с каждой обмотки. P.S. С шаговиками я делов не имел пока, но очень интересно.

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

Шаговый двигатель

Синхронный бесщёточный электродвигатель с несколькими обмотками. Последовательная активация разных обмоток двигателя вызывает дискретные угловые перемещения (шаги) ротора.

Статьи |
Видео |
Пользователи

МК-управление микрошаговым драйвером LB1847 из старого принтера

Подключение микросхемы ШИМ-контроллера шагового двигателя от принтера при помощи микроконтроллера (ATmega32)

Автор:
Wolf79

  • Шаговый двигатель

  • CodeVisionAVR

  • Sprint-Layout

  • AVR

  • ШИМ

14
3.8 [2]

Простой тестер униполярных шаговых двигателей на ATtiny2313 и ULN2004

Устройство позволяет тестировать униполярные шаговые двигатели в шаговом и полушаговом режиме. Собрано на AVR-микроконтроллере ATtiny2313. Среда программирования: BASCOM-AVR

Автор:

  • Шаговый двигатель

  • BASCOM-AVR

  • Sprint-Layout

  • Proteus

  • AVR

  • Микроконтроллер

7
5 [3]


Похожие статьи:

  • Драйвер биполярных шаговых двигателей

2011 г.

Драйвер биполярных шаговых двигателей

Представлена принципиальная схема драйвера биполярных шаговых двигателей с двумя L298 (усиленный) 48В, 4А. Данный драйвер может использоваться для управления практически любых 2-фазных биполярных гибридных шаговиков с 4 выводами и может обеспечить ток работы до 4 ампер при максимальном напряжении 35В.

Автор:
bekor

  • Шаговый двигатель

  • Proteus

25
0 [0]


Похожие статьи:

  • Простой тестер униполярных шаговых двигателей на ATtiny2313 и ULN2004

Управление двумя шаговыми двигателями по UART

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

Автор:
dossalab

  • Шаговый двигатель

  • AVR

  • RS232

  • BASCOM-AVR

  • Перевод

2
5 [1]


Похожие статьи:

  • Управление маломощными двигателями

Тестер Step-Dir

Описан тестер для драйверов шаговых и серво двигателей и панелей станков ЧПУ.

Автор:
sergej_shaggy

  • Тестер

  • Sprint-Layout

  • Proteus

  • Шаговый двигатель

  • Микроконтроллер

  • AVR

11
0 [0]


Похожие статьи:

  • Тестер LCD

Управление биполярным шаговым двигателем без использования драйвера

Как подключить биполярный шаговый двигатель к arduino с помощью Н-мостов

Автор:
AndrejChoo

  • Шаговый двигатель

  • Arduino

  • Sprint-Layout

9
0 [0]

Электронный замок и ключи на ATtiny2313

Автор:
Uasia

  • AVR

  • Микроконтроллер

  • Proteus

1
0 [0]


Похожие статьи:

  • Электронный кодовый замок на ATmega8
  • Электронный датчик газа
  • Электронный замок с ключами iButton

Электронный дозатор флюса и паяльной пасты

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

Автор:
rafo

  • 555

  • Дозатор

  • Шаговый двигатель

11
4.3 [2]

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

Плата для управления тремя коллекторными либо шаговыми двигателями через USB, RS-485 либо встроенную клавиатуру и мониторинга окружающей температуры.

Автор:
dimon_samara

  • Altium Designer

  • Atmel Studio

  • Микроконтроллер

  • Шаговый двигатель

  • AVR

3
4.8 [3]


Похожие статьи:

  • Управление на 16 команд по радиоканалу
  • Управление маломощным электродвигателем. Простые схемы
  • Управление наружным освещением

Драйвер шагового двигателя L9110S

Обзор посылки и тест драйвера шагового двигателя L9110S из Китая с Aliexpress.

Автор:
andro

  • Шаговый двигатель

  • Обзор

16
0 [0]

12
Весь список тегов

Как управлять шаговым двигателем с помощью компьютера | Small Business

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

Описание

Шаговый двигатель — это электродвигатель, вращение которого определяется импульсами тока; целое количество импульсов вращает двигатель на 360 градусов, поэтому каждый импульс поворачивает двигатель на несколько градусов. Конкретное количество импульсов зависит от модели двигателя; некоторым, например, требуется 200 импульсов для полного вращения, другим требуется 400 или 800 импульсов. Именно это точное соотношение импульсов к вращению дает шаговому двигателю точное управление движением, которого нет ни в каком другом типе двигателя.

Интерфейс

Шаговый двигатель требует больше электроэнергии, чем та, которая обеспечивается стандартными интерфейсами, такими как универсальная последовательная шина, Ethernet или RS-232. По этой причине производители компьютерного оборудования продают специальные интерфейсные платы, соответствующие требованиям для шаговых двигателей. Интерфейс имеет разъемы для питания двигателя и импульсов. Программное обеспечение, запущенное на компьютере, запускает интерфейс, который, в свою очередь, отправляет импульсы тока на двигатель.

Скорость вращения

Когда вы пишете программное обеспечение для управления шаговым двигателем, вы должны сначала знать, сколько импульсов требуется двигателю для полного вращения.Кроме того, вам нужна скорость вращения, ожидаемая устройством, с которым вы планируете использовать двигатель. Например, двигатель вращает поворотный стол со скоростью 45 об / мин. Если двигателю требуется 200 импульсов на оборот, ваше программное обеспечение должно посылать двигателю 200 x 45 или 9000 импульсов в минуту.

Ускорение и замедление

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

Ссылки

Писатель Биография

Уроженец Чикаго Джон Папевски имеет ученую степень по физике и пишет с 1991 года.Он участвовал в выпуске «Foresight Update», информационного бюллетеня по нанотехнологиям от Foresight Institute. Он также внес свой вклад в книгу «Нанотехнологии: молекулярные размышления о глобальном изобилии».

Управление несколькими шаговыми двигателями через порт USB ПК

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

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

1. Система технического зрения ADAS собирает данные с четырех модулей камер, формируя полное представление об окружающей среде вокруг транспортного средства. Специальные процессоры изображений извлекают важную информацию, чтобы помочь избежать препятствий и улучшить вождение. (Источник: Texas Instruments)

Типичная установка включает камеру в каждом из бамперов для обзора спереди и сзади и камеру в каждом наружном зеркале для обзора сбоку. У каждой камеры есть объектив типа «рыбий глаз», и вместе они создают полное изображение того, что происходит вокруг автомобиля.Данные с четырех камер отправляются в процессор приложений, который устраняет искажения, вызванные объективом, изменяет видимую точку обзора и объединяет четыре изображения для создания виртуального вида автомобиля с высоты птичьего полета. Система кругового обзора (Рис.1) . Четыре камеры, установленные на автомобиле, вместе образуют «всевидящее око».

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

Система ADAS обычно состоит из четырех модулей камеры и центрального электронного блока управления (ЭБУ), который обрабатывает и объединяет данные камеры. Давайте подробнее рассмотрим эти модули.

Модуль камеры ADAS

2. Узел системы технического зрения ADAS должен вписываться в ограниченное пространство. Эта блок-схема объединяет формирователь изображения с разрешением 1,3 мегапикселя, сериализатор с пропускной способностью 1,4 Гбит / с и необходимые для них источники питания на печатной плате размером 20 × 20 мм. Один коаксиальный кабель с сопротивлением 50 Ом обеспечивает двунаправленную цифровую связь и питание постоянного тока. (Источник: Texas Instruments)

На рисунке 2 показана блок-схема компактного модуля камеры с разрешением 1,3 мегапикселя для автомобильных приложений.Основными компонентами являются формирователь изображения CMOS, сериализатор, фильтр и блок преобразования мощности. Устройство формирования изображения CMOS генерирует данные, представляющие изображение: его параллельный вывод управляет сериализатором, который преобразует видеоданные, включая сигналы горизонтальной и вертикальной синхронизации, в унифицированный высокоскоростной последовательный поток, который проходит по одному коаксиальному кабелю к десериализатору, расположенному в централизованный электронный блок управления (ЭБУ). Десериализатор обрабатывает потоки данных со всех четырех камер ADAS и отправляет их вниз по потоку для дальнейшей обработки.

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

Тепловизор: OV10640

Цветной формирователь изображения OV10640 с разрешением 40 мегапикселей от OmniVision имеет размер 1 / 2,56 дюйма. Однокристальная камера оптического формата с разрешением 1280 × 1080 для автомобильных приложений машинного зрения. Он может записывать детализированные изображения с полным разрешением, 1.3-мегапиксельные изображения и видео с частотой 60 кадров в секунду (fps). В датчике используется технология HDR с разделением пикселей, при которой информация о сцене дискретизируется одновременно (а не последовательно) для обеспечения превосходного качества изображения в 12-битном необработанном выводе DVP. OV10640 можно настроить с помощью соединения I 2 C с последовательной шиной управления камерой (SCCB) Omnivision.

Сериализатор: DS90UB913A

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

Сериализатор DS90UB913A включает интерфейс FPD-Link III FPD-Link III (соединение III с плоским дисплеем), интерфейс, используемый для передачи видео от точки к точке во многих автомобильных приложениях. Он включает в себя как высокоскоростной прямой канал, так и двунаправленный канал управления, а также использует дифференциальную сигнализацию для обеспечения дальности действия до 15 метров.

Фильтр POC

Коаксиальный кабель также подает питание постоянного тока на модуль камеры, схема, известная как Power Over Coax (POC).Видеоканал и канал управления занимают разные места в частотной области. В этой конструкции канал управления занимает пространство от примерно 1 МГц до примерно 5 МГц. Видеоканал занимает частотный спектр от примерно 70 МГц до примерно 700 МГц. Добавление мощности к кабелю должно осуществляться без нарушения работы любой из этих двух полос.

Чтобы объединить питание и данные в одном кабеле, в тракт прохождения сигнала вставляется фильтр POC, который разделяет сигнал на две ветви (рис.3) . Одна ветвь проходит и по обратному, и по прямому каналам, но блокирует постоянный ток; другая ветвь выполняет противоположную функцию, пропуская постоянный ток и блокируя высокочастотные компоненты.

3. FPD-Link III позволяет передавать как питание, так и данные по одному 50-омному коаксиальному кабелю (POC). Фильтр LC POC блокирует высокоскоростное содержимое сигнала без значительного ослабления при пропускании части постоянного тока (мощности). (Источник: Texas Instruments)

Простой конденсатор может отделить сигналы переменного тока от мощности постоянного тока.Например, конденсатор емкостью 100 нФ имеет очень низкий импеданс в диапазоне от 1 до 700 МГц. Это доступно и недорого. Поскольку паразитная индуктивность конденсатора 0603 емкостью 0,1 мкФ составляет около 1 нГн, она не влияет на интересующую полосу пропускания.

Проектирование другой ветви сложнее. Поскольку коммуникационная среда представляет собой линию передачи с управляемым импедансом 50 Ом, полное сопротивление цепи нижних частот должно быть как минимум в 20 раз больше этого значения (т. Е. 1000 Ом) в полосе частот от 1 до 700 МГц.

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

Энергопотребление компонентов модуля камеры также влияет на конструкцию. При заданном энергопотреблении увеличение рабочего напряжения позволяет разработчикам использовать индуктор с более низким током насыщения, который занимает меньше места. Чтобы поддерживать импеданс фильтра выше 1 кОм во всей полосе пропускания, фильтру POC требуется пара последовательно соединенных катушек индуктивности. Полная процедура проектирования описана в отчете TI Application Report SNLA224.

Обзор ЭБУ

Четыре модуля камеры подключены к концентратору ЭБУ, который объединяет потоки данных и обеспечивает питание системы. На рис. 4 показана блок-схема ЭБУ как часть всего эталонного проекта ADAS, который включает в себя интерфейс с дополнительным оценочным модулем (EVM) для нижестоящего процессора.

4. TIDA-01005 — это эталонный дизайн концентратора ADAS с четырьмя камерами. DS90UB964 принимает потоки данных FPD-Link III от четырех модулей камеры и объединяет их для последующего процессора ADAS, такого как TDA3x. (Источник: Texas Instruments)

Основные компоненты:

Фильтры POC: Фильтры POC на ЭБУ выполняют две функции: подавать чистый источник постоянного тока на импульсные регуляторы на модулях камеры; и для защиты каналов связи FPD-Link III от шума, создаваемого другими компонентами системы, особенно частот переключения от тех же самых регуляторов.Как видно на рис. 3, фильтр ECU аналогичен фильтру POC модуля камеры. Конструкция фильтра обсуждается в руководстве пользователя по эталонному дизайну ADAS.

Десериализатор: DS90UB964 — это десериализатор с четырьмя портами, который принимает данные FPD-Link III и объединяет их в двойные выходные порты последовательного интерфейса камеры (CSI) -2 интерфейса процессора мобильной связи (MIPI). DS90UB964 может использовать второй порт для обеспечения дополнительной полосы пропускания или в качестве репликатора портов. В режиме репликации портов алгоритм машинного зрения может обрабатывать один поток для задачи в реальном времени, такой как распознавание объектов, в то время как другой поток может быть отправлен на устройство регистрации данных для будущего анализа.

Хотя модули камер могут быть идентичными в системе технического зрения ADAS, десериализатор может объединять данные от нескольких датчиков разных типов, разрешений или скоростей (рис. 5) . Каждый порт CSI-2 может предоставлять совокупные данные со скоростью до 6,4 Гбит / с и возвращается в режим низкого энергопотребления, когда он не используется.

5. DS90UB964 может собирать данные с датчиков разных типов. В режиме репликации портов каждый порт CSI-2 служит разным целям, даже если они оба выводят один и тот же поток данных.(Источник: Texas Instruments) (Щелкните изображение, чтобы увеличить)

Процессор сигналов изображения: Два процессора сигналов изображения OV490 (ISP) обрабатывают потоки десериализованных данных от четырех датчиков изображения OV10640. Каждый интернет-провайдер может работать с двумя датчиками изображения. Для каждого OV10640 OV490 генерирует пару одновременных выходных данных: данные RAW для последующей обработки системой машинного зрения; или полностью обработанные данные YUV или RGB для приложений на основе дисплея. В устройстве используется 32-разрядный RISC-процессор для обеспечения высококачественного захвата изображений и потоковой передачи видео.

Управление питанием: Поскольку это автомобильная конструкция, номинальное входное напряжение составляет 12 В. Источник питания камеры настраивается в диапазоне от 5 до 14 В. Так как это напряжение как выше, так и ниже входного, используется преобразователь TPS55340. несимметричный преобразователь первичной индуктивности SEPIC. Конфигурация SEPIC может работать как понижающий, так и повышающий преобразователи. Частота переключения преобразователя составляет 2,5 МГц, что сводит к минимуму возможность помех в диапазоне AM.

В дополнение к TPS55340 несколько понижающих преобразователей генерируют необходимые напряжения питания ЭБУ.

Процессор приложений: Модуль EVM включает разъем для взаимодействия с отдельной платой процессора приложений. Например, TDAx system-on-chip (SoC) TI представляет собой масштабируемое семейство устройств, разработанных для удовлетворения требований ADAS и других систем технического зрения. Члены семейства TDAx включают устройства с процессорами цифровых сигналов (DSP) как с фиксированной, так и с плавающей запятой, рядом ядер ARM Cortex и сопроцессорами со встроенным механизмом технического зрения (EVE), которые оптимизированы для обработки изображений.

Существует также полный набор инструментов разработки для ARM, DSP и EVE, включая компиляторы C, оптимизатор сборки DSP и интерфейс отладки.

Заключение

Системы

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

Для системы технического зрения ADAS требуется сочетание компонентов, которые выполняют визуализацию, высокоскоростную последовательную связь и функции последующей обработки. Ассортимент продукции Texas Instruments и поддержка приложений помогают упростить проектирование этой сложной системы.

Контроллер шагового двигателя на базе ПК

Этот контроллер шагового двигателя на базе ПК, пожалуй, самый дешевый, маленький и простой. Пара H-мостов с программным обеспечением, написанным на «C ++», используется для управления биполярным шаговым двигателем с шагом шага 18 градусов на импульс.

Контроллер шагового двигателя на базе ПК представляет собой комбинацию схем управления и переключения. Драйвер — это фактическая схема, которая управляет шаговым двигателем, а схема переключения решает, как двигатель должен управляться.Таким образом, это в основном схема переключения, которая управляет двигателем. Транзисторы (с T1 по T8) действуют как переключатели. Переключение этих транзисторов управляется программным обеспечением через выводы данных с D0 по D7.

Вы можете управлять тремя параметрами шагового двигателя: скоростью, направлением и количеством шагов. Чтобы изменить скорость двигателя, вы должны изменять частоту повторения импульсов (PRF). Чтобы изменить направление двигателя, необходимо изменить последовательность импульсов, подаваемых на его катушки.Ограничивая количество подаваемых импульсов, вы можете ограничить двигатель, чтобы он выполнял желаемое количество шагов.

Рис.1: Схема контроллера шагового двигателя

на базе ПК Технические характеристики шагового двигателя

Шаговые двигатели различных номиналов / спецификаций доступны на рынке для различных применений. Здесь шаговый двигатель взят из дисковода гибких дисков диаметром 8,9 см (3,5 дюйма). Это биполярный шаговый двигатель, рассчитанный на 5 В постоянного тока с шагом шага 18o на импульс. Двигатель имеет две катушки внутри и четыре клеммы (с цветовой кодировкой, но не всегда) для внешних подключений.Шаговые двигатели с номинальным напряжением 5 В и током до 1 ампера, а также с другим размером шага (например, 1,8 º на импульс) также могут использоваться с этой схемой и управляющим программным обеспечением.

Описание схемы

Драйвер H-Bridge: H-Bridge — это стандартная, хорошо известная схема, широко используемая в качестве драйвера шагового двигателя. Это мостовое соединение четырех транзисторов (см. Рис. 1). Поскольку в биполярном шаговом двигателе две катушки, были использованы две Н-мостовые схемы, по одной на каждую катушку. Один H-мост образован транзисторами с T1 по T4, а другой мост образован транзисторами с T5 по T8.

Рис. 2: Детали контактов транзистора BD139 и регулятора IC 7805

Транзисторы с T1 по T8 относятся к типу BD139 и должны использоваться с радиаторами. Детали контактов BD139 и регулятора IC 7805 показаны на рис. 2. Базы всех восьми транзисторов подключены к контактам данных (с D0 по D7) 25-контактного штекерного разъема D-типа через ток в 1 кОм. ограничивающие резисторы с R1 по R8.

Базы транзисторов T1 и T4 подключены к контактам 2 (D0) и 3 (D1) параллельного порта через резисторы R1 и R2 соответственно, а базы транзисторов T2 и T3 подключены к контактам 4 параллельного порта (D2 ) и 5 ​​(D3) через резисторы R3 и R4 соответственно.Красный и оранжевый выводы первой катушки (COIL1) подключены к первой секции Н-образного моста, как показано на рис. 1.

Базы транзисторов T5 и T8 подключены к контактам 6 (D4) и 7 (D5) через резисторы R5 и R6 соответственно, а базы транзисторов T6 и T7 подключены к контактам 8 (D6) и 9 (D7). через резисторы R7 и R8 соответственно. Желтый и зеленый выводы второй катушки (COIL2) подключены ко второй секции Н-образного моста, как показано на рис. 1.

Блок питания

Блок питания показан на рис.3. Он состоит из трансформатора от 230 В до 9 В переменного тока, вторичного трансформатора 1 А (X1), фильтра, мостовых выпрямителей и регулятора 5 В постоянного тока 7805 (IC1). Регулируемое напряжение 5 В постоянного тока подключается к Н-мостовой схеме. Заземление цепи закорочено на контакты с 18 по 25 разъема параллельного порта D-типа. Когда переключатель S1 замкнут, светодиод LED1 светится, указывая на наличие питания в цепи.

Рис. 3: Электропитание схемы

Работа

Определенная последовательность импульсов подается на красные и оранжевые клеммы COIL1 и желтые и зеленые клеммы COIL2 для вращения двигателя либо по часовой стрелке, либо против часовой стрелки, как объяснено в следующем параграфе.

Регулятор направления

В таблицах I и II «0» указывает на низкий логический уровень, а «1» — на высокий логический уровень. Мы знаем, что ток течет снизу вверх. Изменение направления вращения — это не что иное, как изменение направления тока, протекающего через катушки.

Регулировка скорости

Для изменения скорости необходимо изменять частоту повторения импульсов (PRF). Частота повторения импульсов 20 Гц означает, что на шаговый двигатель будет подано 20 импульсов за одну секунду. Поскольку шаговое разрешение двигателя составляет 18o / импульс, двигатель будет вращаться 20 × 180 = 3600 (один полный оборот) за одну секунду.Таким образом, скорость двигателя составляет один оборот в секунду (RPS) или 60 оборотов в минуту. Теперь, если вы увеличите PRF с 20 Гц до 40 Гц, RPS также удвоится до 2 RPS (120 об / мин).

Система шагового двигателя, управляемая ПК с использованием микроконтроллера PIC

Шаговый двигатель , управляемый компьютером Система с использованием микроконтроллера pic — это система, в которой положение или угол шагового двигателя регулируется с помощью настольного компьютера или любого портативного компьютера. В настоящее время шаговый двигатель используется в нескольких приложениях, таких как антенны, телескопы, жесткие диски, игрушки и робототехника.Если мы увидим его приложения, то его схема драйвера также очень важна для его точного движения. Многие компании или люди работали над его схемой драйвера, некоторые предлагали схему драйвера, но стоимость их схемы драйвера настолько высока, что и не настолько надежна и эффективна.

Здесь мы предложили систему, которая называется системой шагового двигателя, управляемой компьютером. Который разработан с помощью микроконтроллеров pic, USB до модуля UART , ЖК-дисплея , настольного компьютера или портативного компьютера и шагового двигателя.Эта система шагового двигателя с компьютерным управлением более надежна, компактна, эффективна, менее затратна и точнее определяет скорость двигателя по сравнению с другими схемами драйвера шагового двигателя. Эта система питается от 220 В переменного тока и не требует дополнительного источника питания или адаптера питания и может использоваться в различных приложениях, которые определены выше. Блок-схема этой системы показана на рисунке 1 со всеми соответствующими компонентами.

Блок-схема системы шагового двигателя, управляемого ПК с использованием микроконтроллера PIC:

Вот блок-схема системы шагового двигателя, управляемой ПК с использованием микроконтроллера pic со всеми их основными компонентами,

Рисунок 1. Система шагового двигателя, управляемая компьютером, с использованием микроконтроллера PIC

Принцип работы системы шагового двигателя с ПК с использованием микроконтроллера PIC:

Эта управляемая компьютером система шагового двигателя с использованием микроконтроллера pic работает по принципу угла задержки, что означает, что его скорость обратно пропорциональна углу задержки, а угол задержки изменяется с помощью настольного компьютера или ноутбука.Настольный компьютер или портативный компьютер подключается к этой системе через модуль USB к UART, который используется для последовательной связи между портативным компьютером и этой системой, а инструменты GUI (графический интерфейс пользователя) используются для этой последовательной связи. Когда в ноутбуке изменяется угол задержки, то это изменение принимается микроконтроллером pic в виде логического сигнала через USB-порт на модуль UART.

Микроконтроллер представляет собой 40-контактную интегральную схему IC, которая программируется на языке c с помощью программного обеспечения mikro / c и принимает сигнал в двоичной логической форме.Здесь он получил логический сигнал от USB к модулю UART, а затем после обработки интеллектуального управления этим сигналом он выдает логический сигнал на интегральную схему L239D. L239D — это 16-контактная ИС, которая используется для управления двигателем постоянного тока. Он может легко управлять двумя двигателями постоянного тока одновременно в любом направлении, но здесь мы будем управлять только одним шаговым двигателем, в основном он работает по принципу мостовой схемы H. Поскольку шаговый двигатель постоянного тока напрямую подключен к микросхеме L239D, мы можем управлять этим двигателем в любом направлении.

Код шагового двигателя, управляемого ПК

Скорость этого двигателя также может быть увеличена или уменьшена путем изменения продолжительности включения или угла задержки с пользовательского компьютера или портативного компьютера. При увеличении угла задержки скорость двигателя уменьшается, а при уменьшении угла задержки скорость двигателя увеличивается. Весь этот процесс выполняется автоматически только путем изменения угла задержки от пользовательского компьютера или портативного компьютера. ЖК-дисплей также доступен в этой системе для отображения скорости двигателя и его направления.Этот ЖК-дисплей показывает скорость двигателя в об / мин (оборот в минуту). Эта система в основном состоит из электронных компонентов, на которые подается питание 5 В постоянного тока с помощью регулятора напряжения.

Контроллер шагового двигателя | LabJack

Обзор

Шаговые двигатели

Шаговые двигатели — это тип бесщеточного электродвигателя постоянного тока, который делит полный оборот на несколько дискретных «шагов» или положений, в которые может перемещаться двигатель. Это позволяет осуществлять позиционное управление двигателем, передавая ему команду на перемещение на определенное количество шагов.Чем больше шагов во вращении двигателя, тем больше определяется его разрешающая способность и то, насколько точно его движение можно контролировать. Природа шаговых двигателей позволяет использовать их в системах, где обратная связь от энкодера невозможна. Если количество шагов в одном обороте известно, двигатель можно переместить на любое желаемое расстояние, вычислив, сколько оборотов, а затем сколько шагов соответствует этому расстоянию. После выполнения такого количества шагов двигатель должен переместиться в точное правильное положение.

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

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

Униполярный Vs. Биполярные шаговые двигатели

Обычно существует два типа шаговых двигателей: униполярные и биполярные.

Самый простой тип шагового двигателя — это двухфазный униполярный шаговый двигатель. У них есть только две фазы A и B, которые чередуются вокруг металлической шестерни. Каждая фаза состоит из одной катушки и «центрального отвода» или «общего провода». Два конца катушки и центральный отвод образуют по три вывода для каждой фазы, всего шесть выводов для двух фаз.Такое расположение позволяет переключать направление магнитного полюса каждой катушки с помощью одного переключателя или двух транзисторов на катушку, чтобы определить, на каком конце катушки будет проходить ток. Это позволяет изменять направление магнитного полюса каждой катушки без необходимости изменения направления тока. Функцию переключения можно упростить с помощью нашей платы переключения мощности PS12DC или нашего драйвера реле LJTick, который будет полезен только для униполярных двигателей, поскольку для биполярных шаговых двигателей требуется более сложная схема.

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

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

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

Если требуется более высокая точность или крутящий момент, также существуют расширенные возможности управления, которые включают в себя процессоры цифровых сигналов (DSP). Существуют также системы шаговых двигателей с замкнутым контуром управления, которые используют угловые энкодеры в качестве механизмов обратной связи, которые обеспечивают более точное управление вращением или алгоритмы «удержания» вращающегося вала.Дополнительные объяснения того, как управляются шаговые двигатели, можно найти по ссылкам в разделе для дальнейшего чтения.

В этом примечании к приложению подчеркивается, что устройства LabJack могут управлять шаговыми двигателями с использованием однофазного режима полного шага (волновой привод) и полушагового режима управления посредством выполнения сценария Lua. Эти сценарии доступны в разделе примеров сценариев Lua на нашем веб-сайте или в Kipling и имеют названия unipolar_full_step.lua и unipolar_half_step.lua.

Оборудование

Для успешного подключения и эксплуатации шагового двигателя с помощью LabJack вам потребуются следующие материалы:

  • Компьютер с USB, Ethernet или Wi-Fi
  • LabJack T4 или T7
  • PS12DC — плата переключения питания
  • Униполярный шаговый двигатель
    • PS12DC может обрабатывать 750 мА на канал до 28 В, поэтому подойдет большинство униполярных шаговых двигателей NEMA17. Всегда сверяйте характеристики двигателя с таблицей данных PS12DC.
    • Биполярные двигатели не будут работать, так как для них требуется 2 комплекта H-мостов, а PS12DC — это только переключающее устройство на стороне высокого напряжения, поскольку в нем используются полевые МОП-транзисторы с P-каналом.
  • Источник питания
    • Здесь мы будем использовать 12 В постоянного тока, но все, что не превышает номинальных значений PS12, будет работать
  • Монтажные провода

Основные соединения

Сначала подключите PS12DC к LabJack, как описано в таблице данных PS12DC. Как обсуждалось выше, средний двухфазный униполярный шаговый двигатель должен иметь в общей сложности шесть выводов, с двумя концами катушки и центральным отводом для каждой фазы. Подключите два конца катушки одной из фаз к S0 и S1 на PS12DC и подключите центральный отвод катушки к GND1.Аналогичным образом подключите два конца катушки другой фазы к S2 и S3 и подключите центральный отвод второй фазы GND2. Затем подключите VS1 к VS2 и подключите GND1 к GND2. Наконец, подключите VS1 к положительной клемме источника питания 12 В и подключите GND1 к отрицательной клемме источника питания 12 В.
ПРИМЕЧАНИЕ: Можно использовать любую пару S каналов, которые находятся в одном блоке PS12DC, и выполнять одну и ту же операцию. Скрипты LUA по умолчанию unipolar_full_step.lua и unipolar_half_step.lua использует S0 + S1 и S4 + S5 в качестве каналов ввода-вывода, поэтому обязательно обновите сценарий LUA с помощью S-каналов вашего приложения перед его загрузкой и использованием.

Каждый из S каналов PS12DC соответствует цифровой линии ввода / вывода LabJack. Установив на соответствующей линии ввода-вывода данного S-канала высокий уровень, 12 В от источника питания будут направляться через этот S-канал. Таким образом, пользователь может программно выбрать, когда полностью подавать питание на каждый конец катушки, путем простого переключения линий ввода / вывода.S0: S7 соответствует EIO0: EIO7, а S8: S11 соответствует CIO0: CIO3.

Другой вариант схемы коммутации переключения мощности — это наш LJTick-RelayDriver. LJTRD можно подключить к LabJack с его терминалами INA / INB, подключенными к любым линиям цифрового ввода / вывода, как показано в таблице данных драйвера LJTick-Relay. Затем питание и заземление источника питания можно подключить к клеммам VR и GNDR LJTRD. Теперь, как и в PS12DC, на линиях цифрового ввода / вывода можно установить высокий уровень, чтобы замкнуть твердотельный переключатель в LJTRD и направить напряжение от источника питания на соответствующую клемму RA / RB.Если концы катушки фазы подключены к этим клеммам RA и RB, LJTRD позволит пользователю решить, когда полностью включить каждую фазу. Также можно использовать любое другое твердотельное реле или транзистор с аналогичными функциями и номиналами.

Определение потенциальных клиентов

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

Для управления шаговыми двигателями состояния линий цифрового ввода / вывода должны переключаться по определенной схеме из одного из указанных выше режимов привода на высоких скоростях. Хотя эти формы сигналов могут быть созданы путем установки линий ввода / вывода непосредственно с компьютера, более эффективно использовать возможности Lua Scripting LabJack и создать гибридное приложение, в котором некоторая логика находится на главном компьютере и имеет код управления шаговым двигателем. выполняется непосредственно на устройстве серии T.Следующая функциональная блок-схема дает обзор того, как LabJack можно использовать для управления шаговыми двигателями:

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

Подключение к LabJack

Первым шагом в большинстве приложений LabJack является открытие соединения с устройством, использующим библиотеку LJM.Это делается с помощью функции LJM_Open, которой можно передать тип устройства, идентификатор, представляющий серийный номер или IP-адрес устройства, и тип соединения для открытия определенного устройства. Функцию open также можно вызвать с помощью LJM_Open (LJM_dtANY, LJM_ctANY, LJM_idANY, …), и она откроет любое подключенное устройство. После открытия соединения с устройством функция open вернет дескриптор, который затем можно использовать для чтения или записи на устройство LabJack для тела приложения.После завершения тела приложения рекомендуется закрыть соединение с устройством с помощью функции LJM_Close. Подробнее о подключении к устройству LabJack см. LJM — Открытие и закрытие.

Настройка LabJack для управления шаговым двигателем

Чтобы настроить LabJack в качестве контроллера униполярного шагового двигателя, сначала загрузите и запустите один из сценариев LUA, unipolar_full_step.lua или unipolar_half_step.lua (исходный код можно найти в разделе примеров сценариев Lua на нашем веб-сайте) на LabJack и сохраните его. скрипт по умолчанию при включении.Для руководства по загрузке и сохранению сценария LUA в LabJack см. Учебное пособие по автономному сценарию Lua. Сценарии также могут быть загружены через внешнюю программу, как это можно увидеть в примере Python, найденном здесь, и в примерах LabVIEW, обсуждаемых ниже. Эти сценарии lua объявляют каналы FIO из приведенного выше руководства по подключению, а затем определяют массивы, которые определяют порядок, в котором концевые выводы катушки должны быть запитаны, чтобы успешно переместить двигатель на желаемое количество шагов в режиме полного или половинного шага.Затем сценарий LUA объявляет следующие регистры USER_RAM, которые могут быть изменены внешними программами для управления двигателем:

  • USER_RAM1_I32 (46080): целевая позиция (шаги)
  • USER_RAM2_I32 (46082): Текущая позиция (шаги)
  • USER_RAM0_U16 (46180): включить (1 = включить, 0 = отключить)
  • USER_RAM1_U16 (46181): eStop (1 = eStop, 0 = запустить)
  • USER_RAM2_U16 (46182): положение удержания (1 = заблокировать положение двигателя, 0 = разблокировать двигатель после текущего перемещения)
  • USER_RAM3_U16 (46183): Set Home (1 = устанавливает текущую позицию как позицию 0 шага)

После понимания основных сценариев можно разработать расширенные сценарии, реализующие более сложные приложения, такие как:

  • При использовании ротационного двигателя можно отслеживать положение по градусам.
  • Если шаговый двигатель управляет линейным суппортом, положение можно отследить по расстоянию.
  • Переместите двигатель на полную скорость в одном направлении.

Psuedocode управления шаговым двигателем

После того, как шаговый двигатель правильно подключен и один из сценариев LUA конфигурации был загружен в LabJack, приложение внешнего управления может читать и писать из регистров USER_RAM, чтобы отслеживать и управлять работой. Псевдокод для базового управления двигателем для перемещения на 200 шагов можно увидеть ниже:

ручка = ljm.openS («ЛЮБОЙ,» ЛЮБОЙ «,» ЛЮБОЙ «)
target_position = 200

ljm.eWriteAddress (handle, 46183,0,1) // Сигнал для установки дома
ljm.eWriteAddress (handle, 46182,0,0) // Не держите двигатель для стендовых испытаний, так как он выделяет много тепла

ljm.eWriteAddress (handle, 46080,2, target_position) // Записываем новую целевую позицию
ljm.eWriteAddress (handle, 46180,0,1) // Включить движение двигателя

// Дождаться, пока двигатель достигнет пункта назначения (включение автоматически выключится в пункте назначения)
wait = true
при ожидании:
wait = ljm.eReadAddress (дескриптор, 46180,0) == 1

Чтобы упростить начало работы с шаговыми двигателями, мы разработали приложение LabVIEW, которое загружает правильный сценарий .lua на устройство серии T после редактирования требуемых строк ввода / вывода, которые необходимо контролировать, и выбора между сценарием полного шага а также скрипт полушага. Приложение доступно в формате «.exe» (ссылка на него находится внизу страницы и здесь) и будет запускаться после загрузки и установки нашей библиотеки Windows LJM и предоставления ей возможности установить LabVIEW 7.1 рабочий движок. Если требуется пример кроссплатформенности, у нас также есть пример Python, который можно загрузить и использовать, который опубликован в разделе примеров сценариев Lua на нашем веб-сайте.

Подключение к устройству и настройка устройства:

Загрузить и запустить последовательность шагов

Примеры LabVIEW Уведомление:

Этот пример представляет собой .exe нашего «приложения-контроллера шагового двигателя», доступного для загрузки на нашей веб-странице LabVIEW для LJM и использующего шаблон проектирования производитель-потребитель.Более простой пример «StepperController.vi», а также более исчерпывающий пример «stepper-controller-with-reads.vi» можно найти в папке:

LabVIEW_LJM / Примеры / Подробнее / Примечания по приложениям / Stepper-motor-control

Большинство функций устройств серии T можно использовать с помощью «Write Read Loop with Config.vi». Предполагая, что один из сценариев конфигурации LUA уже загружен в LabJack, базовое управление двигателем может быть выполнено в этом примере с использованием регистров, указанных выше в разделе «Настройка LabJack для управления шаговым двигателем».Этот пример может находиться в папке:

LabVIEW_LJM / Примеры / Основы

Шаговые двигатели

Шаговый двигатель — это бесщеточный синхронный электродвигатель, который преобразует цифровые импульсы в механическое вращение вала.

Каждый оборот шагового двигателя делится на дискретное количество шагов, во многих случаях 200 шагов, и на каждый шаг двигателю должен передаваться отдельный импульс. Шаговый двигатель может делать только один шаг за раз, и каждый шаг одинакового размера.Поскольку каждый импульс заставляет двигатель вращаться на точный угол, обычно 1,8 °, положением двигателя можно управлять без какого-либо механизма обратной связи. По мере увеличения частоты цифровых импульсов шаговое движение превращается в непрерывное вращение, при этом скорость вращения прямо пропорциональна частоте импульсов. Шаговые двигатели используются каждый день как в промышленных, так и в коммерческих целях из-за их низкой стоимости, высокой надежности, высокого крутящего момента на низких скоростях и простой и прочной конструкции, которая работает практически в любых условиях.

Преимущества шагового двигателя

Преобразование нелинейного входного сигнала в линейный выходной сигнал. Это обычное дело для сигналов термопар.

  • Угол поворота двигателя пропорционален входному импульсу.
  • Двигатель имеет полный крутящий момент в состоянии покоя (если обмотки находятся под напряжением).
  • Точное позиционирование и повторяемость движения, поскольку хорошие шаговые двигатели имеют точность от 3 до 5% шага, и эта ошибка не суммируется от одного шага к другому.
  • Отличная реакция на пуск / остановку / движение задним ходом.
  • Очень надежен, так как в двигателе нет контактных щеток. Следовательно, срок службы шагового двигателя просто зависит от срока службы подшипника.
  • Шаговые двигатели, реагирующие на импульсы цифрового входа, обеспечивают управление без обратной связи, что упрощает управление двигателем и снижает его стоимость.
  • Можно добиться синхронного вращения на очень низкой скорости с нагрузкой, непосредственно связанной с валом.
  • Может быть реализован широкий диапазон скоростей вращения, поскольку скорость пропорциональна частоте входных импульсов.

Типы шаговых двигателей

Существует три основных типа шаговых двигателей: с переменным сопротивлением, с постоянным магнитом и гибридные. Это обсуждение будет сосредоточено на гибридном двигателе, поскольку эти шаговые двигатели сочетают в себе лучшие характеристики двигателей с переменным сопротивлением и двигателей с постоянными магнитами.Они сконструированы с полюсами статора с несколькими зубьями и ротором с постоянными магнитами. Стандартные гибридные двигатели имеют 200 зубцов ротора и вращаются с шагом 1,8 °. Поскольку они обладают высоким статическим и динамическим крутящим моментом и работают с очень высокой частотой шагов, гибридные шаговые двигатели используются в широком спектре коммерческих приложений, включая компьютерные дисководы, принтеры / плоттеры и проигрыватели компакт-дисков. Некоторые промышленные и научные применения шаговых двигателей включают робототехнику, станки, механизмы захвата и размещения, автоматизированные машины для резки и склеивания проволоки и даже точные устройства контроля жидкости.

Пошаговые режимы

«Шаговые режимы» шагового двигателя включают полный, половинный и микрошаговый. Тип выхода шагового режима любого шагового двигателя зависит от конструкции драйвера. Omegamation ™ предлагает приводы с шаговыми двигателями с переключаемыми полными и полушаговыми режимами, а также микрошаговые приводы с выбираемым переключателем или программно выбираемым разрешением.

ПОЛНЫЙ ШАГ

Стандартные гибридные шаговые двигатели имеют 200 зубцов ротора или 200 полных шагов на оборот вала двигателя.Разделение 200 шагов на 360 ° вращения равняется полному углу шага 1,8 °. Обычно режим полного шага достигается за счет подачи питания на обе обмотки при попеременном реверсировании тока. По сути, один цифровой импульс от драйвера эквивалентен одному шагу.

ПОЛУШАГ
Полушаг просто означает, что шаговый двигатель вращается со скоростью 400 шагов за оборот. В этом режиме запитывается одна обмотка, а затем поочередно запитываются две обмотки, в результате чего ротор вращается на половину расстояния, или 0.9 °. Хотя он обеспечивает примерно на 30% меньше крутящего момента, полушаговый режим обеспечивает более плавное движение, чем полушаговый режим.

МИКРОСТ
Микрошаговый двигатель — это относительно новая технология шагового двигателя, которая регулирует ток в обмотке двигателя до такой степени, что дополнительно подразделяет количество позиций между полюсами. Микрошаговые приводы Omegamation способны разделять полный шаг (1,8 °) на 256 микрошагов, что дает 51 200 шагов на оборот (0,007 ° / шаг).Микрошаг обычно используется в приложениях, требующих точного позиционирования и более плавного движения в широком диапазоне скоростей. Как и полушаговый режим, микрошаговый режим обеспечивает примерно на 30% меньше крутящего момента, чем полушаговый режим.

Линейное управление движением
Вращательное движение шагового двигателя может быть преобразовано в линейное движение с помощью системы привода ходового винта / червячной передачи (см. Рисунок B). Шаг или шаг ходового винта — это линейное расстояние, пройденное за один оборот винта.Если шаг равен одному дюйму на оборот и имеется 200 полных шагов на оборот, то разрешение системы ходового винта составляет 0,005 дюйма на шаг. Еще более высокое разрешение возможно при использовании шагового двигателя / системы привода в микрошаговом режиме.

Серия

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

Обзор технологии драйвера

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

Скорость и крутящий момент шагового двигателя основаны на протекании тока от привода к обмотке двигателя. Фактор, который препятствует потоку или ограничивает время, необходимое току для возбуждения обмотки, известен как индуктивность. Влияние индуктивности, большинство типов схем драйвера предназначены для подачи большего количества напряжения, чем номинальное напряжение двигателя.Чем выше выходное напряжение от драйвера, тем выше уровень крутящего момента в зависимости от скорости. Как правило, выходное напряжение драйвера (напряжение шины) должно быть в 5-20 раз выше номинального напряжения двигателя. Чтобы защитить двигатель от повреждения, привод шагового двигателя должен быть ограничен по току до номинального тока шагового двигателя.

Обзор индексатора

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

Связь с индексатором осуществляется через последовательный порт RS-232 и в некоторых случаях порт RS485. В любом случае индексатор способен принимать высокоуровневые команды от главного компьютера и генерировать необходимые импульсы шага и направления для драйвера.

Индексатор включает в себя вспомогательные входы / выходы для контроля входов от внешних источников, таких как переключатель Go, Jog, Home или Limit. Он также может запускать другие функции машины через выходные контакты ввода / вывода.

Автономная работа

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

Многоосевое управление

Многие приложения для управления движением требуют управления более чем одним шаговым двигателем. В таких случаях доступна многокоординатная система управления.К сетевому концентратору HUB 444, например, может быть подключено до четырех шаговых приводов, причем каждый привод подключен к отдельному шаговому двигателю. Сетевой концентратор обеспечивает скоординированное перемещение приложений, требующих высокой степени синхронизации, например круговой или линейной интерполяции.

Выбор шагового двигателя и привода

Выбор шагового двигателя зависит от требований к крутящему моменту и скорости.Используйте кривую крутящего момента двигателя (приведенную в технических характеристиках каждого привода, пример на рисунке C), чтобы выбрать двигатель, который будет выполнять эту работу. Каждый шаговый привод в линейке Omegamation показывает кривые крутящий момент-скорость для рекомендуемых двигателей. Если ваши требования к крутящему моменту и скорости могут быть удовлетворены с помощью нескольких шаговых двигателей, выберите привод, основанный на потребностях вашей системы движения — шаг / направление, автономный программируемый, аналоговые входы, микрошаговый — затем выберите один из рекомендуемых двигателей для этого привода. .Список рекомендуемых двигателей основан на обширных испытаниях, проведенных производителем для обеспечения оптимальной производительности шагового двигателя и комбинации привода.

Рисунок A: Гибридный двигатель 1,8 °
Рисунок B: Линейное управление перемещением
Таблица 1: Таблица преобразования момента инерции
Таблица 2: Таблица преобразования крутящего момента

Управление шаговым двигателем с порта компьютера — Automated Motion Systems Pty.Ltd.

Управление шаговым двигателем с порта компьютера — Automated Motion Systems Pty.Ltd. — Западная Австралия


УПРАВЛЕНИЕ ШАГОВЫМИ ДВИГАТЕЛЯМИ
С ПОРТА ПАРАЛЛЕЛЬНОГО КОМПЬЮТЕРА

Параллельный принтер
порт ПК можно использовать для управления шаговыми двигателями и другими цифровыми
такие устройства, как реле и соленоиды. Параллельный порт — это
Гнездовой разъем D25 на задней панели ПК. Выходные биты могут быть
включается и выключается простыми командами и временными задержками между
импульсы можно регулировать для управления скоростью.

Этот метод
управление очень экономичное, так как есть много старых 386, 486 и
Компьютеры Pentium 1 доступны на вторичном рынке.Там
однако есть некоторые ограничения этого метода контроля по сравнению с
к выделенному микропроцессорному контроллеру. Однако это
часто используется в таких приложениях, как позиционирование телескопа, спутник
отслеживание, медленная обработка и испытания, где высокая скорость
не важно.

Ограничение скорости
Поскольку импульсы шага и направления генерируются компьютером
внутренние часы и программное обеспечение, скорость двигателя может быть ограничена
тактовая частота и время выполнения программного обеспечения.При работе 486-SX
MS Quick Basic нам удалось создать максимальную скорость около 12 кГц.

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

Программное обеспечение
Написание программного обеспечения для генерации движений двигателя может занять много времени,
особенно там, где требуется линейное ускорение.

Ограничение ввода / вывода
Порт принтера компьютера предназначен для работы с принтерами, а не
шаговые двигатели. Имеется всего около 8 цифровых выходов данных и
Доступно 5 цифровых входов. Этого может быть недостаточно для многоосного
Приложения.

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

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

Обработка
время

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

Напряжение
уровни

Порт принтера компьютера использует уровни TTL 5 В, которые более восприимчивы
к электрическим помехам более 12 или 24 В.


СОЕДИНЕНИЯ

Порт принтера
имеет следующие штыревые соединения.Выходы — 5 В с
Максимальный ток потребления 2,6 мА. Возможно подключение высокого
интенсивность, слаботочный светодиод непосредственно между контактом заземления и одним
выходных контактов 2–9. Следите за тем, чтобы ток не превышал
2,6 мА или выходной порт может быть поврежден. Входы переключаются
низкий для низкого логического уровня. Они внутренне подтянуты до 5 В через
резистор. Некоторые входы инвертированы.

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


ВЫХОДЫ

ВХОДЫ

)

PIN
ОПИСАНИЕ ТИП ЗНАЧЕНИЕ
1 Строб Выход
2 Данные
0
Выход 1
3 Данные
1
Выход 2
4 Данные
2
Выход 4
5 Данные
3
Выход 8
6 Данные
4
Выход 16
7 Данные
5
Выход 32
8 Данные
6
Выход 64
9 Данные
7
Выход 128
10 ACK Вход 64
11 Занят ( Вход 128
12 Бумага
Пустой
Вход 32
13 Выбрать Вход 16
14 Авто
Подача
Выход
15 Ошибка Вход 8
16 Инициализировать
Бумага
Выход
17 Выбрать
Ввод
Выход
18 к
25
Земля 0V

Примечание: некоторые входные данные
перевернутая логика


ИНТЕРФЕЙС ДЛЯ ДИСКОВ RTA

Шаговый
Привод требует минимум 2 входа, которые составляют тактовых импульсов
и направление бит.
Есть
также может быть вход для включения или выключения , который используется
для выключения или включения тока двигателя.

Шаговый двигатель RTA
приводы доступны с двумя различными типами входов. GMD,
В приводах GMH, GAC и BCW используются входы управления стоком тока NPN. В
входной контакт подтягивается до 12 В с помощью резистора и должен быть заземлен
чтобы что-то произошло. Диски HGD, SDC, SAC и MIND используют
сигнал источника напряжения, оптоизолированный от мощности привода
поставлять.

Обратите внимание, что, поскольку
шаговые приводы обычно работают от высокого напряжения (от 24 до 240 В постоянного тока)
электрическая изоляция между шаговым приводом и компьютером важна
чтобы предотвратить повреждение компьютера в случае отказа диска.Тем не мение,
изоляция не так важна для дисков HGD, SAC, SDC и MIND
поскольку они уже имеют встроенную изоляцию для входных сигналов управления.
Также обратите внимание, что некоторые оптопары ограничены по частоте переключения.
(иногда всего 7 кГц), и это ограничит скорость двигателя и
разрешающая способность.

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


Интерфейс для GMD, GMH,
Приводы GAC и BCW02 (без изоляции)

Интерфейс для HGD, SAC,
Приводы SDC & MIND (неизолированные)

Интерфейс для GMD, GMH,
Приводы GAC и BCW02 (изолированные)

Интерфейс для SDC, SAC,
Приводы HGD & MIND (изолированные)

Интерфейс для
входные переключатели и сигнал неисправности.

Заявление об ограничении ответственности
ПК параллельно
порты могут быть повреждены из-за неправильных подключений или компонентов. Разумный
Эта информация была подготовлена ​​с осторожностью, однако Automated
Motion Systems не несет ответственности за любой причиненный ущерб.
компьютерам от использования этой информации.

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ДЛЯ STEPPER
ПРИВОДЫ

Адреса портов
Порт принтера содержит как входные, так и выходные сигналы.В
адрес байта выходного сигнала — 378h для LPT1 и 278h для LPT2.
Адрес байта состояния входа — 379h для LPT1 и 279h.
для LPT2.

Переключение выходов
Биты можно включать и выключать, отправляя выходной байт на
выходной адрес.
Когда бит включен, он остается включенным до следующей команды.
отправляется, чтобы выключить его.
Выходы работают по истинной логике, т.е. логический 0 = выход 0 В и
логика 1 = выход 5 В.

В БЕЙСИКЕ команда
для отправки байта на выходной адрес:

ВЫХ & h478,
N

Где N — номер, который вы хотите отправить на выходной адрес.
Должно быть целым числом от 0 до 255.

В АССАМБЛЕРЕ
команды:

MOV DX, 0378H
MOV AL, n
OUT DX, AL

Например, чтобы
включите оба бита 0 и 2, команда OUT & h478, 5.
Чтобы выключить все биты, команда OUT & h478, 0

Чтение входов
Биты можно прочитать, проверив байт состояния входа.
Входы — это истинная логика, т.е. логический 0 = 0 В и логический 1 = + 5 В.
Входы используются для выключателей нулевой точки, концевых выключателей и аварийных выключателей.

В БЕЙСИКЕ команда
это:

N = INP (& h479)

Где N —
возвращено целочисленное значение.

В АССАМБЛЕРЕ
команды:

MOV DX, 0379H
IN AL, DX

Шаговые приводы
При управлении шаговым приводом бит направления должен быть переключен
горит до того, как последовательность тактовых импульсов будет отправлена ​​на привод.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *