Tiêm tín hiệu liên lạc qua đường dây nguồn DC


22

Tôi muốn có thể xâu chuỗi nhiều thiết bị chỉ bằng cách sử dụng dây cấp nguồn và sau đó truyền tín hiệu liên lạc qua các đường dây điện để biến nó thành mạng bán song công.

Có bất kỳ phương pháp phổ biến để đạt được điều này? Càng đơn giản càng tốt và sẽ thật tuyệt nếu nó sử dụng UART trên vi điều khiển.

Chỉnh sửa: Thực tế có hai dự án mà tôi đang làm việc mà tôi nghĩ sẽ được hưởng lợi từ việc này - một là mạng cảm biến năng lượng thấp. Cái còn lại là một dự án chiếu sáng LED. Trong cả hai trường hợp, mục tiêu là đơn giản hóa việc đi dây, nhưng nếu giải pháp quá phức tạp thì có lẽ nên sử dụng ba dây (pwr, gnd, comms) có ý nghĩa hơn.


1
Cung cấp điện AC hay DC? Điện áp cung cấp là gì?
mjh2007

3
Bố trí tụ điện + cuộn cảm được đề cập trong một số câu trả lời có tên: bias-T .
davidcary

Câu trả lời:


15

Bạn đã xem xét giao thức Dallas 1-Wire chưa? Nó thực sự có tốc độ thấp và nếu thiết bị của bạn mất dòng điện tương đối ít thì bạn có thể thoát khỏi việc sử dụng năng lượng ký sinh và cấp nguồn cho thiết bị bằng các đường dữ liệu.


Cảm ơn vì điều đó - 1-Wire có vẻ như khá phổ biến và phù hợp với các mạng cảm biến năng lượng thấp.
Peter Gibson

2
Xin chào Peter, vì bạn đặc biệt yêu cầu UART. Tôi đã quản lý để tìm một ghi chú ứng dụng tối đa cho việc sử dụng UART làm chủ xe buýt 1 dây. (xem maxim-ic.com/app-notes/index.mvp/id/214 ).
Terry Chen

11

Về cơ bản, bạn cần phải đẩy tín hiệu AC lên đường dây nguồn DC và tách chúng ra một lần nữa. Điều này là phổ biến trong các gia đình có ăng-ten TV - bộ khuếch đại công suất được đặt gần ăng-ten và nguồn DC được đẩy lên dây ăng-ten trong khi tín hiệu TV đi xuống dây ăng-ten.

Bạn không cung cấp đủ chi tiết cho một mạch ví dụ, nhưng đây là những điều cơ bản:

Nguồn điện nên có một cuộn cảm nối tiếp với đầu ra để chặn tín hiệu tần số cao cấp vào nguồn điện và có thể gây ra sự cố về quy định.

Đầu vào nguồn của mỗi đơn vị phải được bảo vệ tương tự với một cuộn cảm để lọc các tín hiệu AC. Cho nó vào một diode và tụ điện sẽ đảm bảo tín hiệu AC không gây nguy hiểm cho công suất mô-đun của bạn.

Trước cuộn cảm, bạn cũng sẽ gắn một tụ điện. Nó có thể sẽ là một giá trị thấp để hầu hết các tín hiệu AC trên đường truyền qua capcitor, nhưng không có tín hiệu DC nào.

Đầu ra của tụ điện MIGHT này có thể được sử dụng trực tiếp vào một bộ vi điều khiển (có kẹp diode) nếu bạn có kỹ năng triển khai phần mềm cần thiết để đọc dữ liệu hiện đã bị cắt ra khỏi dòng. Tương tự như vậy, bạn có thể gửi xung trực tiếp vào tụ điện bằng chân I / O.

Kiểm tra xem nó trông như thế nào trên một phạm vi - sóng vuông đi vào tụ điện sẽ trông giống như một sự phân rã trên đường dây điện. Khi nó xuất hiện một tụ điện khác trên mạng, nó sẽ được thay đổi thêm - chỉ là một đột biến trên đường dây.

Đọc các xung này có thể khó khăn và lọc tiếng ồn có thể khó khăn, vì vậy nếu bạn đang chạy đường dài, có nguồn điện ồn hoặc chạy các đường gần các nguồn nhiễu khác thì bạn sẽ phải thực hiện xử lý tín hiệu quan trọng. Thông thường, điều này có dạng AM (ASK - Khóa dịch chuyển biên độ) hoặc FM (FSK - Khóa dịch chuyển tần số) trên đường truyền, với các bộ cắt dữ liệu, bộ so sánh, bộ tạo âm và bộ dò, v.v. Hoặc xử lý tương đương trong phần mềm.

