Предлагаю схему устройства для обнаружения препятствий, а также для обнаружения "биомассы", то есть людей животных или чего-то еще такого. Устройство построено с применением двух датчиков: инфракрасный датчик на PIR элементе (HC-SR501) и ультразвуковой датчик сонар (US-100), определяющий расстояние до объекта. Микроконтроллер ATmega8 обрабатывает сигналы от этих датчиков и выводит сигналы о том, что датчик что-то обнаружил на светодиоды, а также выводит на динамик голосовые сообщения о характере препятствия. Ультразвуковой датчик обнаруживает любые живые и не живые препятствия на пути робота, а инфракрасный датчик определяет присутствие живых организмов, обладающих теплом (эффект ИК датчика основан на изменении теплового поля в инфракрасном диапазоне). Данное устройство рассматривается как модуль поиска препятствий для применения в робототехнике. А раз робот будет способен отыскать предметы, то посчиталось необходимым оснастить его и соответствующим голосом - об этом чуть ниже.
Устройство получило ниже представленную схему:
Сразу про питание. 3,3 вольта по схеме необходимы только для карты памяти micro SD. Остальная схема питается от 5 вольт, усилитель можно питать от более высоковольтного источника. 5 вольтовый стабилизатор выполнен на линейном стабилизаторе L7805. Его ближайшей заменой может быть отечественный аналог КР142ЕН5А, однако можно использовать и другие микросхемы стабилизаторов напряжения, слегка подправив схему в соответствии с подключением. Если усилитель планируется запитывать от 5 вольт стабилизатора L7805, возможно в этом случае этот линейный стабилизатор нужно будет заменить на более мощный, так как будет возможен нагрев при длительном воспроизведении звука. Так как микроконтроллер подключен к питанию 5 вольт, а карта памяти к питанию 3,3 вольта, между ними необходимо согласование уровней. По схеме согласование уровней выполняют делители напряжения на резисторах R7, R9, R10, R11, R13 и R14. Благодаря им уровни сигналов SPI на выводах микроконтроллера и карты памяти остаются примерно 2,7 - 3,3 вольта. Если пренебречь согласованием уровней и подключить напрямую выводы микроконтроллера и карты памяти, то будет сказываться паразитное питание через сигнальные линии (если отключить питание от карты памяти, она все равно будет работать), и это в лучшем случае, в худшем случае мы рискуем сохранностью карты. Ранние карточки в основном не боялись такого, вероятно имея на борту защиту от такого подключения, новые же карты памяти в погоне за низкой ценой не всегда могут выдержать подобного подключения. Потребление карты памяти от источника питания 3,3 вольта составляет мизер, точно не замерял, поэтому для экономии такой источник 3,3 вольта на схеме собран на параметрическом стабилизаторе на стабилитроне VD1. Резистор R5 в этом случае ограничивает ток, протекающий через стабилитрон и гарантирует его исправность при работе. Конденсаторы в обвязке линейного стабилизатора и стабилитрона гарантируют правильную работу стабилизаторов, а также фильтрацию помех. Так как в микроконтроллере используется АЦП (аналого цифровой преобразователь), питание АЦП берется от 5 вольтового источника через дроссель L1 для максимально стабильной работы.
Одной из причин того, что вся схема питается от 5 вольт является то, что датчики HC-SR501 и US-100 требуют напряжения питания 5 вольт по паспортным данным. Хотя они работают и при питании 3,3 вольта, стабильной их работу не всегда можно назвать. Вращением переменного или подстроечного резистора R12 происходит регулировка первого порога срабатывания ультразвукового датчика (об этом чуть ниже), и по причине, что минимальный порог задан программно, резистор R8 убирает этот минимальный диапазон из возможности регулировать переменным резистором. Дело в том, что R12 представляет собой делитель напряжения, а R8 не позволит вращением ручки добиться нулевого значения на делителе - всегда будет минимальный потенциал на входе АЦП при крайнем положении ручки переменного резистора. Также это предотвращает "пустое" вращение ручки резистора. R6 ограничивает ток на выводе АЦП микроконтроллера. Сработка датчиков, помимо звукового сигнала, имеет индикацию на светодиодах, при подключении светодиодов к микроконтроллеру используются токоограничительные резисторы R1, R3, R4 для предотвращения порчи контроллера или светодиодов. Резистор R2, подключенный к выводу reset микроконтроллера предотвращает самопроизвольный перезапуск микроконтроллера в случаях наводок или других помех. Звуковой сигнал формируется ШИМом в контроллере, однако уровень громкости не всегда годится, поэтому используется усилитель на двух транзисторах Т1 и Т2. L2 и C13 образуют высокочастотный фильтр, чтобы убрать помехи, конденсатор C12 ограничивает ток, проходящий через динамик. Динамик можно использовать любой, подходящий по размеру и мощности. Транзисторы усилителя можно также использовать любые в зависимости от мощности динамика - на маленькие динамики можно брать транзисторы малой мощности, динамики от нескольких ватт нужно использовать с транзисторами средней мощности или больше. Все резисторы постоянного сопротивления мощность 0,25 Вт.
Со схемой разобрались, перейдем к устройству, собран обнаружитель на макетной плате, там же и обкатан, полет нормальный:
Логика работы устройства следующая: вначале ультразвуковой датчик - программно датчик имеет два порога срабатывания, индикация на светодиодах LED2 (первый порог) и LED3 (второй порог). Первый порог может регулироваться от 1 метра до 5,5 - 6 сантиметров. Регулировка осуществляется переменным или подстроечным резистором (R12 по схеме). Второй порог остается всегда фиксированным и составляет 5,5 сантиметров. Как только порог превысит второй лимит устройство даст разрешение на воспроизведение сигнала об обнаружении препятствия - то есть фактически мы наткнулись на препятствие. Инфракрасный датчик реагирует на изменение теплового фона, это значит он будет видеть в основном живые предметы, то есть людей или животных. Индикация об обнаружении на светодиоде LED1. Сам датчик HC-SR501 имеет на борту два подстроечных резистора - один для регулировки чувствительности, другой для регулировки времени в течении которого после обнаружения на выводе OUT будет логическая единица (грубо говоря логическая единица, на этом выводе TTL сигнал 3,3 вольта). Дальность приема инфракрасного датчика составляет 3 - 7 метров.
(правый переменный резистор регулирует время, левый - чувствительность)
Светодиоды в этом устройстве для первого приближения, так сказать, при применении в схеме робота эти выводы будут соединяться с основной схемой, давая сигналы об обстановке окружающей среды для ориентации.
Для мониторинга ИК датчика, вывод PD5 сконфигурирован в состояния хай Z. Если на выходе OUT есть положительный сигнал - это логическая единица и сигнал об обнаружении, если сигнал отсутствует, то на выходе OUT просто ноль, соответственно и вывод МК прижат к нулю. Вывод PD5 не будет находится в подвешенном состоянии (в протеусе ИК датчик заменен на кнопку и резистор для имитации логической единицы и нуля). Ультразвуковой датчик общается с микроконтроллером по UART и передает значения о расстоянии до препятствия. Переменная lim берет свое значение от состояния АЦП.
Для программирования микроконтроллера Atmega8 необходимо знать конфигурацию фьюз битов:
Теперь несколько слов об аудио файлах. Устройство воспроизводит файлы аудио с разрешением *.WAV. Параметры аудио - 8 bit, mono, 44 khz. Названия файлов должны быть такими: "ob.WAV" для ИК датчика и "pre.WAV" для ультразвукового датчика. Путь записи файлов на карту памяти - прямо в корень флешки. Каждый по желанию может создать свой собственный трек для этого устройства. Как? сейчас расскажу как делал это я. В первую очередь нам необходимо получить какой-то голос, была использована Алена (только это не девушка,а просто компьютерный голос). Для синтезирования речи из "рукописных" слов можно использовать программу "Балаболка", например. Если же Вы хотите сконвертировать уже имеющиеся у Вас аудио. но не того формата, то можно использовать программу "Weeny Free Audio Converter" - быстренькая и простенькая программка. Ну а самое интересное, мне все же захотелось иметь голос не просто девушки в устройстве, а голос девушки - робота, раз это все же часть бездушной железяки. Немного погуглив наткнулся на интересную программку - "АудиоМАСТЕР".
Эта программа позволяет изменять как вручную, так и по нескольким готовым профилям свое аудио. Можно напрямую из микрофона записать свой голос и подкорректировав его использовать в своих электронных проектах. Правда свой голос мне было стеснительно использовать. Поэтому используя все ту же Алену, записал несколько треков для обнаружителя, и, следую плану, сделал голос девушки - робота (оценить можно скачав архив с фалами аудио или просмотрев видео к статье).
Одной из проблем WAV иногда являются некоторые шумы или щелчки. Использую все эту же программу можно просматривать спектр аудио и редактировать его путем вырезания или вставок. Так вот после редактирования WAV у меня всегда в звуке присутствовали щелчки. Заглянув в "волну" спектра обнаружил следующее:
Быстренько вырезать этот скачок! Звук стал намного приятнее, без щелчков. Между прочим, картинка звукового спектра в программе масштабируется (настройки в правом нижнем углу окна программы) и легко искать вот такие выбросы и устранять их (выделить ненавистный выброс мышкой и правой кнопкой мышки вызвать диалоговое окно, где необходимо выбрать пункт "вырезать").
Теперь, думаю, Вы совсем без особых затруднений сможете сделать собственные аудио файлы как для этого проекта, так и для своих собственных, имея в рукаве три этих программки для создания и редактирования звуковых файлов.
К статье прилагается прошивка для микроконтроллера, архив с аудио файлами для проекта, проект протеус (корректное воспроизведение в протеусе может потребовать больших ресурсов компьютера), а также небольшое демонстрационное видео.
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
IC1 | МК AVR 8-бит | ATmega8 | 1 | Поиск в магазине Отрон | ||
VR1 | Линейный регулятор | L7805AB | 1 | Поиск в магазине Отрон | ||
T1 | Биполярный транзистор | BD139 | 1 | Или др. npn | Поиск в магазине Отрон | |
T2 | Биполярный транзистор | BD140 | 1 | Или др. pnp | Поиск в магазине Отрон | |
VD1 | Стабилитрон | BZX55C3V3 | 1 | Поиск в магазине Отрон | ||
U1 | ИК датчик | HC-SR501 | 1 | Поиск в магазине Отрон | ||
U2 | Ультразвуковой датчик | US-100 | 1 | Поиск в магазине Отрон | ||
L1 | Катушка индуктивности | 100 мкГн | 1 | Поиск в магазине Отрон | ||
L2 | Катушка индуктивности | 20 мкГн | 1 | Поиск в магазине Отрон | ||
R1, R3-R6, R15 | Резистор | 390 Ом | 6 | Поиск в магазине Отрон | ||
R2 | Резистор | 10 кОм | 1 | Поиск в магазине Отрон | ||
R7, R9, R10 | Резистор | 1.8 кОм | 3 | Поиск в магазине Отрон | ||
R8 | Резистор | 510 Ом | 1 | Поиск в магазине Отрон | ||
R11, R13, R14 | Резистор | 3.3 кОм | 3 | Поиск в магазине Отрон | ||
R12 | Переменный резистор | 10 кОм | 1 | Поиск в магазине Отрон | ||
C1, C6, C9 | Электролитический конденсатор | 220 мкФ | 3 | Поиск в магазине Отрон | ||
С2 | Электролитический конденсатор | 10 мкФ | 1 | Поиск в магазине Отрон | ||
C3-C5, C7, C8, C10, C11 | Конденсатор | 100 нФ | 7 | Поиск в магазине Отрон | ||
C12, C13 | Электролитический конденсатор | 47 мкФ | 1 | Поиск в магазине Отрон | ||
LED1-LED3 | Светодиод | 3 | Поиск в магазине Отрон | |||
Speaker | Динамик | 1 | Поиск в магазине Отрон | |||
Карта памяти | micro SD | 1 | Поиск в магазине Отрон | |||
Скачать список элементов (PDF)
Прикрепленные файлы:
- 28.hex (14 Кб)
- 28 prot.rar (21 Кб)
- звуки 44 кГц.rar (86 Кб)
Комментарии (11) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация
Только вот датчик (HC-sr501) не может распознавать живой "организм".
А в целом молодец! Почти полноценный робот!
[Автор]
Приобрету шасси, надеюсь, получится интересный робот
[Автор]
[Автор]
[Автор]
[Автор]