Wstrzykiwanie sygnału komunikacyjnego przez linie zasilania prądem stałym

22

Chciałbym móc połączyć szeregowo wiele urządzeń za pomocą tylko przewodów zasilających, a następnie wstrzyknąć sygnał komunikacyjny przez linie energetyczne, aby przekształcić go w sieć półdupleksową.

Czy są jakieś powszechne metody osiągnięcia tego? Im prościej, tym lepiej i byłoby wspaniale, gdyby używał UART na mikrokontrolerze.

Edycja: W rzeczywistości pracuję nad dwoma projektami, które, jak sądzę, mogłyby na tym skorzystać - jeden to sieć czujników o niskiej mocy. Drugi to projekt oświetlenia LED. W obu przypadkach celem jest uproszczenie okablowania, ale jeśli rozwiązanie jest zbyt złożone, prawdopodobnie bardziej sensowne jest użycie trzech przewodów (pwr, gnd, comms).

Peter Gibson
źródło
1
Zasilacz AC czy DC? Jakie jest napięcie zasilania?
mjh2007
3
Układ kondensator + induktor wspomniany w niektórych odpowiedziach ma nazwę: bias-T .
Davidcary

Odpowiedzi:

15

Czy sprawdziłeś protokół Dallas 1-Wire ? Jest to naprawdę niska prędkość i jeśli twoje urządzenie pobiera stosunkowo niewielki prąd, możesz uciec od użycia pasożytniczej energii i zasilić urządzenie liniami danych.

Terry Chen
źródło
Dzięki za to - 1-Wire wygląda na dość popularny i dobrze nadaje się do sieci czujników o niskiej mocy.
Peter Gibson
2
Cześć Peter, ponieważ specjalnie prosiłeś o UART. Udało mi się znaleźć informacje na temat maksymalnych zastosowań aplikacji UART jako magistrali 1-wire. (patrz maxim-ic.com/app-notes/index.mvp/id/214 ).
Terry Chen
11

Zasadniczo musisz popchnąć sygnały prądu przemiennego na linię zasilania prądem stałym i oddzielić je ponownie. Jest to powszechne w domach z antenami telewizyjnymi - wzmacniacz mocy jest umieszczony w pobliżu anteny, a prąd stały jest popychany w górę przewodu antenowego, podczas gdy sygnały telewizyjne docierają do przewodu antenowego.

Nie podajesz wystarczających szczegółów dla przykładowego obwodu, ale oto podstawy:

Źródło zasilania powinno mieć szeregowy cewkę idącą na wyjście, aby blokować sygnały wysokiej częstotliwości zasilające zasilacz i powodujące problemy z regulacją.

Pobór mocy każdego urządzenia powinien być podobnie zabezpieczony cewką indukcyjną, aby odfiltrować sygnały prądu przemiennego. Podanie tego do diody i kondensatora sprawi, że sygnały prądu przemiennego nie zagrozą mocy modułu.

Przed cewką przymocujesz również kondensator. Prawdopodobnie będzie to niska wartość, więc większość sygnałów prądu przemiennego na linii przechodzi przez kondensator, ale żaden prąd stały nie przejdzie.

Wyjście tego kondensatora MOGĄ być użyteczne bezpośrednio do mikrokontrolera (z mocowaniem diodowym), jeśli masz umiejętności wdrażania niezbędnego oprogramowania do odczytu okaleczonych danych poza linią. Podobnie można wysyłać impulsy bezpośrednio do kondensatora za pomocą styku we / wy.

Sprawdź, jak to wygląda na lunecie - fala prostokątna wchodząca do kondensatora będzie wyglądać jak rozkładający się skok na linii zasilającej. Kiedy pojawi się kolejny kondensator w sieci, będzie dalej zmieniany - tylko skok na linii.

Odczyt tych skoków może być trudny, a odfiltrowanie szumów może być trudne, więc jeśli biegniesz długimi liniami, masz głośny zasilacz lub biegniesz w pobliżu innych źródeł hałasu, musisz wdrożyć znaczące przetwarzanie sygnału. Zwykle ma to postać AM (ASK - kluczowanie z przesunięciem amplitudy) lub FM (FSK - kluczowanie z przesunięciem częstotliwości) na linii z krajalnikami danych, komparatorami, generatorami tonów i detektorami itp. Lub równoważnym przetwarzaniem w oprogramowaniu.

