Vì sao hai thiết bị đã nối đúng dây mà bus vẫn báo lỗi đọc? RS485 là chuẩn điện ở lớp vật lý, dùng tín hiệu vi sai trên một cặp dây xoắn để nhiều thiết bị cùng chia sẻ một đường truyền, chống nhiễu tốt và đi được xa. Chuẩn này chỉ quy định phần điện, không quy định dữ liệu. Vì vậy phần lớn sự cố thực tế đến từ cách đi dây, điện trở đầu cuối và điểm nối đất chứ không phải từ thiết bị.

RS485 là gì? Trong hệ truyền thông công nghiệp
RS485 là tiêu chuẩn điện cho đường truyền nối tiếp cân bằng, quy định cách bộ phát và bộ thu làm việc trên một cặp dây, chứ không quy định dữ liệu gửi đi là gì. Tên chính thức hiện nay là TIA-485-A, trước đây quen gọi là EIA-485 hoặc RS-485, và bản đầu tiên được công bố từ năm 1983.
Nguyên lý cốt lõi là truyền vi sai. Một bit được mã hoá bằng chênh lệch điện áp giữa hai dây trong cặp xoắn, thường ký hiệu A và B hoặc D+ và D-. Bộ thu không đo điện áp của từng dây so với đất mà đo phần chênh lệch, nên nhiễu tác động gần như giống nhau lên cả hai dây sẽ bị triệt tiêu. Đây là lý do RS485 sống được trong tủ điện có biến tần, còn RS232 thì không.
Điểm thứ hai là kiểu mạng nhiều điểm. Nhiều thiết bị có thể cùng treo trên một tuyến dây, chuẩn cho phép tới 32 tải đơn vị trên một phân đoạn. Ở dạng 2 dây, các thiết bị thay phiên nhau phát nên hoạt động bán song công. Ở dạng 4 dây, một cặp dùng để phát và một cặp dùng để thu, cho phép song công toàn phần.
Một chi tiết hay bị bỏ qua: bản thân chuẩn không quy định đầu nối, không quy định tốc độ baud, không quy định khung dữ liệu và cũng không ấn định khoảng cách tối đa. Con số 1200 mét mà bạn thấy khắp nơi là giá trị thực tế được các tài liệu nhà sản xuất và tài liệu kỹ thuật lặp lại, không phải một dòng bắt buộc trong tiêu chuẩn.
RS485 và Modbus RTU không phải một thứ
RS485 lo phần dây và mức điện, Modbus RTU lo phần khung dữ liệu, địa chỉ và mã hàm. Trên cùng một tuyến RS485, bạn có thể chạy Modbus RTU, Profibus DP, BACnet MS/TP hay DMX512 tuỳ thiết bị. Nhầm hai lớp này là lỗi hay gặp nhất khi mua thiết bị: hai máy đều ghi hỗ trợ RS485 nhưng nói hai giao thức khác nhau thì vẫn không hiểu nhau, và không có sợi dây nào chữa được điều đó.
Những thông số quyết định độ ổn định của tuyến
Có bốn con số cần thuộc trước khi thiết kế: 32 tải đơn vị, ngưỡng thu 200 mV, dải điện áp chung từ -7 V đến +12 V, và trở kháng cáp khoảng 120 ohm. Bảng dưới tóm tắt các thông số theo góc nhìn lắp đặt.
| Thông số | Giá trị theo chuẩn | Ý nghĩa khi lắp đặt |
|---|---|---|
| Kiểu tín hiệu | Vi sai, cân bằng | Bắt buộc dùng cáp xoắn đôi, không tách hai dây tín hiệu ra hai sợi khác nhau |
| Số thiết bị trên một phân đoạn | 32 tải đơn vị | Transceiver loại 1/2, 1/4 hay 1/8 tải đơn vị cho phép treo nhiều node hơn 32 |
| Điện áp ra của bộ phát | Tối thiểu 1,5 V vi sai trên tải 54 ohm | Tải 54 ohm tương ứng hai trở 120 ohm mắc song song ở hai đầu tuyến |
| Ngưỡng của bộ thu | 200 mV, vùng dưới ngưỡng là bất định | Khoảng cách rộng giữa 1,5 V phát và 200 mV thu chính là biên dự phòng chống nhiễu |
| Dải điện áp chung | -7 V đến +12 V | Chênh lệch điện thế đất giữa hai tủ vượt dải này là nguyên nhân cháy cổng lặp lại |
| Khoảng cách | Chuẩn không ấn định, thực tế thường lấy 1200 m | Con số 1200 m gắn với tốc độ thấp, chạy nhanh hơn thì cự ly phải giảm |
| Tốc độ dữ liệu | Tài liệu nhà sản xuất thường nêu tới 10 Mbps | Mức 10 Mbps chỉ đạt được ở cự ly rất ngắn, hệ Modbus RTU phổ biến chạy 9600 đến 115200 bps |
| Trở kháng cáp khuyến nghị | Khoảng 120 ohm | Trở đầu cuối phải chọn bằng trở kháng đặc tính của cáp, không chọn theo cảm tính |
RS232, RS422 và RS485 khác nhau ở đâu?
Khác biệt lớn nhất nằm ở số lượng thiết bị được phép nói trên cùng một tuyến. RS232 là kết nối một đổi một, RS422 cho một bộ phát nói với nhiều bộ thu, còn RS485 cho phép nhiều bộ phát thay phiên nhau trên cùng đường bus.
| Tiêu chí | RS232 | RS422 | RS485 |
|---|---|---|---|
| Kiểu tín hiệu | So với đất | Vi sai | Vi sai |
| Số thiết bị | 1 phát, 1 thu | 1 phát, tối đa 10 thu | Tới 32 tải đơn vị, cả phát và thu |
| Chế độ truyền | Song công | Song công, một chiều dữ liệu chính | Bán song công với 2 dây, song công với 4 dây |
| Trở đầu cuối | Không cần | Một trở ở đầu xa | Hai trở ở hai đầu tuyến chính |
| Dùng hợp lý khi | Nối máy tính với một thiết bị trong cùng tủ, cự ly vài mét | Một nguồn phát dữ liệu đi xa tới vài điểm nhận cố định | Nhiều cảm biến, biến tần, đồng hồ đo cùng nằm trên một tuyến dài |
Nếu hệ của bạn chỉ có một máy tính nói chuyện với một thiết bị trong cùng tủ, chọn RS485 là làm phức tạp thêm phần đấu nối mà không được lợi gì. Ngược lại, khi số điểm đo tăng dần theo từng đợt mở rộng, bắt đầu bằng RS485 sẽ đỡ phải kéo lại toàn bộ hệ dây sau này.

Đấu bus RS485 theo trình tự nào cho đúng
Trình tự đúng là chọn cáp, đi dây nối tiếp, đấu đúng cực, kéo dây mát chung, rồi mới gắn trở đầu cuối và đặt tham số. Làm ngược thứ tự này là lý do nhiều tuyến chạy được lúc thử bàn nhưng hỏng khi lắp thật.
- Chọn cáp xoắn đôi có trở kháng đặc tính khoảng 120 ohm. Nếu tuyến đi chung máng với cáp động lực hoặc gần biến tần, chọn loại có màn chắn.
- Đi dây kiểu nối tiếp qua từng thiết bị. Không đi hình sao từ một điểm trung tâm, không tạo nhánh rẽ dài ra khỏi tuyến chính.
- Đấu đúng cực A và B. Ký hiệu giữa các hãng không thống nhất, có nơi ghi A/B, có nơi ghi D+/D-, có nơi ghi TX+/TX-, nên đối chiếu tài liệu thiết bị thay vì suy đoán theo màu dây.
- Kéo một dây tín hiệu chung theo suốt tuyến và nối vào chân GND hoặc COM của mọi thiết bị. Đây là bước giữ điện áp chung nằm trong dải cho phép.
- Gắn trở đầu cuối 120 ohm tại hai đầu vật lý của tuyến chính. Không gắn thêm ở các thiết bị nằm giữa.
- Bố trí điện trở phân cực chống trôi tại một điểm duy nhất trên bus, thường là ở phía thiết bị chủ hoặc bộ chuyển đổi.
- Nối màn chắn xuống đất ở một đầu duy nhất. Nối cả hai đầu sẽ tạo dòng chạy vòng trong màn chắn và bơm nhiễu ngược vào chính sợi cáp bạn vừa chống nhiễu.
- Đặt cùng tốc độ baud, cùng kiểu parity và stop bit cho toàn tuyến, kiểm tra không có địa chỉ trùng, rồi ghi lại sơ đồ để lần bảo trì sau không phải dò lại.
Kiểm tra nhanh trước khi cấp nguồn cho tuyến
Tắt nguồn toàn bộ thiết bị rồi đo điện trở giữa hai dây A và B tại một điểm bất kỳ trên tuyến. Kết quả khoảng 60 ohm nghĩa là hai trở đầu cuối đã có đủ. Nếu đo ra khoảng 120 ohm thì bạn mới gắn được một đầu. Nếu giá trị lên tới vài trăm ohm hoặc cao hơn thì tuyến đang chạy không có trở đầu cuối nào, và đó thường là gốc của những lỗi ngắt quãng xuất hiện về sau.
Khi nào thật sự cần trở đầu cuối và trở phân cực
Trở đầu cuối cần thiết khi tuyến đủ dài hoặc tốc độ đủ cao để phản xạ tín hiệu kịp làm méo bit, còn một bus vài mét chạy ở 9600 bps thường vẫn hoạt động dù không có trở. Vấn đề là ranh giới này không rõ ràng, nên với hệ chạy sản xuất thì gắn đủ hai trở là lựa chọn ít rủi ro hơn.
Chỉ nên có đúng hai trở và đặt tại hai đầu vật lý của tuyến. Mỗi trở gắn thêm ở giữa sẽ kéo tải nặng lên, làm biên độ tín hiệu tụt xuống và những thiết bị ở xa nhất sẽ là nhóm rớt đầu tiên. Đây cũng là lý do một tuyến đang chạy tốt bỗng lỗi sau khi kỹ thuật gắn thêm thiết bị mới có bật sẵn trở đầu cuối trên board.
Trở phân cực chống trôi giải quyết một tình huống khác. Khi không thiết bị nào phát, đường dây ở trạng thái thả nổi và bộ thu có thể hiểu nhiễu thành dữ liệu. Cặp trở kéo lên và kéo xuống giữ cho chênh lệch giữa hai dây luôn lớn hơn ngưỡng 200 mV để bộ thu đọc ra trạng thái nghỉ ổn định. Nếu hệ của bạn chỉ lỗi vào lúc bus im lặng hoặc ngay sau khi khởi động, hãy soi phần phân cực trước khi nghi ngờ thiết bị.
Lỗi RS485 hay gặp và hướng khoanh vùng
Phần lớn lỗi truyền thông trên RS485 đến từ lớp vật lý chứ không từ phần mềm, nên hãy khoanh vùng theo hiện tượng trước khi đụng vào cấu hình. Bảng dưới ghép hiện tượng với nguyên nhân thường thấy nhất.
| Hiện tượng | Nguyên nhân thường gặp | Việc nên kiểm tra trước |
|---|---|---|
| Không đọc được thiết bị nào | Đảo cực A và B, sai baud hoặc parity, sai địa chỉ, sai giao thức | Thử đảo hai dây tín hiệu, đối chiếu tham số cổng với tài liệu từng thiết bị |
| Đọc được thiết bị gần, mất thiết bị ở xa | Thiếu trở đầu cuối, cáp quá dài so với tốc độ, số node vượt tải cho phép | Đo trở giữa A và B khi mất điện, thử hạ baud xuống mức thấp hơn |
| Chỉ lỗi khi máy sản xuất chạy | Nhiễu từ biến tần, cáp tín hiệu đi chung máng với cáp động lực, màn chắn nối hai đầu | Tách tuyến khỏi cáp động lực, kiểm tra điểm tiếp đất của màn chắn |
| Timeout xuất hiện ngẫu nhiên | Topology hình sao, nhánh rẽ dài, chậm chuyển hướng thu phát | Nắn lại tuyến thành dạng nối tiếp, rút ngắn mọi nhánh rẽ |
| Lỗi rộ lên khi bus im lặng | Thiếu trở phân cực chống trôi | Bật phân cực tại một điểm duy nhất trên tuyến |
| Cổng truyền thông hỏng lặp lại | Chênh lệch điện thế đất giữa các tủ vượt dải cho phép, thiếu cách ly, thiếu chống sét | Dùng bộ cách ly, xem lại hệ tiếp đất giữa các tủ ở xa nhau |
Chọn cáp, transceiver và bộ chuyển đổi thế nào cho hợp
Nguyên tắc chọn thiết bị là bám theo ba ràng buộc của tuyến: chiều dài, số node và mức nhiễu tại hiện trường. Các tiêu chí dưới đây dùng được như một danh sách đối chiếu khi lên vật tư.
- Cáp: xoắn đôi trở kháng khoảng 120 ohm, tiết diện phổ biến cỡ 24 AWG, có màn chắn khi hiện trường nhiều nhiễu. Nếu cần dây mát riêng, chọn loại hai đôi thay vì mượn tạm màn chắn làm dây mát.
- Số node: quá 32 thiết bị trên một phân đoạn thì chọn transceiver loại một phần tám tải đơn vị hoặc chia tuyến bằng bộ lặp, thay vì cố treo thêm.
- Cách ly: khi các thiết bị nằm ở những tủ khác nhau, khác trạm nguồn hoặc cách xa về mặt địa lý, ưu tiên loại có cách ly để tránh chênh lệch đất phá cổng.
- Bộ chuyển đổi USB hoặc RS232 sang RS485: chọn loại tự điều khiển hướng truyền và có mạch bảo vệ đầu vào, vì đây là điểm hay hỏng đầu tiên khi có sét lan truyền.
- Công lắp đặt: kéo lại một tuyến nối tiếp cho đúng chuẩn tốn thêm vài giờ, nhưng rẻ hơn nhiều so với việc truy một lỗi ngắt quãng chỉ xuất hiện lúc dây chuyền chạy tải nặng.

Nếu bạn chỉ nhớ được một điều từ bài này, hãy nhớ rằng RS485 rất khoan dung với nhiễu nhưng không khoan dung với topology sai. Một tuyến đi nối tiếp, có dây mát chung, đủ hai trở đầu cuối và một điểm phân cực duy nhất thường chạy ổn định nhiều năm mà không cần can thiệp. Ngược lại, một tuyến đi hình sao có thể vẫn đọc được thiết bị lúc nghiệm thu rồi sinh lỗi rải rác khi nhà máy vào tải, và loại lỗi đó tốn thời gian truy hơn nhiều so với công đi lại dây từ đầu.
Cần hỏi kỹ thuật về một tuyến cụ thể
Chuẩn bị sẵn năm thông tin sau sẽ rút ngắn đáng kể thời gian chẩn đoán: tổng chiều dài tuyến, số thiết bị đang treo, tốc độ baud và giao thức đang chạy, sơ đồ đi dây thực tế, và giá trị đo được giữa hai dây A và B khi đã ngắt nguồn.
Câu hỏi thường gặp về RS485
RS485 nối được tối đa bao nhiêu thiết bị
Chuẩn cho phép 32 tải đơn vị trên một phân đoạn. Với transceiver đời mới có tải bằng một phần hai, một phần tư hoặc một phần tám tải đơn vị, số thiết bị thực tế có thể cao hơn nhiều, và khi vượt giới hạn thì dùng bộ lặp để chia thành nhiều phân đoạn.
RS485 đi được xa bao nhiêu mét
Bản thân tiêu chuẩn không ấn định khoảng cách tối đa. Con số 1200 mét được dùng phổ biến trong tài liệu kỹ thuật và gắn với tốc độ truyền thấp. Chạy càng nhanh thì cự ly khả dụng càng giảm, nên khi tuyến dài mà hay lỗi, hạ tốc độ baud là phép thử đơn giản nhất.
Đấu ngược hai dây A và B có làm hỏng thiết bị không?
Đảo hai dây tín hiệu thường chỉ làm thiết bị không giao tiếp được chứ không phá hỏng cổng, vì vậy đây là phép thử nhanh khi bus không đọc ra gì. Điều thật sự nguy hiểm là đấu nhầm dây tín hiệu vào nguồn hoặc để chênh lệch điện thế đất vượt dải cho phép.
RS485 có bắt buộc kéo dây mát không?
Nhiều hệ vẫn chạy với hai dây tín hiệu, nhưng bỏ dây mát chung là đánh cược vào chênh lệch điện thế đất giữa các thiết bị. Khi mức chênh này vượt dải cho phép, bộ thu sẽ đọc sai hoặc cổng bị hỏng. Với tuyến dài hoặc thiết bị ở nhiều tủ, dây mát chung nên coi là bắt buộc.
Modbus và RS485 khác nhau thế nào?
RS485 quy định phần điện và cách đi dây, Modbus RTU quy định cách đóng gói dữ liệu, địa chỉ và mã hàm. Một tuyến RS485 có thể chạy Modbus RTU, Profibus DP hoặc BACnet MS/TP, nhưng hai thiết bị chạy hai giao thức khác nhau thì dù đấu dây đúng vẫn không trao đổi được dữ liệu.