Nó có vẻ như rất nhiều công việc, nhưng bắt đầu với một máy dò xung đơn giản ở đầu nhận và gửi sóng vuông khi truyền. Sử dụng máy hiện sóng để hiểu những gì đang xảy ra và nếu bạn thấy bạn cần một giải pháp phức tạp hơn, hãy hỏi lại về phát hiện ASK hoặc FSK.

Một bộ phát hiện xung có thể là một phần mềm đơn giản làm gián đoạn pin đầu vào thay đổi, hoặc một thiết bị 555 được thiết lập như một bộ căng xung.


Tôi đồng ý với adam ở đây ngoại trừ tôi tin rằng tất cả các giao tiếp nên được thực hiện FM và bạn có thể xây dựng một số bộ lọc thực sự tốt để lấy lại tín hiệu của bạn gần như hoàn hảo. Anh ấy đã đề cập đến điều này, nhưng tôi nghĩ rằng tôi sẽ thêm một ghi chú để làm rõ rằng tín hiệu nhiễu có thể đẹp trở lại với bộ lọc và điều chế FM phù hợp.
Kortuk

1
FM tốt hơn đáng kể so với AM hoặc nhiều sơ đồ điều chế đơn giản khác, nhưng chính xác nó có chi phí cao hơn một chút về phần cứng và / hoặc phần mềm, và nếu chất lượng tín hiệu tốt thì có thể là quá mức cần thiết.
Adam Davis

7

Tôi đã xây dựng một cái gì đó như thế này cho một hệ thống điều khiển tàu (tất nhiên là mô hình tàu hỏa).

Đó là một giao thức tốc độ thấp đơn hướng (một thực thể duy nhất gửi dữ liệu, tất cả các giao thức khác chỉ là máy thu) và việc truyền được thực hiện bằng cách đơn giản đảo ngược cực của đường ray.

Trên mỗi "máy khách" có một mạch đơn giản được thực hiện với một pic (16C54, nhiều năm trước!), Một bộ chỉnh lưu và một số công tắc nhúng để đặt địa chỉ.

Tôi không còn mã nguồn nữa, nhưng hệ thống thực sự dễ dàng và hoạt động hoàn hảo trong nhiều năm, cho phép kiểm soát dễ dàng mọi đầu máy, rào chắn đường ray, semaphore, v.v. từ bảng điều khiển chính mà không cần dây bổ sung.


Axeman, tôi không có gì để nói nhưng bạn đã gây ấn tượng với tôi thưa ông / bà. Giải pháp đó khiến tôi cười khúc khích.
Kortuk

Kortuk, tôi hy vọng rằng bạn "cười khúc khích" có nghĩa là "bật ngón tay cái" (Tôi là người Ý và không mạnh lắm trong tiếng Anh, như bạn có thể thấy :-)) Dù sao, nhiều năm trước "phát minh" của tôi (nhưng tôi đã phát hiện ra nó sau dự án của tôi đã hoàn thành) các nhà máy mô hình đường sắt được thiết kế, tiêu chuẩn hóa và triển khai (theo cách tương tự) DCC: Điều khiển lệnh kỹ thuật số, cho cùng một mục đích: en.wikipedia.org/wiki/Digital_Command_Control
Axeman 23/210

5

Tôi khuyên bạn nên suy nghĩ về nó như là một tín hiệu cho thấy bạn đang thêm và xóa Offset DC. Bạn có thể sử dụng các tụ điện để chặn DC bằng cách đặt chúng nối tiếp với mạch của bạn.

Ngoài ra, thật khó để nói bạn sẽ cần phải làm gì vì nó sẽ phụ thuộc vào ứng dụng của bạn. Bạn có thể cần phải sử dụng opamp để tách tụ điện ghép ra khỏi tín hiệu nhận được. Nếu điện áp bù DC của bạn lớn so với điện áp tín hiệu của bạn, bạn thậm chí có thể không cần thực hiện bất kỳ điều hòa năng lượng nào trên nó để loại bỏ gợn, điều này hoàn toàn phụ thuộc vào ứng dụng của bạn.

Tôi có một cặp loa sử dụng kỹ thuật tương tự này để chiếu sáng đèn LED nguồn trên loa phụ. Nếu tôi tăng âm lượng đủ lớn, tôi thực sự có thể nhận thấy đèn LED sáng hơn. Trong ứng dụng cụ thể này, họ sẽ cần phải lo lắng về loại bộ lọc RC nào đang được tạo.


Tôi đã cân nhắc việc thử điều chỉnh RS232 với tín hiệu hiqq được ghép nối với nguồn cung cấp 12V - Tôi đoán rằng việc cách ly điện dung PSU là rất quan trọng để nó không cố gắng làm phẳng các gợn sóng?
Peter Gibson

4

Tôi biết đây là một chủ đề khá cũ, nhưng đây là 2 xu đáng giá của tôi ...

Tôi chưa có bất cứ điều gì làm việc, nhưng đang xem xét làm một cái gì đó tương tự bằng cách sử dụng Arduino + VirtualWire (được đặt ở tốc độ truyền rất thấp). Như Adam Davis đã nói ở trên, bạn truyền / nhận dữ liệu của mình từ đường dây 12V thông qua một tụ điện có giá trị thấp. Điều đó có nghĩa là về cơ bản bạn nhận được 0V với các xung nhỏ trên đó, mà VirtualWire có thể (có thể) giải mã. Tin tốt về phương pháp này là về mặt lý thuyết, bất kỳ thiết bị nào trên đường dây 12V đều có thể nói chuyện và bất kỳ thiết bị nào cũng có thể nhận được. Tôi đã làm việc này với một chút dây thông thường giữa hai thiết bị trên bảng, nhưng không chắc nó sẽ hoạt động trên khoảng cách xa hay trên một đường dây điện thực tế.

Nếu việc truyền luôn luôn từ cùng một nơi, thì có lẽ sử dụng phương thức nào đó như phương pháp Hornby có thể tốt hơn - tức là. có bộ phát chuyển đổi đường dây điện giữa + 12V và -12V để tạo tín hiệu. Mỗi máy thu có một bộ chỉnh lưu trên kết nối với đường dây điện, do đó, nó luôn được cung cấp + 12V. Bạn có thể chỉ đơn giản là xung + 12V, và mỗi thiết bị sử dụng một tụ điện lớn để làm dịu các va đập. Một trong hai phương pháp này có thể đáng tin cậy hơn vì tín hiệu trên đường dây điện sẽ mạnh hơn nhiều và do đó dễ giải mã hơn (Tôi vẫn sử dụng VirtualWire để làm phiền bạn, nhưng UART cũng có thể hoạt động).

Đối với một dự án chiếu sáng bằng đèn LED, rất có khả năng bạn sẽ phải chuyển một vài ampe xuống dòng 12V. Điều đó làm cho việc chuyển đổi nó khó hơn một chút, vì vậy bạn có thể tốt hơn với phương pháp quá tụ RF. Tuy nhiên, chiều cao của các xung bạn nhận được sẽ giảm khá đáng kể với dòng điện cao hơn, do đó bạn có thể cần khuếch đại tín hiệu bạn ghi trên đường dây (ví dụ: sử dụng bóng bán dẫn tần số cao hoặc hai để 'khuếch đại' tín hiệu TTL thành 12V trước đẩy nó qua tụ điện lên đường dây 12V).

Dù bằng cách nào, một cái gì đó như VirtualWire sẽ luôn hoạt động tốt hơn UART (và có lẽ là I2C, v.v.). Lý do là nó sử dụng một vòng khóa pha để 'đồng bộ hóa' việc truyền và nhận với nhau, điều đó có nghĩa là tín hiệu cao hơn cho tỷ lệ nhiễu và ít lỗi hơn. Điều đó sẽ làm cho nó dễ tha thứ hơn một chút đối với phần cứng kém hoàn hảo ;-)


2

Có rất nhiều câu hỏi tôi có thể hỏi trước khi đưa ra bất kỳ lời khuyên nào. Tôi đoán điều đầu tiên để chúng tôi cố gắng hiểu là, mục tiêu của bạn ở đây là gì? Chi phí xây dựng thấp, giao tiếp dài chạy qua đó tiết kiệm hệ thống dây điện, bằng chứng về khái niệm hoặc một cái gì đó khác. Họ đều có những khuyến nghị khác nhau. Ví dụ: nếu bạn không lo lắng về chi phí thì có thể sử dụng giải pháp Zigbee hoặc nếu nó hoạt động lâu thì điều đó sẽ gây ra vấn đề với hầu hết các truyền dẫn dây đơn và bây giờ bạn cần xem xét các tùy chọn khác. Tôi đoán điều khiến tôi lo lắng nhất về câu hỏi của bạn là bạn nói "càng đơn giản càng tốt". Những gì bạn đang hỏi là có thể trong một số tình huống, nhưng tôi dám nói nó sẽ không đơn giản. Chủ yếu là do các vấn đề trong thế giới thực mà bạn sẽ gặp phải, chẳng hạn như mất tín hiệu, nhiễu và quản lý hiện tại.

