Комментарии 58
Очень странно подключено питание TSOP. Обычно конденсатор подключают к выводам питания микросхемы (TSOP), а потом уже резистор ставят (если нужен). Тогда получается RC-фильтр.
В даташите на TSOP именно так и нарисовано.

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


Для заявленных целей "линия на пересечение" такая штука не очень подходит с использованием обычного ИК диода и TSOP4856. Ну естественно, не для "настольных" демонстраций, а для более менее больших дистанций и реального применения.


Приемник TSOP4856 чувствительный и выход у него дискретный.
Даже если сделать "трубки" (попытаться сделать луч) то не сильно помогает.
Прекрасно ловит на переотраженный сигнал и нужно уже совсем "широко" закрыть/пересечь линию.
ИК диод (что такой, что мощный на радиаторе) — это не лазер..


А вот если заменить диод на ИК лазер… У ИК лазеров, как правило, есть вход на модулирующий сигнал.


С ИК лазером у меня получилась линия на 30 метров в легкую. Можно наверное и больше, но размер дачного участка не позволял и пятно даже ночью уже сложнее наводить на приемник.
(пятно света от лазера с камерой без ИК фильтра отлично видно)

Интересное у вас решение, особенно интересно для чего оно применяется. Конкретно для моего применения достаточно 5-10 метров, а замеры показали, что данная реализация достигает 14 метров при полученном токе.
Кстати, да, у лазеров труднее с наводкой, у диода луч расширяется, ДН 34 градуса. Все это я к чему, все зависит от конкретной цели. Конечно же, Спасибо вам за то, что делитесь своим опытом.

Лазер я купил для проверки "Анти-Стокс эффекта" (https://habr.com/ru/post/401483/) но потом, ради интереса, поэкспериментировал и с сигнализацией на основе "линии". В общем то ничего сложного в сопряжении стандартного ИК приемника и модуляции сигнала для него нет. Дел на один вечер.


Подростки постоянно лазили на участок и это было стимулом экспериментировать с "https://habr.com/ru/post/248327/". Но после того как детки случайно баню сожгли на даче, перестали лазить. Наверное испугались. Да и что им предъявить то. Объектив с переменной кратностью не успел сделать и четко опознать на кадрах кого то сложно особенно в темноте.

На Али можно найти световозвращающую пленку, мы такую на соревнованиях по даунхиллу на финишном створе использовали, чтобы провода не тянуть. Лазер модулируется "из коробки", на приемнике стоит фильтр, нужно просто реагировать на триггерный выход.

"Так в моем случае используется резистор 1 Ом, амплитуда тока цепи составляет 20 мА..."
Где-то ошибка. Падение напряжения на ИК-светодиоде, по памяти, — 1,1-1,3 В, падение на резисторе — 0,02 В. Значит ключ — в активном режиме.

Да, скорее всего вы правы, транзистор не в насыщении.
В общем, в статье я обратил на это косвенно внимание, но больше это было про пороговое напряжение. Благодарю за заметку, кому-то она сильно поможет.

А вы поставьте обычный биполярный n-p-n транзистор в схеме с эмиттерным повторителем.

С общим эмиттером?


P.S. Хотя… всё равно напряжению надо где-то упасть, если светодиод управляется не током...


P.P.S. Vgs(th) для 2N7002 производства Diodes — 1,0-2,5 В при токе стока 0,25 мА.

У данного транзистора порог насыщения 1.0-2.5в при токе стока 25.мА Собственно вот и получается что в некотором роде ваша схема является неким источником тока, а не ключевой. Возьмите транзистор irlml2803 на нем ток будет около 150ма при 3В на затворе.

Значит ключ — в активном режиме.
У 2N7002 сопротивление канала 2.8-5 Ом и то при 10V на управлении. Нужно другой транзистор
Так в моем случае используется резистор 1 Ом, амплитуда тока цепи составляет 20 мА
Светодиод TSAL6200, падение напряжения 1.35V, при 1 Ом получаем ток через светодиод (3.3 — 1.35) / 1 = почти 2A. О какой амплитуде идет речь? Там точно 1 Ом? Ничего, что у светодиода максимальный пиковый ток по даташиту 1.5А?
Кстати, там и у 2N7002 сопротивление в открытом состоянии будет существенно выше 1 Ом, а пиковый ток при Vgs = 3.3V будет, опять же по даташиту, в районе максимум 0.1А
Величина максимального тока диода зависит от длительностей импульсов: при коротком импульсе и большой скважности 1.5 А, при длительных импульсах и маленькой скважности 100 мА, это по даташиту.
А так вы сами же и ответили на свой вопрос во втором абзаце. Сопротивление транзистора немаленькое при 3.3 В на затворе, поэтому и ток небольшой. Сразу скажу, что у меня устройства мобильные, на батарейках работают, мне ток большой не нужен, и дальности в 14 м мне хватает. По даташиту можно выжать дальность, по-моему, до 40 м.
Сразу скажу, что у меня устройства мобильные, на батарейках работают, мне ток большой не нужен, и дальности в 14 м мне хватает. По даташиту можно выжать дальность, по-моему, до 40 м.


А можно скомбинировать вот с таким.

В дневное время дальность ИК линии связи достигает нескольких сотен метров. Ее ограничивает посторонняя засветка (прежде всего светлый фон за корреспондентом), увеличивающая уровень шума на приеме. В вечернее и ночное время она возрастает до 1,5 км.
Пожалуйста, прочитайте даташит на TSOP4856, там указана дальность.
Так я же не про TSOP4856, а про резкое увеличение дальности, путём использования другой обвязки (декодер вам потребуется собственный, конечно).
Неужто советский ик-светодиод в режиме приёма будет лучше, чем специализированный ик-приёмник? Отчего-то вспоминается Станиславский.
Ну скажем так, я верю, что автор получал 1,5 км, но что-то мне подсказывает, что это в основном за счёт линз и прочих труб. Не думаю, что от применения более современных и специализированных излучателей/приёмников ситуация ухудшится.
Ясен пень, свето- и фотодиод ставятся в фокус линзы. ;)

