Перейти к блогу GetChip.net - блог        JilTE[1] - в разработке     Модификации устройств - модификации

 
Текущее время: 28 мар 2024, 22:19

Часовой пояс: UTC + 3 часа [ Летнее время ]



Начать новую тему Ответить на тему  [ Сообщений: 36 ]  На страницу 1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: TSOP как датчик расстояния. Плохой результат- тоже результат
СообщениеДобавлено: 08 сен 2014, 22:53 
Не в сети

Зарегистрирован: 31 авг 2014, 14:08
Сообщения: 35
Смеху ради решил выложить результаты своей попытки превратить TSOP в датчик-измеритель расстояния. (Измерение, естественно, в сФкв. - Сфероконь в вакууме). Такие попытки периодически проскакивают в интернете.
Как ?
В самом TSOP ничего не покрутишь и не подстроишь. Остается только как-то модулировать сигнал ИК передатчика. Погуглив и немного подумав, изначально представлял себе несколько способов:
1. ШИМ несушей частоты 36 кГц.
2. Плавный уход в сторону от центральной частоты. (См. характеристику чувствительности TSOP от частоты).
3. Управление током диодов с помощью простого ЦАП. (Встречал в интернете несколько конструкций на таком принципе).
4. Спадающий ток ИК диодов, формируемый с помощью RC-цепочки.

По первому способу: (прочитал в блоге :) ) - TSOP'у пофиг ширина импульса.
По второму: на имеющемся у меня микроконтроллере "плавно" не получится. Всё, что можно - это 6 частот от центральной, до частоты, чувствительность на которой TSOP'а падает до 20% от максимума. (В принципе, - перспективный способ. Это с учетом того, что у меня получилось См далее :) )
Третий способ считаю излишним усложнением, да и по потребному количеству выводов контроллера - не фонтан.

Я решил использовать четвертый вариант, ввиду простоты схемы и нетребовательности к контроллеру. И так: формируем пачку из 255 периодов несущей частоты, одновременно замеряя длительность ответа TSOP'а. Чем длиннее импульс, - тем ближе преграда. Результат измерения отправляем по UART. Повторяем это дело 8 раз в секунду.
Схема выходного каскада:

Кстати, АРУ у TSOP'а - жестокое, так что чаще повторять такие длинные пачки не стоит.
Форма тока чрез диоды (пачка):

Ну и, наконец, то что получилось.
Преграда сначала на среднем расстоянии (около 4 м), затем далекая преграда (6,7 м) и преграда в упор (<1 м):

Я медленно подхожу издалека и возвращаюсь обратно:

Зеленые точки на графиках - данные измерений, а желтые - результат усреднения по 8 последним. Как видим, данные ну ООЧЕНЬ ШУМНЫЕ ! Ни о какой точности здесь говорить не приходится. Теперь шесть уровней по способу 2 кажутся вполне приемлемым вариантом.
Ну и напоследок сам девайс:



Последний раз редактировалось UnKaiF 08 ноя 2014, 16:56, всего редактировалось 4 раз(а).

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: TSOP как датчик расстояния. Плохой результат- тоже резул
СообщениеДобавлено: 09 сен 2014, 22:44 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 15 май 2011, 23:00
Сообщения: 1904
Очень интересный эксперимент! И я бы не сказал, что результат плохой. Наоборот результат радует!
Уже даже сейчас точность может конкурировать у УЗ дальномером.
Давно хотел засесть за подобные опыты, но Вы меня опередили - теперь можно испытать свои идеи на чужом железе :)

Не хотите продолжить эксперименты (раз уж железо есть)?

