Введення сигналу зв'язку через лінії живлення постійного струму


22

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

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

Редагувати: Насправді я працюю над двома проектами, на які я думаю, що від цього виграють - один - це сенсорна мережа низької потужності. Інший - це світлодіодне освітлення. В обох випадках мета - спростити проводку, але якщо рішення занадто складне, то, ймовірно, має сенс використовувати три дроти (pwr, gnd, comms).


1
Блок живлення змінного чи постійного струму? Яка напруга живлення?
mjh2007

3
Розташування конденсатора + індуктора, згадане в деяких відповідях, має назву: зміщення-T .
davidcary

Відповіді:


15

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


Дякую за це - 1-провід виглядає досить популярним і добре підходить для мереж датчиків малої потужності.
Пітер Гібсон

2
Привіт Пітер, оскільки ти спеціально попросив UART. Мені вдалося знайти нотатки додатків із максимальною можливістю використання UART в якості однопровідної шини. (див. maxim-ic.com/app-notes/index.mvp/id/214 ).
Террі Чен

11

По суті, вам потрібно натиснути сигнали змінного струму на лінію живлення постійного струму і знову їх відокремити. Це часто зустрічається в будинках з телевізійними антенами - підсилювач потужності ставиться біля антени, а живлення постійного струму підштовхується до антенного проводу, поки телевізійні сигнали спускаються по антенному проводу.

Ви не даєте достатньо деталей для прикладу схеми, але ось основні принципи:

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

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

До індуктора також приєднаєте конденсатор. Ймовірно, це буде низьке значення, тому більшість сигналів змінного струму на лінії передають перемикач, але жоден з постійного струму не буде.

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

Перевірте, як це виглядає на розмаху - квадратна хвиля, що потрапляє в конденсатор, буде схожа на затухаючий сплеск лінії електропередачі. Коли з'явиться ще один конденсатор в мережі, він буде змінений далі - просто шип на лінії.

Читання цих шипів може бути важким, а відфільтрувати шум може бути складно, тому якщо ви працюєте на довгих лініях, маєте галасливе джерело живлення або запущені лінії поблизу інших джерел шуму, тоді вам доведеться здійснити значну обробку сигналу. Зазвичай це має форму AM (ASK - клавіша зсуву амплітуди) або FM (FSK - клавіша частотного зсуву) на лінії, з розрізами даних, компараторами, генераторами тонів та детекторами тощо або еквівалентною обробкою в програмному забезпеченні.

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

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


Я погоджуюся з Адамом тут, за винятком того, що я вважаю, що все спілкування має здійснюватися FM, і ви можете створити кілька справді приємних фільтрів, щоб повернути сигнал майже ідеально. Він згадав про це, але я подумав, що додам ноту, щоб уточнити, що шумний сигнал може бути знову прекрасним за допомогою правильного фільтра та FM-модуляції.
Кортук

1
FM є значно кращим, ніж AM або багато інших простих схем модуляції, але він робить трохи більш високу вартість з точки зору апаратного та / або програмного забезпечення, і якщо якість сигналу хороша, це може бути непосильним.
Адам Девіс

7

Я створив щось подібне для системи контролера поїздів (звичайно, модельний поїзд).

Це був однонаправлений низькошвидкісний протокол (одне ціле об'єднання надсилає дані, всі інші - лише приймачі), і передача виконувалася шляхом простого реверсування полярності залізниць.

На кожному "клієнті" була проста схема, зроблена з малюнком (16C54, роки тому!), Випрямлячем та деякими зануреними перемикачами для встановлення адреси.

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


Аксеман, я не маю нічого сказати, але ви вразили мене, сер / пані. Це рішення змушує мене хихикати.
Кортук

Кортук, я сподіваюся, що ти "хихикаєш" означає "великі пальці" (я італійський і не дуже сильний англійською мовою, як ви бачите :-)) У будь-якому випадку, роки до мого "винаходу" (але я виявив це після свого проекту було завершено) модель залізничних заводів, розроблених, стандартизованих та впроваджених (тим самим способом) DCC: Digital Command Control, з тією ж метою: en.wikipedia.org/wiki/Digital_Command_Control
Axeman

