|
AVR, связь на по ИК-каналу |
|
|
|
Feb 27 2011, 10:56
|
Местный
  
Группа: Validating
Сообщений: 253
Регистрация: 21-12-08
Пользователь №: 42 646

|
Привет! НУжно сделать 2 девайса и как то связать их по беспроводном каналу. Наиболее дешевый получается вариант с ИК связью, я хочу сделать так: на обеих устройствах поставить TSOP1736 и NE555 + несколько ИК-светодиодов. Таймер чтобы генерировать частоту 36 кгц и несколько передатчиков для более мощного излучения ИК-сигнала. Тут все ок, но: Передача будет идти через USART, то есть, ножка Tx будет подключена выводу RESET таймера, когда будет передаваться бит 1, то таймер будет активироваться и генерировать частоту 36 Кгц, когда 0 - частота генерироваться не будет. Приемник будет деактивироваться по время приема и активироваться во время передачи. Передача будет типа "запрос от главного - ответ от подчиненного", соотвестсвенно будет проверяться CRC16. Скорость не более 9600 бод. Дальность будет до 50 метров, стоять будет в помещении где есть ЛДС. Хотеось бы узнать, кто то использовал этот метод связи? У меня посто времени мало и как то наперед хотелось знать, использовать ИК, или сразу, чтобы не бучаться взять что то типа ZigBee.
Thanks!!!!!
|
|
|
|
|
Feb 27 2011, 11:42
|
Гуру
     
Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295

|
Цитата(Br.Misha @ Feb 27 2011, 14:56)  НУжно сделать 2 девайса и как то связать их по беспроводном каналу. Не нужен там никакой таймер NE555, все можно реализовать средствами самого МК. Но я думаю, что такое решение нормально работать не будет. Любая дистанционка, например, будет валить такой канал связи в два счета. Или придется делать специальный протокол, а это не самая простая задача. Дальше. Я очень сомневаюсь, что на 50 метрах это реализуемо. Слишком далеко. И почти наверняка понадобится прямая видимость. Связь будет пропадать при появлении на пути луча посторонних предметов или людей. Я бы сразу делал на чем-то вроде CC1100 от Texas Instruments, или даже на Telecontrolli. Или вот еще одно интересное решение (и недорогое): http://www.1slon.ru/viewpage.php?page_id=2А если надо быстро, и нужно промышленное решение, прошедшее сертификацию, то купите радиомодем, тот же "Невод". Резюмирую. Мое мнение - только радиоканал ...
|
|
|
|
|
Feb 27 2011, 12:11
|
Местный
  
Группа: Участник
Сообщений: 256
Регистрация: 5-04-09
Из: Москва
Пользователь №: 47 180

|
Цитата(Br.Misha @ Feb 27 2011, 13:56)  Привет! ...Наиболее дешевый получается вариант с ИК связью...Дальность будет до 50 метров... В окончательном варианте вряд ли он будет наиболее дешевым. Тем более на таких расстояниях. Цитата(kovigor @ Feb 27 2011, 14:42)  ...только радиоканал ... +1
|
|
|
|
|
Feb 27 2011, 12:33
|

Участник

Группа: Участник
Сообщений: 66
Регистрация: 28-06-09
Пользователь №: 50 704

|
Цитата(Br.Misha @ Feb 27 2011, 14:56)  Хотеось бы узнать, кто то использовал этот метод связи? я использовал, и вот что скажу! скорости 9600 ты скорей всего не получиш так как частота несушей 36КГц слишком мала, у меня максимум было 600 ну или 1200 бод. Использовал 3 ИК диода последовательно и 9вольт про 50 метров не знаю но в доме(в закрытом помешении) совсем необязательно иметь прямую видемость и ловиться независимо от угла и предметов между приемником и передатчиком
--------------------
1 километр = 1024 метр
|
|
|
|
|
Feb 27 2011, 13:57
|
Местный
  
Группа: Validating
Сообщений: 253
Регистрация: 21-12-08
Пользователь №: 42 646

