Вот, тоже об этом подумал.Rapra писал(а): Пт июл 03, 2026 19:07:08 Тут ведь главное, что ДО ЭТОГО у автора не было проблем. А значит, на плате Ардуино было все правильно сделано.
Устройство на Ardiuno для контроля пересечения барьера.
- Реклама
Да. Если бы не одно "но" - с этим блоком питания два предыдущих усилителя работали прекрасно. И там питание на аналоговую часть подавалось после цифровой.roman.com писал(а): Пт июл 03, 2026 19:01:46 но в любом случае все начинается с нормально блока питания.
P.S.: Кстати, вот думаю: а, может, коэффициент усиления слишком велик? Как его отрегулировать?
- Сообщения: 622
- Зарегистрирован: Пн фев 16, 2026 17:30:02
Введением обратной связи. Самое простое - резистор на 50 - 500 между эмиттером транз и землей.
Однако, следует замерить амплитуду полезного сигнала на выходе второго каскада - хватает ли её для распознавания микроконтроллером? Размах напряжения на входе должен быть примерно от 0,5 до 3 В. Если меньше, то логические уровни не будут правильно распознаны.
Однако, следует замерить амплитуду полезного сигнала на выходе второго каскада - хватает ли её для распознавания микроконтроллером? Размах напряжения на входе должен быть примерно от 0,5 до 3 В. Если меньше, то логические уровни не будут правильно распознаны.
Решил таки чуток углубиться...
Зачем такие сложности с по сути оптическим энкодером колесика мыши (только габаритом побольше и с особыми условиями на среду распространения изучения с источниками оптических помех)?
Да и сама программа - мы ж ведь под ардуино работаем - там много чего уже готового имеется - зачем лишнее усложнение без жесткой надобности то делать?...
Собственно, ежли б на прием не фотодиоды стояли, а ТСОПы (готовые преобразователи ИК сигнала систем дистанционного управления), там вообще без особых осложнений можно было программу построить...
В противном случае придется из рассыпухи или программно повторять начинку вот этих деталюшек: или чего то аналогичного... Не слишком благодарное дело..
с моего взгляду примерно вот такая схемка может быть (примерный набросок, где вместо ТСОП простые усилители условно обозначены)
выводы у адуринки в принципе можно любые удобные использовать (кроме "чисто аналоговых" и, может быть, поберечь комплект для программирования).
А вот под ИК светик придется отдельный каскад делать - ток там заметно больше 20мА, да и развязка по силовому току удачнее будет.
Для цепей ~220 вольт предпочтительно ставить MOC3083, а не MOC3063...
Воть пока как то такие размышлямсы...
Может позже и прожку набросаю - но под использование готового детектора (какого нибудь из ТСОПообразных)...

Зачем такие сложности с по сути оптическим энкодером колесика мыши (только габаритом побольше и с особыми условиями на среду распространения изучения с источниками оптических помех)?
Да и сама программа - мы ж ведь под ардуино работаем - там много чего уже готового имеется - зачем лишнее усложнение без жесткой надобности то делать?...
Собственно, ежли б на прием не фотодиоды стояли, а ТСОПы (готовые преобразователи ИК сигнала систем дистанционного управления), там вообще без особых осложнений можно было программу построить...
В противном случае придется из рассыпухи или программно повторять начинку вот этих деталюшек: или чего то аналогичного... Не слишком благодарное дело..
с моего взгляду примерно вот такая схемка может быть (примерный набросок, где вместо ТСОП простые усилители условно обозначены)
Спойлер
А вот под ИК светик придется отдельный каскад делать - ток там заметно больше 20мА, да и развязка по силовому току удачнее будет.
Для цепей ~220 вольт предпочтительно ставить MOC3083, а не MOC3063...
Воть пока как то такие размышлямсы...
Может позже и прожку набросаю - но под использование готового детектора (какого нибудь из ТСОПообразных)...
- Вложения
-
- quest.GIF
- (19.67 КБ) 124 скачивания
- Реклама
Это всё хорошо, но каков алгоритм взаимодействия сигнала с ТСОП? Я, почему-то, не думаю, что скетч будет короче.
- Сообщения: 398
- Зарегистрирован: Чт май 07, 2026 00:30:38
Но тогда получается, что любой программист, который перестал писать линейный код в main и дошёл до функций и тем более до модульности - он уже стал использовать некий уровень абстракции.Rapra писал(а): Пт июл 03, 2026 14:52:39 Hardware Abstraction Layer, чтобы подчеркнуть этим отличие общего понятия от библиотеки, поставляемой производителем. Hardware Abstraction Layer - это один из уровней абстракции, принятой в философии построения программы. Вы же не будете из main напрямую дергать регистры и биты?
видимых ошибок в последней схеме нет.
если сразу устройство не работает то нормальные люди разбивают сложную задачу на ряд простых - проверяют отдельно работу всех каскадов. спокойно и без суеты ))
например так:
- отключаем питание МК.
- включает питание первого усилителя. смотрим сигнал на выходе. никаких шумов быть не должно. просто тишина )) можно послушать в наушниках через конденсатор.
- подключает фотодиод. берем пульт от телевизора. подносим к фотодиоду. видим и слышим импульсы частотой 1 кГц и заполнением 38 кГц. на расстоянии около метра-два должны хорошо слышать и видеть сигнал пульта телевизора.
- аналогично со вторым усилителем.
- включает питание МК. никаких посторонних шумов быть не должно.
- проверяем работу программы.

