roboforum.ru

Технический форум по робототехнике.

ИК барьер на AVR

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

ИК барьер на AVR

Сообщение artmasterpro » 05 май 2010, 23:16

Увидел статью в инете, http://progm.nm.ru/arh76.html

Кто- знает как сделать такоеже, негде не могу найти прогу под него, хотелось бы прогу на Си.

В Си немного шарю как запустить USART но как запустить его на 36 кГц - чтобы принималось TSOP ??? может кто в курсе то просветите ???

Спасибо !
Аватара пользователя
artmasterpro
 
Сообщения: 23
Зарегистрирован: 05 май 2010, 23:00

Re: ИК барьер на AVR

Сообщение galex1981 » 06 май 2010, 08:40

Что значит запустить UART на 36 кГц? Или я вопроса не понял?
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: ИК барьер на AVR

Сообщение Radist » 06 май 2010, 09:28

Вы чего-то не поняли. Это на светодиод надо подавать частоту 36 кГц, причем модулированную. А с тсопа придет уже огибающая. Уарт в схеме совсем не нужен, нога выбрана случайна. Для большего понимания рекомендую прочесть даташит на тсоп.
Аватара пользователя
Radist
 
Сообщения: 2253
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: ИК барьер на AVR

Сообщение galex1981 » 06 май 2010, 09:47

Я понимаю что на ТСОП нужно подавать 36 кГц. Но у топикстартера в предложении запятых нет и понимай как хочешь его.
Объясняю: Не знаю на каком МК вы программируете но у любого 36 кГц можно реализовать, используя таймер-счетчик и прерывание от него. Просчитываете по частоте используемого кварца для МК период переполнения таймера-счетчика, и в нужный момент открываете ногу, на которой висит ТСОП
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: ИК барьер на AVR

Сообщение Myp » 06 май 2010, 10:01

и конечно же тут на форуме это всё сто раз обсуждалось и есть всякие разные исходники для ИК барьера
и принцип работы тоже обсуждён.

жалко что поиск у нас не работает...
хотя попробуйте, вдруг именно вам повезёт?
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: ИК барьер на AVR

Сообщение artmasterpro » 06 май 2010, 10:26

Друзья, на форуме есть куча ИК баарьеров но мне нужен кодированный барьер. Т. их должно работать несколько в одной комнате. Кроме как на USART не представляю себе реализацию сего устройства т.к USART дает возможность одновременно отсылать и пренимать.

не хотелось бы ставить дополнительную микруху mcp2120
Аватара пользователя
artmasterpro
 
Сообщения: 23
Зарегистрирован: 05 май 2010, 23:00

Re: ИК барьер на AVR

Сообщение galex1981 » 06 май 2010, 10:28

Никто здесь Вам ничего не говорит по поводу использования/не использования Уарта, хотя есть куча интерфейсов
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: ИК барьер на AVR

Сообщение setar » 06 май 2010, 10:43

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

Добавлено спустя 1 минуту 52 секунды:
а несколько таких пар не проблема - включайте их по очереди либо разносите геометрически
Аватара пользователя
setar
Site Admin
 
Сообщения: 10989
Зарегистрирован: 04 окт 2004, 12:58
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко

Re: ИК барьер на AVR

Сообщение artmasterpro » 06 май 2010, 16:36

почему нельзя на ТСОП ?
Вот автор же сделал тут http://progm.nm.ru/arh76.html
Аватара пользователя
artmasterpro
 
Сообщения: 23
Зарегистрирован: 05 май 2010, 23:00

Re: ИК барьер на AVR

Сообщение setar » 06 май 2010, 16:57

без исходного кода сложно сказать что сделал автор, вероятнее всего это мое предложение включать датчики по очереди.
включаем например на 1 единицу времени сигнал 36кГц потом на 3 единицы, потом на 5 и считаем средние показания.
ну или ещё как то манипулируем с включением измерительного сигнала. Но частота его неизменна = 36кГц
Аватара пользователя
setar
Site Admin
 
Сообщения: 10989
Зарегистрирован: 04 окт 2004, 12:58
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко

Re: ИК барьер на AVR

Сообщение Myp » 06 май 2010, 17:05

artmasterpro писал(а):Друзья, на форуме есть куча ИК баарьеров но мне нужен кодированный барьер. Т. их должно работать несколько в одной комнате. Кроме как на USART не представляю себе реализацию сего устройства т.к USART дает возможность одновременно отсылать и пренимать.

по ссылке схема с кодировкой 10 битным кодом это чото из разряда нанотехнологий в таблетках от геморроя
бред короче

любой ИК бампер так и работает
ИК диод отсылает 10-11 пачек 36 кгц импульсов (грубо говоря отсылает те же 10 бит, 10 раз подрят посылает единичку) ТСОП в это время слушает, и на основании количества принятых пачек, МК делает вывод о наличии препятствии. если дошли все единички то периметр не нарушен, если дошёл 1 из 10 то периметр был нарушен.
никакой особенной помехозащищённости добиться таким макаром невозможно, любое усложнение исходного принципа лишь добавит ложных срабатываний

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

друг наш любезный, читай даташит.

ЗЫ
элементная база у него устаревшая, тоже обман
AT90S2313 давно уже заменили и не используют
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: ИК барьер на AVR

Сообщение artmasterpro » 06 май 2010, 17:16

Хорошо, если выдать на светодиод пачку, принять на USART - проверить, усли совпадает - зажигаем светодиод. В моем случае геометрический разнос не возможен и сильно все усложняет. Включать датчики по отдельности тоже не могу т.к. в случае увеличения их числа до 10 - это усложнит схему и лишит ее универсальности.

Поэтому мне нужен барьер защищенный кодом, чтобы каждый диод излучал свою пачку- свой код и принимался только своим датчиком.
Аватара пользователя
artmasterpro
 
Сообщения: 23
Зарегистрирован: 05 май 2010, 23:00

Re: ИК барьер на AVR

Сообщение setar » 06 май 2010, 17:47

8) чем простите включение по очереди 10 пар тсоп/светик усложнит схему ?
проводов столько же, скорости хватит с лихвой.
не изобретайте велосипед, не думайте что Ваши задачи черезчур уникальны

Добавлено спустя 5 минут 51 секунду:
при работе пар на тсопе возможно лишь два варианта их разнести : 1 использовать тсопы на разные частоты (у вас насколько помню будет 8 каналов) или разносить работу датчиков во времени.
остальное будет приводить к перекрестной засветке, которую конечно можно убрать математичесикми алгоритмами, но поверьте там и так помех и засветок достаточно, любой алгоритм для надежности потребует длительной по времени выборки, тогда вы теряете время между достоверными измерениями - то на то выходит как и измерение по очереди.
:D а на соревнованиях ещё и противники засвечивают датчики ...

Добавлено спустя 1 минуту 39 секунд:
кстати вы опять приплетаете USART - при чем тут он?
тем более асинхронный
Аватара пользователя
setar
Site Admin
 
Сообщения: 10989
Зарегистрирован: 04 окт 2004, 12:58
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко

Re: ИК барьер на AVR

Сообщение artmasterpro » 06 май 2010, 18:01

USART при том что - это пожалуй единственная вещь которая может одновременно работать.

Получаеться если мы отсылаем светодиодом пачку, а следующей операцей мы проверяем порт,полчаеться разнесено во времени. А USART способен записать эту пачку что-бы потом ее сверить.

Или чего-то не доогоняю ?
Аватара пользователя
artmasterpro
 
Сообщения: 23
Зарегистрирован: 05 май 2010, 23:00

Re: ИК барьер на AVR

Сообщение setar » 06 май 2010, 18:56

вы порты непосредственно будите проверять ?
а микроконтроллер в это время бамбук курить будет :)
э, не
микроконтроллер должен взять на себя обработку всех датчиков, выдавая на выход (UART,i2c ...) их состояние
Аватара пользователя
setar
Site Admin
 
Сообщения: 10989
Зарегистрирован: 04 окт 2004, 12:58
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко

След.

Вернуться в Микроконтроллеры

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

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