USB Драйвер коллекторных двигателей на L298

В рамках проекта «говорящая рыба» на свет родился USB контроллер коллекторных двигателей на известной и распространенной микросхеме драйвере L298 с максимальным током одного канала 2А.

USB драйве моторов на L298N

USB драйве моторов на L298N

Об этом забавном проекте, в котором применён этот контроллер, напишу позже, а сейчас речь пойдёт о самом драйвере.



Характеристики:

Напряжение питания
Напряжение моторов
Максимальный ток мотора
Частота ШИМ 133,3Гц
Шагов ШИМ 256

Драйвер построен на базе микроконтроллера PIC16F688, преобразователя USB-UART cp2102 и микросхеме готового драйвера двигателей L298.

Схема USB драйве моторов на L298N

Схема

Всё питается от 5В, следовательно, и на моторы идёт 5В. Моторы с рабочим током до 2А. Гальваническая развязка отсутствует. Плата разрабатывалась под конкретную задачу, об универсальности не задумывался.

Печатка USB драйве моторов на L298N

Печатка

Детали. Повторюсь: драйвер построен на PIC16F688 в DIP14 корпусе, cp2102 в QFN-28 и L298 в корпусе Multiwatt15. Обвязка преобразователя интерфейса состоит из конденсаторов C1 0,1мкФ 0805 и C2 чип тантала типоразмера A на 4,7мкФ; светодиода LED1 в корпусе 0603, который сигнализирует он подключение к USB шине, и резистор R1 0805 на 470Ом и три перемычки из резисторов по 0Ом типоразмера 1206. У контроллера обвязки побольше: кварц на 20МГц HC-49S с двумя конденсаторами C4 и C5 по 22пФ в корпусах 0805, резистор R4 4,7кОм 0805 и статус светодиод LED2 с резистором на 470Ом в корпусе типоразмера 0805. Конденсатор C6 0,1мкФ 0805, С3 47-100мкФ 16В. У драйвера двигателей на выходах стоят шоттки диоды VD1-VD8 SK24A в корпусе SMA, которые убирают выбросы моторов. Конденсаторы C7-C11 0805 по 0,1мкФ. C12 электролит 220-470мкФ 16В. X1 – гнездо miniUSB, напряжение питания моторов подаётся через штыри PLS3, со стандартной распиновкой для сервоприводов, моторы к плате подключаются через PLS3 с удалённым среднем контактом, так-же на плате предусмотрено два разъёма для подключения сервоприводов (в нижнем левом углу), но они не задействованы.

Управление

За основу прошивки взял робота М2Д, следовательно, управление у USB контроллера такое же, за исключением опроса датчика, которого нет:

Данные передаются пакетами, длиной по 3 байта:

1 стартовый и одновременно команда
2 передаваемый параметр/значение
3 конечный байт, имеет 13 код или в ASCII – это Enter

Реализованные команды и их значения:

Команда Параметр Описание
A Байт, скорость вращения 0-255 Мотор 2 вперед
a Мотор 2 назад
D Мотор 1 вперед
d Мотор 1 назад
W Оба мотора вперед
w Оба мотора назад
S Байт, не используется Стоп моторы


Т.к. длина посылки фиксированная, в командах без параметров передаётся любое значение вместо параметра.

Скачать печатку и прошивку

Комментарии RSS

Оставьте отзыв