KnigaRead.com/
KnigaRead.com » Научные и научно-популярные книги » Техническая литература » Джон Ловин - Создаем робота-андроида своими руками

Джон Ловин - Создаем робота-андроида своими руками

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Джон Ловин, "Создаем робота-андроида своими руками" бесплатно, без регистрации.
Перейти на страницу:

«Обучение» и управление роботом-передвижкой

При использовании Walkie-talkie процесс «обучения» командным словам УРР, установленного на передвижной платформе, необходимо осуществлять также с использованием Walkie-talkie. Подключение интерфейса не нарушает работы бортового цифрового индикатора, поэтому он может быть использован для проверки точности распознавания записанных команд. Определите радиус действия станций Walkie-talkie. Не допускайте перемещений платформы за границы этого радиуса, в противном случае вы будете бежать за платформой, выкрикивая «стоп, стоп!» в микрофон станции. Управление роботом напоминает просто процесс общения и производит сильное впечатление.

Новые возможности платы УРР

Робот-платформа, управляемый голосом, изображен на рис. 7.7. Плата управления немного отличается от изображенной на рис. 7.4. Причиной этого является то, что мне удалось достать прототип последней версии набора УРР.

Рис. 7.7. Модель автомобиля с голосовым управлением


Последняя версия упрощает построение интерфейса для УРР. Для удобства соединения в плате имеются 9 монтажных пистонов (8 отверстий под 2 полубайта двоично-десятичного кода и отверстие под землю), которые соединены с выходом ИС 74LS373, расположенной на плате. Старший полубайт выхода 74LS373 управляет работой ИС 4028. Запускающий сигнал можно снимать с выводов красного светодиода.

В дополнение к изменениям схемы интерфейса на плате имеется вход 3. В для обновления памяти. Такое включение делает статическую ОП энергонезависимой. Иными словами, вы можете подавать или снимать питание с платы без потери информации о ключевых словах, записанной в ОП. В оригинальной версии выключение питания приводило к потере информации, записанной в ОП.

Проект 3: общая схема интерфейса УРР

Интерфейс УРР для робота-передвижки является специализированной схемой, предназначенной для конкретной цели. Следующая схема интерфейса (см. рис. 7.8) представляет собой более универсальное устройство, дающее возможность управлять целым набором устройств, таких как роботы, электрические схемы и приборы.

Рис. 7.8. Общая схема интерфейса для УРР


Для того чтобы сильно не усложнять схему и в то же время повысить надежность и точность распознавания системы УРР, мы снова ограничимся списком из 10 управляющих команд. Если вы хотите расширить этот список до полных 40 команд, то можете спроектировать интерфейс на основе идей, изложенных в этой главе. Использование 10 ключей управления позволяет нам использовать для каждого ключа 4 возможных варианта распознавания, как мы уже делали выше. Каждый из четырех вариантов распознавания, связанный с ключевым словом, позволяет запоминать различные варианты произнесения ключевого слова. Понятно, что четыре варианта произношения для каждого ключевого управляющего слова позволят повысить надежность и точность распознавания УРР.

Мы будем нумеровать места команд, как мы это делали выше, поэтому все места, соответствующие одному и тому же ключевому слову, будут иметь соответственно одинаковый младший десятичный разряд. Принцип записи будет ясен из примера.

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

• Вперед

• Назад

• Направо

• Налево

• Стоп

• Выключить

• Включить

• Блокировать

• Разблокировать

• Стоп (Команда «стоп» является жизненно важной, поэтому требует дублирования)

Первой командой для обучения распознавания УРР является «вперед». Мы будем использовать номера ячеек 10, 20, 30 и 40. При исключении старшего десятичного разряда в каждом номере мы получим одинаковое значение младшего десятичного разряда, равное 0. Точно так же команда «назад» записывается в ячейки 01, 11, 21 и 31. После исключения старшего десятичного разряда мы получим номер команды равный 1.

Интерфейс должен опознавать коды ошибок и не смешивать их с командами под номерами 5, 6 и 7. Для этого используется схема, состоящая из двух ИС И-НЕ типа 4011, включенных по схеме логических И и ИЛИ (как показано на рис. 7.8), которая обнаруживает коды ошибок 55, 66 и 77.

Соединение с платой УРР

Плата УРР имеет 9 отверстий под пайку, соединяющих ИС 74LS373 и 7448 для подключения схемы интерфейса (см. рис. 7.8). Восемь шин представляют 2 четырехбитных двоично-десятичных кода, девятая шина – земляная. Имеется контактная площадка красного светодиода. К этой площадке припаивается проводник, который является запускающим входом платы интерфейса.

