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

Управление шаговым двигателем через USB
Рисунок 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 и соответствующие файлы.

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

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

Исходные коды

sixca.com

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

На английском языке: Control stepping motor via USB interface

Изготовление 1-4 слойных печатных плат за $2

10BASE-T1L Ethernet по витой паре: реализация на основе микросхем Analog Devices
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя