Sự khác biệt GND giữa các nút CAN?


7

Tôi đang chạy một chiếc xe buýt CAN ngắn (2 m) với khoảng 20 nút. Tốc độ 1 Mbit / s, PIC 18F258018F4580 với bộ thu phát MCP2551 , bộ dao động tinh thể 10 MHz (với PLL đến 40 MHz). Cả hai đầu được kết thúc ở 120 ohms. Điểm mẫu là 70%.

Các nút nằm trong ba nhóm, mỗi nhóm được cung cấp từ một nguồn cung cấp điện riêng biệt, nhưng tất cả các căn cứ đều phổ biến dọc theo xe buýt.

Tôi nhận được khá nhiều lỗi tin nhắn, đóng khung, nhồi bit. Nhìn vào CANH và CANL trên máy hiện sóng, mọi thứ đều đẹp. Không đổ chuông, không phản xạ và thời gian chính xác. Đo các bộ dao động với một bộ đo tần số chính xác chỉ cho thấy một biến thể nhỏ.

Cho đến nay, cách duy nhất tôi có thể giảm số lỗi tin nhắn là tăng cường dây nối đất dọc theo xe buýt cho đến khi tôi nhận được mức chênh lệch GND dưới khoảng 150 mV. Càng đi xa, tôi càng nhận được nhiều lỗi.

Tại sao? Theo bảng dữ liệu MCP2551, họ sẽ có thể đối phó với sự khác biệt GND lên đến 7 V!

Tôi có hiểu lầm gì không?


2
Với phạm vi của bạn trên, bạn vẫn nhận được lỗi? Thực tế, điều này sẽ tạo ra CAN 0v thông qua clip phạm vi trái đất của bạn
BullBoyShoes

Cắm phạm vi 'vào mặt đất có thể giúp đỡ. Nhưng mối tương quan vẫn giữ. Nếu tôi giảm chênh lệch điện áp GND thì tỷ lệ lỗi sẽ giảm.
Rocketmagnet

1
Bạn nói rằng bạn có nguồn cung cấp bị cô lập. Bạn cũng nói rằng bạn nhận được sự khác biệt lớn giữa các nút, trừ khi bạn sử dụng một dây đất lớn, nặng. Đây là những tuyên bố loại trừ lẫn nhau. Nếu mỗi nút được cách ly, không có dòng điện nào có thể chảy trên mặt đất . Bạn có (các) nguồn cung cấp không tốt, hoặc các nguồn cung cấp bạn đang sử dụng có đầu ra tiếng ồn chế độ chung rất lớn.
Sói Connor

1
Bạn đang sử dụng DC-DC gạch ngoài kệ? Một số trong số đó có thể là khủng khiếp. Đặt cuộn cảm ở chế độ chung trên các kết nối nguồn cho mọi nút và xem điều đó có giúp ích không.
Sói Connor

Câu trả lời:


3

Bạn có chắc chắn các lỗi thông báo là kết quả của bus CAN và không phải là kết quả của hiệu suất của phần còn lại của nút (các mạch PIC)?

CAN là vi sai, miễn là bạn không vượt quá giới hạn điện áp chế độ chung của bộ thu phát thì mức mặt đất tương đối không nên quan trọng và không cần gửi kết nối mặt đất với tín hiệu CAN (có thể là khiên nhưng khác câu chuyện).

Tuy nhiên với các nguồn cung cấp điện bị cô lập nhưng kết nối mặt đất ở đó bạn có thể có một số vòng dây nối đất đang gây ra vấn đề với phần còn lại của mạch điện.


Tỷ lệ lỗi dường như là một hàm trực tiếp của chênh lệch điện áp GND. Tôi có thể làm cho tỷ lệ lỗi tăng hoặc giảm ngay trước mắt, chỉ bằng cách giảm hoặc tăng lượng đồng nối đất.
Rocketmagnet

vâng, không có gì đáng ngạc nhiên, nếu có dòng điện chạy qua các vòng trên mặt đất, nghe có vẻ như chắc chắn là vậy, việc giảm điện trở làm giảm sự sụt giảm điện áp trên mặt đất ... bạn đã thử loại bỏ mặt đất này giữa tất cả các nút và chỉ cần rời khỏi CÓ THỂ H / L? Như đã đề cập, nó không cần thiết cho CAN và nó không giống như một phần của nguồn cung cấp năng lượng nên nó thực sự không làm gì ngoài việc tạo ra một vòng lặp hiện tại đang gây ra vấn đề.
Đánh dấu

hãy đặt nó theo một cách khác, Nếu bạn đã kết nối căn cứ của tất cả các nút và đang sử dụng 6 feet 18 đồng guage để làm như vậy. Nếu bạn đo 150mV giữa hai nút cuối thì cũng có thể có 3,32 AMPS dòng điện chạy giữa các nút trên dây nối đất. Đó là một vấn đề lớn và có thể gây ra tất cả các loại vấn đề với toàn bộ mạch.
Đánh dấu

Đánh dấu, nếu tôi loại bỏ kết nối GND giữa các nút, thì sự khác biệt sẽ tăng lên và tỷ lệ lỗi cũng vậy. Vấn đề là mỗi nhóm nút được cấp nguồn từ nguồn cung cấp năng lượng riêng biệt của nó, vì vậy không có gì ngăn cản sự khác biệt GND vượt quá mức tối đa 7v.
Rocketmagnet

2
@rocketmagnet Bạn nhận được 7V ở đâu? Bảng dữ liệu cho bộ thu phát đó liệt kê + - 42V cho giới hạn điện áp DC ở chế độ chung trên CANH / CANL. Miễn là bạn sử dụng các nguồn cung cấp bị cô lập tương tự và chúng được cắm vào cùng một hệ thống điện từ xa, bạn không nên thấy nhiều sự khác biệt trong tiềm năng mặt đất, có thể là một vài volt. Sự khác biệt ở cấp độ mặt đất không ảnh hưởng đến tín hiệu vi sai, đó là một lý do lớn để sử dụng tín hiệu vi sai. Nếu bạn loại bỏ tất cả các kết nối giữa các nút trừ CANH / CANL và vẫn có vấn đề thì có một vấn đề khác trong thiết kế.
Đánh dấu

2

Có lẽ chúng ta cần thay đổi mạch của bạn một chút. Những gì tôi đã thấy trên RS-232RS-422 có thể hoạt động cho CAN:

Opto cô lập các bộ thu phát CAN từ các bảng. Cấp nguồn cho chúng từ các bộ chuyển đổi DC-DC bị cô lập hoàn toàn. Sau đó các mạch thu phát sẽ nổi và hy vọng sẽ ở gần nhau hơn.

Tôi cũng đã thấy điều này được thực hiện trên một ghi chú ứng dụng để (không thực sự) "cách ly" giao diện USB bằng cách đặt nó ở phía ngoài.

Tôi sẽ quan tâm vì các thẻ servo robot của tôi đều nói về CAN và chúng tôi nhận được dòng điện khá lớn trong khung, nhưng tôi đã không thử sử dụng giao diện CAN trong sự tức giận (chúng tôi đã sử dụng chúng trong RS-232 với một giao thức độc quyền cũ).


1

Theo những gì tôi hiểu, tốc độ dữ liệu tối đa CAN bus 1 Mbit / s có thể là một thách thức ngay cả với một xe buýt ngắn. Bạn đã thử giảm tốc độ dữ liệu xuống 500 kbit / s để xem nó ảnh hưởng đến số lỗi của bạn như thế nào chưa?


Đáng buồn thay, đây không phải là một lựa chọn. Chúng tôi cần tất cả băng thông chúng tôi có thể nhận được.
Rocketmagnet
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.