Управление шаговым мотором по usb

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

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

Читайте также:  Лодочные моторы китайские хабаровске

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

Источник

Программы для работы с шаговыми двигателями и шаговыми приводами для станков ЧПУ, контроллеров, программируемых блоков управления ШД

Развитие современной бытовой компьютерной техники привело к тому, что компьютеры, по вычислительным возможностям не уступающие традиционным стойкам ЧПУ, стоят достаточно дешево. Компьютер уже имеет ОЗУ, жесткий диск, устройства ввода и даже монитор. Достаточно установить стандартный PCI адаптер ввода-вывода, программное обеспечение под стандартной операционной системой и стойка управления станком ЧПУ готова.

Несмотря на то, что наиболее распростаненная в мире операционнная система не является системой реального времени, высокая тактовая частота работы процессора позволяет пренебречь этим при работе с процессами длительностью более 0,1 мс. Программа для ЧПУ станка играет далеко не последнюю роль в окупаемости станка.

Для управления шаговыми актуаторами рекомендуем использовать драйвер SMD-1.6DIN или контроллер SMSD-1.5Modbus

CANopen builder

Программа CANopen builder предназначена для конфигурирования работы блока SMSD‑4.2CAN в сети CAN по протоколу CANopen, например, устновка скорости передачи данных, конфигурирование TPDO/RPDO пакетов, сохранение пользовательских настроек, сброс к заводским настройкам, установка токов в обмотках и многое другое. Программа позволяет получить доступ к объектному словарю блока через USB интерфейс, выполняет расчёты параметров управления шаговым двигателем для режима управления напряжением.

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

SMC_Program LAN

Программа SMC_Program LAN предназначена для управления шаговыми приводами с использованием программируемых блоков управления серии SMSD LAN. Программа предусматривает подключение нескольких блоков через интерфейс USB или Ethernet, имеет простую панель управления и дружественный обновленный интерфейс. Программа предусматривает управление шаговым приводом, настройку параметров контроллера, составление и загрузку программ управления (в том числе нескольких программ одновременно), а также предоставляет возможность сохранять результаты работы в файл на ПК и загружать готовые программы из файлов.

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

SMC_Program

Программа SMC_Program предназначена для работы с программируемыми блокамим управления шаговыми двигателями SMSD‑4.2, SMSD‑1.5 и SMSD‑9.0. Программа подает команды для управления шаговыми двигателями через Com порт персонального компьютера или USB (интерфейс RS‑232).

Программа может управлять одним, двумя или тремя шаговыми двигателями, подключенными к контроллеру SMC‑3 или одним шаговым двигателем, подключенным к блоку SMSD‑1.5, SMSD‑3.0 или SMSD‑9.0, а также осуществлять запись перечня команд (исполняемую программу) для последующего автономного использования контроллера или блока серии SMSD (без помощи ПК), либо для запуска такой исполняемой программы при помощи ПК.

Имеется возможность сохранять исполняемые программы на ПК в отдельные файлы и загружать готовые файлы в программу.

Программа имеет простой графический интерфейс, ориентированный на неподготовленного пользователя. SMC_Program не требует установки или каких-либо специальных требований к ПК. После копирования на жесткий диск ПК программа SMC_Program сразу готова к работе. При запуске программы все настойки передачи по COM‑порту подставляются автоматически, остается только выбрать номер порта, к которому подключен контроллер или блок. Для справки все параметры открытого порта указываются внизу окна программы.

В комплекте с программой SMC_Program — подробное руководство пользователя и примеры управляющих программ.

Программа имеет два режима управления:

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

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

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

Читайте также:  Подвесной мотор меркурий 250

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

SMC_Program RS485

Программа SMC_Program RS485 предназначена для управления шаговыми приводами с использованием программируемых блоков управления SMSD‑4.2RS485. Программа имеет простую панель управления, а также возможность составлять и записывать программы в память контроллера. Предусмотрена возможность сохранять результаты работы в файл на ПК и загружать из файла сохраненный перечень команд (программу).

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

Modbus Special Utility

Программа Modbus Special Utility предназначена для работы с программируемыми блоками управления для коллекторных и бесколлекторных двигателей постоянного тока BMSD‑20Modbus, BMSD‑40Modbus и BLSD‑20Modbus. Программа позволяет просмотреть и изменить регистры контроллера, сконфигурировать параметры работы электропривода, составить и запустить программу управления. Для облегчения отладки управляющей программы Modbus Special Utility отображает текущую исполняемую инструкцию, благодаря чему пользователь может видеть, в каком месте управляющей программы находится указатель контроллера. Интерфейс программы позволяет считывать программы из памяти блока, сохранять готовые программы в файл и считывать их из файла для дальнейшей загрузки в память контроллера.

SMC_Program Modbus

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

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

SMSD Controller Demonstrator

Дополнительный пакет программного обеспечения SMSD Controller Demonstrator позволяет конфигурировать контроллер; считывать/записывать IL-программу и регистры по протоколу Modbus; поддерживает функцию прямого управления перемещением (управление скоростью вращения, позиционирование, поиск начала отсчёта); содержит утилиту SMSD Updater для поиска обновлений программного обеспечения контроллера и их установки. Программа SMSD Controller Demonstrator с открытым исходным кодом.

Config SMD‑4.2DIN ver.2

Воспользоваться всем спектром возможностей блока SMD‑4.2DIN VER.2 поможет программа CONFIG SMD‑4.2DIN VER.2. Конфигуратор позволяет записывать настройки в драйвер и считывать их. Обладая простым интерфейсом, программа содержит все необходимое для полноценной работы с блоком. Настройки, изменяемые программой содержат 16 пунктов, включающих в себя параметры двигателя, такие как скорость, ток фазы, ток удержания, дробление основного шага двигателя. Пользователь выбирает логику работы блока и тип управления двигателем.

Программа дает возможность использовать драйвер с любыми 2х и 4х фазными гибридными шаговыми двигателями на максимальном дроблении. Опытному пользователю доступны настройки параметров двигателя.

Stepmotor LPT

Демонстрационная программа Stepmotor_LPT для управления шаговым двигателем через LPT порт. Программа работает под Windows 98//2000/XP. Задает количество шагов, направление движения, скорость, возвращает предполагаемое положение ротора.

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

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

Config SMD‑1.6mini/SMD‑2.8mini

Простая программа позволит легко настроить важнейшие параметры драйверов SMD-mini v.2. Дробление шага, ток фазы двигателя, ток удержания в процентном соотношении и настройка сигнала разрешения – настройки драйвера, изменяемые в программе.

Для подключения драйвера к компьютеру и последующей настройки можно использовать преобразователь интерфейса UART-USB. Команды передаются в ASCII коде.

BxSD_Program

Программа предназначена для управления подключенными к компьютеру блоками BMSD или BLSD. Обычно для подкючения используется преобразователь интерфейса USB/RS485 или RS232/RS485. Программа позволяет задавать блоку персональный адрес, настраивать разрешения датчика обратной связи, устанавливать скорость, направление перемещения, управлять плавным разгоном и торможением двигателя. Для изменения серийного номера и ряда других параметров, существует программа, скачать которую можно у нас на сайте.

Каталог прошивок

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

Подпишитесь на наши новости

Получайте первыми актуальную информацию от ООО «Электропривод»

Источник

Поделиться с друзьями