http://forum.getchip.net/ |
|
TSOP как датчик расстояния. Плохой результат- тоже результат http://forum.getchip.net/viewtopic.php?f=17&t=511 |
Страница 2 из 4 |
Автор: | UnKaiF [ 19 сен 2014, 22:13 ] |
Заголовок сообщения: | Re: TSOP как датчик расстояния. Плохой результат- тоже резул |
Явно что-то связанное со временем перестройки АРУ. Между максимумами всегда 60+-2 периода несущей независимо от расстояния до преграды. А если преграда настолько далеко, что ответ TSOP'а лежит в районе 60 периодов по длительности, то первый (левый) максимум скрывается, исчезает. Сразу не догадался посмотреть осцилом на выходе TSOP'а, а там вот такое (нижний луч): (Зы.. У меня подсчет длительности - просто инкремент в каждом периоде если приёмник даёт "0".) Нужно всё же переходить к формированию пачки с паузами. |
Автор: | UnKaiF [ 20 сен 2014, 19:57 ] |
Заголовок сообщения: | Re: TSOP как датчик расстояния. Плохой результат- тоже резул |
Пощупал вариант по совету GetChiper. 255 пачек по 10 периодов несущей с паузами 10-12 периодов несущей. Ёмкость конденсатора пришлось соответственно увеличить в 10 раз, т.е. 470 uF (см. схему выходного каскада). Время замера составило 0.144 секунды, а перезаряд конденсатора всю оставшуюся секунду. Т.е. частота сэмплирования не более 1 Гц, что для таких задач как обнаружение движения не подходит. Можно, конечно, пожертвовав дополнительным пином GPIO организовать ускоренный заряд, но это имхо, "городульки".[Upd: Мой контроллер формирует пачки программно, соответственно, процессорное время будет сожрано почти всё .] Дальность обнаружения, чисто по субъективным оценкам, упала раза в два, а ближний предел (когда ловятся все посылки) отодвинулся. Видимо за такое большое время АРУ успевает отстраиваться. В принципе, это ерунда - лечится подбором R и C. Из плюсов - на распределении один максимум и данные плотнее, т.е. фактическая разрешающая способность лучше. Осцилограммы тока пачки: В общем, буду продолжать эксперименты ибо это слишком медленно для меня. Попробую "гибридный" метод, - т.е. поделю 255 своих импульсов на пачки по, допустим, 32, с замером длительностей. Либо одна пачка 32 периода, а разрешение получу используя оверсэмплинг. |
Автор: | UnKaiF [ 21 сен 2014, 19:45 ] |
Заголовок сообщения: | Re: TSOP как датчик расстояния. Плохой результат- тоже резул |
Пачка 32 периода. Частота следования 64Hz. Конденсатор 6.8uF. Сырые данные: (разрешение 5 бит, частота выборки 64 герц) Шкала по вертикали 0-31. После оверсэмплинга: (разрешение 8 бит, частота выборки 8 герц) Шкала по вертикали 0-255. Как видно, - короткая пачка помогла избавится от второго максимума на распределении. А вот бОльшая крутизна спада тока диодов стабильности данным не добавила. Видимо, TSOP всё ж таки не может "соображать" быстрее. |
Автор: | GetChiper [ 22 сен 2014, 21:19 ] |
Заголовок сообщения: | Re: TSOP как датчик расстояния. Плохой результат- тоже резул |
Автор: | UnKaiF [ 24 сен 2014, 12:05 ] |
Заголовок сообщения: | Re: TSOP как датчик расстояния. Плохой результат- тоже резул |
Извиняюсь, - исправил последний пост и картинку, так как была ошибка в алгоритме. По поводу нестабильности положения заднего фронта импульса с TSOP есть такая версия. Судя по даташиту для обнаружения присутствия сигнала TSOP'у нужно от 7 до 15 периодов несущей на входе. Соответственно после обнаружения (когда уже на выходе "0") нужно чтобы сигнал полностью отсутствовал не менее 6 периодов прежде чем TSOP примет решение выдать "1". Это опять таки для защиты от помех. Вдруг один импульс посреди пачки пропал ? Не считать же это окончанием пачки ? Поскольку "наш" сигнал не продадает полностью, а просто убывает, то и решение об отсутствии его принимается в произвольный момент времени. То есть начинка приёмника на это не рассчитана. Поэтому и имеем на выходе не чёткие отсчёты, а сплошную "статистику". Нет, с моей точки зрения не красиво оно выглядит. Не знаю, как там с реальным разрешением у УЗ дальномеров, ибо не щупал оные, но здесь, учитывая амплитуду шума, получается: реальное разрешение в импульсном методе не более 4 бит на сэмпл, а с замером длительности не более 3 бит на сэмпл. Попробую "уплотнить" импульсный метод. Во-первых - отказаться от 8 бит (255 пачек) в пользу 7-и или 6-и бит (127 и 64 пачки, соответственно) разрешения на один замер. Это сразу же уменьшит время замера в разы, что позволит мерять чаще. Во-вторых - вместо пауз попробую выдавать сразу следующую пачку, но в противофазе с предыдущей. Т.е. 10101010010101010. Пока не знаю, будет ли этот трюк работать, - отпишусь. По поводу контроллера - это же весёлый pic12f675. На борту из периферии EEPROM, АЦП, аналоговый компаратор, два простых таймера даже без режима сброса по совпадению, не говоря уже о всяких ШИМ. Подсистема прерываний - один вектор, а источник предлагается определять программно. Короче - этот Microchip, такой микрочип ! |
Автор: | UnKaiF [ 24 сен 2014, 19:03 ] |
Заголовок сообщения: | Re: TSOP как датчик расстояния. Плохой результат- тоже резул |
Опыт с противофазной пачкой. R2 закорочен, так что уровень ИК излучения не модулируется. Результат в лучших традициях квантовой механики - выходной импульс и прерывается и нет При больших уровнях входного сигнала приемник всегда воспринимает посылку как одну пачку. При среднем и низком уровне см. видео. |
Автор: | GetChiper [ 24 сен 2014, 21:56 ] |
Заголовок сообщения: | Re: TSOP как датчик расстояния. Плохой результат- тоже резул |
Чет я не понял про противофазу Подробней можно? |
Автор: | UnKaiF [ 25 сен 2014, 00:18 ] |
Заголовок сообщения: | Re: TSOP как датчик расстояния. Плохой результат- тоже резул |
Ну, как бы это на пальцах ? Мы вставляем паузу между пачками импульсов для того чтобы приемник изменил своё состояние с "прием" на "нет приема". А пауза - штука длительная, т.е. затратная по времени. Так же известно, что некоторые виды детекторов синхронизируются с фазой входного сигнала и если она резко меняется на противоположную, то во время "пересинхронизации" выдают это самое "нет" (Напряжение АПЧиФ, так сказать). Длительность перестройки зависит от уровня входного сигнала. Чем сильнее сигнал - тем короче время перестройки. Это мы и наблюдаем в опыте. При слабом сигнале импульс престройки длится достаточно долго для того, чтобы (иногда) "перекинуть" логику TSOP'а в противоположное состояние, а при сильном, соответственно, нет. Я просто надеялся, что "времена" встроенные в логику позволят провернуть этот трюк. |
Автор: | GetChiper [ 25 сен 2014, 18:41 ] |
Заголовок сообщения: | Re: TSOP как датчик расстояния. Плохой результат- тоже резул |
Слишком как то все тонко. Боюсь такой трюк может не работать на всех видах TSOP. Плюс время повторного запуска у всех будет точно разное, что скажется на количестве принятых импульсов при одинаковых условиях (хотя это не очень критично - все равно измерения в "попугаях") Мне бы было интересно попробовать немного другой метод (1-ИК-диод светит; 0-нет) вместо 10101010010101010 _______пачка_____пауза сделать 1010101011111111 ________пачка_____пауза Схемотехника TSOP должна воспринимать постоянную засветку как паузу (единственно может понадобится больше импульсов в нормальной пачке, для того чтобы ару успело сработать - нужно пробовать). Конденсатор во время постоянной засветки ИК-светодиода будет разряжаться в 2 раза быстрей, что будет создавать более ощутимые ступени уровня сигнала в каждой пачке. |
Автор: | UnKaiF [ 25 сен 2014, 21:19 ] |
Заголовок сообщения: | Re: TSOP как датчик расстояния. Плохой результат- тоже резул |
Насчёт разных моделей TSOP я с вами согласен. Про остальное не понял. Какую выгоду мы получим при таком методе ? Не думаю, что приёмнику есть разница - засвечивают его или просто оставляют в покое. Время нужное для перехода из 0 в 1 по моему одинаково в обоих случаях. Или у вас другие соображения ? Объясните подробнее. Может не совсем удачно рассказал про противопачку, но идея была такая: вместо того чтобы гультаить в паузе, ожидая переключения в 1, можно было бы принимать сразу следующую пачку. |
Страница 2 из 4 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |