Menyuntikkan sinyal komunikasi melalui saluran catu daya DC

22

Saya ingin dapat membuat daisy rantai beberapa perangkat hanya menggunakan kabel catu daya dan kemudian menyuntikkan sinyal komunikasi melalui saluran listrik untuk mengubahnya menjadi jaringan setengah dupleks.

Apakah ada metode umum untuk mencapai ini? Semakin sederhana semakin baik dan akan lebih bagus jika menggunakan UART pada mikrokontroler.

Sunting: Sebenarnya ada dua proyek yang sedang saya kerjakan yang saya pikir akan mendapat manfaat dari ini - satu adalah jaringan sensor daya rendah. Yang lainnya adalah proyek pencahayaan LED. Dalam kedua kasus tujuannya adalah untuk menyederhanakan kabel, tetapi jika solusinya terlalu kompleks maka mungkin lebih masuk akal untuk menggunakan tiga kabel (pwr, gnd, comms).

Peter Gibson
sumber
1
Catu daya AC atau DC? Berapa tegangan catu daya?
mjh2007
3
Susunan kapasitor + induktor yang disebutkan dalam beberapa jawaban memiliki nama: bias-T .
davidcary

Jawaban:

15

Sudahkah Anda melihat protokol Dallas 1-Wire ? Ini benar-benar kecepatan rendah dan jika perangkat Anda mengambil arus yang relatif sedikit maka Anda bisa lolos dengan menggunakan daya parasit dan daya perangkat dengan jalur data.

Terry Chen
sumber
Terima kasih untuk itu - 1-Wire sepertinya cukup populer dan cocok untuk jaringan sensor daya rendah.
Peter Gibson
2
Hai Peter, karena Anda secara khusus meminta UART. Saya berhasil menemukan catatan aplikasi pepatah untuk menggunakan UART sebagai master bus 1-kawat. (lihat maxim-ic.com/app-notes/index.mvp/id/214 ).
Terry Chen
11

Anda pada dasarnya perlu mendorong sinyal AC ke saluran listrik DC, dan memisahkannya lagi. Ini biasa terjadi di rumah dengan antena TV - power amplifier diletakkan di dekat antena, dan daya DC didorong ke atas kabel antena saat sinyal TV turun dari kabel antena.

Anda tidak memberikan detail yang cukup untuk contoh sirkuit, tetapi inilah dasar-dasarnya:

Sumber daya harus memiliki induktor secara seri pergi ke output untuk memblokir sinyal frekuensi tinggi yang masuk ke catu daya dan mungkin menyebabkan masalah regulasi.

Input daya setiap unit juga harus dilindungi dengan induktor untuk menyaring sinyal AC. Mengumpankannya ke dalam dioda dan kapasitor akan memastikan sinyal AC tidak membahayakan daya modul Anda.

Sebelum ke induktor, Anda juga akan memasang kapasitor. Mungkin nilai yang rendah sehingga sebagian besar sinyal AC di saluran melewati kapasitor, tetapi tidak ada DC yang mau.

Output kapasitor ini MUNGKIN dapat digunakan langsung ke dalam mikrokontroler (dengan penjepit dioda) jika Anda memiliki keterampilan untuk mengimplementasikan perangkat lunak yang diperlukan untuk membaca data yang sekarang dimutilasi dari telepon. Anda juga dapat mengirim pulsa langsung ke kapasitor dengan pin I / O.

Lihatlah seperti apa ruang lingkup - gelombang persegi yang masuk ke kapasitor akan terlihat seperti lonjakan yang membusuk pada saluran listrik. Ketika keluar kapasitor lain di jaringan itu akan lebih jauh berubah - hanya lonjakan di telepon.

Membaca paku-paku ini bisa sulit, dan menyaring kebisingan bisa sulit, jadi jika Anda menjalankan jalur yang panjang, memiliki catu daya yang bising, atau menjalankan jalur di dekat sumber kebisingan lainnya maka Anda harus menerapkan pemrosesan sinyal yang signifikan. Biasanya ini berupa AM (ASK - Amplifing Shift Keying) atau FM (FSK - Frequency Shifting Keying) di telepon, dengan slicers data, pembanding, generator nada dan detektor, dll. Atau pemrosesan yang setara dalam perangkat lunak.

Ini mungkin tampak seperti banyak pekerjaan, tetapi mulailah dengan detektor pulsa sederhana di sisi penerima dan mengirim gelombang persegi saat transmisi. Gunakan osiloskop untuk memahami apa yang terjadi, dan jika Anda membutuhkan solusi yang lebih kompleks, tanyakan lagi tentang deteksi ASK atau FSK.

Detektor denyut nadi bisa berupa perangkat lunak sederhana yang menginterupsi pin input perubahan, atau 555 yang diatur sebagai pengatur denyut nadi.

Adam Davis
sumber
Saya setuju dengan Adam di sini kecuali bahwa saya percaya semua komunikasi harus dilakukan FM dan Anda dapat membangun beberapa filter yang sangat bagus untuk mendapatkan sinyal Anda kembali dengan hampir sempurna. Dia telah menyebutkan ini, tetapi saya pikir saya akan menambahkan catatan untuk mengklarifikasi bahwa sinyal berisik dapat menjadi indah kembali dengan filter yang tepat dan modulasi FM.
Kortuk
1
FM secara signifikan lebih baik daripada AM atau banyak skema modulasi sederhana lainnya, tetapi memang membutuhkan biaya yang sedikit lebih tinggi dalam hal perangkat keras dan / atau perangkat lunak, dan jika kualitas sinyal baik, mungkin akan berlebihan.
Adam Davis
7

Saya telah membangun sesuatu seperti ini untuk sistem pengendali kereta api (kereta model, tentu saja).

Itu adalah protokol kecepatan rendah monodirectional (satu entitas mengirim data, yang lainnya hanya penerima) dan transmisi dilakukan dengan hanya membalik polaritas rel.

Pada setiap "klien" ada rangkaian sederhana yang dilakukan dengan pic (16C54, tahun yang lalu!), Sebuah penyearah dan beberapa saklar dip untuk mengatur alamat.

Saya tidak memiliki kode sumber lagi, tetapi sistemnya sangat mudah, dan bekerja tanpa cacat selama bertahun-tahun, memungkinkan kontrol yang mudah dari setiap lokomotif tunggal, penghalang muatan rel, semaphore, dll. Dari panel kontrol utama tanpa kabel tambahan.

Axeman
sumber
Axeman, aku tidak punya apa-apa untuk dikatakan tetapi kamu telah membuatku terkesan tuan / Nyonya. Solusi itu membuat saya terkikik.
Kortuk
Kortuk, saya harap Anda "terkikik" berarti "jempol" (saya orang Italia dan tidak terlalu kuat dalam bahasa Inggris, seperti yang Anda lihat :-)) Lagi pula, bertahun-tahun sebelum "penemuan" saya (tetapi saya menemukannya setelah proyek saya selesai) memodelkan pabrik kereta api yang dirancang, distandarisasi dan diimplementasikan (dengan cara yang sama) DCC: Digital Command Control, untuk tujuan yang sama: en.wikipedia.org/wiki/Digital_Command_Control
Axeman
5

Saya akan merekomendasikan untuk memikirkannya sebagai sinyal bahwa Anda menambah dan menghapus DC Offset. Anda dapat menggunakan kapasitor untuk memblokir DC dengan menempatkannya secara seri dengan rangkaian Anda.

Selain itu, sulit untuk mengatakan apa yang perlu Anda lakukan karena itu akan tergantung pada aplikasi Anda. Anda mungkin perlu menggunakan opamp untuk memisahkan kapasitor kopling Anda dari apa yang pernah menerima sinyal Anda. Jika tegangan offset DC Anda besar dibandingkan dengan tegangan sinyal Anda, Anda bahkan mungkin tidak perlu melakukan pengkondisian daya untuk menghilangkan riak, ini semua tergantung pada aplikasi Anda.

Saya memiliki sepasang speaker yang menggunakan teknik yang sama untuk menyalakan LED daya pada speaker sekunder. Jika saya memutar volume cukup keras saya benar-benar dapat melihat LED menjadi lebih cerah. Dalam aplikasi khusus ini mereka perlu khawatir tentang jenis filter RC apa yang sedang dibuat.