если сразу устройство не работает то нормальные люди разбивают сложную задачу на ряд простых - проверяют отдельно работу всех каскадов. спокойно и без суеты ))
например так:
- отключаем питание МК.
- включает питание первого усилителя. смотрим сигнал на выходе. никаких шумов быть не должно. просто тишина )) можно послушать в наушниках через конденсатор.
- подключает фотодиод. берем пульт от телевизора. подносим к фотодиоду. видим и слышим импульсы частотой 1 кГц и заполнением 38 кГц. на расстоянии около метра-два должны хорошо слышать и видеть сигнал пульта телевизора.
- аналогично со вторым усилителем.
- включает питание МК. никаких посторонних шумов быть не должно.
- проверяем работу программы.
все изменения сразу отмечаем на схеме.
таймер 1 на выводе PB1 а не PD7.
алгоритм для TSOP практически ничем не отличается от алгоритма на транзисторax.
деталей меньше. вот и все.
таймер 1 на выводе PB1 а не PD7.
алгоритм для TSOP практически ничем не отличается от алгоритма на транзисторax.
деталей меньше. вот и все.
Вот здесь я не понял. У меня есть TSOP и ещё до этой схемы я проверял, как он работает: при генерации сигнала от светодиодов он формирует импульс, а не постоянный сигнал. Это уже значит, что алгоритм другой.roman.com писал(а): Сб июл 04, 2026 00:45:33 алгоритм для TSOP практически ничем не отличается от алгоритма на транзисторax.
- Сообщения: 622
- Зарегистрирован: Пн фев 16, 2026 17:30:02
И да, и нет. Эти функции должны отвечать определенным требованиям.Zapolyarny писал(а): Пт июл 03, 2026 23:18:14 Но тогда получается, что любой программист, который перестал писать линейный код в main и дошёл до функций и тем более до модульности - он уже стал использовать некий уровень абстракции.
Посмотрите на функцию в Ардуине void digitalWrite(int pin, int value); Она одинаково работает с любым МК, безотносительно его физических портов - нумерация пинов задана общей концепцией Ардуины. Это уже и есть та самая абстракция.
В целом - не обязательно. Ибо 3063 - с напряжением до 600 В, а 3083 - до 800 В, в остальном они одинаковы.BOB51 писал(а): Пт июл 03, 2026 22:46:44 Для цепей ~220 вольт предпочтительно ставить MOC3083, а не MOC3063...
да все тоже самое.
TSOP обычно работает на частоте 1 кГц - частота модуляции.
несущяя 38 кГц.
в схеме на транзисторах:
передатчик передаёт непрерывный сигнал 20 кГц.
10101010101010....
приёмник принимает непрерывный сигнал 20 кГц.
10101010101010...
в схеме TSOP:
передатчик передаёт прерывистый сигнал несущей 38 кГц и частотой модуляции 1 кГц.
1010____1010____1010____
приёмник TSOP принимает прерывистый сигнал несущей 38 кГц и частотой модуляции 1 кГц..
1010____1010____1010____
после демодуляции получаем на выходе TSOP импульсы 1 кГц.
----____----____----____
ну и в чем разница ? ))
разница что передатчик передаёт прерывистый сигнал. алгоритм чуть другой.
в приёмнике ничего не меняется. алгоритм прежний.
TSOP обычно работает на частоте 1 кГц - частота модуляции.
несущяя 38 кГц.
в схеме на транзисторах:
передатчик передаёт непрерывный сигнал 20 кГц.
10101010101010....
приёмник принимает непрерывный сигнал 20 кГц.
10101010101010...
в схеме TSOP:
передатчик передаёт прерывистый сигнал несущей 38 кГц и частотой модуляции 1 кГц.
1010____1010____1010____
приёмник TSOP принимает прерывистый сигнал несущей 38 кГц и частотой модуляции 1 кГц..
1010____1010____1010____
после демодуляции получаем на выходе TSOP импульсы 1 кГц.
----____----____----____
ну и в чем разница ? ))
разница что передатчик передаёт прерывистый сигнал. алгоритм чуть другой.
в приёмнике ничего не меняется. алгоритм прежний.
Так это важно. При 1 кГц устройство может неправильно сработать. Как я уже говорил, при пересечении лучей в 1 см от светодиода разница в расстоянии всего 0.4мм. При скорости пересечения, например, 1 м/с это расстояние будет пройдено за 400 мкс. А у сигнала период 1000 мкс. Не успеет понять, в какую сторону пересечение.roman.com писал(а): Сб июл 04, 2026 15:31:57 осле демодуляции получаем на выходе TSOP импульсы 1 кГц.
это в пульте частота модуляции 1 кГц.
но думаю что можно в несколько раз больше...
я не проверял...
ну вот заодно и проверим ))
но думаю что можно в несколько раз больше...
я не проверял...
ну вот заодно и проверим ))
- Сообщения: 398
- Зарегистрирован: Чт май 07, 2026 00:30:38
Конечно, другой. Это не дискретный полупроводник, а интегральная схема. Достаточно посмотреть спецификацию.Massaraksh7 писал(а): Сб июл 04, 2026 03:15:35 Вот здесь я не понял. У меня есть TSOP и ещё до этой схемы я проверял, как он работает: при генерации сигнала от светодиодов он формирует импульс, а не постоянный сигнал. Это уже значит, что алгоритм другой.
- Сообщения: 1330
- Зарегистрирован: Пн май 01, 2017 20:01:45
Лучше для этой цели использовать TSSP в место TSOP, так как у первых выше быстродействие… а вторые изначально заточены для систем дистанционного управления нежели для ИК барьеров.
Главная ошибка устройства - работа "на отражение".
Любительский ИК канал - не дальномер, определить расстояние для устойчивой работы (и тип отражающей поверхности)... Ближе - дальше объект проскочит... Да и от противоположной стенки отражение не исключено - мощность излучателя ограничивать надо... Работать то будет, но насчет стабильности...
Тогда уж попробовать ультразвуковые модули...
Единственно подобное устройство (но просто с обнаружением приближения "чего-то", а не версию "энкодера") пытался когда то поставить на интерактивную рекламо - игрушку, но появление простых и широкодоступных емкостных датчиков вопрос с ИК сняло.
Другое дело стандартная пара излучатель - приемник "на просвет" - но там с изготовлением и размещением морока... Зато работает...

