роботы
робототехника
микроконтроллеры
Главная
Как сделать робота
Новости
Спорт
Статьи
Wiki
Форум
Downloads
Ссылки
Контакты  


 Страниц (1): [1]   

> Описание: правильно ли я описал алгоритм?
InfuriatedCoder
Отправлено: 18 Июля, 2013 - 18:41:04
Post Id



Рядовой


Сообщений всего: 6
Дата рег-ции: Июль 2013  





Задача: определить положение базы и расстояние до нее ИК датчиком (ИК фотодиод/транзистор/резистор).

Решение:

Передатчик базы пускает во все стороны импульсы ИК света с частотой f, скажем, 10гц.

Приемник сканирует ADC c частотой f * 2 = 20гц. Фильтрую полученное значение Vm относительно фонового уровня Vamb. Фоновый уровень - среднее арифметическое всех значений за последние несколько секунд.

Если Vm - Vamb > Vthresh, где Vthresh - константа, например 0,2V, то считаю что получил сигнал от приемника.

Результат записывается в массив длиной 4 элемента. Если массив аналогичен одному из паттернов: [0,0,1,1] или [1,0,0,1] или [1,1,0,0], то считаем что база найдена. В противном случае - базы нет в пределах видимости.

Верно?
Прикреплено изображение
test.jpg

(Отредактировано автором: 18 Июля, 2013 - 18:41:23)

 
 Top
Predator Супермодератор
Отправлено: 18 Июля, 2013 - 22:12:59
Post Id


Супермодератор


Сообщений всего: 1157
Дата рег-ции: Июль 2012  





ну можно и так, в принципе всё верно...
Вообще те самые TSOPы внутри себя занимаются всей фигнёй, до выдачи битов паттерна.
и еще паттерн лучше брать подлиннее с хорошими кореляционными свойствами и сравнивать не первые пойманые 4 бита, а сравнить, принять еще 1 сравнить, принять еще .... пока не скорелируется.

останется только отсечь переотраженный (от стен) сигнал и найти алгоритм определения дальности.
 
 Top
InfuriatedCoder
Отправлено: 18 Июля, 2013 - 22:23:26
Post Id



Рядовой


Сообщений всего: 6
Дата рег-ции: Июль 2013  





В этом то и проблема - TSOP мощность сигнала (она же расстояние) не выдает(

Про паттерн - спасибо. А имеет смысл усложнять для такого медленного поиска? (~10Гц)

Переотражения будут фильтроваться простым поиском наиболее мощного источника - с помощью трех-четырех ИК датчиков, работающих по описанному принципу, направленных веером.
 
 Top
Predator Супермодератор
Отправлено: 19 Июля, 2013 - 09:47:53
Post Id


Супермодератор


Сообщений всего: 1157
Дата рег-ции: Июль 2012  





думаю: следует увеличить тактовые частоты, и поочереди отрабатывать направления.
потом сравнивать кореляционные пики (на те-же 10 Гц и выйдете), для получения уровня надо применять фоторезисторы, у фотодиодов и фототранзисторов характеристика слишком "кривая" и "резкая".
 
 Top
InfuriatedCoder
Отправлено: 19 Июля, 2013 - 16:02:26
Post Id



Рядовой


Сообщений всего: 6
Дата рег-ции: Июль 2013  





Predator пишет:
думаю: следует увеличить тактовые частоты, и поочереди отрабатывать направления.
потом сравнивать кореляционные пики (на те-же 10 Гц и выйдете), для получения уровня надо применять фоторезисторы, у фотодиодов и фототранзисторов характеристика слишком "кривая" и "резкая".


Спасибо большое за ответы.

Но фоторезисторы же не могут принимать ИК? Максимальная длина волны - 800нм, в то время как ИК светодиоды начинаются от 850нм. К тому же, инертность - 150мс.. Дилемма однако...
 
 Top
InfuriatedCoder
Отправлено: 25 Июля, 2013 - 01:22:45
Post Id



Рядовой


Сообщений всего: 6
Дата рег-ции: Июль 2013  





А что если при превышении заданного диапазона (скажем, засвет фототранзистора) изменять его резистор? Примерно как на картинке, запитывать с ног микроконтроллера через резисторы?
Прикреплено изображение
test.png

 
 Top
Петр Киселев
Отправлено: 25 Июля, 2013 - 08:13:41
Post Id



Гуру


Сообщений всего: 2395
Дата рег-ции: Окт. 2012  





InfuriatedCoder, у тебя во втором случее стоит резисторный делитель. Попробуй использовать RC-цепочку и поработай с экспонентой или экспонентами. Может толк и выйдет!
(Добавление)
Базу можно отыскивать по ярко красному цвету, но в этом случае возможны и ложные срабатывания.

(Отредактировано автором: 25 Июля, 2013 - 08:25:01)

 
 Top
InfuriatedCoder
Отправлено: 25 Июля, 2013 - 21:04:49
Post Id



Рядовой


Сообщений всего: 6
Дата рег-ции: Июль 2013  





Петр Киселев пишет:
InfuriatedCoder, у тебя во втором случее стоит резисторный делитель. Попробуй использовать RC-цепочку и поработай с экспонентой или экспонентами. Может толк и выйдет!
(Добавление)
Базу можно отыскивать по ярко красному цвету, но в этом случае возможны и ложные срабатывания.


Ну да, при низком уровне на ноге PWR через фототранзистор будет проходить много меньший ток, чем при высоком. Таким образом я хочу расширить диапазон, на котором фототранзистор выдавал бы плавающие значения (например. 2,5 вольта) вместо ключевого режима (0 или 5В)

Поведайте плиз, а то я в тупике, как базу найти(
 
 Top
InfuriatedCoder
Отправлено: 29 Июля, 2013 - 00:19:16
Post Id



Рядовой


Сообщений всего: 6
Дата рег-ции: Июль 2013  





мертвый форум.
 
 Top
Петр Киселев
Отправлено: 29 Июля, 2013 - 09:28:32
Post Id



Гуру


Сообщений всего: 2395
Дата рег-ции: Окт. 2012  





Точно! Все, наверно, дружно рванули в отпуск.
 
 Top
Predator Супермодератор
Отправлено: 30 Июля, 2013 - 13:02:13
Post Id


Супермодератор


Сообщений всего: 1157
Дата рег-ции: Июль 2012  





Цитата:
Все, наверно, дружно рванули в отпуск

не, в командировку.

У фототранзистора тоже есть характеристика, которую в общем случае можно описать, как кол-во света/ток, и в общем-то её можно пользовать, но она сильно нелинейная...
 
 Top
Страниц (1): [1]
« Алгоритмы »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 





Powered by Exclusive Bulletin Board
ExBB FM 1.0 RC1 Smiles by Fool from Foolstown