|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#16
|
|||
|
|||
|
Re: CAN Jaguar: could longer CAN cables cause problems?
I read the Jaguar source code last night, mostly just for my own amusement. The CAN baud rate is not dynamic. There's basically no support for handling accumulated errors.
That said, I'm nearly certain you have a wiring problem. An oscilloscope and some diligent cable wiggling while watching the bus will almost certainly reveal your problem. The hard part is when you have multiple problems - de-convolving many problems is really hard. |
|
#17
|
|||
|
|||
|
Re: CAN Jaguar: could longer CAN cables cause problems?
Quote:
About remaking the terminators, do we only need to replace the deteriorated CAN crimp connector? Or do we need to replace the resistor as well? For the RS232 cable, should we need to get a new CAN cable for it? EDIT: zbrozek, while using the oscilloscope, is there a way to tell if there's termination failure due to a deteriorated CAN crimp connection? Is there a way to tell how bad the deterioration is? It'd be nice to estimate the lifetimes of our terminators and whether they're "expired". Last edited by AutoBotAM : 31-01-2014 at 19:05. Reason: Just read zbrozek's last post |
|
#18
|
||||
|
||||
|
Re: CAN Jaguar: could longer CAN cables cause problems?
Quote:
|
|
#19
|
|||
|
|||
|
Re: CAN Jaguar: could longer CAN cables cause problems?
Quote:
|
|
#20
|
|||||
|
|||||
|
Re: CAN Jaguar: could longer CAN cables cause problems?
Auto,
It doesn't matter since the wire is the same (as described in the linked doc for the jaguar) on the RS232 side as the CAN side. It is just a little more convenient when using the cable mod in the document. I would not reuse the resistors. They are so cheap why would you add another issue when you are starting over anyway. The bus is terminated at both ends effectively giving it a distributed 50 ohm impedance. This is low enough that outside noise is usually not a problem and variables in the cable tend to minimize. But think about it in terms of RF transmission line. If one of the terminations goes open (actually anything greater than 200 ohms), the bus now goes to 100 ohms (the other resistor) and the open end becomes an antenna and mismatched load. At that point, noise starts to become a problem, and reflections start to mount. Where the reflections (that is a signal pulse that bounces back from the unterminated end) become a problem as the CAN device doesn't know if the reflection is noise and should be ignored or whether it is a valid pulse and interpret it as such. CAN was developed for harsh environments so a short run on a robot should pose no big issues. Diagnosing cable should not need a scope. Just remove all but the first device and move the termination to that output port. See if you can communicate with the device and control it. If it works take out the known good cable and add a different one until you have tested all the cable and know they are good. Then add a second device and move the termination and repeat the test. Sooner or later, you are going to find one or more bad cables and one or more bad devices. Using known good parts and substitution gets you to the root of the problem pretty quickly without fancy test equipment. The assumption is "it works for other teams so there must be a bad cable, termination, or device in my robot." Last edited by Al Skierkiewicz : 01-02-2014 at 07:49. |
|
#21
|
|||
|
|||
|
Re: CAN Jaguar: could longer CAN cables cause problems?
Alright, so our CAN Jaguar setup is up and running now.
Solution: We were using flat CAN cables, we switched them out with twisted-pair CAN cables with much more favorable results. If you are a team having CAN issues similar to this, replace your flat CAN cables with twisted pair cables! They help! Also, apparently our resistors (or at least the one on the tail end) are actually soldered onto the wire instead of crimped, so they are functioning now. I'd advise other teams to solder their resistors as well, as it could increase the lifetime. When we make our new RS232 CAN cable, we will probably put the terminator at the serial side, since that's what our mentor recommends to prevent extra signal reflection, and to have resistance all the way through the network. Thank you all for your help and insight! EDIT: Apparently we are also getting intermittent connections in our RS232 cable (so the resistor was probably crimped on that end, or it's just dying of old age). Anyway, we're going to make a couple of new ones, then we should have a good signal! Last edited by AutoBotAM : 02-02-2014 at 11:54. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|