Не думаю, что от применения более современных и специализированных излучателей/приёмников ситуация ухудшится.


Учитывая, что эти специализированные приёмники делались для конкретного применения (например, ИК-пульт телевизора, где 1.5 км вряд ли надо), ситуация легко может кардинально ухудшиться от их применения.
Вы отличаете амплитуду от среднего за период значения? И раз все учли в транзисторе, зачем тогда вообще резистор ставили, какой в нем стратегический замысел? И вообще очень сомневаюсь, что в даташите на фотодиод вы найдете хоть что-то про дальность, этот параметр зависит от кучи факторов, которые производителю фотодиода вообще неинтересны.
Я про амплитуду и говорю.
Резистор нужен для уменьшения тока в цепи и для повышения безопасности.
Тут используется не фотодиод, а приемник. Внутри этого приемника есть фотодиод, но так же есть и другие компоненты. В даташите на приемник указана дальность «Transmission distance».
Точный расчет величины сопротивления резистора является трудным, конечно, существуют специальные формулы, но я предлагаю подобрать резистор опытным путем.


Можете смело оперировать максимальным импульсным током светодиода не боясь его сжечь, это улучшит дальность прибора. Не забудьте поставить около светодиода батарею из керамических конденсаторов для уменьшения пульсаций по питанию. Так же бы я посоветовал поменять приемник на связку ОУ и компаратора в качестве детекторов импульсов, такой подход позволит использовать код Манчестера для кодирования. Для защиты от подделки сигнала с помощью записи и воспроизведения сигнала передатчика, попробуйте передавать закодированный сигнал алгоритмом cbc mac и случайным вектором инициализации.

У меня раньше была идея не просто модулировать луч пачками импульсов, а передавать какие-нибудь случайные данные. Типа, генерируем случайное значение, посылаем его, принимаем его, сравниваем с отправленным. Если совпало, сбрасываем счетчик ошибок, сбрасываем тревогу и начинаем сначала. Если не совпало, то инкрементируем счетчик ошибок и проверяем на максимально допустимое число ошибок. Если привысили порог, то выдаём тревогу и начинаем сначала. Если еще не превысили, то начинаем сначала.
Такой метод должен защитить фотоприемник от злонамеренного засвета другим диодом. Даже если он будет подключен к такому же генератору импульсов. Идея так и не дошла еще до реализации.

Я думаю, что это можно сделать.
Ещё в такой ситуации нужно учитывать мощность помехи, потому что при засветке приёмник уменьшает коэффициент усиления АРУ, и полезный сигнал может просто потеряться.

Зачем городить огород, есть готовые инфракрасные бареры,, к примеру,,, ИК-барьер Lightwell LBW-30-4

Странный вопрос. Кто-то, знаете ли, городил огород с разработкой этих самых "готовых барьеров". Всё, ВООБЩЕ ВСЁ, кому-то приходится делать и этому нужно учиться.
Ну и да, кому-то просто по фану заниматься изготовлением своих велосипедов. Это называется "хобби".

Очень странные впечатления от статьи, если честно…

Во-первых, у stm32 есть USART IrDA SIR — то есть никаких таймеров не надо, все придумано и сделано до нас. И код, при использовании HAL, умещается в одну-единственную строку (для отправки данных). Ну можно с использованием DMA и циклического буфера организовать передачу любого сигнала, конечно.

