roboforum.ru

Технический форум по робототехнике.
Текущее время: 02 дек 2024, 21:13

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 65 ]  На страницу Пред.  1, 2, 3, 4, 5
Автор Сообщение
 Заголовок сообщения: Re: ИК-локатор
СообщениеДобавлено: 04 окт 2010, 13:15 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июл 2009, 08:59
Сообщения: 2254
Откуда: Екатеринбург
прог. языки: асемблер AVR
Может быть вы и правы. Но одновибратор начинает свою работу по фронту/спаду, то есть на любой провал сигнала выдаст импульс. У меня же не так: я свечу 1 мс, и лишь затем проверяю, есть ли что на тсопе. Если повезло и я отловил ноль - считаю что отражение было (хотя это мог быть кусок фарша). Если не повезло и именно в момент опроса высокий уровень - считаю что отражения нет. То есть среди фарша можно принять как одно, так и другое решение. Через 8 мс паузы я снова посылаю модулированный импульс. И снова фифти-фифти. То то бот сойдет с ума - то есть цель, то нету. Надо же убедиться, есть она или показалось. Если есть подряд 5 раз - значит есть, остальное - от лукавого. Вот как то так у меня. Единственная претензия к одновибратору - он реагирует на дельта-импульсы. Ведь их в основном то и используют чтобы сгенерить импульс по фронту другого импульса (диф цепочка, нижний выброс задавить диодом, одновибратор - получите импульс синфазный с запускающим).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ИК-локатор
СообщениеДобавлено: 04 окт 2010, 13:30 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Radist, по-моему, вы думаете не в том направлении.
Если вы получаете один бит, то всегда будут ситуации, когда этот бит неустойчивый.
Я бы вам посоветовал модулировать сигнал подсветки (скважностью или, например, током через светодиод) и измерять длительности импульсов на выходе tsop-a.

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

То есть даже если показания будут колебаться, то они будут колебаться не так: "то ли есть, то ли нету", а так: "то ли семь, то ли восемь". Сделайте свой датчик информативнее!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ИК-локатор
СообщениеДобавлено: 04 окт 2010, 14:28 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июл 2009, 08:59
Сообщения: 2254
Откуда: Екатеринбург
прог. языки: асемблер AVR
Я думал об этом, да и не только я, многие на форуме двигались в этом направлении. Мечта (несбывшаяся) определять расстояние ик-локатором. Это все условности, которые зависят от поверхности отражения. Проще всего изменять частоту: на этой частоте я вижу, а вот на этой уже нет, значит препятствие от меня..... хрен знает на каком расстоянии :D , потому что я не знаю его отражающей способности. Да и все эти определения дальности - это же все время. Если посмотреть соревнования сумоботов - они так быстро гоняют. Медленных и неповоротливых только так вышвыривают. Хотя если датчик использовать не для сумо, а в качестве ик-бампера - можно поиграться. Жалко только что дальше критериев "далеко"/"средне"/"близко" никуда не уйти.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ИК-локатор
СообщениеДобавлено: 04 окт 2010, 14:50 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Да, можно и частоту двигать (хотя лично мне не очень это нравится)
Понятно, что в чистом виде расстояние на таком железе не получить.
Зато можно получить не битовый сигнал а "аналоговый" (если так можно выразится).
Поднять достоверность информации таким образом.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ИК-локатор
СообщениеДобавлено: 06 окт 2010, 11:35 
Не в сети
Аватара пользователя

Зарегистрирован: 07 янв 2005, 23:39
Сообщения: 228
Откуда: г.Норильск, Россия
прог. языки: Pascal, C, C++
ФИО: Раф Попов
Поделюсь и я своими наработками.
Перепробовав множество конструкций ик-локаторов и алгоритмов обработки, наилучшие результаты я получил, использовав следующий алгоритм:
50 раз в секунду (это продиктовано тем, что в этом же прерывании я управляю сервами)
формируются пачки по 25-50 импульсов с частотой несущей TSOP, отдельно для правого локатора, отдельно для левого. Между пачками для правого и левого локаторов пауза в 450 мкс, чтобы "соседний" TSOP "успокоился".
После каждого импульса (не пачки!) проверяется состояние соответствующего TSOP'а и, при необходимости, инкременируется соответствующий счетчик.
Получившиеся значения фильтруются путем усреднения последних 5 значений.
Результат фильтрации сравнивается с заданным пороговым значением. Меняя порог - меняем чувствительность.
Конструкция радара - управляемый при помощи полевика с логическим уровнем ИК светодиод 875 nm, подключен через токоограничительный резистор 3 кОм, оптически изолирован - помещен в корпус из под электролита (спасибо Radist'у за идею :)).
TSOP 940 nm 38 кГц, подключен согласно даташита.
Срабатывания четкие, надежные, в отличие от алгоритма, когда проверяется состояние TSOP после пачки импульсов.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 65 ]  На страницу Пред.  1, 2, 3, 4, 5

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO