Это пример, демонстрирующий управление какими-либо устройствами через 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 – задача непростая. Как минимум, вы должны хорошо представлять себе работу операционной системы.
В архиве исходный код программы, прошивка для микроконтроллера, проект MpLab, программа и исходник на Delphi
uprdvigspusb.rar [453,15 Kb] (cкачиваний: 1160)