DC güç kaynağı hatları üzerinden bir iletişim sinyali enjekte etmek


22

Sadece güç kaynağı kablolarını kullanarak çoklu cihazları zincirleyebilmek ve daha sonra yarım çift yönlü ağa dönüştürmek için güç hatları üzerinden bir iletişim sinyali enjekte edebilmek istiyorum.

Bunu başarmak için herhangi bir yaygın yöntem var mı? Ne kadar basitse o kadar iyi ve mikro denetleyicide UART kullanıyorsa harika olurdu.

Düzenleme: Üzerinde çalışacağım, bundan fayda sağlayacağını düşündüğüm iki proje var - bunlardan biri düşük güçte bir sensör ağı. Diğeri bir LED aydınlatma projesidir. Her iki durumda da amaç kablolamayı basitleştirmektir, ancak çözüm çok karmaşıksa, üç kablo kullanmak daha mantıklı olacaktır (pwr, gnd, comms).


1
AC veya DC güç kaynağı? Güç kaynağı voltajı nedir?
mjh2007

3
Bazı cevaplarda belirtilen kapasitör + indüktör düzenlemesinin bir adı vardır: bias-T .
davidcary

Yanıtlar:


15

Dallas 1-Wire protokolüne baktın mı ? Bu gerçekten düşük bir hızdır ve eğer cihazınız nispeten az akım alırsa, parazitik güç kullanarak kurtulup cihaza veri hatlarıyla güç verebilirsiniz.


Bunun için teşekkürler - 1-Wire, oldukça popüler ve düşük güçlü sensör ağları için çok uygun görünüyor.
Peter Gibson

2
Merhaba Peter, özellikle UART'ı istediğinden beri. UART'ı 1 telli bus master olarak kullanmak için maxim uygulama notları bulmayı başardım. (bkz. maxim-ic.com/app-notes/index.mvp/id/214 ).
Terry Chen

11

Temel olarak AC sinyallerini DC güç hattına itmeniz ve tekrar ayırmanız gerekir. Bu, TV antenleri bulunan evlerde yaygın olarak görülür - güç amplifikatörü antenin yanına yerleştirilir ve TV sinyalleri anten kablosundan aşağı inerken DC gücü, anten kablosunun üstüne itilir.

Örnek bir devre için yeterli ayrıntı vermediniz, ancak temel bilgiler:

Güç kaynağı, güç kaynağına beslenen yüksek frekanslı sinyalleri bloke etmek ve muhtemelen düzenleme sorunlarına neden olmak için çıkışa giden bir endüktöre sahip olmalıdır.

Her ünitenin güç girişi, AC sinyallerini filtrelemek için benzer şekilde bir endüktör ile korunmalıdır. Bunu bir diyot ve kapasitöre beslemek, AC sinyallerinin modülünüzü tehlikeye atmamasını sağlar.

İndüktörden önce, bir kondansatör de takacaksınız. Muhtemelen düşük bir değer olacaktır, böylece hattaki AC sinyallerinin çoğu capcitoru geçebilir, ancak DC'nin hiçbiri geçmez.

Bu kapasitörün MIGHT çıkışı, şimdi kesilmiş verileri satırdan okumak için gerekli yazılımı uygulama becerisine sahipseniz doğrudan bir mikro denetleyicide (diyotlu kelepçeyle) kullanılabilir. Aynı şekilde darbeleri doğrudan I / O pimi ile kapasitöre gönderebilirsiniz.

Kapsamda neye benzediğini kontrol edin - kapasitöre giren kare dalga elektrik hattında çürüyen bir yükselmeye benzeyecektir. Ağdaki başka bir kapasitör ortaya çıktığında, daha fazla değişecek - hatta sadece bir ani yükseliş.

Bu sivri uçları okumak zor olabilir ve gürültüyü filtrelemek zor olabilir, bu yüzden uzun çizgiler kullanıyorsanız, gürültülü bir güç kaynağına sahipseniz veya diğer gürültü kaynaklarının yakınında çalışan çizgiler varsa, o zaman önemli sinyal işleme uygulamanız gerekecektir. Genellikle bu, hat üzerinde AM (ASK - Genlik kayması anahtarlama) veya FM (FSK - Frekans kayması anahtarlama), veri dilimleyiciler, karşılaştırıcılar, ton üreteçleri ve dedektörler vb.

Çok fazla iş gibi görünebilir, ancak alıcı uçta basit bir darbe detektörü ile başlayın ve iletirken kare dalgalar gönderin. Neler olduğunu anlamak için bir osiloskop kullanın ve daha karmaşık bir çözüme ihtiyacınız olduğunu tespit ederseniz, tekrar ASK veya FSK tespiti hakkında sorun.

Bir darbe detektörü, değişim giriş piminde basit bir yazılım kesmesi veya bir darbe gerdirici olarak ayarlanmış bir 555 olabilir.


Bütün iletişimin FM yapılması gerektiğine inandığım dışında Adam ile aynı fikirdeyim ve sinyalinizi neredeyse mükemmel şekilde geri alabilmek için gerçekten hoş filtreler oluşturabilirsiniz. Bundan bahsetti, ancak gürültülü bir sinyalin doğru filtre ve FM modülasyonu ile tekrar güzel olabileceğini netleştirmek için bir not ekleyeceğimi düşündüm.
Kortuk

1
FM, AM'den veya diğer birçok basit modülasyon şemasından önemli ölçüde daha iyidir, ancak donanım ve / veya yazılım açısından biraz daha yüksek bir maliyete sahiptir ve eğer sinyal kalitesi iyi ise, aşırı yüklenebilir.
Adam Davis,

7

Tren kontrol sistemi için böyle bir şey yaptım (elbette model tren).

Tek yönlü düşük hızlı bir protokoldür (tek bir varlık veri gönderir, diğerleri sadece alıcıdır) ve iletim sadece ray kutuplarını tersine çevirerek yapıldı.

Her "müşteride", bir pic (16C54, yıl önce!), Redresör ve adres ayarlaması için bazı dip anahtarlarıyla yapılan basit bir devre vardı.

Artık kaynak kodlarım yok, ancak sistem gerçekten kolaydı ve yıllarca kusursuz çalışıyordu, her bir lokomotif, raiload bariyeri, semafor vb. Her bir lokomotif, ilave teller olmadan ana kontrol panelinden kolayca kontrol edilebiliyordu.


Axeman, söyleyecek bir şeyim yok ama beni etkilediniz efendim. Bu çözüm beni kıkırdatıyor.
Kortuk

Kortuk, umarım "kıkırdayarak" "" yaşasın "anlamına gelir (italyancayım ve ingilizce olarak çok güçlü değilim. :-)) Yine de," icatım "dan yıllar önce (ama projemden sonra buldum tamamlandı) model demiryolu fabrikaları tasarlandı, standartlaştırıldı ve uygulandı (aynı şekilde) DCC: Dijital Komuta Kontrolü, aynı amaç için: en.wikipedia.org/wiki/Digital_Command_Control
Axeman

5

Bir DC Ofseti eklediğiniz ve çıkardığınız bir sinyal olarak düşünmenizi tavsiye ederim. DC'yi engellemek için kapasitörlerinizi devrenizle seri hale getirerek kullanabilirsiniz.

Bunun ötesinde yapmanız gerekenleri söylemek zordur, çünkü uygulamanıza bağlı olacaktır. Kuplaj kapasitörünüzü sinyalinizi alandan ayırmak için bir opamp kullanmanız gerekebilir. Eğer DC ofset voltajınız sinyal voltajınıza göre daha büyükse, dalgalanmayı gidermek için üzerinde güç koşullandırmanız gerekmeyebilir, bunun hepsi uygulamanıza bağlıdır.

İkincil bir hoparlördeki güç LED'ini yakmak için aynı tekniği kullanan bir çift hoparlörüm var. Sesi yeterince yüksek açsam, LED'in daha aydınlandığını fark edebilirim. Bu özel uygulamada, ne tür bir RC filtresi oluşturulduğundan endişelenmeleri gerekir.


Bir 12V kaynağa bağlı yüksek frekanslı bir sinyal ile RS232'yi modüle etmeye çalışmayı düşünüyorum - dalgalanmaları düzeltmek için PSU kapasitansını izole etmenin önemli olacağını tahmin ediyorum.
Peter Gibson

4

Bunun oldukça eski bir konu olduğunu biliyorum, ama işte 2 pence değerim.

Henüz çalışacak bir şeyim yok, ancak Arduino + VirtualWire kullanarak benzer bir şeyler yapmaya bakıyordum (gerçekten düşük baud hızında ayarlanmış). Adam Davis'in yukarıda söylediği gibi, verilerinizi 12V hattından düşük değerli bir kapasitörle iletiyor / alıyorsunuz. VirtualWire'ın (muhtemelen) kodunu çözebileceği, üzerinde az miktarda sivri uç bulunan 0V elde edeceğiniz anlamına gelir. Bu yöntemle ilgili güzel bir haber, teoride 12V hattındaki herhangi bir cihazın konuşabileceği ve alabildiğidir. Bunu bir breadboard üzerindeki iki cihaz arasında sıradan bir kablo parçası ile çalıştırdım, ancak uzaktan mı yoksa gerçek bir güç hattı üzerinden mi çalışacağından emin değilim.

Şanzıman daima aynı yerden geliyorsa, belki Hornby yöntemi gibi bir şey kullanmak daha iyi olabilir. Vericinin sinyal oluşturmak için güç hattını + 12V ve -12V arasında değiştirmesini sağlayın. Her alıcı, güç hattına bağlantısı üzerinde bir redresöre sahiptir, bu yüzden her zaman + 12V beslemesi alır. Tartışmalı olarak basitçe + 12V darbe alabilir ve her bir cihaza çarpmaların düzelmesini sağlamak için büyük bir kapasitör kullanmasını sağlayabilirsiniz. Bu yöntemlerden herhangi biri muhtemelen daha güvenilirdir, çünkü güç hattındaki sinyal çok daha güçlü olacaktır ve bu nedenle kodunun çözülmesi daha kolay olacaktır (Sizi düşünmek için yine de VirtualWire kullanırım, ancak bir UART de işe yarayabilirdi).

Bir LED aydınlatma projesi için, 12V hattan birkaç amper değiştirmek zorunda kalacaksınız. Bu, onu değiştirmeyi biraz zorlaştırır, bu yüzden RF-kapasitör yöntemi ile daha iyi olabilirsiniz. Bununla birlikte, aldığınız sivri uçların yüksekliği daha yüksek akımla oldukça azalır, bu nedenle, satır üzerine yazdığınız sinyali yükseltmeniz gerekebilir (örneğin, önce TTL sinyalini 12V'a yükseltmek için yüksek frekanslı bir transistör veya iki kullanın) kapasitörden 12V çizgiye itmek).

Her iki durumda da, VirtualWire gibi bir şey neredeyse her zaman bir UART'tan (ve muhtemelen I2C vb.) Daha iyi çalışacaktır. Bunun nedeni, iletimi ve alımı birlikte senkronize etmek için bir faz kilitli döngü kullanmasıdır, bu da daha yüksek bir sinyal / gürültü oranı ve daha az hata anlamına gelir. Bu, mükemmel olmayan donanımdan daha az affedilmesi için biraz daha fazla olmalı ;-)


2

Herhangi bir tavsiye vermeden önce sorabileceğim birçok soru var. Sanırım anlamaya çalışmamız gereken ilk şey, buradaki amacınız nedir? Düşük yapım maliyeti, uzun iletişim sayesinde kablolama, konsept kanıtı veya başka bir şeyden tasarruf edilir. Hepsinin farklı önerileri olacaktı. Örneğin, eğer maliyetten endişe duymuyorsanız, belki Zigbee çözümü ile devam edin veya uzun vadede çalışıyorsanız, bu durum çoğu tek telli iletimle sorun yaratır ve şimdi diğer seçeneklere bakmanız gerekir. Sanırım sorunuzla ilgili beni en çok endişelendiren şey, “daha ​​iyi olanı” demeniz. İstediğiniz şey bazı durumlarda mümkündür, ancak bunun basit olmayacağını söylemeye cüret ediyorum. Temel olarak, sinyal kaybı, gürültü ve mevcut yönetim gibi karşılaşacağınız gerçek dünya sorunları nedeniyle.

İyi şanslar.


Teşekkürler - pistte karşılaşabileceğim olası sorunları duymak güzel. Yukarıdaki yazıda ihtiyaçlarımı biraz daha netleştirmeye çalıştım.
Peter Gibson

2

Bir çeşit USB çözümünün işe yaramadığından emin misiniz? 2-2.5W civarında mevcut.

İşte birkaç başka fikir -

Ethernet üzerinden Güç (POE), güç ve ethernet sinyallerini bütünleştirir. Bu cihazlar için tasarlanmış çeşitli yarı iletkenler ve DC / DC dönüştürücüler vardır. Muhtemelen en iyi seçenek, çünkü bunun için kullanıma hazır parçalar var.

Bazı ev otomasyon şirketlerinin AC güç ve iletişim sinyallerini entegre ettiğini düşünüyorum. Belki bir kısmı uyarlanabilir.

Sesli millet mikrofonların "hayalet" gücüne sahiptir. Mikrofon kablosu üzerinden 48VDC plus ses.


1
USB'den güç çekerken dikkatli olmanız gerekir. Bir cihazı ilk kez bir USB portuna taktığınızda, 5v = 0.5W'da 100mA verilir. Cihazınız ek güç talep edebilir ve 5v = 2.5W'da 500mA alabilir. Ayrıca ilk takın Cihazınız büyük çekiciliğine sahip alışkanlık sigorta gerekecektir Vikipedi kısmındaki 'Güç' bölümünde USB güç hakkında biraz konuşur. En.wikipedia.org/wiki/Universal_Serial_Bus#Power
Kellenjb

Kellenjb, numaralandırma daha fazla güç istemekle tam olarak aynı değil, akıllı bir cihaz olduğunuzu doğrulamayı düşünüyorum. Çoğu kişi, cihazını bir başkasına veriyorlarsa, elektriksiz bir göbeğe takılabilir, bu durum ne olursa olsun maksimum 100mA'lık bir çekişe neden olabilir.
Kortuk

1

X-10 protokol tam olarak bunu yapar.

Ayrıca yukarıdaki önerilerden bazıları güvenli değildir veya onaylı (UL / CE işareti) cihazlarda kesinlikle kullanılamaz.


1
Sanırım "güç kaynağı kabloları" düşük voltajlı kablolar anlamına geliyor. Eğer bunlar AC besleme telleri ise, evet, diğer cevapların çoğu bunu dikkate almadan uygun değildir.
Adam Davis,

2
X10, bir AC güç hattı tasarlayarak ve belirli ayarlı trafolara ihtiyaç duyar. Sorunun "Basit ve daha iyi" kısmına uyduğunu sanmıyorum :-)
Axeman

0

Orada bir UART baytı alan ve bunu 115.2Kbps hıza kadar güç hattı üzerinden aktaran özel bir yarı iletken. Bu cihaz otomotiv için tasarlanmıştır, bu nedenle gürültüye karşı dayanıklıdır. Bkz http://yamar.com/product/sig60/



-2

Telefon sistemlerinde yapılır. Telefonda bildiğiniz gibi, iki kablolu bir sistemde güç ve çevir sesi ve sesi var. Komutlarınızı güç hattı üzerinden (normal telefondaki tonlu arama gibi) ton üreterek gönderebilirsiniz, bu uygulama için entegre devreler (IC) yaygın olarak kullanılır ve bu nedenle çok ucuzdur.

İran'daki büyük bir tesisteki su vanalarını kontrol etmek için böyle bir proje yaptım (en fazla 99 vana). Eğer yararlı olacağını düşünüyorsanız, kod çözücü kod çözücümün blok şemasını ekleyebilirim.


2
Bu soruya cevap vermiyor.
Null

Saeed, eski soruları cevaplarken (2010), özellikle zaten başka iyi cevaplar olduğundan, önemli bir katkı yapmak gelenekseldir. Ve lütfen özel bilgi alışverişi önermeyin, çünkü cevabın burada gezen herkes için faydalı olması gerekir.
clabacchio
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.