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