Универсальные робо-модули

Вот уже год как я занимаюсь робототехникой. Вначале были простенькие BEAM- букашки на микриках, затем line – трейсеры на l293, сумоисты – толкатели на логике. И вот наконец  решил построить что –то более серьёзное – робот пылесос!  Но, как известно серьёзному роботу нужен хороший мозг, из всех доступных вариантов самым подходящим является Микроконтроллер.
Сначала  я хотел приобрести ARDUINO в качестве мозга, а также сенсоры и датчики POLOLY. Но затем посчитав во сколько мне всё это с доставкой обойдётся – понял что собрать всё это самому будет намного дешевле.

Вот из чего сейчас состоит мой набор модулей:

Набор модулей

1. Контроллер (основной модуль).

На плате основного модуля находится стабилизатор напряжения на 5В, напряжение питания 7.4 – 12В, микроконтроллер ATmega16 (вместо него можно установить  ATmega32 или 644). Порты A, B, C и D контроллера выведены на штыревые разъёмы. В верхней части платы расположен разъём для подключения ISP программатора. Для подключения питания остальных модулей, на плате  имеется группа разъёмов (+ -). 

Контроллер

Принципиальная схема:

Принципиальная схема

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

Драйвер является посредником между электродвигателем и контроллером. Устройство выполнено на микросхеме l298N, что обеспечивает возможность использовать двигатели с током до 2 ампер, в случае использования драйвера на всю мощность, на него необходимо установить радиатор.

Драйвер

Я специально не стал применять в схеме различные инверторы, призванные сэкономить порты контроллера, дабы упростить схему.  Питание двигателей подаётся на винтовой клемник расположенный в нижней части платы. Запитать двигатели можно также от основного источника, для этого нужно установить перемычку JMP1.   

Схема драйвера двигателей

Таблица: Управление двигателями.

ENABLE1 (2)

INPUT1 (3)

INPUT2 (4)

MOTOR 1(2)

0

Что угодно

Что угодно

0

0

стоп

1

1

0

1

0

В одну сторону

1

0

1

0

1

В другую сторону

1

1

1

1

1

стоп

1

0

0

0

0

стоп

3. ISP программатор.

В данное время для прошивки контроллера я использую простой ISP программатор – 5 проводков с LTP порта. Надо сказать что при моём достаточно грубом обращении с ним за 2 месяца эксплуатирования я не сжёг ещё не одного пина LTP порта.

uprav48-5.jpg

Схема программатора

4. Модуль связи с компьютером RS232 – UART.

Ну а здесь всё по дата щиту, а я только сделал разводку платы.

Модуль связи

Схема модуля связи

5. Инфракрасный датчик препятствий.

Датчик препятствий состоит из 2-х частей:
— собственно сам датчик на базе ИК приёмника SM3374 (аналог TSOP1836) и ИК светодиода.
— генератор, подающий импульсы ножной частоты на ИК светодиод, но о нём ниже.

Я разделил этот модуль на две части специально, для того чтобы можно было использовать TSOP, отдельно, в качестве приёмника для связи с контроллером по RC5.

Схема:

ИК датчик препятствий

Подстрочный резистор R2 служит для управления яркостью ИК диода.

Из-за простоты, разводку платы я делать не стал и собрал этот модуль на макетке.

6. Модуль генератора импульсов для засветки инфракрасных TSOP –ов.

Генератор собран на микросхеме NE555:

Частота устанавливается с помощью построечного резистора R1.

К генератору можно подключить до трёх датчиков.

Для подключения ИК бампера к управляющей плате используется разъем PLS6. К нему подведены выходы датчиков и вход сброса 555-го таймера и шины питания. Активный уровень сигнала сброса – нулевой. Вход сброса отключает генерацию несущей частоты.

В архиве так же приложена схема и разводка платы сдвоенного генератора на микросхеме NE556, на случай если понадобится генерировать сигнал для засветки TSOP – ов разной частоты.

Печатные платы модулей сделаны ЛУТ методом.

Печатные платы

Вот простой пример использования этих модулей:

РУ танк

Платформа взята от танка на дистанционном управлении. После подачи напряжения на контроллер, робот едет вперёд, обнаружив перед собой препятствие, ИК датчиком, отъезжает назад, разворачивается на 100 градусов и едет дальше, пока не обнаружит другое препятствие.

Автор: Феофанов Иван

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
Контроллер (основной модуль)
IC3 МК AVR 8-бит ATmega16 1 ATmega32 или ATmega644
VR1 Линейный регулятор LM7805CT 1
VD1 Выпрямительный диод 1N4004 1
HL1 Светодиод 1
Cr1 Кварцевый резонатор 16 МГц 1
L1 Катушка индуктивности 10 мкГн 1
C1 Электролитический конденсатор 100 мкФ 1
C2, C3, C11, C12 Конденсатор 0.1 мкФ 4
C4 Электролитический конденсатор 47 мкФ 1
C9, C10 Конденсатор 22 пФ 2
R1 Резистор 360 Ом 1
R2 Резистор 10 кОм 1
Резистор 1 кОм 3
Драйвер коллекторных двигателей
Драйвер электродвигателей L298 1
VD1-VD8 Диод Шоттки 1N5818 8
VD9 Выпрямительный диод 1N4004 1
HL1 Светодиод 1
C1 Электролитический конденсатор 1000 мкФ 1
C2-C6 Конденсатор 0.1 мкФ 5
R1-R6 Резистор 100 кОм 6
R7 Резистор 360 Ом 1
ISP программатор
Резистор 150 Ом 4
Модуль связи с компьютером RS232 – UART
IC3 ИС RS-232 интерфейса MAX232E 1
C1-C4 Конденсатор 0.1 мкФ 4
Инфракрасный датчик препятствий
ИК приёмник SM3374 1 Аналог TSOP1836
HL1 ИК светодиод 1
C1 Электролитический конденсатор 10 мкФ 1
R1 Резистор 220 Ом 1
R2 Подстроечный резистор 1 кОм 1
Модуль генератора импульсов
IC1 Программируемый таймер и осциллятор NE555D 1
HL1 Светодиод 1
C1 Конденсатор 1 нФ 1
C2 Конденсатор 10 нФ 1
C3 Конденсатор 0.1 мкФ 1
R1 Подстроечный резистор 10 кОм 1
R2 Резистор 20 кОм 1
R3 Резистор 360 Ом 1
R4-R7 Резистор 4.7 кОм 4
Модуль генератора импульсов (2 вариант)
IC Программируемый таймер и осциллятор NE556 1
HL1 Светодиод 1
C1, C3 Конденсатор 1 нФ 2
C2, C4 Конденсатор 10 нФ 2
C5 Электролитический конденсатор 1 мкФ 1
R1, R3 Подстроечный резистор 10 кОм 2
R2, R4 Резистор 20 кОм 2
R5 Резистор 360 Ом 1
R6-R11 Резистор 4.7 кОм 6