|
Понял, ИК откидаю. Теперь хочу сделать радиосвязь. Почти идеально подошли бы ZigBee (например MRF24J40MA), но проблема в том, что он SPI, на одном устройстве это не проблема, а вот на втором его уже не получится поставить. Дело в том, что там будет 2 мастера и 1 слейв, долго рассказывать почему так, но в общем SPI отпадает. Можно правда сделать аппаратный, но на это уйдет время, которого очень мало, да и не люблю я юзать софтовые интерфейсы.
Может есть какой то надежный модуль типа удлинителя юарта и обязательно двуйсторонний? Я личном много таких знаю, но все они китайские и, ну ооооочень дибильные, в байтах разный мусор и т.д. Тут на первом месте вопрос не в цене а в надежности.
|
|
|
|
|
Feb 27 2011, 13:58
|
Знающий
   
Группа: Свой
Сообщений: 812
Регистрация: 22-01-05
Из: SPb
Пользователь №: 2 119

|
Поделюсь своим опытом. Максимальная скорость - не более 2400, но устойчивая связь, пожалуй, начинается с 1200 и ниже. Между пакетами данных (старт+8бит+стоп) надо вставлять пассивные промежутки длительностью хотя бы 3 бита. Дело в том, что время активности и пассивности передатчика должно быть примерно как 1 к 2, иначе приемник не будет четко работать. Помехоустойчивость достаточно высокая. Лампы дневного света не должны сильно мешать. 50 метров - легко при организации направленного излучения (отражатель, линза). Прямая видимость обязательна на таком расстоянии, хотя конечно все зависит от мощности излучения. Если у вас на передатчике киловаттный лазер, то в принципе можно и в отраженном свете работать. Например, от облаков  Есть трехногие приемные модули с повышенной частотой модуляции входного излучения. Сейчас нет под рукой даташита, но на память могу сказать, что достигается 20кбит скорость передачи. Поищите в и-нете, если такой вариант вам интересен. Ну вот, пока писал, уже тема отпала
|
|
|
|
|
Feb 27 2011, 14:22
|
Гуру
     
Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295

|
Цитата(Br.Misha @ Feb 27 2011, 16:57)  Может есть какой то надежный модуль типа удлинителя юарта и обязательно двуйсторонний? "Удлинитель юарта" - это, например, BlueTooth - модули вроде этих: http://www.sena.com/download/datasheet/ds_promi_esd.pdfА вообще их довольно много. Опять же, может, лучше радиомодем купить ? Это ведь тоже "Удлинитель юарта" ... Кстати, можно взять любой модуль вроде CC1100, и с помощью МК сконвертировать его интерфейс в I2C, который, в свою очередь, поддерживает мультимастерный режим. Ну и последнее. Если нет крайней необходимости, мультимастерный режим лучше не использовать ...
Сообщение отредактировал kovigor - Feb 27 2011, 14:23
|
|
|
|
|
Feb 27 2011, 16:15
|
Местный
  
Группа: Участник
Сообщений: 235
Регистрация: 20-11-10
Пользователь №: 61 032

|
Цитата(Br.Misha @ Feb 27 2011, 17:38)  подключить к юатру напрямую, чтобы не приходилось дополнительно генерировать частоту(тоесть чтобы в приемопередатчике бл встроен генератор)? 1. Что мешает генерировать частоту той же микросхемой, которая название раздела? * 2. Чем не устроил бы вариант размещения темы, например, в разделе Пайка, монтаж, отладка, ремонт? * уже выше про это намекалось.
|
|
|
|
|
Mar 16 2011, 05:32
|
Участник

Группа: Свой
Сообщений: 73
Регистрация: 14-10-08
Из: Omsk
Пользователь №: 40 929

|
Цитата(Леонид Иванович @ Feb 27 2011, 20:26)  Использовал модули YS-1100U (433 МГц), это фактически удлинитель UART. На скорости 9600 бод дальность получается больше 300 метров.
Что касается ИК, то делал софтовый приемник и передатчик кода RC-5 на ATmega48. Но расстояние 50 м - это на пределе, да и скорость там порядка 600 бод. А что можно применить на скорости 250 Кбод? Расстояния до 50-80м, закрытое помещение, гарантированная прямая видимость, передача в одну сторону. На ИК не получится? Как могут влиять отопительные приборы и лампы? Просто видел нечто подобное в системах синхронного перевода - излучающая панель примерно формата A4 - тремя панелями покрывается примерно треть футбольного поля. Мне достаточно зоны приема на противоположной стене примерно 2x2 м (чтоб долго не прицеливаться). В помещении может быть много мобильников, точка Wi-Fi, трубки DECT, микрофонные радиосистемы диапазона 800 МГц.
|
|
|
|
|
Mar 16 2011, 07:00
|
Знающий
   
