Usb драйвер для шагового двигателя схема

Управление шаговым двигателем через USB

Это пример, демонстрирующий управление какими-либо устройствами через USB. Программа для PC написана на Delphi.

Особенности схемы

  • Микроконтроллер PIC18F4550 с полноскоростным интерфейсом USB, работающим на частоте 48 МГц
  • Совместимость с USB 2.0
  • USB драйвер на кристалле
  • Управление одним шаговым двигателем
  • ПО микроконтроллера разработано под MPLAB C18
  • Хост ПО для ПК написано на Delphi 6

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

Иллюстрирующая пример принципиальная схема изображена на Рис. 1. Основная часть схемы – микроконтроллер PIC18F4550, ведущий обмен с ПК и управляющий шаговым двигателем. Питание +5 В для схемы берется с линии Vbus интерфейса USB. Исключение составляет шаговый двигатель, для питания которого нужен отдельный источник напряжения +Vmotor. Шина Vbus не может отдать в нагрузку ток, превышающий 250 мА. В связи с этим, если вы добавите в схему дополнительные элементы, и суммарный ток потребления превысит 250 мА, подключите к шине +5 В внешний источник, а Vbus не забудьте отсоединить.

Не соединяйте +Vmotor и Vbus.

В показанном примере шаговый двигатель управляется однофазным методом (A-C-B-D). При необходимости использовать другую схему управления, сделайте соответствующие изменения самостоятельно.

Рисунок 1. Пример схемы
Надписи на схеме
Stepping Motor Шаговый двигатель
USB connector Разъем USB
Common[d] Общий

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

ПО микроконтроллера разработано под MPLAB C18 с использованием USB драйвера фирмы Microchip. Если захотите добавить новые команды, или что-то изменить, посмотрите файлы user.c и use.h в папке user .

Программы для ПК

Программа для описываемого примера программа была написана на C++ программистами Microchip, и переписана автором на Delphi 6. По сравнению с оригиналом, изменены три команды:

  • turn left (вращение влево),
  • turn right (вращение вправо),
  • Stop motor (остановить мотор).

Чтобы разобраться в деталях, смотрите PICDEM™ FS USB User’s Guide и соответствующие файлы.

Интерфейс ПК с устройством реализован с использованием драйвера Microchip General Purpose USB Windows driver, написанного на C/C++. Если вы захотите написать собственный драйвер, взгляните на страничку www.jungo.com. Вы найдете на ней много интересной информации о написании драйверов USB. Но учтите, что написать драйвер USB – задача непростая. Как минимум, вы должны хорошо представлять себе работу операционной системы.

Перевод: AlexAAN по заказу РадиоЛоцман

Источник

Простой драйвер шагового двигателя

Модуль простейшего драйвера шагового двигателя позволяет работать с двигателями с 5, 6 или 8 выводами. Встроенный потенциометр позволяет плавно регулировать скорость вращения в широком диапазоне. Используя внешние контакты, например, кнопки, вы можете управлять направлением вращения (слева направо), а также останавливать двигатель (запуск / останов).

схема управляет 4-фазным шаговым двигателем

позволяет плавно регулировать частоту вращения двигателя

позволяет изменять направление вращения

нагрузочная способность до 1А

источник питания 12В постоянного тока

размеры печатной платы: 69×29 мм

Электрическая схема контроллера шагового двигателя показана на рисунке.

Устройство тактируется при помощи генератора прямоугольных импульсов, собранного на элементе — IC2B. Частота работы этого генератора и, следовательно, частота вращения двигателя определяются величиной сопротивления R2 + PR1 и емкостью конденсатора С1.

Читайте также:  Не работает двигатель на омыватель стекол ваз 2108

Частоту можно регулировать в широком диапазоне с помощью регулировочного потенциометра PR1. Переключатель S1 используется для изменения направления вращения и, таким образом, изменяется направление вращения двигателя. Двигатель можно остановить с помощью переключателя S2. Обмотки четырехфазного шагового двигателя питаются от четырех транзисторов MOSFET T1. T4.

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

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

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

Источник

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

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

Читайте также:  Toyota carina 1988 какие двигатели

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 линии ставится сглаживающий пленочный конденсатор.

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

Источник

Adblock
detector