Увеличить направленность и дальность действия ИК-передатчика
Я работаю над проектом по управлению различными устройствами с помощью Arduino и ИК-светодиода, поэтому я тестирую эту схему:
Итак, всё работает нормально, но я хочу увеличить дальность передатчика. Сейчас он едва реагирует на расстоянии 1 метра. Хочу увеличить её хотя бы до 5 метров. Я пробовал увеличить чувствительность приёмника, подав 5 В на TSOP. При этом дальность приёма удовлетворительная, но направленность слишком большая: передатчик реагирует даже при направлении ИК-светодиода в противоположную сторону (внутри помещения, возможно, излучение отражается от стен — при 3,3 В этого не происходит). Я знаю, что дальность передатчика можно увеличить, увеличив ток, протекающий через светодиод, вот так (поправьте меня, если я ошибаюсь):
Проблема в направленности излучателя: я не хочу, чтобы все устройства в комнате включались при попытке включить телевизор. Устройства располагаются на расстоянии до 1 метра друг от друга, а дальность передачи должна быть не менее 5 метров.
Также было бы полезно, если бы кто-нибудь разъяснил, какая часть на самом деле чувствительна (часть, которая выглядит как светодиод, или плоская задняя часть — изображение ниже) для TSOP, т.е. какая часть принимает импульсы, чтобы я мог закрыть ее лентой (чтобы она принимала сигнал только с одного направления), если ничего другого не поможет.
Любая помощь будет оценена по достоинству, спасибо.
@Teja Allani, 👍1
Обсуждение1 ответ
Лучший ответ:
ИК-датчики обычно устроены таким образом, чтобы принимать сигнал с максимально широкого диапазона, в том числе через стены, потолок и т. д. для отражения сигнала на приёмник. Логика проста: пользователь нажимает кнопку, а телевизор реагирует. Не нужно пытаться попасть в определённую точку на телевизоре невидимым светом. Это не шутер, а скорее дистанционный выключатель, и если он работает независимо от направления, то это лучший вариант. Для выбора разных устройств передатчик отправляет разные коды. В идеале каждое устройство в комнате получает одинаковый входной сигнал, просто телевизор «знает», что должен реагировать, скажем, на диапазон 0xFF0000..0xFF00FF, а радиомодуль знает, что должен реагировать на диапазон 0xFF1100..0xFF11FF (это сложнее, диапазоны не непрерывны и могут перекрываться, но принцип тот же).
Поэтому лучший способ различать устройства — использовать более длинные числа и позволить устройству реагировать только на некоторые выбранные (специфичные для этого устройства) и игнорировать все остальные.
Но если вы настаиваете на «стрельбе прямо в голову», то способ заключается в том, чтобы поместить и передатчик, и приёмник в какие-нибудь трубки (например, в канал ствола винтовки), чтобы данные могли отправляться/получаться только из какого-то небольшого конуса пространства, а связь происходила только при совпадении этих конусов. В любом случае, вероятно, он будет реагировать на отражение от стены за вашей спиной (стреляя в противоположном направлении), поскольку тогда конус будет значительно увеличиваться с расстоянием (и, следовательно, поразит больше приёмников), а также на дифракцию на частицах в стене (чтобы стена освещала все стороны, а не только конус, как зеркало). И этому практически ничто не препятствует. (Да, можно накрыть стену какой-нибудь неотражающей чёрной тканью, но станете ли вы этим заниматься?)
Что касается активной части приёмника, то в техническом описании указано, что центр чувствительной области находится в центре «диодоподобной» части, с углом чувствительности около 80° в обе стороны по вертикали и горизонтали (с наилучшей чувствительностью примерно по прямой) http://html.alldatasheet.com/html-pdf/26589/VISHAY/TSOP1738/1117/6/TSOP1738.html - но в принципе он может каким-то образом принимать сигнал практически из любой точки на «диодоподобной» стороне.
Задняя сторона (плоская) не должна быть чувствительной.
Также вы можете (и должны) использовать резистор между выводом и базой транзистора, чтобы ограничить ток от вывода. (транзисторы имеют коэффициент усиления около 100 и более, поэтому вам нужен небольшой ток, чтобы полностью открыть его).
Светодиоды потребляют ток, а не напряжение, поэтому необходимо ограничить ток (а не напряжение) через светодиод, чтобы он не перегорел и чтобы он светил ярче или ярче. Для светодиодов следует использовать источники тока (например, 20 мА, не больше и не меньше для обычного светодиода), а не источники напряжения (например, 9 В, 5 В, 3,3 В или любое другое значение, не больше и не меньше).
Но поскольку существуют гораздо более легкодоступные источники напряжения, резисторы используются для ограничения тока через светодиоды как простой «обман».
Вы берёте напряжение источника (например, 9 В), вычитаете все известные напряжения по всей цепи (обычно 0,7 В для транзисторов, 1,2 В для светодиодов и т.д.) и предполагаете, что остаток тратится на резистор. Зная максимально допустимый ток для вашего светодиода (обычно 20 мА для «обычного»), вы вычисляете сопротивление резистора, разделив напряжение (в В) на ток (в А), чтобы получить сопротивление (в Ом).
На вашем рисунке: 9 В – 0,7 В – 1,2 В = 7,1 В на резисторе, 7,1 В/0,02 А = 355 Ом. Возьмите любой резистор, равный или больше, и он будет светиться бесконечно.
Первый дешёвый ИК-светодиод, который я нашёл, имел типичный постоянный ток 20 мА, абсолютный максимальный номинал при Ta = 25 °C (комнатная температура) составляет 100 мА, а пиковый прямой ток (рабочий цикл 1/10, длительность импульса 0,1 мс) — 1 А. Но эти абсолютные значения — это значения, при которых светодиод, вероятно, быстро выйдет из строя, поскольку любая более высокая температура (например, летом) быстро снижает его. Под «абсолютными максимальными номинальными значениями» следует понимать «значения, которые могут случайно вывести его из строя в любой момент, если я к ним приблизись», а не «производитель рекомендует использовать его в экстремальных условиях» (невозможно создать идеальные лабораторные условия для любого устройства при нормальном использовании).
Но если вы хотите увеличить мощность, рискуя повредить светодиод, можно установить резистор всего лишь на 7,1 В/0,1 А = 71 Ом или даже на короткие импульсы 7,1 В/1 А = 7,1 Ом, но я готов поспорить, что светодиод всё равно скоро сгорит. Я бы рискнул и на 80 Ом при коротких импульсах, но он не так сильно нагревается, как светит. Ознакомьтесь с техническим описанием и пробуйте только на свой страх и риск.
TLDR: Я предлагаю использовать уникальные коды вашего отправителя Arduino для разных приемников, поскольку другим способом вы не сможете достичь своей цели с достаточной уверенностью.
Используйте свой приемник для сканирования всех имеющихся у вас обычных пультов дистанционного управления, а затем выберите что-нибудь совершенно другое для ваших приемников Arduino.
Большое спасибо. Это развеяло многие мои сомнения. Если ИК-излучение устроено таким образом, то есть ли альтернатива, которая могла бы обеспечить направленность и дальность, например, маломощный лазерный передатчик и приёмник, который я мог бы использовать с Arduino?, @Teja Allani
Да, например, лазерный передатчик и фоторезистор, как здесь: http://www.instructables.com/id/Arduino-Laser-Tripwire/ (или, по сути, любой фотоприёмник — фотодиод, фототранзистор, фоторезистор, даже обычный светодиод можно использовать в качестве приёмника...). Но вам придётся разработать какой-то «протокол», если вам нужно что-то большее, чем просто включить его, когда вы светите туда. Кроме того, вам нужно будет учитывать дневной свет, поэтому поместите приёмник в какое-нибудь отверстие/отверстие, чтобы он не так сильно страдал от обычного света. И вам всё равно придётся использовать модулированную ШИМ, чтобы отфильтровать другие источники света (например, ИК)., @gilhad
Просто погуглите Arduino laser :) Или arduino light receiver или arduino transmitter — куча примеров повсюду :), @gilhad
- Использование VS1838B с Arduino
- Как выбрать вывод передачи в библиотеке IRremote для Arduino Uno?
- Ошибка "collect2.exe: error: ld returned 1 exit status"
- Как увеличить расстояние обнаружения на датчике обхода препятствий Arduino KY-032?
- Как подключить ИК-передатчик и модуль приемника?
- Tone() конфликтует с библиотекой IRremote (множественное определение `__vector_7')
- Модуль HW-477 с ИК-датчиком VS1838B: Помощь с выводами
- ESP32 ИК-пульт
Почему все устройства включаются? Разные устройства и функции имеют разные «коды»., @Bra1n
Я бы начал с резистора меньшего номинала. Светодиоды можно нагружать довольно сильно, поскольку они горят лишь короткое время (38 000 импульсов в секунду). ИК-излучение от стен — это нормально. Пришлось это предотвратить. Пульт от телевизора работает лучше, если направлять его в потолок., @Gerben
Я использую один и тот же код NEC для всех устройств. Это лишь часть проекта: устройства взаимодействуют через Wi-Fi, а для выбора устройства используется ИК-порт. Для этого требуется использовать один и тот же код., @Teja Allani
@Gerben Я использую резистор на 330 Ом, у меня есть пара резисторов на 100 Ом, попробую. Можно ли просто убрать резистор и замкнуть светодиод и коллектор транзистора, поскольку он не подключен напрямую к выводу ввода-вывода Arduino? Я тестировал в разных комнатах и обнаружил, что отражения от стен чаще происходят в комнатах с меньшим количеством мебели. Спасибо., @Teja Allani
Не использовать резистор — плохая идея. Если нужно ещё меньшее сопротивление, можно использовать два резистора по 100 Ом параллельно. Кстати, между выводом Arduino и базой транзистора обязательно нужно поставить резистор!!!, @Gerben
Хорошо, я добавлю резистор между базой и контактом ввода-вывода., @Teja Allani
Даже если вы попытаетесь замаскировать датчик, у вас все равно возникнут проблемы с отражением ИК-излучения от объектов и, возможно, даже от людей. Я предлагаю вам пересмотреть механизм управления/выбора., @Bra1n
Вам понадобятся дискретные ИК-излучатели, также известные как «бластеры». Некоторые из них оснащены небольшими присосками, которые плотно прилегают к ИК-датчику устройства, гарантируя, что код получит только нужное устройство., @dandavis
Используйте красный лазер вместо ИК-излучающего диода., @Avamander
Да, думаю использовать его., @Teja Allani
Могу ли я получить исходный код, пожалуйста? С наилучшими пожеланиями., @Erwin
более подробная информация о вопросе есть на этом сайте? спасибо! https://electronics.stackexchange.com/questions/371867/what-is-the-relationship-between-emitter-intensity-ie-with-the-forward-current-i, @lukeluck