Группа: Свой
Сообщений: 812
Регистрация: 22-01-05
Из: SPb
Пользователь №: 2 119

|
Цитата(EugenyAM @ Mar 16 2011, 08:32)  А что можно применить на скорости 250 Кбод? Расстояния до 50-80м, закрытое помещение, гарантированная прямая видимость, передача в одну сторону. На ИК не получится? Можно использовать IRDA приемник с приличной входной линзой и отдельным передатчиком. Или что-то типа фидолинка: http://s-kov.narod.ru/optolink/M1/index.htmhttp://s-kov.narod.ru/optolink/index.htm
|
|
|
|
|
Mar 16 2011, 07:38
|
Участник

Группа: Свой
Сообщений: 73
Регистрация: 14-10-08
Из: Omsk
Пользователь №: 40 929

|
Цитата(SKov @ Mar 16 2011, 13:00)  Это уже лазер, не хочется связываться с юстировкой при инсталляции. Хочется повесить две коробки одна напротив другой, чтобы все работало и смещение в процессе на пару сантиметров никому не мешало. Цитата(SKov @ Mar 16 2011, 13:00)  Можно использовать IRDA приемник с приличной входной линзой и отдельным передатчиком. а если с линзой на передающей стороне поиграться? например 1W ИК-диод серии emitter с линзой 15 градусов? а на приемной просто IrDA модуль?
|
|
|
|
|
Mar 16 2011, 08:30
|
Знающий
   
Группа: Свой
Сообщений: 812
Регистрация: 22-01-05
Из: SPb
Пользователь №: 2 119

|
Цитата(EugenyAM @ Mar 16 2011, 10:38)  Это уже лазер, не хочется связываться с юстировкой при инсталляции. Хочется повесить две коробки одна напротив другой, чтобы все работало и смещение в процессе на пару сантиметров никому не мешало. Там лазер только в названии  Если вам не надо 1км, то на 100м отлично работает светодиод. Цитата а если с линзой на передающей стороне поиграться? например 1W ИК-диод серии emitter с линзой 15 градусов? а на приемной просто IrDA модуль? Светодиод тем и хорошо, что у него уже есть линзочка. В принципе, можно поставить доп линзочку мм15-20, как это сделано на фотках. Но лучше линзу на приемнике. А лучше всего - и там и там.
|
|
|
|
|
Apr 10 2011, 00:36
|
Местный
  
Группа: Validating
Сообщений: 253
Регистрация: 21-12-08
Пользователь №: 42 646

|
Купил я TFDU4101. Спаял 2 девайса, ниже схема одного с них. Установил SD в 0, а TXD в 1, должен был загореться светодиод на TFDU4101. Чтобы проверить, я посмотрел на модель через камеру, но ИК-передатчик не горел, я пробовал еще устанавливать SD в 1, но ничего не изменилось. Подскажите плиз в чем косяк. Да, и еще: в даташите на третей странице чертеж модуля выполнен излучателем вперед? Просто если наоборот, тогда у меня плата неправильно разведена.
Эскизы прикрепленных изображений
|
|
|
|
|
Apr 10 2011, 01:31
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(Br.Misha @ Apr 10 2011, 03:36)  Установил SD в 0, а TXD в 1, должен был загореться светодиод "An on-chip protection circuit disables the LED driver if the TXD pin is asserted for longer than 50 μs" Подавайте на TXD импульсы длительностью не более 50mks. Второй момент это если мне не изменяет память активный уровень TXD не "1", а "0".
|
|
|
|
|
Apr 10 2011, 15:14
|
Местный
  
Группа: Validating
Сообщений: 253
Регистрация: 21-12-08
Пользователь №: 42 646

|
С передачей вроде как разобрался, теперь начались проблемы с приемом. Когда передатчик отправляет байт по ИК на приемник, то на приемнике должен загореться светодиод (в прерывании RXC) но он не загорается, потом я просто подключил провод от ТХ передатчика к RX приемника - светодиод загорелся, значит проблема в ИК связи. Потом я отключил юарт и написал в бесконечном цикле if (!CheckBit(PIND, 0)) UART_LED_TX_ON; тоесть если на ноге RXD низкий уровень, то включить светодиод, а через пол секунды он тушится по таймеру. Когда подал питание, то светодиод не горел, включил питание девайса с предатчиком - светодиод загорелся, также загорается когда я нажимаю кнопку на ПДУ или включаю ЛДС. Далее я подключил выход модуля на приемнике к компу (через переходник на CP2102) но в терминале ничего небыло, даже мусора!! Я не могу понять в чем проблема, особенно непонятно, почему когда подключил модуль к ТТЛ преобразователю на компе, то даже мусора небыло(когда коснулся провода передатика то в терминале был мусор, значет преобразваель работает).
Возможно, проблема в том, что я поставил 2 резистора по 68 Ом(в моем прошлом посте схема), а по ДШ и схемам ИК трансиверов в интернете там нужно ставить 14 Ом и 47 Ом, но у меня таких сейчас нету. Купить их смогу не раньше среды, поэтому, чтобы не терять в пустую время, хотелось бы знать, проблема в этих резисторах или в чем то другом?
|
|
|
|
|
Apr 10 2011, 21:42
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(Br.Misha @ Apr 10 2011, 18:14)  проблема в этих резисторах или в чем то другом? Сомневаюсь что проблема в этих резисторах. Хотя можете поэкспериментировать, тот который подключен к VCC можно заменить нулёвкой (перемычкой), второй влияет на мощность передатчика (т.е. дальность). Когда подключаете модуль к компу, попробуйте переключить COM порт в IrDA режим. На мамке как правило есть специальный разъем для подключения IR модуля, вот к нему и подключите. Цитата Когда передатчик отправляет байт по ИК на приемник, то на приемнике должен загореться светодиод (в прерывании RXC) но он не загорается, Приемник модуля не принимает сигнал собственного передатчика, точнее он его то принимает, но отбрасывает.
|
|
|
|
|
Apr 15 2011, 22:36
|
Местный
  
Группа: Validating
Сообщений: 253
Регистрация: 21-12-08
Пользователь №: 42 646

|
Седня опять мучался с модулем. Поставил резисторы 47ом и 15ом. Теперь мообще приколько получается: На обоих модулях выставленна скорость 100000 бод. На передатчике передаются байты, на приемнике в прерывании по приему юарта загорается светодиод и через пол сек по таймеру тушится. Но светодиод на приемнике не загорается, даже если расстояние пол см. но если напрявляю обох (и приемник и передатчик) на ЛДС (11ватт), то светодиод загорается когда передатчик что нить передает. Когда отключаю ЛДС - не горит. Думал из-за лампы, но когда передатчик выключен, то на приемнике лед не горит (всмысле когда ЛДС направлена на приемник). Думал что ИК приемнику нужна модуляция, и ЛДС ее добавляет. Взял ПДУ, понажимал кнопочки - приемник никак не реагирует.
Поставил скорость 9600. на ПДУ опять не реагирует, но когда направляю на ЛДС, то загорается даже когда выключен передатчик.
В чем тепе может быть проблема?
|
|
|
|
|
Apr 16 2011, 12:18
|

Частый гость
 
Группа: Участник
Сообщений: 148
Регистрация: 23-02-07
Пользователь №: 25 618

|
Цитата(Br.Misha @ Apr 16 2011, 01:36)  Седня опять мучался с модулем. Поставил резисторы 47ом и 15ом. Теперь мообще приколько получается: На обоих модулях выставленна скорость 100000 бод. На передатчике передаются байты, на приемнике в прерывании по приему юарта загорается светодиод и через пол сек по таймеру тушится. Но светодиод на приемнике не загорается, даже если расстояние пол см. но если напрявляю обох (и приемник и передатчик) на ЛДС (11ватт), то светодиод загорается когда передатчик что нить передает. Когда отключаю ЛДС - не горит. Думал из-за лампы, но когда передатчик выключен, то на приемнике лед не горит (всмысле когда ЛДС направлена на приемник). Думал что ИК приемнику нужна модуляция, и ЛДС ее добавляет. Взял ПДУ, понажимал кнопочки - приемник никак не реагирует.
Поставил скорость 9600. на ПДУ опять не реагирует, но когда направляю на ЛДС, то загорается даже когда выключен передатчик.
В чем тепе может быть проблема? Попробуйте так, ваш проц запустите на постоянную передачу данных. Ко второму приемнику(я надеюсь их у вас два) подключите светодиод(через 470 ом на общий) и опишите что видите. Во время передачи на SD подаете?
Сообщение отредактировал Marian - Apr 16 2011, 12:25
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|