Подача сигнала связи по линиям питания постоянного тока

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

Существуют ли какие-либо общие методы достижения этого? Чем проще, тем лучше и было бы здорово, если бы он использовал UART на микроконтроллере.

Редактировать: на самом деле есть два проекта, над которыми я работаю, и я думаю, что они выиграют от этого — один из них представляет собой сеть датчиков с низким энергопотреблением. Другой проект светодиодного освещения. В обоих случаях цель состоит в том, чтобы упростить проводку, но если решение слишком сложное, возможно, имеет смысл использовать три провода (питание, земля, связь).

Источник питания переменного или постоянного тока? Какое напряжение питания?
Конденсатор + индуктор, упомянутый в некоторых ответах, имеет название: bias-T .

Ответы (11)

Вы изучали протокол Dallas 1-Wire ? Это действительно низкая скорость, и если ваше устройство потребляет относительно небольшой ток, вы можете избежать использования паразитного питания и питать устройство от линий передачи данных.

Спасибо за это — похоже, что 1-Wire довольно популярен и хорошо подходит для маломощных сенсорных сетей.
Привет, Питер, так как вы специально просили UART. Мне удалось найти примечания к приложению maxim для использования UART в качестве мастера шины 1-wire. (см. maxim-ic.com/app-notes/index.mvp/id/214 ).

По сути, вам нужно подавать сигналы переменного тока на линию питания постоянного тока и снова отделять их. Это распространено в домах с телевизионными антеннами — усилитель мощности размещается рядом с антенной, и питание постоянного тока подается вверх по антенному проводу, в то время как телевизионные сигналы идут по антенному проводу.

Вы не даете достаточно подробностей для примера схемы, но вот основы:

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

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

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

Выход этого конденсатора МОЖЕТ быть использован непосредственно в микроконтроллере (с диодной фиксацией), если у вас есть навыки реализации необходимого программного обеспечения для чтения теперь искаженных данных с линии. Точно так же вы можете отправлять импульсы непосредственно в конденсатор с помощью вывода ввода-вывода.

Посмотрите, как это выглядит на осциллографе — прямоугольная волна, идущая в конденсатор, будет выглядеть как затухающий всплеск на линии электропередачи. Когда выйдет еще один конденсатор в сети его еще поменяют - просто всплеск на линии.

Чтение этих всплесков может быть затруднено, а фильтрация шума может быть затруднена, поэтому, если вы используете длинные линии, имеете шумный источник питания или проводите линии рядом с другими источниками шума, вам придется реализовать значительную обработку сигналов. Обычно это принимает форму AM (ASK — амплитудная манипуляция) или FM (FSK — частотная манипуляция) на линии, со срезами данных, компараторами, тональными генераторами и детекторами и т. д. Или эквивалентной обработкой в ​​программном обеспечении.

Это может показаться большой работой, но начните с простого детектора импульсов на принимающей стороне и отправляйте прямоугольные волны при передаче. Используйте осциллограф, чтобы понять, что происходит, и если вы обнаружите, что вам нужно более сложное решение, спросите еще раз об обнаружении ASK или FSK.

Детектор импульсов может быть простым программным прерыванием на контакте ввода изменения или 555, настроенным как расширитель импульсов.

Я согласен с Адамом здесь, за исключением того, что я считаю, что вся связь должна осуществляться в диапазоне FM, и вы можете построить несколько действительно хороших фильтров, чтобы вернуть ваш сигнал почти идеально. Он упомянул об этом, но я решил добавить примечание, чтобы уточнить, что зашумленный сигнал может снова быть красивым с правильным фильтром и FM-модуляцией.
FM значительно лучше, чем AM или многие другие простые схемы модуляции, но требует немного более высоких затрат с точки зрения аппаратного и / или программного обеспечения, и если качество сигнала хорошее, это может быть излишним.

Я построил что-то подобное для системы управления поездом (конечно, для модели поезда).

Это был однонаправленный низкоскоростной протокол (один объект отправляет данные, все остальные являются только получателями), и передача осуществлялась путем простого изменения полярности рельса.