May mắn nhất.


Cảm ơn - thật tốt khi nghe về những vấn đề tiềm ẩn mà tôi có thể gặp phải. Tôi đã cố gắng làm rõ nhu cầu của mình một chút trong bài viết trên.
Peter Gibson

2

Bạn có chắc chắn một số loại giải pháp USB không thể hoạt động? Bạn có khoảng 2-2,5W có sẵn.

Dưới đây là một vài ý tưởng khác -

Cấp nguồn qua ethernet (POE) tích hợp tín hiệu nguồn và ethernet. Có nhiều loại chất bán dẫn và bộ chuyển đổi DC / DC được thiết kế cho các thiết bị này. Đây có lẽ là lựa chọn tốt nhất của bạn vì có những bộ phận sẵn có cho việc này.

Tôi tin rằng một số công ty tự động hóa gia đình tích hợp tín hiệu điện và truyền thông AC. Có lẽ một số trong đó là thích nghi.

Các folks âm thanh có năng lượng "ảo" của micro. 48VDC cộng với âm thanh qua cáp micro.


1
Bạn sẽ cần phải cẩn thận với việc rút nguồn từ USB. Khi bạn lần đầu tiên cắm thiết bị vào cổng USB, bạn được cấp 100mA ở mức 5v = 0,5W. Sau đó, thiết bị của bạn có thể yêu cầu thêm năng lượng và nhận 500mA ở mức 5v = 2,5W. Bạn cũng sẽ cần đảm bảo rằng thiết bị của bạn sẽ không có lực kéo lớn khi bạn cắm thiết bị lần đầu tiên. Wikipedia nói một chút về nguồn USB trong phần 'Power' tại en.wikipedia.org/wiki/Universal_Serial_Bus#Power
Kellenjb

Kellenjb, liệt kê không hoàn toàn giống như yêu cầu nhiều năng lượng hơn, tôi muốn nghĩ về nó như xác minh bạn là một thiết bị thông minh. Hầu hết mọi người cũng quên nếu họ đang đưa thiết bị của mình cho người khác, thiết bị có thể được cắm vào một trung tâm không được cấp nguồn, dẫn đến lực kéo tối đa 100mA bất kể tình huống.
Kortuk

1

Các giao thức X-10 thực hiện chính xác này.

Ngoài ra, một số gợi ý ở trên không an toàn hoặc chắc chắn không thể được sử dụng trong các thiết bị được phê duyệt (nhãn hiệu UL / CE).


1
Tôi giả sử rằng "dây cấp điện" có nghĩa là dây điện áp thấp. Nếu chúng là dây cung cấp AC thì có, hầu hết các câu trả lời khác đều không phù hợp nếu không tính đến điều này.
Adam Davis

2
X10 giả định bằng cách thiết kế một đường dây điện xoay chiều và cần máy biến áp điều chỉnh cụ thể. Đừng nghĩ rằng nó phù hợp với phần "Đơn giản càng tốt" của câu hỏi :-)
Axeman

0

Có một chất bán dẫn chuyên dụng lấy byte UART và chuyển nó qua đường dây điện với tốc độ lên tới 115,2Kb / giây. Thiết bị này được thiết kế cho ô tô nên rất mạnh để chống ồn. Xem http://yamar.com/product/sig60/



-2

Nó được thực hiện trong các hệ thống điện thoại. Như bạn đã biết trong điện thoại, chúng tôi có nguồn điện và âm quay số và giọng nói trong một hệ thống hai dây. Bạn có thể gửi lệnh của mình thông qua đường dây điện bằng cách tạo âm báo (như quay số âm trong điện thoại thông thường), các mạch tích hợp (Ic) cho ứng dụng này thường được sử dụng và do đó rất rẻ.

Tôi đã làm một dự án như thế này để kiểm soát van nước trong một nhà máy lớn ở Iran (tối đa 99 van). Tôi có thể thêm sơ đồ khối của mạch giải mã bộ mã hóa nếu bạn nghĩ nó có thể hữu ích.


2
Điều này không trả lời câu hỏi.
Null

Saeed, khi trả lời các câu hỏi cũ (2010), theo thông lệ, sẽ có đóng góp đáng kể, đặc biệt vì đã có những câu trả lời hay khác. Và xin vui lòng không đề xuất trao đổi thông tin cá nhân, vì câu trả lời được cho là hữu ích cho bất cứ ai duyệt ở đây.
clabacchio
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.