Есть несколько предложений по улучшению исходя их личного опыта:
1 TSOP в трубке? По рисунку вроде да. Это хорошо! Еще нужно поставить на входе красный светофильтр (желательно прямо утопить в трубку. Это уменьшает внешние засветки, соответственно АРУ TSOP будет меньше "скакать" - что уменьшит разброс замеров.
2 Мне кажется 255 импульсов излишне длинная пачка. Частые длинные пачки "садят" АРУ, что опят сказывается на точности. Думаю нужно попробовать 128, а то и 64 импульса на пачку (в общем то разрешающую способность замера можно пожертвовать ради точности)
3 Количество пачек за секунду можно оставить таким как есть, а можно попробовать уменьшить до 4 - нужно попробовать.
4 Если длина пачки уменьшилась - нужно будет уменьшить R1, чтобы за цикл разрядить конденсатор.
5 Для выходных результатов лучше брать не реальное значение замера а интегрированное значение. Например вот так
значение_для_выдачи = (предыдущее_выданное_значение / 2) + текущее_измеренное_значение
это создаст некоторую инерционность, но зато уберет "шум" из замеров.

Пока все что пришло в голову - жду новых результатов!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: TSOP как датчик расстояния. Плохой результат- тоже резул
СообщениеДобавлено: 09 сен 2014, 23:47 
Не в сети

Зарегистрирован: 31 авг 2014, 14:08
Сообщения: 35
Рад, что вам понравилось :-)
1.
Да. Он в тубусе диаметром 4 мм. и глубиной 20 мм. Светофильтр попробую, но не заметил особой разницы при направлении на освещенную солнцем поверхность с той же поверхностью в сумерках. Может на предельном расстоянии ?
2.
Опять таки попробую. Мне думается он (TSOP) просто не может "сдетектировать" надежно на интервале короче минимальной детектируемой пачки (по докам 8-10 периодов для этого типа). Т.е. изначально можно было надеятся получить 255/(8 или 10) стабильных уровней. Извините, если непонятно - сам не могу сообразить как это выразить. По моей логике нужно для получения 8 бит разрешающей способности наоборот увеличивать пачку до 255*(8 или 10) периодов. Тут уже проблемы с АРУ начнутся. Вообще, мне думается, что начинка современных приемников от Vishay слишком уж "интеллектуальна". Надо будет наш "дедушкин" ILMS5360 попробовать.
3. Изначально у меня было 5 раз/сек. Пробовал уменьшать до 2-х. На разброс не повлияло, зато усреднение гораздо медленнее ворочается.
4.
Само собой ;)
5.
У меня на графиках зеленым - сырые данные. Желтые точки соединенные красной линией - это скользящее среднее по 8-ми отсчетам. Без применения оконных функций (Хэмминги и проч.). Интегрирование существенно скажется на динамике. Т.е. я хочу сказать зафильтровать я бы и круче мог, но практически - это выкинет устройство из задуманной для него ниши применения.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: TSOP как датчик расстояния. Плохой результат- тоже резул
СообщениеДобавлено: 10 сен 2014, 22:32 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 15 май 2011, 23:00
Сообщения: 1904
По длине пачки там другая история. TSOP не воспринимает пачки длинной меньше тех самих 8-10 импульсов - это для того чтобы не пропускать единичные импульсы помех. Все что длинней 8-10 импульсов начинает восприниматься как полезный сигнал. Поэтому разрешающая способность фактически равна количеству импульсов в пачке (лишь-бы их больше 10 было)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: TSOP как датчик расстояния. Плохой результат- тоже резул
СообщениеДобавлено: 11 сен 2014, 00:12 
Не в сети

Зарегистрирован: 31 авг 2014, 14:08
Сообщения: 35
Есть предположение, что "шум" измерений распределён не по Гауссу. Поэтому простые методы фильтрации столь неэффективны. На днях проверю. Это так - мысли в слух.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: TSOP как датчик расстояния. Плохой результат- тоже резул
СообщениеДобавлено: 15 сен 2014, 21:50 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 15 май 2011, 23:00
Сообщения: 1904
Еще есть идея импульсы слать не сплошняком, а пачками штук по 10 и с паузами длинной раза в 2 больше. При таком способе на принимающей стороне нужно будет считать не длительность принимаемого сигнала с TSOP, а количество принимаемых импульсов. Короткие пачки импульсов с паузами самый лучший режим работы TSOP.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: TSOP как датчик расстояния. Плохой результат- тоже резул
СообщениеДобавлено: 16 сен 2014, 14:13 
Не в сети

Зарегистрирован: 31 авг 2014, 14:08
Сообщения: 35
Дельная идея !


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: TSOP как датчик расстояния. Плохой результат- тоже резул
СообщениеДобавлено: 17 сен 2014, 23:11 
Не в сети

Зарегистрирован: 31 авг 2014, 14:08
Сообщения: 35
Наконец, приступаю к дальнейшим экспериментам. Построил график функции распределения для первого варианта дальномера. Как я и подозревал - два максимума. Интересно, почему и с чем это может быть связано. Если удастся докопаться до причины, - хорошо, а нет - то попытаюсь придумать хитрый фильтр.

Красным - среднее значение.


Последний раз редактировалось UnKaiF 08 ноя 2014, 16:58, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: TSOP как датчик расстояния. Плохой результат- тоже резул
СообщениеДобавлено: 18 сен 2014, 12:11 
Не в сети

Зарегистрирован: 12 фев 2012, 00:44
Сообщения: 221
Откуда: Минск
Я так понимаю, при любом методе определения расстояния, показания будут сильно зависеть от цвета препятствия.
По поводу подсчёта импульсов - очень хорошая идея, можно и диапазон измерений (мин. макс.) изменять програмно, думаю метод наиболее перспективный.
Автору репект, очень дельные опыты! ;)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: TSOP как датчик расстояния. Плохой результат- тоже резул
СообщениеДобавлено: 18 сен 2014, 19:45 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 15 май 2011, 23:00
Сообщения: 1904
Вобщемто без разницы зависимость расстояния от цвета, размера и фактуры поверхности - все это будет иметь место, так как это физика и это придется учитывать в реальных реализациях.
Другой вопрос откуда берется второй пик в распределении если поверхность одна и расстояние одно? :? Кстати, а что является преградой?

Может второй пик - это работа АРУ? Попробуй формировать пачки раз в секунду.
Еще будет интересно посмотреть распределение при импульсном методе.


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

Часовой пояс: UTC + 3 часа [ Летнее время ]


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

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


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

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