To może wydawać się dużo pracy, ale zacznij od prostego detektora impulsów na końcu odbiorczym i wysyłaj fale kwadratowe podczas transmisji. Użyj oscyloskopu, aby zrozumieć, co się dzieje, a jeśli okaże się, że potrzebujesz bardziej złożonego rozwiązania, ponownie zapytaj o wykrywanie ASK lub FSK.

Detektor impulsów może być prostym przerwaniem programowym na styku wejściowym zmiany lub 555 skonfigurowanym jako nosze impulsowe.

Adam Davis
źródło
Zgadzam się z Adamem tutaj, z tym wyjątkiem, że uważam, że cała komunikacja powinna odbywać się FM, a ty możesz zbudować naprawdę fajne filtry, aby odzyskać sygnał prawie idealnie. Wspomniał o tym, ale pomyślałem, że dodam notatkę, aby wyjaśnić, że zaszumiony sygnał może być znowu piękny z odpowiednim filtrem i modulacją FM.
Kortuk
1
FM jest znacznie lepszy niż AM lub wiele innych prostych schematów modulacji, ale powoduje nieco wyższy koszt pod względem sprzętu i / lub oprogramowania, a jeśli jakość sygnału jest dobra, może to być przesada.
Adam Davis
7

Zbudowałem coś takiego dla systemu kontrolera pociągu (oczywiście model pociągu).

Był to jednokierunkowy protokół niskiej prędkości (jeden podmiot wysyła dane, wszystkie pozostałe są tylko odbiornikami), a transmisja odbywała się po prostu poprzez odwrócenie biegunowości szyny.

Na każdym „kliencie” był prosty obwód zrobiony ze zdjęciem (16C54 lata temu!), Prostownikiem i kilkoma mikroprzełącznikami do ustawienia adresu.

Nie mam już kodów źródłowych, ale system był naprawdę łatwy i działał bezbłędnie przez lata, umożliwiając łatwe sterowanie każdą lokomotywą, barierą przeładunkową, semaforem itp. Z głównego panelu sterowania bez dodatkowych przewodów.

Axeman
źródło
Axeman, nie mam nic do powiedzenia, ale zrobiłeś na mnie wrażenie. To rozwiązanie sprawia, że ​​chichoczę.
Kortuk
Kortuk, mam nadzieję, że „chichotanie” oznacza „kciuki do góry” (jestem Włochem i nie jestem zbyt silny w języku angielskim, jak widać :-)) W każdym razie, wiele lat przed moim „wynalazkiem” (ale odkryłem to po moim projekcie została ukończona) zaprojektowano, znormalizowano i wdrożono fabryki modeli kolejowych (w ten sam sposób) DCC: Cyfrowa kontrola poleceń, w tym samym celu: en.wikipedia.org/wiki/Digital_Command_Control
Axeman
5

Poleciłbym potraktować to jako sygnał, że dodajesz i usuwasz DC Offset. Można użyć kondensatorów do blokowania prądu stałego, umieszczając je szeregowo w obwodzie.

Poza tym trudno jest powiedzieć, co trzeba zrobić, ponieważ będzie to zależeć od aplikacji. Może być konieczne użycie opampa do oddzielenia kondensatora sprzęgającego od tego, co odbiera sygnał. Jeśli napięcie przesunięcia prądu stałego jest duże w porównaniu z napięciem sygnału, może nie być nawet konieczne wykonanie na nim żadnego warunku zasilania w celu usunięcia tętnienia, wszystko zależy jednak od zastosowania.

Mam parę głośników, które używają tej samej techniki do zapalania diody LED zasilania na drugim głośniku. Jeśli odpowiednio zwiększę głośność, zauważę, że dioda LED staje się jaśniejsza. W tej konkretnej aplikacji będą musieli martwić się o rodzaj tworzonego filtra RC.

Kellenjb
źródło
Rozważałem próbę modulacji RS232 za pomocą sygnału hi-freq podłączonego do źródła zasilania 12 V - Sądzę, że ważne byłoby izolowanie pojemności zasilacza, aby nie próbował wygładzić tętnień?
Peter Gibson
4

Wiem, że to dość stary wątek, ale oto moje 2 pensy warte ...

Jeszcze nic nie działało, ale chciałem zrobić coś podobnego za pomocą Arduino + VirtualWire (ustawiony na naprawdę niską prędkość transmisji). Jak mówi Adam Davis powyżej, przesyłasz / odbierasz dane z linii 12V za pomocą kondensatora o niskiej wartości. Oznacza to, że zasadniczo dostajesz 0 V z niewielkimi skokami, które VirtualWire może (prawdopodobnie) zdekodować. Dobrą wiadomością dotyczącą tej metody jest to, że teoretycznie każde urządzenie na linii 12 V może rozmawiać i każde może odbierać. Pracowałem nad tym ze zwykłym kawałkiem drutu między dwoma urządzeniami na płycie chleba, ale nie jestem pewien, czy będzie działać na odległość, czy na rzeczywistej linii zasilania.

Jeśli transmisja odbywa się zawsze z tego samego miejsca, być może użycie czegoś takiego jak metoda Hornby'ego może być lepsza - tj. niech nadajnik przełączy linię zasilania między + 12V a -12V, aby wytworzyć sygnał. Każdy odbiornik ma prostownik na swoim podłączeniu do linii zasilającej, więc zawsze otrzymuje zasilanie + 12V. Można prawdopodobnie po prostu pulsować + 12V i każde urządzenie używa dużego kondensatora, aby wygładzić nierówności. Każda z tych metod jest prawdopodobnie bardziej niezawodna, ponieważ sygnał na linii zasilającej będzie znacznie silniejszy, a zatem łatwiejszy do odkodowania (nadal korzystałbym z VirtualWire, aby to zrobić, ale UART też mógłby działać).

W przypadku projektu oświetlenia LED istnieje duża szansa, że ​​będziesz musiał przesunąć kilka wzmacniaczy w dół linii 12 V. To sprawia, że ​​przełączanie jest nieco trudniejsze, więc możesz być lepiej z metodą RF-over-kondensatorową. Jednak wysokość otrzymywanych szczytów znacznie się zmniejszy wraz z wyższym prądem, więc może być konieczne wzmocnienie sygnału zapisywanego na linii (np. Użyj tranzystora wysokiej częstotliwości lub dwóch, aby „wzmocnić” sygnał TTL do 12V przed przepychając go przez kondensator do linii 12 V).

Tak czy inaczej, coś takiego jak VirtualWire prawie zawsze będzie działać lepiej niż UART (i prawdopodobnie I2C itp.). Powodem jest to, że wykorzystuje pętlę synchronizacji fazy do „synchronizacji” transmisji i odbioru, co oznacza wyższy stosunek sygnału do szumu i mniej błędów. To powinno sprawić, że będzie trochę bardziej wybaczający mniej niż idealny sprzęt ;-)

Ralph Bolton
źródło
2

Jest wiele pytań, które mógłbym zadać przed udzieleniem porady. Myślę, że pierwszą rzeczą, którą powinniśmy zrozumieć, jest twój cel tutaj? Niski koszt budowy, długie przebiegi komunikacji, oszczędzając w ten sposób okablowanie, dowód koncepcji lub coś innego. Wszyscy mieliby różne zalecenia. Na przykład, jeśli nie martwisz się kosztami, możesz wybrać rozwiązanie Zigbee lub jeśli jest to długa seria, to stwarza problemy z większością transmisji jednoprzewodowych, a teraz musisz spojrzeć na inne opcje. Myślę, że najbardziej martwi mnie twoje pytanie, że mówisz „im prościej, tym lepiej”. To, o co prosisz, jest możliwe w niektórych sytuacjach, ale odważę się powiedzieć, że nie będzie to proste. Głównie z powodu rzeczywistych problemów, które napotkasz, takich jak utrata sygnału, szumy i zarządzanie prądem.

Powodzenia.