На каждом «клиенте» была простая схема с изображением (16C54, много лет назад!), выпрямителем и несколькими DIP-переключателями для установки адреса.

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

Аксман, мне нечего сказать, кроме того, что вы произвели на меня впечатление, сэр/мэм. Это решение заставляет меня хихикать.
Кортук, я надеюсь, что ты "хихикаешь" означает "большой палец вверх" (я итальянец и не очень силен в английском, как ты видишь :-)) Во всяком случае, за годы до моего "изобретения" (но я обнаружил это после моего проекта была завершена) спроектированы, стандартизированы и внедрены модели железнодорожных заводов (таким же образом) DCC: Digital Command Control, для той же цели: en.wikipedia.org/wiki/Digital_Command_Control
Протокол DCC: "1" = 58 мкс максимум, затем 58 мкс низ. «0» = 100 мксек вверху, затем 100 мксек в низу. Общее смещение +ve равно общему смещению -ve, поэтому вы получаете распределение мощности переменного тока, которое можно преобразовать в постоянный ток.

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

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

У меня есть пара динамиков, которые используют ту же технику для включения светодиода питания на дополнительном динамике. Если я увеличу громкость достаточно громко, я действительно замечу, что светодиод становится ярче. В этом конкретном приложении им нужно было бы беспокоиться о том, какой тип RC-фильтра создается.

Я рассматривал возможность модулировать RS232 высокочастотным сигналом, подключенным к источнику питания 12 В - я предполагаю, что было бы важно изолировать емкость блока питания, чтобы он не пытался сгладить пульсации?

Я знаю, что это довольно старая тема, но вот мои 2 пенса...

У меня еще ничего не работает, но я хотел сделать что-то подобное, используя Arduino + VirtualWire (с очень низкой скоростью передачи данных). Как сказал выше Адам Дэвис, вы передаете/принимаете данные по линии 12 В через конденсатор с низким значением. Это означает, что вы, по сути, получаете 0 В с небольшими пиками, которые VirtualWire может (вероятно) декодировать. Хорошей новостью об этом методе является то, что теоретически любое устройство на линии 12 В может говорить, и любое может принимать. У меня это работало с обычным куском провода между двумя устройствами на макетной плате, но я не уверен, будет ли это работать на расстоянии или по реальной линии электропередач.

Если передача всегда из одного и того же места, то, возможно, будет лучше использовать что-то вроде метода Хорнби, т.е. попросите передатчик переключить линию питания между +12 В и -12 В, чтобы создать сигнал. У каждого приемника есть выпрямитель, подключенный к линии питания, поэтому он всегда получает питание +12В. Возможно, вы могли бы просто подать импульс +12 В, и каждое устройство использовало бы большой конденсатор для сглаживания ударов. Любой из этих методов, вероятно, более надежен, потому что сигнал на линии электропередачи будет намного сильнее и, следовательно, его будет легче декодировать (я бы все равно использовал VirtualWire, чтобы сделать это, но UART тоже может работать).

Для проекта светодиодного освещения есть большая вероятность, что вам придется сместить пару ампер вниз по линии 12 В. Это делает его переключение немного сложнее, поэтому вам может быть лучше использовать метод RF-over-capacitor. Однако высота всплесков, которые вы получаете, будет значительно уменьшаться при более высоком токе, поэтому вам может потребоваться усилить сигнал, который вы записываете в линию (например, используйте один или два высокочастотных транзистора, чтобы «усилить» сигнал ТТЛ до 12 В до протолкнув его через конденсатор на линию 12В).

В любом случае, что-то вроде VirtualWire почти всегда будет работать лучше, чем UART (и, возможно, I2C и т. д.). Причина в том, что он использует контур фазовой автоподстройки частоты для «синхронизации» передачи и приема вместе, что означает более высокое отношение сигнал/шум и меньшее количество ошибок. Это должно сделать его немного более снисходительным к несовершенному оборудованию ;-)