Во-вторых, выше уже писали про очень странную схему управления передатчиком. Обычно ставят mosfet типа irlmlXXXX и всё — ну если нужно ограничить ток потребляемый то да, можно ставить резистор, но уж не 1 Ом, конечно… при питании от 3.3 В и требуемом токе в 1А (а падение на светодиоде обычно 1-1.2В) нужно 2 Ома — но вот только даже наличие накопительного конденсатора на 200-1000 мкФ не спасет, если в качестве источника высокоомная батарейка… Но если поставить литий-ионный элемент — то да, вполне удастся сжечь светодиод :)
А какова аргументация? Т.е. вы используете явно избыточный для данной задаче камень, но по каким-то причинам не используете простое в использовании готовое программное решение.
Ну если так подходить, то тогда вообще достаточно мультивибратора и селективно-электронного реле. Никаких микроконтроллеров. :)
Это и есть рациональный подход ) На глаза мои наворачиваются слезы, когда я вижу ардуинопроекты, программно эмулирующие RS-триггер. Нет, греха в таких проектах нет, но стоит ли выкладывать в сеть очередной хеллоуворд под соусом готового проекта, стоящего внимания почтенной публики?
Ну так деталей будет несколько больше (и по цене будет больше, наверное). Да и совсем другой уровень «Hardware разработчика» потребуется. Вот и имеем мощный микроконтроллер на ерундовой задаче. Зато более-менее доступно для повторения совсем уж школьниками.

Два транзистора, vs МК. Четыре резюка вместо одного, два конденсатора. Именно школьники такое в радиокружках и собирают. По цене — точно ниже, не нужны стартовые расходы на программатор, паяется старым советским сороковаттным паяльником, выдерживает ядерный взрыв. Полученные при изготовлении навыки помогут эмбеддеру гораздо больше, чем настройка двух таймеров.

Так это только мультивибратор (и то его придётся посчитать для заданной частоты). Плюс ещё приёмную часть надо делать. Потом настраивать СЭР.
Ну, а программатор можно взять у кого-нибудь.

Полученные при изготовлении навыки помогут эмбеддеру гораздо больше, чем настройка двух таймеров.


Навыки-то помогут, да только ситуация тут такая же, как с велосипедостроением. Велосипед тоже навыки развивает хорошо, да только не приветствуют его отчего-то. Данную задачу легко решает обычный микроконтроллер — это современно, в тренде, и доступно почти любому. Поэтому схема на нём. А собирать аналоговую игрушку не востребовано и вообще «прошлый век», коль есть специализированные микросхемы, решающие требуемые задачи (и пофиг, что разработчик не понимает, как эта задача решается на дискретке — на контроллере со специализированной обвязкой же он её решил). Примерно также пользуются всякими tensorflow, не особо понимая математику внутри.

Ну у кого-то они ток ограничивают, у кого-то просто ток понижают.

Статья и правда неоднозначная. С одной стороны — автор молодец, что не убоялся регистров, но с другой стороны — очень странная схемотехника. По изложению есть вопросы. Описана работа таймеров но нет внятного объяснения, что же такое RCC_ICSCR и почему он настраивается именно так. Нет никакой политики энергосбережения — молотим вечный while, даже без __WFE(). А зачем тогда ставить камень из линейки UltraLowPower?