Mark B
źródło
Dzięki - dobrze jest słyszeć o potencjalnych problemach, które mogą napotkać na torze. Próbowałem nieco wyjaśnić moje potrzeby w powyższym poście.
Peter Gibson
2

Czy na pewno jakieś rozwiązanie USB nie jest wykonalne? Dostępnych jest około 2-2,5 W.

Oto kilka innych pomysłów -

Power over ethernet (POE) integruje sygnały zasilania i Ethernet. Istnieje wiele półprzewodników i przetwornic DC / DC przeznaczonych do tych urządzeń. Jest to prawdopodobnie najlepsza opcja, ponieważ są do tego gotowe części.

Wierzę, że niektóre firmy zajmujące się automatyką domową integrują sygnały zasilania i komunikacji AC. Może niektóre z nich można dostosować.

Ludzie audio mają „fantomowe” zasilanie mikrofonów. 48VDC plus audio przez kabel mikrofonowy.

jluciani
źródło
1
Musisz być ostrożny przy pobieraniu energii z USB. Kiedy po raz pierwszy podłączasz urządzenie do portu USB, otrzymujesz 100mA przy 5v = 0,5W. Twoje urządzenie może następnie zażądać dodatkowej mocy i uzyskać 500 mA przy 5 V = 2,5 W. Musisz również upewnić się, że twoje urządzenie nie będzie miało dużego obciążenia po pierwszym podłączeniu. Wikipedia mówi trochę o mocy USB w sekcji „Moc” na en.wikipedia.org/wiki/Universal_Serial_Bus#Power
Kellenjb
Kellenjb, wyliczenie nie jest dokładnie tym samym, co żądanie większej mocy, lubię myśleć o tym jako o sprawdzeniu, czy jesteś inteligentnym urządzeniem. Większość ludzi zapomina również, że jeśli przekazuje swoje urządzenie komuś innemu, może ono zostać podłączone do niezasilanego koncentratora, co skutkuje maksymalnym poborem 100 mA bez względu na sytuację.
Kortuk
1

Protokół X-10 robi dokładnie to.

Również niektóre z powyższych sugestii nie są bezpieczne lub na pewno nie mogą być stosowane w zatwierdzonych urządzeniach (znak UL / CE).

Brian Carlton
źródło
1
Zakładam, że „przewody zasilające” oznaczają przewody niskiego napięcia. Jeśli są to przewody zasilania prądem przemiennym, to tak, większość innych odpowiedzi jest nieodpowiednia bez uwzględnienia tego.
Adam Davis
2
X10 zakłada z założenia linię zasilania prądem przemiennym i potrzebuje określonego zestrojonego transformatora. Nie sądzę, że pasuje do części pytania „Prosto, lepiej” :-)
Axeman
0

Jest tam dedykowany półprzewodnik, który dostaje bajt UART i przesyła go przez linię energetyczną z prędkością do 115,2 Kb / s. To urządzenie zostało zaprojektowane z myślą o motoryzacji, więc jest odporne na hałas. Zobacz http://yamar.com/product/sig60/

juliański
źródło
-2

Odbywa się to w systemach telefonicznych. Jak wiesz w telefonie, mamy zasilanie i ton wybierania oraz głos w systemie dwuprzewodowym. Możesz wysyłać swoje polecenia za pośrednictwem linii elektroenergetycznej poprzez generowanie tonu (takiego jak wybieranie tonowe w zwykłym telefonie), układy scalone (Ic) są powszechnie używane i dlatego są bardzo tanie.

Zrobiłem taki projekt dotyczący sterowania zaworami wodnymi w dużym zakładzie w Iranie (do 99 zaworów). Mogę dodać schemat blokowy mojego obwodu dekodera kodera, jeśli uważasz, że może być przydatny.

saeed
źródło
2
To nie odpowiada na pytanie.
Null
Saeed, odpowiadając na stare pytania (2010), zwykle wnosi się znaczący wkład, zwłaszcza że istnieją już inne dobre odpowiedzi. I proszę, nie proponuj prywatnej wymiany informacji, ponieważ odpowiedzi powinny być pomocne dla każdego, kto tu przegląda.
clabacchio