5

Я рекомендую подумати про це як сигнал про те, що ви додаєте та видаляєте зміщення постійного струму. Ви можете використовувати конденсатори для блокування постійного струму, розміщуючи їх послідовно зі своєю схемою.

Крім того, важко сказати, що вам потрібно буде зробити, оскільки це буде залежати від вашої заявки. Вам може знадобитися використовувати підсилювач, щоб відокремити конденсатор зв'язку від того, що коли-небудь отримує ваш сигнал. Якщо напруга зміщення постійного струму велике порівняно з напругою сигналу, можливо, вам навіть не потрібно буде робити якесь кондиціонування на ньому, щоб видалити пульсацію, все це залежить від вашої програми.

У мене є пара динаміків, які використовують цю саму техніку, щоб запалити світлодіод живлення на вторинному динаміку. Якщо я підсилюю гучність досить голосно, я можу помітити, що світлодіод стає яскравішим. У цьому конкретному додатку їм слід потурбуватися про тип RC-фільтра.


Я розглядав спробу модулювати RS232 за допомогою привітання частотного сигналу, з'єднаного з джерелом 12 В - я здогадуюсь, було б важливо ізолювати ємність блоку живлення, щоб він не намагався згладити пульсації?
Пітер Гібсон

4

Я знаю, що це досить стара тема, але ось мій 2 пенси коштує ...

У мене ще нічого не працює, але я шукав щось подібне, використовуючи Arduino + VirtualWire (встановлений із дуже низькою швидкістю передачі). Як говорить Адам Девіс вище, ви передаєте / приймаєте свої дані з лінії 12 В через конденсатор низького значення. Це означає, що ви по суті отримуєте 0V з невеликими шипами, які VirtualWire може (ймовірно) декодувати. Хороша новина про цей метод полягає в тому, що теоретично будь-який пристрій на лінії 12В може говорити, а будь-який може приймати. Я працював із звичайним дротом між двома пристроями на дошці, але не впевнений, чи буде він працювати на відстані чи над фактичною лінією електропередачі.

Якщо передача завжди з одного місця, то, можливо, використання чогось подібного методу Хорнбі може бути кращим - тобто. мають перемикач перемикати лінію живлення між + 12В і -12В для створення сигналу. Кожен приймач має випрямляч на своєму підключенні до лінії електропередачі, тому він завжди отримує + 12В живлення. Можна, мабуть, просто імпульсувати + 12 В, а кожен пристрій використовувати великий конденсатор, щоб згладити удари. Будь-який із цих методів, ймовірно, є більш надійним, оскільки сигнал на лінії електропередачі буде набагато сильнішим і, отже, простіше декодувати (я б все-таки використовував VirtualWire, щоб пам’ятати вас, але UART також може працювати).

Для проекту світлодіодного освітлення є хороший шанс, що вам доведеться перенести пару амперів вниз по лінії 12В. Це робить його переключенням трохи складніше, тому вам може бути краще за допомогою методу RF-конденсатора. Однак висота отриманих шипів значно зменшиться при підвищеному струмі, тому вам може знадобитися посилити сигнал, який ви записуєте на лінію (наприклад, використовуйте високочастотний транзистор або два, щоб "посилити" сигнал TTL до 12В раніше проштовхуючи його через конденсатор на лінію 12В).

Так чи інакше, щось на зразок VirtualWire майже завжди буде працювати краще, ніж UART (і, можливо, I2C тощо). Причина полягає в тому, що він використовує фазовий фіксований цикл для синхронізації передачі та прийому разом, що означає більш високе співвідношення сигнал / шум та менше помилок. Це повинно зробити трохи прощення менш апаратного обладнання ;-)


2

