roboforum.ru

Технический форум по робототехнике.
Текущее время: 01 мар 2025, 13:07

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




Начать новую тему Ответить на тему  [ Сообщений: 37 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Re: ИК барьер на AVR
СообщениеДобавлено: 06 май 2010, 20:26 
Не в сети
Аватара пользователя

Зарегистрирован: 05 май 2010, 23:00
Сообщения: 23
да нет я как бы о микроконтроллере. Ребят я отношусь к Вам с уважением, т.к. я в МК не давно, давайте не будем смеяться с друг друга а будем инфорпмативными, иначе зачем нужен форум ? разве не для взаимопомощи ?
Может кто может предложить конкретное решение, может у когото есть кусок кода как смодулировать пачку 36кгц такую чтобы принялась USARTом.

НУ простите за ламерство, но не получаеться от того кто ничего не делает. Я тут уже в реале наслушался разного, потому и пришел на форум чтобы найти вменяемые ответы.

Спасибо !


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ИК барьер на AVR
СообщениеДобавлено: 07 май 2010, 00:05 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10990
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
я, да и никто здесь вовсе не издевается.
вот это как бы лишено смысла "как смодулировать пачку 36кгц такую чтобы принялась USARTом", ну или сформулированно так, что я его не улавливаю...

модулировать можно либо по амплитуде сигнала (это лишено смысла по причине изменения дистанции срабатывания в таком случае) либо по запуску/стопу пачки, по частоте мы модулировать не можем потому что тогда tsop просто не примет сигнал.
вот эта ^ модуляция по старту и стопу сигнала и есть "поочередное измерение" о котором Вам и говорили выше

Опишите пожалуйста словесно алгоритм, как Вы представляете себе съём информации с микроконтроллера на котором допустим 10 датчиков TSOP/led ?

Я себе представляю его так:
Микроконтроллер имеет некий статусный байт (а точнее исходя из того что у нас больше 8 датчиков - два байта) который отображает текущее состояние "срабатывания".
В основном цикле программы микроконтроллер делает проход по каждой из имеющихся пар tsop/led выдавая на светодиод пачку из десяти - семидесяти импульсов с частотой 36 кГц и считывая выход tsop , с учететом что состояние срабатывания тсопа соответствует логическому нулю проставляет соответствующий бит в статусном регистре.
После окончания работы с датчиками занимается коммуникациями - ждет запроса и отдает пару статусныйх байт.
Впрочем коммуникации могут висеть на прерываниях. Канал коммуникации может быть любой - UART, USART, i2c итд.

P.S. я надеюсь вы знакомились с азами [[ИК_локатор_Робоклуба]]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ИК барьер на AVR
СообщениеДобавлено: 07 май 2010, 01:02 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

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

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ИК барьер на AVR
СообщениеДобавлено: 07 май 2010, 08:12 
Не в сети
Аватара пользователя

Зарегистрирован: 25 июл 2009, 16:35
Сообщения: 104
Откуда: Ессентуки
прог. языки: ASM , Lisp , C# :)
ФИО: Алексей
Если автор просит пример почему бы не дать???Пусть сам убедится в том что.....
самая приметивная схема :
Вложение:
C[tvf.gif
C[tvf.gif [ 7.92 КиБ | Просмотров: 4066 ]

На 14 ноге (OC0A) с помощью таймера в режиме СТС создаём колебания частотой 36кГц.А Usat используем как обычно, просто шлём в него байты.На светодиоде будет уже промодулированый сигнал!Правда такая система и на канал связи слабо тянет, помех будет много.Поэтому врядли отразившись от стены к тебе придёт весь отосланный тобой байт, часть его просто потеряется!

_________________
Алокоголизм - излечим, пьянство - нет.
Peace-death.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ИК барьер на AVR
СообщениеДобавлено: 07 май 2010, 10:27 
Не в сети
Аватара пользователя

Зарегистрирован: 05 май 2010, 23:00
Сообщения: 23
Спасибо, за поинимание и конкретные ответы.

Все понято не верно !

Обьясняю:

Есть некий микроконтроллер материнский - на входа которого просто поступают логические единицы. от всех датчиков количество которых может быть - от 1го - до 10.

Каждый датчик-барьер это независимое устройство содерщаее отдельный МК к которому подключем один ТСОП и один ИК светодиод.

К примеру датчика у нас 3 - поэтому все они должны быть зазищенны програмно от переотражений. Т.к. в моем случае их трудно избежать.

Задача датчика- выдать 1цу при срабатывнии и все !

Тепреь об алгоритме датчика- барьера:

Таймером мы генерируем определенную посылку 36 кГц как в (пульте от телека) (чтобы принять ТСОПом) .
Только каждый датчик из 3х генерирует свою посылку (свой код как на пульте от телека у каждой кнопки своя пачка)

Далее вешаем TSOP на вывод Rx USART.

И по прерыванию от USART проверяем сответствует ли отосланная светодиодом пачка - принятой USARTом.

Если ДА - выдаем 1цу на выход порта если нет, ничего не делаем и снова отсылаем опять пачку переходим в начало.

Вроде все описал ))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ИК барьер на AVR
СообщениеДобавлено: 07 май 2010, 10:59 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
А зачем ТСОП вешать на RX USART? Так ничего не получится нормального или будет усложнение программы. Выход ТСОПА вешается на внешнее прерывание обычно (int0, int1,...) а затем программно по срабатыванию внешнего прерывания обрабатываются данные

_________________
if(!Operate) Read(pDatasheet);


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

Зарегистрирован: 05 май 2010, 23:00
Сообщения: 23
первый вопрос: а ТСОП успеет ли поймать свет и прервать МК ?
если да то второй вопрос:

Получаеться тогда тоде усложнение кода, нужен еще 1 таймер, для обработки принятого сигнала, таймер для того чтобы проверять импульсы пачки.

Или я не верно излогаюсь ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ИК барьер на AVR
СообщениеДобавлено: 07 май 2010, 11:51 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
смотри на пальцах, пытаемся отослать даже не код а всего лишь 5 пачек импульсов
Код:
вот сигнал одного ИК диода  ------_________-----------_________---------_____________--------------____________----------
вот мы прибавили второй     ----------__________------------___________----------___________-----------_________----------
и вот третий      -------------_______________---------------______________---------------___________--------------________

тсоп будет видеть сумму трёх ---------_____------------------__---------------------------------------------------------

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

одновременно 3 излучателя 36Кг дадут полную кашу
а если они будут ещё передавать на просто 11 пачек а какойто длинный код, то вероятность каши только увеличится

лучший вариант это слать через разные промежутки времени и в случае срабатывания датчика делать контрольную проверку
так как есть главный контроллер и провод до датчиков всё равно тащить надо проложить ещё провод управления
чтобы все датчики работали поочереди, например 5 раз в секунду опрашивать каждый датчик по списку.

ограничить угол обзора тсопа элементарно.
трубочка из кусочка бумаги диаметром 5 мм и длинной 10 мм покрашенная маркером чёрным и приклеенная на тсоп ограничит угол обзора до 10 градусов. только надо сам тсоп со всех сторон тоже залепить ато он даже спиной может излучение принимать.
аналогичную трубочку надо надеть на ИК диод

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ИК барьер на AVR
СообщениеДобавлено: 07 май 2010, 12:10 
Не в сети
Аватара пользователя

Зарегистрирован: 05 май 2010, 23:00
Сообщения: 23
Хорошо согласен.

Вот нарисовал картинку, нужно в зоне нахождения обьекта включать подсветку для этого делаю несколько датчиков чтобы контролировать перемещение обьекта. Как тогда в моем случае решить проблему переотражений и помехозащищенности. Можно уменьшить зону датчика но помещение может быть квадратным, где расстояния между датчиками будут равны,и получиться что равноудаленный обьект от двух угловых датчиков будет их "замыкать "Притом что геометрия помещения может быть любая не только как на картинке ??
Вложение:
Комментарий к файлу: Схема проблемы
top.gif
top.gif [ 14.01 КиБ | Просмотров: 2856 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ИК барьер на AVR
СообщениеДобавлено: 07 май 2010, 12:11 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10990
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
artmasterpro писал(а):
Таймером мы генерируем определенную посылку 36 кГц как в (пульте от телека) (чтобы принять ТСОПом) .
Только каждый датчик из 3х генерирует свою посылку (свой код как на пульте от телека у каждой кнопки своя пачка)

Вот источник Вашего недопонимания :
тсоп усредняет пачку импульсов от десяти до 70 для него не важно присли мы ему
ПППППППППП___ПППППППППП____________ПППППППППП
или
ПППППППППППППППППППППППППППППППППППППППППП
для него это одинаковый правильный "подсвечивающий сигнал" и выход у него будет ровно один логический бит на протяжении всей серии (а точнее на протяжении серии будет бит от предыдущей серии и сменится в конце серии на новый), кстати конец серии это промежуток более 14 импульсов.
Если модуляция будет промежутками короче чем 14 импульсов то это будет считаться просто помехами, а если длиннее - будут разные замеры.


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

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

Теперь конкретные ответы на вопросы
1 Да, хоть свет и летает 300 000 км/с
2 Вопрос как раскодировать принятый сигнал. Ну можно и уартом, как вы и хотели, а можно и таймером. Пришло прерывание - включили таймер, изменили условие возникновения прерывания с фронта на спад. Узнали длительность импульсов/пауз и раскодировали.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ИК барьер на AVR
СообщениеДобавлено: 07 май 2010, 12:16 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10990
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
по картинке:
услыште наконец - при поочередном опросе пар светодиод/тсоп указанной проблеммы не существует

Добавлено спустя 43 секунды:
или вам нужно пулю пролетающую подсвечивать и скорость перемещения огромна ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ИК барьер на AVR
СообщениеДобавлено: 07 май 2010, 12:38 
Не в сети
Аватара пользователя

Зарегистрирован: 05 май 2010, 23:00
Сообщения: 23
нет пулю не нужно ))
нужно человека ловить !


получаеться, нужно или разносить по времени или что-то мудрить с зоной действия ?
Если по времени тогда у меня к датчику должно ити 2 провода питания + один управляюший + один сигнальный. итого 4ре. и мой материнский МК должен опрашивать в цикле все порты.

А кодировать каджый сигнал получаеться не имеет смыслу потому, что все это будет засвечиваться по крайней мере в случае с ТСОП.

А если уйти от ТСОП и ставить обычный фотодиод - тоже ж выходит будет засвечивать ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ИК барьер на AVR
СообщениеДобавлено: 07 май 2010, 13:00 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10990
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
одного провода сигнального с i2c будет достаточно, или RX TX для UART

Добавлено спустя 2 минуты 56 секунд:
А вот как раз с фотодиодом/светодиодом можно делать модуляцию, скорее всего она будет частотной
микроконтроллеры на парах будут посложнее код иметь, но вполне реально


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

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

Задолбаешься.


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

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


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

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


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

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