VNS
Я имел ввиду все семейство подобных интегрированных датчиков.
Помню, что по начинке у них есть разница в работе с непрерывным потоком излучения (одни с непрерывным работают, другие "подвисают"), но с какими допустимо, а с какими нет - то уже подзабылось.
TSSP - одна из разновидностей (блок схема у TSSP40.. подобна BRM 1020)

С другой стороны - что мешает генерировать пакеты несущей частоты длительностью ~8mS (преамбула в ИК дистанционке) с паузами в 600 микросекунд (типовой интервал ИК комад) и фиксировать их отзыв?...

Любительский ИК канал - не дальномер, определить расстояние для устойчивой работы (и тип отражающей поверхности)... Ближе - дальше объект проскочит... Да и от противоположной стенки отражение не исключено - мощность излучателя ограничивать надо... Работать то будет, но насчет стабильности...
Тогда уж попробовать ультразвуковые модули...
Единственно подобное устройство (но просто с обнаружением приближения "чего-то", а не версию "энкодера") пытался когда то поставить на интерактивную рекламо - игрушку, но появление простых и широкодоступных емкостных датчиков вопрос с ИК сняло.
Другое дело стандартная пара излучатель - приемник "на просвет" - но там с изготовлением и размещением морока... Зато работает...
VNS
Я имел ввиду все семейство подобных интегрированных датчиков.
Помню, что по начинке у них есть разница в работе с непрерывным потоком излучения (одни с непрерывным работают, другие "подвисают"), но с какими допустимо, а с какими нет - то уже подзабылось.
TSSP - одна из разновидностей (блок схема у TSSP40.. подобна BRM 1020)
С другой стороны - что мешает генерировать пакеты несущей частоты длительностью ~8mS (преамбула в ИК дистанционке) с паузами в 600 микросекунд (типовой интервал ИК комад) и фиксировать их отзыв?...
тут форум вообще никто не читает ?