Є багато питань, які я міг би задати, перш ніж давати будь-яку пораду. Я думаю, що перше, що ми намагаємось зрозуміти, - це ваша мета? Низька вартість побудови, тривале спілкування, економлячи електропроводку, доказ концепції чи щось інше. Всі вони мали б різні рекомендації. Наприклад, якщо ви не турбуєтесь про вартість, то, можливо, перейдіть за рішенням Zigbee або якщо це тривалий час, то це створює проблеми з більшістю однопровідних переходів і тепер вам потрібно переглянути інші варіанти. Я здогадуюсь, що мене найбільше хвилює ваше запитання - ви говорите "чим простіше, тим краще". Те, що ви запитуєте, можливо в деяких ситуаціях, але я смію сказати, що це буде не просто. В основному через проблеми, що виникають у реальному світі, такі як втрата сигналу, шум та управління струмом.

Удачі.


Дякую - добре чути про можливі проблеми, з якими я можу зіткнутися зі шляху. Я намагався трохи уточнити свої потреби у вищенаведеному пості.
Пітер Гібсон

2

Ви впевнені, що якесь USB-рішення не працює? У вас є близько 2-2,5 Вт.

Ось пара інших ідей -

Потужність над Ethernet (POE) інтегрує сигнали живлення та Ethernet. Існують різноманітні напівпровідники та перетворювачі постійного та постійного струму, призначені для цих пристроїв. Це, мабуть, найкращий варіант, оскільки для цього є запчастини.

Я вважаю, що деякі компанії з домашньої автоматизації інтегрують сигнали змінного струму та комунікації. Можливо, щось із цього пристосоване.

Аудіо люди мають "фантомне" живлення мікрофонів. 48В постійного струму плюс аудіо через кабель мікрофона.


1
Вам потрібно бути обережним, підтягуючи живлення від USB. Коли ви вперше підключите пристрій до порту USB, ви отримуєте 100 мА при 5 В = 0,5 Вт. Потім ваш пристрій може запитувати додаткову потужність і отримувати 500 мА при 5 В = 2,5 Вт. Вам також потрібно буде переконатися, що ваш пристрій не матиме великого тяга, коли ви вперше підключите його. Вікіпедія трохи розповідає про живлення USB в розділі "Харчування" на веб-сайті en.wikipedia.org/wiki/Universal_Serial_Bus#Power
Kellenjb

Kellenjb, перерахування зовсім не те саме, що вимагати більшої потужності, мені подобається вважати, що ти перевіряєш, що ти розумний пристрій. Більшість людей також забувають, якщо вони віддають свій пристрій комусь іншому, він може бути підключений до ненапруженого концентратора, що призводить до максимального витягу 100mA незалежно від ситуації.
Кортук

1

Протокол X-10 робить саме це.

Також деякі з наведених вище пропозицій не є безпечними або, безумовно, не можуть використовуватися на затверджених пристроях (знак UL / CE).


1
Я припускаю, що "дроти живлення" означають проводи низької напруги. Якщо вони є проводами змінного струму, то так, більшість інших відповідей непридатні, не враховуючи це.
Адам Девіс

2
X10 передбачає, що проектується лінія змінного струму і потребує конкретного налаштованого трансформатора. Не думайте, що він підходить до питання "Простіше, тим краще" :-)
Axeman,

0

Є виділений напівпровідник, який отримує байт UART і передає його по лінії електропередачі зі швидкістю до 115,2 Кбіт / с. Цей пристрій був розроблений для автомобілів, тому він надійний для шуму. Дивіться http://yamar.com/product/sig60/



-2

Це робиться в телефонних системах. Як ви знаєте по телефону, у нас є двопроводна система сигналу та тону набору та голосу. Ви можете відправляти команди через лінію електропередачі, генеруючи тональний сигнал (наприклад, тональний набір у звичайному телефоні), інтегральні схеми (Ic) для цього додатка зазвичай використовуються, а тому коштують дуже дешево.

Я зробив такий проект, як керування водяними клапанами на великому заводі в Ірані (до 99 клапанів). Я можу додати блок-схему моєї схеми декодера кодера, якщо ви вважаєте, що це може бути корисним.


2
Це не дає відповіді на запитання.
Нуль

Саїд, відповідаючи на старі запитання (2010), прийнято робити вагомий внесок, тим більше, що вже є інші хороші відповіді. І, будь ласка, не пропонуйте приватний обмін інформацією, оскільки відповідь повинна бути корисною для всіх, хто переглядає тут.
clabacchio
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.