Цель статьи была в том, чтобы показать способ создания «датчика движения» на STM32 с использованием простейшей схемотехникой из даташитов. В статье не даётся упор на идеальность и исключительность конкретно этого решения (почти в каждом абзаце написаны такие предложения: «у вас могут быть свои частоты МК», «можно поставить другой транзистор с лучшими параметрами, чтобы увеличить дальность», «можно увеличить напряжение питания» и тд
Во-первых, главное было показать читателю способ формирования пачек импульсов определённой частоты на STM32, а также показать: как их принимать. Соответственно, люди будут брать код для своих проектов, со своими частотами и тд, в таком случае рассказывать про настройку тактирования самого МК — излишнее для этой статьи.
Во-вторых, всегда нужно учитывать конкретную цель проекта или решения. Вот люди пишут «надо поставить другой транзистор, чтоб ток на максималку был и тд», да я и не спорю, что это хороший вариант, но вариант для чего? Конкретно мне надо было 5 м дальности, мое устройство работает от батареек, мне, вообще, большой ток не нужен, поэтому и транзистор выбран подешевле и попроще, более того, его характеристик хватило с запасом. Кому-то и метра будет достаточно. Кому-то придётся поменять намного схемотехнику, что бы добиться большей дальности.
По поводу «использования слишком навороченных элементов для решения простейших задач»: соглашусь с комментариями выше, что уже в большинстве случаев проще использовать микроконтроллер. Да и врятли у вас будут просто платы с ИК диодом и ИК приемником, у кого-то ещё будут антенны с трансиверами для передачи данных в сеть или на другие устройства, у кого-то проводные интерфейсы, у кого-то платы будут решать ещё множество других задач. Поэтому вышеприведенное замечание про необоснованность использования МК в таких задачах теряет всякий смысл.
Извините, что в одном комментарии ответил сразу на несколько.

с использованием простейшей схемотехникой из даташитов
Точный расчет величины сопротивления резистора является трудным
Вы понимаете, что это днище днищенское? Особенно после статьи про симуляцию антенны в HFSS такое вот писать. Да хоть калькулятор какой бесплатный скачайте, если не можете законами Кирхгофа на бумажке воспользоваться.

Конкретно мне надо было 5 м дальности, мое устройство работает от батареек, мне, вообще, большой ток не нужен
дальность связи при таком токе достигает 14 м в зависимости от конфигурации передаваемого сообщения
Это тоже днище. Нельзя разрабатывать систему в которой дальность связи, т.е. параметры канального (физического) уровня зависят от протокола (а не наоборот). Поэтому вам и указали, что стоило выбрать нормальный транзистор, который будет пропускать через себя всё, а ток диода стабилизировать нормальным резистором, а не одноомником. Вы не задумывались над тем, что параметры транзистора в активной области могут плавать в зависимости от конкретного экземпляра? И где вы их достанете? Для резисторов хотя бы ТКС есть и всегда можно посчитать худший-лучший случай и подобрать что-то подходящее.

Материал рассчитан на начальный уровень подготовки
Нельзя такое неофитам показывать. Они потом будут бездумно повторять, а когда перестанет нормально работать, никто не будет в курсе, почему так.
«Отличный тост… прекрасный тост»… А на Atmege128 + «обычный» GCC нельзя это сделать?
Даже за «живое» взяло)) Можно даже JacOS применить.
А зачем? Оно будет:
* проще
* лучше
* дешевле
* быстрее?
Не думаю.
Точный расчет величины сопротивления резистора является трудным, конечно, существуют специальные формулы, но я предлагаю подобрать резистор опытным путем.

O tempora, o mores! За такое в семидесятые в восьмом классе в далеко не самой лучшей школе Нижнего Зажопинска на краю империи мне бы влепили двойку на уроке физики и, возможно, вызвали родителей. Теперь это уровень инженера-разработчика электронных устройств на микроконтроллерах. Ну питание 3.3 вольта, при максимальном токе 0.1A на диоде примерно 1.5 вольта (уточняется в даташите), значит на резисторе примерно 1.8 вольта (на открытом транзисторе — практически 0). Спрашивается, какое сопротивление резистора, если при токе 0.1A падение напряжения на нем 1.5V? Ага, суперспециальная формула для особо одаренных — закон Ома.

Дальше статью не читаю, хотя тема интересная. Можно было бы обсудить, что, возможно, не нужны два типа устройств — приемники и передатчики, а лучше приемник и передатчик в одном устройстве, — с одного столба принимает сигнал, на другой светит.

TSAL6200 на фиг не нужна, так как стоит как микроконтроллер и очень ограничена в возможностях. Взять фотодиод и светодиод с углом градусов 6 (стоят копейки) и, возможно, даже не нужен будет аналоговый усилитель контроллера. А, если задействовать усилитель, то токи на светодиод будут вменяемые, что для батарейного питания принципиально.

Вначале устройства светят на больших токах, а затем, раз у нас кольцевая сеть — договариваются об оптимальных токах светодиодов / усилениях ОУ, и, возможно, частоте модуляции. И т.д. и т.п.

Епта, может эмбедеру лучше начинать не с кодирования суперустройств на рвзных языках, а тупо с закона Ома?
TSAL6200 на фиг не нужна, так как стоит как микроконтроллер и очень ограничена в возможностях.

Зарапортовался… это TSOP'ку можно заменить. А TSAL6200 — как раз банальный светодиод.

А TSAL6200 — как раз банальный светодиод.

Ага, отвлекся, скопировал не то и не заметил. Спасибо.

***

Чтобы два раза не вставать, карма ограничивает.
Всё бы так, как вы написали, да только вы не учли, что транзистор не полностью открыт, а частично…
То есть какой ток идет через него и через светодиод вы не знаете, — сгорят же они, если поставите полностью заряженные Li аккумуляторы. А если сильнотоковые поставите, то могут и взорваться и компоненты и сами аккумуляторы.

Защитные очки хоть одевайте, без шуток. И держитесь подальше от того, что может легко загореться. Ведро с песком иметь под рукой не помешает.

Всё бы так, как вы написали, да только вы не учли, что транзистор не полностью открыт, а частично… Имеет смысл дальше что-то с вами обсуждать? Или вам было важнее принизить значимость автора и статьи?
Жаль не могу плюсовать. В рид-онли уже лет 10. Всё никак не соберусь накропать полезность. Но такие статьи… из разряда «из пушки по воробьям» )) Ну либо показать народу, как автор умеет этой «пушкой» управлять((
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.