Вы уверены, что какое-то USB-решение не работает? У вас есть около 2-2,5 Вт.

Вот еще пара идей -

Power over Ethernet (POE) объединяет сигналы питания и Ethernet. Для этих устройств разработано множество полупроводников и преобразователей постоянного тока в постоянный. Это, вероятно, ваш лучший вариант, так как для этого есть готовые детали.

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

У звукорежиссёров есть "фантомное" питание микрофонов. 48 В постоянного тока плюс звук по микрофонному кабелю.

Вам нужно быть осторожным с получением питания от USB. Когда вы впервые подключаете устройство к USB-порту, вам предоставляется 100 мА при 5 В = 0,5 Вт. Затем ваше устройство может запросить дополнительную мощность и получить 500 мА при 5 В = 2,5 Вт. Вам также нужно будет убедиться, что ваше устройство не будет иметь большого напряжения при первом подключении .
Kellenjb, перечисление — это не совсем то же самое, что запросить больше энергии, мне нравится думать об этом как о подтверждении того, что вы интеллектуальное устройство. Большинство людей также забывают, что если они отдают свое устройство кому-то еще, оно может быть подключено к концентратору без питания, что приводит к максимальной нагрузке 100 мА независимо от ситуации.

Есть много вопросов, которые я мог бы задать, прежде чем дать какой-либо совет. Я думаю, первое, что мы должны попытаться понять, это то, какова ваша цель здесь? Низкая стоимость сборки, длительная связь, что экономит электропроводку, проверку концепции или что-то еще. У всех будут разные рекомендации. Например, если вы не беспокоитесь о стоимости, то, возможно, выберете решение Zigbee, или если оно будет длительным, то это создаст проблемы с большинством передач по одному проводу, и теперь вам нужно рассмотреть другие варианты. Я думаю, что больше всего меня беспокоит в вашем вопросе то, что вы говорите «чем проще, тем лучше». То, о чем вы спрашиваете, возможно в некоторых ситуациях, но смею сказать, что это будет непросто. В основном из-за реальных проблем, с которыми вы столкнетесь, таких как потеря сигнала, шум и управление током.

Удачи.

Спасибо - приятно слышать о потенциальных проблемах, с которыми я могу столкнуться в будущем. Я попытался немного прояснить свои потребности в сообщении выше.

Протокол X-10 делает именно это.

Кроме того, некоторые из приведенных выше предложений небезопасны или, безусловно, не могут использоваться в одобренных (маркировка UL/CE) устройствах.

Я предполагаю, что «провода питания» означают провода низкого напряжения. Если это провода питания переменного тока, то да, большинство других ответов не подходят без учета этого.
X10 по своей конструкции предполагает линию питания переменного тока и нуждается в специальном настроенном трансформаторе. Не думайте, что это подходит к части вопроса «Чем проще, тем лучше» :-)

Есть выделенный полупроводник, который получает байт UART и передает его по линии электропередач со скоростью до 115,2 Кбит/с. Это устройство было разработано для автомобилей, поэтому оно устойчиво к шуму. См. http://yamar.com/product/sig60/

Проверь это:

И нить , откуда я взял эту информацию (тот же вопрос, что и у вас).

Это делается в телефонных системах. Как вы знаете, в телефоне у нас есть питание, тон набора и голос в двухпроводной системе. Вы можете отправлять свои команды через линию электропередач, генерируя тональный сигнал (как тональный набор в обычном телефоне). Интегральные схемы (Ic) для этого приложения широко используются и поэтому очень дешевы.

Я сделал подобный проект для управления водяными клапанами на большом заводе в Иране (до 99 клапанов). Я могу добавить блок-схему схемы моего кодера-декодера, если вы считаете, что это может быть полезно.

Это не отвечает на вопрос.
Саид, при ответах на старые вопросы (2010) принято вносить существенную лепту, тем более, что уже есть другие хорошие ответы. И, пожалуйста, не предлагайте частный обмен информацией, так как ответ должен быть полезен для всех, кто просматривает здесь.