Kellenjb
sumber
Saya telah mempertimbangkan untuk mencoba memodulasi RS232 dengan sinyal freq hi digabungkan ke pasokan 12V - saya kira itu akan penting untuk mengisolasi kapasitansi PSU sehingga tidak mencoba untuk memuluskan riak?
Peter Gibson
4

Saya tahu ini adalah utas yang cukup lama, tapi ini nilai 2 pence saya ...

Saya belum mendapatkan apa pun yang berfungsi, tetapi sedang melihat melakukan sesuatu yang serupa menggunakan Arduino + VirtualWire (ditetapkan pada baud rate yang sangat rendah). Seperti yang dikatakan Adam Davis di atas, Anda mengirim / menerima data Anda dari jalur 12V melalui kapasitor bernilai rendah. Ini berarti Anda pada dasarnya mendapatkan 0V dengan sedikit paku di atasnya, yang VirtualWire dapat (mungkin) memecahkan kode. Kabar baiknya tentang metode ini adalah bahwa secara teori setiap perangkat di jalur 12V dapat berbicara, dan siapa pun dapat menerima. Saya sudah menggunakan ini dengan sedikit kawat biasa antara dua perangkat di papan tempat memotong roti, tetapi tidak yakin apakah itu akan bekerja jarak jauh, atau melalui kabel listrik yang sebenarnya.

Jika transmisi selalu dari tempat yang sama, maka mungkin menggunakan sesuatu seperti metode Hornby mungkin lebih baik - yaitu. minta pemancar mengganti saluran listrik antara + 12V dan -12V untuk membuat sinyal. Setiap penerima memiliki penyearah pada koneksi ke saluran listrik, sehingga selalu mendapat pasokan + 12V. Anda bisa dibilang cukup pulsa + 12V, dan minta setiap perangkat menggunakan kapasitor besar untuk menghaluskan gundukan. Salah satu dari metode ini mungkin lebih dapat diandalkan karena sinyal pada saluran listrik akan jauh lebih kuat dan karenanya lebih mudah untuk memecahkan kode (saya masih menggunakan VirtualWire untuk melakukannya, tetapi UART dapat bekerja juga).

Untuk proyek pencahayaan LED, ada peluang bagus Anda harus menggeser beberapa amp ke garis 12V. Itu membuatnya lebih sulit, sehingga Anda mungkin lebih baik dengan metode RF-over-kapasitor. Namun, ketinggian paku yang Anda terima akan berkurang cukup besar dengan arus yang lebih tinggi, sehingga Anda mungkin perlu memperkuat sinyal yang Anda tulis ke saluran (mis. Gunakan transistor frekuensi tinggi atau dua untuk 'memperkuat' sinyal TTL ke 12V sebelum mendorongnya melalui kapasitor ke jalur 12V).

Either way, sesuatu seperti VirtualWire hampir selalu akan bekerja lebih baik daripada UART (dan mungkin I2C dll). Alasannya adalah karena menggunakan loop terkunci fase untuk 'menyinkronkan' transmisi dan penerimaan bersama-sama, yang berarti rasio sinyal terhadap noise yang lebih tinggi dan lebih sedikit kesalahan. Itu seharusnya membuatnya sedikit lebih memaafkan perangkat keras yang kurang sempurna ;-)

Ralph Bolton
sumber
2

Ada banyak pertanyaan yang bisa saya tanyakan sebelum memberikan saran. Saya kira hal pertama yang harus kita pahami adalah, apa tujuan Anda di sini? Biaya membangun rendah, komunikasi lama berjalan sehingga menghemat kabel, bukti konsep atau sesuatu yang lain. Mereka semua akan mendapat rekomendasi berbeda. Misalnya jika Anda tidak khawatir tentang biaya maka mungkin pergi dengan solusi Zigbee atau jika berjalan lama maka itu menciptakan masalah dengan sebagian besar transmisi kawat tunggal dan sekarang Anda perlu melihat opsi lain. Saya kira hal yang paling membuat saya khawatir tentang pertanyaan Anda adalah bahwa Anda mengatakan "semakin sederhana semakin baik". Apa yang Anda tanyakan adalah mungkin dalam beberapa situasi, tetapi saya berani mengatakan itu tidak akan sederhana. Terutama karena masalah dunia nyata yang akan Anda temui, seperti kehilangan sinyal, kebisingan dan manajemen saat ini.

