Шлюз-контроллер GATE-A8D8M2 — различия между версиями
=DeaD= (обсуждение | вклад) (→Принципиальная схема и печатная плата) |
=DeaD= (обсуждение | вклад) (→Принципиальная схема и печатная плата) |
||
Строка 60: | Строка 60: | ||
{|border=0 | {|border=0 | ||
− | |[[Изображение:Gate-A8D8M2-v0.9-scheme. | + | |[[Изображение:Gate-A8D8M2-v0.9-scheme.gif|thumb|200px|Принципиальная схема (25Кб)]] |
|[[Изображение:Gate-A8D8M2-v0.9-board.jpg|thumb|200px|Разводка печатной платы (76Кб)]] | |[[Изображение:Gate-A8D8M2-v0.9-board.jpg|thumb|200px|Разводка печатной платы (76Кб)]] | ||
|[[Изображение:Gate-A8D8M2-v0.9-board-photo.jpg|thumb|200px|Готовая печатная плата (104Кб)]] | |[[Изображение:Gate-A8D8M2-v0.9-board-photo.jpg|thumb|200px|Готовая печатная плата (104Кб)]] |
Версия 18:06, 8 марта 2008
Содержание
Шлюз-контроллер GATE-A8D8M2 версии 0.9 - Применение
Назначение
Взаимодействие ПК с низкоуровневыми устройствами (двигателями постоянного тока, модельными сервоприводами, ИК-дальномерами, бамперами, сонарами, компасом и т.п.). Подключение шлюз-контроллера к ПК выполняется через стандартный последовательный COM-порт (скорость 9600Кбит).
Возможности
- 8 цифровых входов-выходов (доступны 3 режима работы - цифровой вход, цифровой выход, управление сервоприводом);
- 8 аналоговых входов / цифровых выходов (доступны 4 режима работы - аналоговый вход, цифровой вход, цифровой выход, управление сервоприводом);
- 2 выхода для управления двигателями с обратной связью по сдвоенным энкодерам;
- i2c шина (взаимодействие с любыми i2c устройствами с ПК);
Формат обмена данными
При обмене данными ПК и шлюз-контроллера ПК считается управляющим, а шлюз-контроллер управляемым устройством. Единственное сообщение отсылаемое по инициативе шлюз-контроллера - сообщение "Ready!\n" о готовности выполнять команды при включении, все остальные сообщения шлюз-контроллера являются ответами на команды ПК.
Команды, отдаваемые ПК все имеют одну и ту же форму "Q{AA}{RR}[{WW}][{WW}][{WW}]", в которой {AA} - адрес, {RR} - сколько байт хотим получить обратно, {WW} - отсылаемые нами байты. Подробнее использование этой универсальной команды расписано ниже:
Команда | Формат | Входные параметры |
---|---|---|
Отправить по i2c несколько байт и получить несколько байт в ответ | Qaarr{w} | aa - адрес 00h..7Fh устройства на шине i2c
rr - сколько байт получить от устройства ww - байты которые нужно передать устройству |
Установить режим работы порта ввода-вывода | QFF00ppmm | pp - номер порта 00h..17h увеличенный на 20h (например, для порта 0Fh это будет 2Fh)
mm - режим работы (0 - цифровой вход, 1 - цифровой выход, 2 - управление сервоприводом, 3 - аналоговый вход - последний режим будет работать только для портов в которых есть эта возможность) |
Установить значение на выходе порта | QFF00ppvv | pp - номер порта 00h..17h
vv - значение (для цифровых выходов - 0/1, для управления сервоприводом - 17h..85h |
Получить значение со входа порта | QFF01pp | pp - номер порта 00h..17h увеличенный на 80h (например, для порта 0Ch это будет 8Ch)
обратно получим 1 байт - 0/1, если цифровой вход, либо 00h..FFh - если аналоговый (00h соответствует 0V, FFh соответствует 5V), либо если тип порта - выход - получим то, что туда отправляли. |
Шлюз-контроллер GATE-A8D8M2 версии 0.9 - Внутреннее устройство
Недостатки модуля
К основным недостаткам можно отнести:
- Допущенная ошибка при разработке печатной платы - пропущена дорожка, поэтому при пайке требуется на обратной стороне платы припаивать перемычку длиной 5мм. Абсолютно некритичная ошибка, в следующей версии будет исправлено.
- На плате не предусмотрены подтягивающие резисторы для шины i2c. Так же некритичная ошибка, в следующей версии будет исправлено.
- Не сделана кнопка сброса. Для планируемых целей не критично, теоретически можно вывести кнопку припаяв пару проводков в соответствующие места платы, в следующей версии будет исправлено.
Принципиальная схема и печатная плата
Доступны к скачке схема и разведенная печатная плата в формате EAGLE (включая подготовленные файлы Gerber и Excellon для производства печатной платы): [Скачать].
;
Прошивка шлюз-контроллера
Файл прошивки реализующий указанные выше функции работы с портами ввода-вывода и шлюза i2c: (в разработке).
Используемые компоненты
- Контроллер ATMEGA16/32/644 в DIP-корпусе - 1 шт;
- Драйвер двигателей L293D в DIP-корпусе - 1 шт;
- Кварц 16МГц - 1 шт (для ATMEGA644 можно 20МГц);
- Диоды шоттки {марка} - 16 шт;
- ЧИП-Конденсаторы размера 1206 керамические 27пФ - 2 шт;
- Конденсаторы 25V, 100мкФ - 2 шт;
- ЧИП-Резисторы размера 1206 на 5.1кОм - 2 шт;
- Разъемы штырьковые сдвоенные - общей длиной 20 контактов;
- Разъемы штырьковые одинарные - общей длиной 34 контактов;
- Разъем IDC10 - 1шт;