Độ dài dây tối đa cho giao tiếp nối tiếp giữa hai Arduinos là bao nhiêu?


9

Tôi đang xây dựng một dự án trong đó hai Arduinos sẽ được liên kết bằng ba dây: TX một RX để liên lạc nối tiếp và GND chung. Điều gì sẽ là chiều dài tối đa của dây ở đây trước khi giao tiếp bị ảnh hưởng?

Tôi đang sử dụng Arduino Mega R3 ở một bên và Arduino Mini ở bên kia.

Tôi không có yêu cầu cụ thể nào về tốc độ Baud, tôi có thể sử dụng mức thấp nhất nếu điều này có ích.

Câu trả lời:


4

Bạn cần chỉ định

  • Thứ tự của phạm vi bạn quan tâm - đó là theo thứ tự mét, hàng chục mét, km hoặc liên bang? :-). TẤT CẢ đều có thể với sự thỏa hiệp phù hợp.

  • Cách bạn dự định kết nối với mạch - chân Arduino trực tiếp, bộ đệm cao / thấp, trình điều khiển vi sai, ...

Nếu bạn sử dụng "đơn cực" 5V / 0V thì tại 9600 baud, bạn có thể nhận được nhiều mét với trình điều khiển phù hợp. Nếu bạn sử dụng chân Arduino trực tiếp điện trở dây và độ tự cảm sẽ bắt đầu quan trọng khi phạm vi tăng.

Với tốc độ 300 baud, bạn có thể đạt được hàng trăm mét với cáp đôi xoắn. Khi phạm vi tăng các khía cạnh như nói chuyện chéo từ các mạch khác và tiếng ồn bên ngoài tăng tầm quan trọng. Ở phạm vi dài hơn có 4 dây với tín hiệu + mặt đất được xoắn với nhau trong mỗi trường hợp giúp NHƯNG có khả năng ở phạm vi quan tâm 2 dây cộng với mặt đất sẽ hoạt động tốt.

Nếu bạn đang chuẩn bị để sử dụng đủ điện áp và đủ chậm hiệu bạn có thể báo hiệu qua hàng ngàn dặm - như đã được thực hiện với các loại cáp điện báo từ rất sớm. Hàng ngàn volt cần thiết và tốc độ tín hiệu có lẽ một vài bit mỗi giây sẽ là một điều không phù hợp trong hầu hết các trường hợp.


Khoảng cách tôi muốn đi là khoảng 40-50 mét từ bên trong ngôi nhà của chúng tôi đến cổng bên ngoài. Ý định của tôi là kết nối trực tiếp các chân Arduino có liên quan với một cáp mà tôi tìm thấy từ bản cài đặt liên lạc trước đó.
hobie

2
Một số nguy hiểm cho Arduino với các dây cáp dài. Cảm ứng, rò rỉ, tĩnh điện. (Chỉ có thể tăng sét và chạm đất từ ​​lỗi nguồn nhưng ...). Điốt kẹp ngược để đường ray cung cấp điện trên tất cả các dòng một ý tưởng tốt. Trình điều khiển cơ bản IC một ý tưởng RẤT tốt. Ngay cả một IC biến tần Schmitt xx74xx14 ở mỗi đầu cũng sẽ hữu ích. (trong đó xx thay đổi theo gia đình). Trình điều khiển dòng thích hợp thậm chí tốt hơn nhưng đó là một khởi đầu. NẾU Arduino của bạn có giá trị sử dụng một bộ đệm.
Russell McMahon

Cảm ơn tất cả mọi người cho ý kiến ​​và đề xuất. Để tìm hiểu xem tôi có thể bao quát khoảng cách đã cho (khoảng 40m) bằng một kết nối đơn giản hay không, tôi đã thử với hai Arduino Uno, tương ứng được thiết lập là người gửi và người nhận. Các bảng được kết nối trực tiếp thông qua các đường TX / RX (chân 0 và 1) với tốc độ 9600 bit mỗi giây. Người gửi gửi một chuỗi kiểm tra mỗi giây trong khi người nhận đang lắng nghe dữ liệu đến. Tôi đang sử dụng một dòng hiện có (không có thông tin về chất lượng / thông số kỹ thuật của cáp này. Dù sao, cặp người gửi / người nhận dường như hoạt động mà không gặp vấn đề gì ở khoảng cách và cấu hình này.
hobie

Cảm ơn, bạn có gợi ý / liên kết cụ thể nào đến IC hoặc chip điều khiển không?
hobie

@hobie Ở 50 mét và 9600 baud, bạn có thể đạt được kết quả OK (thử và xem) với hầu hết mọi IC điều khiển kỹ thuật số 5V và thậm chí chỉ các IC đầu ra kỹ thuật số. Một điểm khởi đầu hữu ích là các bộ biến tần CMOS kích hoạt Schmitt thường là 74xxx14, CDxxx14, MM ..... 14. Hãy tìm bộ biến tần kích hoạt Schmitt, tránh những bộ biến tần có công suất thấp nhất.
Russell McMahon
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.