Принцип работы устройства

Прежде всего интерфейс должен реагировать на любое слово, воспринятое УРР. Когда УРР «слышит» слово, оно пытается его распознать, что вызывает немедленное мигание светодиода.

Ток через светодиод используется для запуска интерфейса (реакция на слово). Для формирования импульса запуска используется компаратор, подключенный к катоду светодиода. Опорное напряжение составляет 3,64 В и формируется резистивным делителем 5,6 кОм и 15 кОм.

Выход компаратора имеет нормально высокий уровень. При поступлении импульса амплитудой 4,5 В с катода светодиода, на выходе компаратора формируется отрицательный импульс запуска. В качестве компаратора использован ОУ типа 741.

Процесс распознавания речи занимает до 300 мс. Во время этой задержки состояние двоично-десятичных выходов сохраняется неизменным. Если интерфейс работает слишком быстро, то он завершит обновление информации на выходе до появления входной информации, содержащейся в двоично-десятичных кодах.

Для предотвращения этого явления мы обеспечиваем задержку отрицательного импульса запуска, используя две ИС таймеров типа 555 (или одну ИС типа 556), включенных по схеме одновибратора. Отрицательный импульс с выхода компаратора запускает первый одновибратор, который выдает импульс длиной 470 мс, подаваемый на вход второго одновибратора. Второй одновибратор генерирует импульс длиной 220 мс.

Импульс длиной 470 мс предоставляет более чем достаточно времени для обновления выходов двоично-десятичного кода. Задний отрицательный фронт этого импульса запускает второй одновибратор, который выдает положительный импульс продолжительностью 220 мс. В это время происходит обновление выходов интерфейса при условии, что детектор кодов ошибок имеет высокий логический уровень на выходе.

Выход второго одновибратора (импульс 220 мс) соединен с одним из входов логического элемента И. Другой вход соединен с двумя другими логическими элементами (ИЛИ-НЕ и ИЛИ), которые образуют детектор кодов ошибок. Детектор кода ошибок соединен со старшим полубайтом двоично-десятичного кода. При наличии кода, соответствующего цифрам 5, 6 или 7 на входе детектора, он выдает низкий логический уровень на выходе. Для остальных цифр детектор имеет высокий выходной уровень. В этом случае позитивный импульс с выхода второго одновибратора запускает интерфейс для принятия младшего полубайта двоично-десятичного кода.

Высокий логический уровень на выходе детектора кода ошибок в комбинации с положительным импульсом с выхода второго одновибратора вызывает появление высокого уровня на выходе логического элемента И, что разблокирует ИС 74LS373. Когда ИС 74LS373 разблокирована, то код, содержащийся в младшем полубайте двоично-десятичного кода, поступает с ИС и записывается в ней. Четыре выхода ИС 74LS373 соединены с входами двоично-десятичного дешифратора 4028.

С другой стороны, если на выходе детектора кода ошибок присутствует сигнал низкого уровня, что происходит при наличии цифр 5, 6 или 7 в старшем разряде, то соответствующий выход элемента И имеет низкий уровень. В этом случае, при наличии положительного импульса от второго одновибратора на втором выводе логического элемента И, его выход по-прежнему имеет логически низкий уровень, тем самым ИС 74S373 блокируется, и информация младшего разряда не поступает на дешифратор 4028.

Таким путем, детектор кода ошибок отделяет числа 55, 66 и 77 от команд под номерами 5, 6 и 7.

При прохождении двоично-десятичного кода через ИС 74LS373, он поступает на вход дешифратора 4028. Дешифратор считывает данный код и выдает сигнал высокого уровня на соответствующей шине выхода (с номерами от 0 до 9).

Усовершенствование выхода интерфейса

Выходы высокого логического уровня ИС 4028 можно использовать для управления нагрузками переменного и постоянного тока. Однако лучшим вариантом является подключение выходов 4028 к триггерам. Дело в том, что в конкретный момент на выходе ИС 4028 присутствует единственный сигнал высокого уровня. По этой причине если в какой-то момент один из выходов включается, то сигнал на выходе, задействованном до того, пропадает, что представляет определенное неудобство. Наличие триггера позволяет решить эту проблему. При первом включении на выходе триггера появится сигнал высокого уровня, который сохранится до подачи на него следующего импульса. Такая схема позволит осуществлять двойное управление (включение и выключение) с помощью одной команды.

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*