ТС же не просто так выбрал частоту 20 кГц.
сделал он это специально - для получения высокого быстродействия - 50 микросекунд.
а тут предлагают импульсы 8 миллисекунд.
к слову...
для повышения быстродействия в два раза рекомендую настроить прерывания не по переднему фронту импульса, а по изменению уровня.
получаем два прерывания на один импульс.
именно так у нас сделано в радио управлении в соседней теме.
благо что у нас мега328 в которой можно настроить прерывания на любом выводе МК.
а чтоб TSOP не реагировал на отраженный сигнал от стен надо уменьшить чувствительность TSOP.
для этого достаточно обернуть TSOP в полупрозрачную плёнку ))
и тут тоже ничего нового не придумали ))
например в радио управлении иногда специально снижают чувствительность приемника и повышают мощность передатчика. при этом повышается надёжность канала связи.
правда резко падает дальность связи. но в нашем устройстве это не важно ))
ещё один момент...
приемник TSOP чувствителен к наводкам.
поэтому не забывайте все хорошо экранировать.
а то однажды я вытащил старый TSOP из старого телевизора без экрана и сразу деже не понял почему ничего не работает. тестовая программа показала дикий шум на выходе TSOP. а все потому что TSOP был без экрана.
пришлось делать экран )) после этого все заработало как надо.
вот уже сколько рекомендаций набралось ))
ТС же не просто так выбрал частоту 20 кГц.
сделал он это специально - для получения высокого быстродействия - 50 микросекунд.
а тут предлагают импульсы 8 миллисекунд.
к слову...
для повышения быстродействия в два раза рекомендую настроить прерывания не по переднему фронту импульса, а по изменению уровня.
получаем два прерывания на один импульс.
именно так у нас сделано в радио управлении в соседней теме.
благо что у нас мега328 в которой можно настроить прерывания на любом выводе МК.
а чтоб TSOP не реагировал на отраженный сигнал от стен надо уменьшить чувствительность TSOP.
для этого достаточно обернуть TSOP в полупрозрачную плёнку ))
и тут тоже ничего нового не придумали ))
например в радио управлении иногда специально снижают чувствительность приемника и повышают мощность передатчика. при этом повышается надёжность канала связи.
правда резко падает дальность связи. но в нашем устройстве это не важно ))
ещё один момент...
приемник TSOP чувствителен к наводкам.
поэтому не забывайте все хорошо экранировать.
а то однажды я вытащил старый TSOP из старого телевизора без экрана и сразу деже не понял почему ничего не работает. тестовая программа показала дикий шум на выходе TSOP. а все потому что TSOP был без экрана.
пришлось делать экран )) после этого все заработало как надо.
вот уже сколько рекомендаций набралось ))
Суть высокочастотной модуляции для ИК несколько иная.
Достаточно готовым сигналом воспользоваться. Да и какое расстояние пройдет объект за те 8 миллисекунд? Это ж не автомобиль и/или спринтер.

Достаточно готовым сигналом воспользоваться. Да и какое расстояние пройдет объект за те 8 миллисекунд? Это ж не автомобиль и/или спринтер.


