Я хотел бы иметь возможность последовательно соединять несколько устройств, используя только провода питания, а затем вводить коммуникационный сигнал по линиям электропередачи, чтобы превратить его в полудуплексную сеть.
Существуют ли общие методы достижения этого? Чем проще, тем лучше, и было бы здорово, если бы он использовал UART на микроконтроллере.
Изменить: На самом деле я работаю над двумя проектами, которые, я думаю, выиграют от этого - один - это сеть датчиков с низким энергопотреблением. Другой проект светодиодного освещения. В обоих случаях цель состоит в том, чтобы упростить подключение, но если решение слишком сложное, то, вероятно, имеет смысл использовать три провода (pwr, gnd, comms).
communication
uart
power-line-communication
Питер Гибсон
источник
источник
Ответы:
Вы изучили протокол Dallas 1-Wire ? Это действительно низкая скорость, и если ваше устройство потребляет относительно небольшой ток, вы можете избежать использования паразитного питания и питать устройство линиями передачи данных.
источник
По сути, вам необходимо подать сигналы переменного тока на линию питания постоянного тока и снова разделить их. Это часто встречается в домах с телевизионными антеннами - усилитель мощности расположен рядом с антенной, а мощность постоянного тока подается вверх по антенному проводу, в то время как телевизионные сигналы идут по антенному проводу.
Вы не даете достаточно деталей для примера схемы, но вот основы:
Источник питания должен иметь последовательно соединенный индуктор, идущий к выходу для блокировки высокочастотных сигналов, поступающих в источник питания и, возможно, вызывающих проблемы регулирования.
Вход питания каждого устройства должен быть аналогичным образом защищен индуктором для фильтрации сигналов переменного тока. Подавая это на диод и конденсатор, убедитесь, что сигналы переменного тока не ставят под угрозу питание вашего модуля.
До индуктора вы также подключите конденсатор. Вероятно, это будет низкое значение, так что большинство сигналов переменного тока в линии проходит через конденсатор, но ни один из DC не пройдет.
Выход этого конденсатора МОЖЕТ быть пригодным для использования непосредственно в микроконтроллере (с диодным зажимом), если у вас есть навыки для реализации необходимого программного обеспечения для считывания искаженных данных с линии. Точно так же вы можете отправлять импульсы прямо в конденсатор с помощью вывода ввода / вывода.
Посмотрите, как это выглядит на прицеле - прямоугольная волна, идущая в конденсатор, будет выглядеть как затухающий шип на линии электропередачи. Когда в сети появится другой конденсатор, он будет дополнительно заменен - просто шип на линии.
Чтение этих пиков может быть затруднено, а фильтрация шума может быть затруднена, поэтому, если вы работаете с длинными линиями, имеете шумный источник питания или работаете с линиями рядом с другими источниками шума, вам придется реализовать значительную обработку сигналов. Обычно это принимает форму AM (ASK - амплитудная манипуляция) или FM (FSK - частотная манипуляция) на линии с срезами данных, компараторами, тональными генераторами и детекторами и т. Д. Или эквивалентной обработкой в программном обеспечении.
Это может показаться большой работой, но начните с простого импульсного детектора на приемном конце и отправьте прямоугольные волны при передаче. Используйте осциллограф, чтобы понять, что происходит, и, если вы обнаружите, что вам нужно более сложное решение, снова спросите об обнаружении ASK или FSK.
Детектор импульсов может быть простым программным прерыванием при изменении входного контакта или 555, установленным в качестве расширителя импульсов.
источник
Я построил нечто подобное для системы управления поездом (конечно, модель поезда).
Это был однонаправленный низкоскоростной протокол (один объект отправляет данные, все остальные - только приемники), а передача осуществлялась путем простого изменения полярности рельса.
На каждом «клиенте» была простая схема с рис. (16C54, много лет назад!), Выпрямителем и несколькими микропереключателями для установки адреса.
У меня больше нет исходных кодов, но система была действительно простой и работала безупречно в течение многих лет, позволяя легко управлять каждым локомотивом, железнодорожным барьером, семафором и т. Д. С главной панели управления без дополнительных проводов.
источник
Я бы рекомендовал думать об этом как о сигнале, который вы добавляете и удаляете смещение постоянного тока. Вы можете использовать конденсаторы, чтобы блокировать постоянный ток, размещая их последовательно с вашей цепью.
Кроме того, трудно сказать, что вам нужно будет сделать, потому что это будет зависеть от вашего заявления. Возможно, вам придется использовать операционный усилитель, чтобы отделить конденсатор связи от того, что когда-либо принимало ваш сигнал. Если ваше напряжение смещения постоянного тока велико по сравнению с напряжением вашего сигнала, вам может даже не потребоваться какое-либо регулирование мощности для его устранения, хотя это все зависит от вашего приложения.
У меня есть пара динамиков, которые используют эту же технику, чтобы зажечь индикатор питания на дополнительном динамике. Если я увеличу громкость достаточно громко, я могу заметить, что светодиод становится ярче. В этом конкретном приложении им следует беспокоиться о том, какой тип RC-фильтра создается.
источник
Я знаю, что это довольно старая тема, но вот мои 2 пенса стоит ...
У меня еще ничего не получалось, но я собирался сделать что-то подобное, используя Arduino + VirtualWire (с очень низкой скоростью передачи). Как говорит Адам Дэвис выше, вы передаете / получаете ваши данные от линии 12 В через конденсатор низкого значения. Это означает, что вы получаете 0 В с небольшими всплесками, которые VirtualWire может (вероятно) декодировать. Хорошая новость об этом методе заключается в том, что теоретически любое устройство на линии 12 В может говорить, а любое может принимать. Я работал с обычным кусочком провода между двумя устройствами на макете, но не уверен, будет ли он работать на расстоянии или по реальной линии электропередачи.
Если передача всегда происходит из одного и того же места, то, возможно, лучше использовать что-то вроде метода Хорнби, т.е. попросите передатчик переключить линию питания между +12 В и -12 В для создания сигнала. Каждый приемник имеет выпрямитель, подключенный к линии электропередачи, поэтому он всегда получает питание +12 В. Возможно, вы могли бы просто пульсировать +12 В, и каждое устройство использовало бы большой конденсатор, чтобы сгладить неровности. Любой из этих методов, вероятно, более надежен, потому что сигнал на линии электропередачи будет намного сильнее и, следовательно, его будет легче декодировать (я бы по-прежнему использовал VirtualWire, но UART тоже мог бы работать).
Для проекта светодиодного освещения есть хороший шанс, что вам придется сдвинуть пару ампер вниз по линии 12В. Это делает переключение немного сложнее, так что вам может быть лучше с методом ВЧ над конденсатором. Однако высота шипов, которые вы получаете, значительно уменьшится при увеличении тока, поэтому вам может потребоваться усилить сигнал, который вы записываете на линию (например, используйте высокочастотный транзистор или два, чтобы «усилить» сигнал TTL до 12 В, прежде чем протолкнув его через конденсатор на линию 12 В).
В любом случае, что-то вроде VirtualWire почти всегда будет работать лучше, чем UART (и, вероятно, I2C и т. Д.). Причина в том, что он использует контур фазовой синхронизации, чтобы «синхронизировать» передачу и прием вместе, что означает более высокое отношение сигнал / шум и меньшее количество ошибок. Это должно сделать это немного более щадящим из-за несовершенного оборудования ;-)
источник
Есть много вопросов, которые я мог бы задать, прежде чем давать какие-либо советы. Я думаю, что первое, что мы должны попытаться понять, это то, что ваша цель здесь? Низкая стоимость сборки, длительная связь, тем самым экономя проводку, подтверждение концепции или что-то еще. Все они будут иметь разные рекомендации. Например, если вы не беспокоитесь о стоимости, то, возможно, воспользуйтесь решением Zigbee или если оно работает долго, тогда это создает проблемы с большинством однопроводных передач, и теперь вам нужно рассмотреть другие варианты. Я думаю, что в вашем вопросе меня больше всего беспокоит то, что вы говорите «чем проще, тем лучше». То, что вы спрашиваете, возможно в некоторых ситуациях, но я смею сказать, что это будет не просто. Главным образом из-за реальных проблем, с которыми вы столкнетесь, таких как потеря сигнала, шум и управление током.
Удачи.
источник
Вы уверены, что какое-то решение USB не работает? У вас есть около 2-2,5 Вт в наличии.
Вот пара других идей -
Power over ethernet (POE) объединяет сигналы питания и Ethernet. Существует множество полупроводников и преобразователей постоянного тока, разработанных для этих устройств. Это, вероятно, ваш лучший вариант, так как для этого есть готовые детали.
Я полагаю, что некоторые из компаний домашней автоматизации объединяют переменный ток и сигналы связи. Может быть, кое-что из этого можно адаптировать.
Аудио люди имеют "фантомное" питание микрофонов. 48VDC плюс аудио по кабелю микрофона.
источник
Протокол X-10 делает именно это.
Кроме того, некоторые из приведенных выше предложений не являются безопасными или, конечно, не могут быть использованы в утвержденных (маркировка UL / CE) устройствах.
источник
Это выделенный полупроводник, который получает байт UART и передает его по линии электропередачи со скоростью до 115,2 Кбит / с. Это устройство было разработано для автомобильной промышленности, поэтому оно устойчиво к шуму. Смотрите http://yamar.com/product/sig60/
источник
Проверь это:
И нить, где я взял эту информацию (тот же вопрос, что и вы).
источник
Это делается в телефонных системах. Как вы знаете по телефону, у нас есть питание, тональный сигнал и голос в двухпроводной системе. Вы можете отправлять свои команды через линию электропередачи, генерируя тональные сигналы (например, тональный набор в обычном телефоне), интегральные схемы (Ic) для этого приложения обычно используются и, следовательно, очень дешевы.
Я сделал такой проект для управления водяными клапанами на большом заводе в Иране (до 99 клапанов). Я могу добавить блок-схему схемы моего кодера-декодера, если вы считаете, что это может быть полезно.
источник