Semoga berhasil.

Mark B
sumber
Terima kasih - senang mendengar masalah potensial yang mungkin saya alami. Saya sudah mencoba sedikit memperjelas kebutuhan saya di posting di atas.
Peter Gibson
2

Apakah Anda yakin semacam solusi USB tidak bisa diterapkan? Anda memiliki sekitar 2-2.5W tersedia.

Berikut adalah beberapa ide lain -

Power over ethernet (POE) mengintegrasikan sinyal daya dan ethernet. Ada berbagai semikonduktor dan konverter DC / DC yang dirancang untuk perangkat ini. Ini mungkin pilihan terbaik Anda karena ada bagian yang tidak tersedia untuk ini.

Saya percaya beberapa perusahaan otomasi rumah mengintegrasikan daya AC dan sinyal komunikasi. Mungkin beberapa di antaranya mudah beradaptasi.

Orang-orang audio memiliki "hantu" menyalakan mikrofon. 48VDC plus audio melalui kabel mikrofon.

jluciani
sumber
1
Anda harus berhati-hati dengan menarik daya dari USB. Saat Anda pertama kali menyambungkan perangkat ke port USB Anda diberikan 100mA pada 5v = 0,5W. Perangkat Anda kemudian dapat meminta daya tambahan dan mendapatkan 500mA pada 5v = 2.5W. Anda juga perlu memastikan bahwa perangkat Anda tidak akan memiliki daya tarik besar saat pertama kali menyambungkannya. Wikipedia berbicara sedikit tentang daya USB di bagian 'Daya' di en.wikipedia.org/wiki/Universal_Serial_Bus#Power
Kellenjb
Kellenjb, enumerasi tidak persis sama dengan meminta lebih banyak kekuatan, saya suka menganggapnya sebagai memverifikasi Anda adalah perangkat yang cerdas. Kebanyakan orang juga lupa jika mereka memberikan perangkat mereka kepada orang lain, perangkat itu mungkin dicolokkan ke hub yang tidak memiliki daya, sehingga menghasilkan tarikan maksimum 100mA, apa pun situasinya.
Kortuk
1

The X-10 protokol tidak tepat ini.

Juga beberapa saran di atas tidak aman atau pasti tidak dapat digunakan di perangkat yang disetujui (UL / CE).

Brian Carlton
sumber
1
Saya berasumsi bahwa "kabel catu daya" berarti kabel tegangan rendah. Jika mereka adalah kabel pasokan AC maka ya, sebagian besar jawaban lain tidak cocok tanpa memperhitungkannya.
Adam Davis
2
X10 mengasumsikan dengan merancang saluran listrik AC dan membutuhkan trafo tuned khusus. Jangan berpikir itu cocok dengan bagian "Yang sederhana yang lebih baik" dari pertanyaan :-)
Axeman
0

Ada besarbesaran semikonduktor khusus yang mendapatkan byte UART dan mentransfernya melalui saluran listrik dengan kecepatan hingga 115.2Kbps. Perangkat ini dirancang untuk otomotif sehingga kuat untuk kebisingan. Lihat http://yamar.com/product/sig60/

Julian
sumber
-2

Ini dilakukan dalam sistem telepon. Seperti yang Anda ketahui di telepon, kami memiliki kekuatan dan panggilan nada dan suara dalam sistem dua kawat. Anda dapat mengirim perintah melalui saluran listrik dengan menghasilkan nada (seperti panggilan nada pada telepon biasa) sirkuit terpadu (Ic) untuk aplikasi ini biasa digunakan dan karenanya sangat murah.

Saya melakukan proyek seperti ini untuk mengendalikan katup air di pabrik besar di Iran (hingga 99 katup). Saya dapat menambahkan diagram blok sirkuit coder decoder saya jika Anda pikir ini mungkin berguna.

berkata
sumber
2
Ini tidak menjawab pertanyaan.
Null
Saeed, ketika menjawab pertanyaan lama (2010) adalah kebiasaan untuk memberikan kontribusi yang signifikan, terutama karena sudah ada jawaban bagus lainnya. Dan tolong jangan usulkan pertukaran informasi pribadi, karena jawaban seharusnya bermanfaat bagi siapa pun yang melihat-lihat di sini.
clabacchio