Добрый день. Посоветуйте, пожалуйста как поступить. Надо сделать два устройства, которые будут обмениваться данными между собой посредством ИК канала. Это 3D щуп и приёмник для станка с ЧПУ. Первое устройство(на батарейках) имеет норм-замкнутую контактную группу. Момент размыкания этой контактной группы надо максимально быстро(задержка не более 1 мсек) передать второму устройству и оно выставляет на выходе активный сигнал. Кроме передачи сигнала размыкания устройства могут обмениваться небольшими пакетами данных с сервисной информацией. Здесь скорость не важна. Самое главное что ИК канал должен быть защищён от помех, соответственно надо его промодулировать. Для упрощения жизни решил использовать TSOP. Нашёл даже TSOP на 455 кГц, для максимально быстрой связи для передачи сигнала срабатывания конт. группы. Правда их выпуск уже прекращён. В Китае продают, но наверное это подделка. Заказал на пробу чтобы посмотреть как они себя покажут. Отсылать модулированный сигнал вроде получается, правда пока экспериментирую с TSOP-ами на 38 кГц. Настраиваем ШИМ на нужную частоту и старт-стопим его отсылая нолики и единички через ИК светодиод. Больше непоняток с декодированием сигнала. Попробовал два варианта. Первый вариант с https://istarik.ru/blog/stm32/125.html. Тут применяется метод сэмплирования пина, к которому подключен выход TSOPа. Период опроса пина 50мксек по прерыванию от таймера. Второй метод - захват ШИМ сигнала таймером http://we.easyelectronics.ru/STM32/ir-u ... ast-1.html. Вопрос вот в чём. Я думал что второй метод должен более точно декодировать принятые сигналы, но когда я отсылаю с пульта(NEC протокол) команды, то на выходе имею всегда значения длины импульсов и периода разными в сравнении с полученными ранее. Они могут отличаться на несколько десятков микросекунд. И я вот подумал что если я таким методом буду принимать импульсы с длительностью в несколько микросекунд от TSOPа на 455 кГц, то имея такие погрешности ничего не получится. В качестве декодера использую STM32F103С8T6, тактирование мк от внешнего кварца, частота шины 72МГц, тактирование таймера 1 Мгц(период 1 мксек). Длительности входящих импульсов от 560 до 2250 мксек. Неужели мк не справляется или это пульт ДУ формирует такие кривые тайминги? Есть идея использовать TSOPы на 56кГц, так как они доступные и не придётся мучаться с очень короткими импульсами, но для быстрой реакции на размыкание контактной группы всегда придётся реагировать на принятый сигнал и активировать выход. Но тут надо ещё разобраться с алгоритмом стойки ЧПУ, не помешает ли ей сигнал срабатывания конт. группы щупа тогда, когда она его не ожидает.
Когда то на тех приёмниках (на 38кГц правда) делал знакомому счетчик на конвейер. Не знаю, какие по шустрости приёмники на 455кГц (даже не знал, что такие бывают), но на 36-38 были очень таки тугодумы, давали большую задержку между началом прихода пакета и выводом наружу. Походу там АРУ оптического усилителя тупило.
Замерил осциллом задержку между началом излучения модулированного ик сигнала и реакцией TSOPа(цифры маркировки не знаю), получилось 250uS, плюс и отпускание выхода в лог1 тоже занимет примерно столько же. А сюда надо прибавить и длительность самой посылки. Причём минимальная длина посылки, как я понял по даташиту 600uS, итого передача одного бита минимум 1 mS. А передачей одного бита не отделаешься. Чтобы уверенно распознать и отделить полезную посылку от мусора, я думаю надо пару осмысленных битов передать. Я вот думаю, чтобы приёмник максимально быстро среагировал на размыкание конт. группы щупа надо передать хотя бы две посылки, максимально короткие(но чтобы TSOP их уловил) и с жёстко определёнными длительностями. На приёмной стороне надо поточнее измерить их длительность, сравнить с эталонными и принять решение о валидности посылки. Сейчас подыскиваю TSOPы, которые специально рассчитаны на короткие посылки и быструю реакцию.
Может стоит покоситься на коробочки для оптоволоконных сетей? Там очень шустрые оптоприёмники стоят. А сами коробочки (забываю как оно правильно зовется) совсем не дорого стоят
Открыта удобная площадка с выгодными ценами, поставляющая весь ассортимент продукции, производимой компанией MEAN WELL – от завоевавших популярность и известных на рынке изделий до новинок. MEAN WELL.Market предоставляет гарантийную и сервисную поддержку, удобный подбор продукции, оперативную доставку по России.
На сайте интернет-магазина посетители смогут найти обзоры, интересные статьи о применении, максимальный объем технических сведений.
Продукция MOSO предназначена в основном для индустриальных приложений, использует инновационные решения на основе более 200 собственных патентов для силовой электроники и соответствует международным стандартам. LED-драйверы MOSO применяются в системах наружного освещения разных отраслей, включая промышленность, сельское хозяйство, транспорт и железную дорогу. В ряде серий реализована возможность дистанционного контроля и программирования работы по заданному сценарию. Разберем решения MOSO
подробнее>>
jcxz
Заголовок сообщения: Re: Посоветуйте по ИК передаче-приёму данных от 3D щупа ЧПУ
Замерил осциллом задержку между началом излучения модулированного ик сигнала и реакцией TSOPа(цифры маркировки не знаю), получилось 250uS, плюс и отпускание выхода в лог1 тоже занимет примерно столько же. А сюда надо прибавить и длительность самой посылки. Причём минимальная длина посылки, как я понял по даташиту 600uS, итого передача одного бита минимум 1 mS.
О каком TSOP идёт речь? Что за TSOP на 455кГц? Написана куча буков, но ни одного внятного упоминания о каких именно приёмниках идёт речь - нету. Какие-то ковыряния с осциллографами и ИК-пультами, вместо чтения даташитов. Типичный наколенно-гаражный стиль работы. Какие тут ещё станки.... И при чём тут ИК-пульт? если нужна передача данных. Естественно никакой из TSOP, предназначенный для "remote control", не станет качать данные килобайтами/сек. Потому как им это и не нужно (для remote control). Если нужен TSOP для передачи данных, то видимо такой и нужно искать. Заходим на: https://www.vishay.com/en/ir-receiver-modules и выбираем те, у которых назначение указано "Data transmission". Естественно никакой ИК-пульт, в качестве передатчика, использовать нельзя. Для TSDP341..., TSDP343... даташитом обещается скорость:
Цитата:
Continuous data rates up to 7777 bps
Отсюда и надо плясать. Скорость вроде достаточная для хотелок ТС.
PS: А начинать разработку на чипе уже снятом с производства - это гарантированный epic fail. PPS: И непонятно - почему тема в разделе ARM? Хотя к ARM никак не относится.
Экспериментирую с TSOPом на 38 кГц, точную маркировку его не знаю, выпаял откуда-то. На 455кГц выпускался TSOP7700, но сейчас есть аналоги только на Алиэкспресс. Станок есть и прекрасно работает. Любым TSOPом можно передавать данные, даже тем которые для световых барьеров предназначены. ИК пульт от телика как раз и передаёт данные. Обычно 32 бита, в зависимости от используемого протокола. В моём случае надо изредка передавать один байт данных(состояние батареи), его можно передать не быстро, но есть и условие когда надо максимально быстро передать приёмнику о том что в щупе разомкнулись контакты. Можете это понимать как смешанный режим, когда присутствует и передача данных и как-бы простой дискретный сигнал. Из экспериментов стало понятно, что необязательно использовать модуляцию на 455 кГц, можно любую, лишь бы сам приёмник пошустрее реагировал на входящий ик сигнал. Но для помехозащищённости надо использовать промодулированный сигнал. И я уже нашёл TSOPы, которые могут реагировать на 6 импульсов модулированного сигнала, чтобы выставить лог0 на выходе, а не 10 импульсов, как в TSOPе с которым я провожу эксперименты. Почему написал в раздел АРМ, да потому что на stm32 делаю и есть вопросы по его быстродействию и реализации алгоритма. На все ваши вопросы ответил или нет? И да, я работаю в мастерской в гараже, и даташиты на английском читать умею и читаю. Куда мне до вас, сидящих в уютном офисе на оборонном заводе. Что за пессимизм, надо всех обхаять, послать даташиты читать? Посмотрел на вашу карму и всё понятно стало.
ИК пульт от телика как раз и передаёт данные. Обычно 32 бита, в зависимости от используемого протокола. В моём случае надо изредка передавать один байт данных(состояние батареи), его можно передать не быстро
Выше вы вроде писали про частоту передачи данных = 1 кГц. Или это были не вы? И что такое "не быстро"? Это сколько в граммах? 1Гц или 1 ГГц? Если нужно всё-таки 1кГц, то достаточно заглянуть в даташит на TSOP, чтобы понять, что "пульт от телика" не подходит.
Из экспериментов стало понятно, что необязательно использовать модуляцию на 455 кГц, можно любую, лишь бы сам приёмник пошустрее реагировал на входящий ик сигнал.
Так и не понял - какая связь между частотой модуляции излучения и скоростью передачи? Может поясните? Многие радиопередатчики работают на ГГц. Но из этого никак не следует, что все они обязаны передавать гигабайты в сек.
Почему написал в раздел АРМ, да потому что на stm32 делаю и есть вопросы по его быстродействию и реализации алгоритма.
Среди ваших вопросов нет ничего касающегося ARM. Все ваши вопросы - по ИК-приёмникам и передатчикам. Более того: Для такой несложной задачи, как приём посылок от ИК-пульта, ARM не обязателен. С этим справится даже STM8 с таймером, умеющим работать в режиме захвата.
Про какой 1 кГц вы говорите? Вы знаете как работает 3D щуп чпу станка? Расскажу. Его задача найти, а вернее сообщить стойке чпу о моменте касания. Стойка чпу по программе двигает щуп в направлении детали и одновременно ждёт от щупа сигнал что произошло касание. В щупе есть Н.З. контактная группа, которая при контакте стилуса с деталью размыкается. И этот момент размыкания надо передать стойке. Стойка мгновенно сохраняет координату в которой произошло размыкание конт. группы и использует эти данные для вычислений. До запуска программы измерения(типа Idle режим) щуп может выдать 1-2 байта сервисной инфы, типа Low Bat или конт. группа разомкнута(грязь внутри) или другие данные. Скорость выдачи не важна, так как она передаётся в режиме простоя щупа, а не во время измерения. У меня уже собрана передающая часть которая пока выплёвывает один байт модулированным сигналом на несущей 38 кГц. Сейчас пытаюсь принять этот байт на стороне приёмника и декодировать его. Заодно продумываю как сделать так чтобы в этот байт запихнуть момент размыкания конт. группы щупа, типа преамбула. Пока упёрся в быстродействие TSOPoв и приёмом байта на приёмной стороне. Но дело двигается. Почему АРМ? Да потому что работаю только с АРМ. Какой смысл использовать тот де АВР, если цены сопоставимы, а характеристики у АРМ круче. Или предлагаете вернуться к АВР? Я от них отвык и во всех своих проектах использую(заодно и учусь) только STM32. Был проект на Atmega328? который разростался и наконец наступил момент, когда компилятор мне сообщил что не хватает памяти. с тех пор АВР в прошлом, только для повторения какого-нибудь проекта на АВР, без исходников. В первом моём сообщении я спрашивал про варианты захвата сигнала и почему в режиме захвата шим сигнала значения длины импулса и периода постоянно разнятся на 10-15%. Были сомнения в производительности МК или характеристиках приходящего сигнала от ИК передатчика. Сегодняшний эксперимент с подключение генератора вместо TSOPа показал что дело всё-таки в излучаемом сигнале от передатчика. Так как с генератором всё было стабильно и повторяемо. Благодаря вам моя тема превратилась в какую-то мусорку, где я должен толко вам объяснять посему сто-то именно так, а не так как вы бы сделали. У других участников таких вопросов не возникло.
Добавлено after 1 minute 52 seconds: Непонятно почему Vishay прекратил выпуск всех ик приёмников на 455 кГц, и не выпустил ничего нового на замену. Классные у них были характеристики.
Почему АРМ? Да потому что работаю только с АРМ. Какой смысл использовать тот де АВР, если цены сопоставимы, а характеристики у АРМ круче. Или предлагаете вернуться к АВР?
Да уж.... просто пипец... Что у вас в голове?? Страшно даже представить. Совсем ничего не поняли о чём я писал....
Благодаря вам моя тема превратилась в какую-то мусорку, где я должен толко вам объяснять посему сто-то именно так, а не так как вы бы сделали.
Вроде вы спрашивали совета? Или нет? если вам советы не нужны - зачем тогда спрашивали? Советы я вам давал. В ответ получил только наезды и какие-то детские обиды непонятно на что.
Почему АРМ? Да потому что работаю только с АРМ. Какой смысл использовать тот де АВР, если цены сопоставимы, а характеристики у АРМ круче. Или предлагаете вернуться к АВР? Да уж.... просто пипец... Что у вас в голове?? Страшно даже представить. Совсем ничего не поняли о чём я писал....
У других участников таких вопросов не возникло. Видимо остальным наср*ть на ваши страдания? Или они полностью согласны со мной? Не думали? PS: Впрочем теперь и мне на них также пофиг. Ковыряйтесь сами. Очередной случай завышенного ЧСВ.
C сего вы взяли что я страдаю? И всё-таки ваша карма всё за вас говорит. Вы только палки в колёса умеете вставлять и легко можете отвлечь человека от проекта своими тупыми вопросами и предложениями. Почему АРМ, почему АРМ. Да какая вам разница, АРМ и всё.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения