Go to Post FIRST isn't about the money. It is about the experience. - dubious elise [more]
Home
Go Back   Chief Delphi > Technical > Electrical > CAN
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 12-02-2011, 21:27
JasonStern JasonStern is offline
Mentor
FRC #1123 (AIM Robotics)
Team Role: Mentor
 
Join Date: Jan 2003
Rookie Year: 2003
Location: Arlington, VA
Posts: 65
JasonStern is on a distinguished road
Unhappy CANTimeoutException disabling motors

We are using 4 black Jags and 4 grey Jags this year connected to a 2Can and programmed in Java. All the Jags have been updated to firmware 92 and the 2Can to firmware 2.1. The black Jags control our drive motors and each one has a 1024 count quadrature encoder connected to it. The wheels spin at a maximum of 5 rps for a total count of 1024 * 5 * 2 = 10240 transitions per second, well within the rated 1,000,000 transitions per second of the Jaguars.

However, when we turn on speed control we keep getting intermittent CANTimeoutException errors (%VBus works fine). Whenever this happens, the affected Jaguar stops responding to crio commands but gives no other indication there is a problem. The status lights are all normal and the 2Can website continues to get environmental updates from the Jaguar. In addition, all the other Jaguars continue to work fine until they too get the random exception.

Any idea what might be causing this? There appears to be a new motor safety class that is supposed to kill motors that stop responding, but there doesn't seem to be anyway to reset the status and I'm not certain this is the problem. We even tried putting the robot on blocks and limiting our commands to only the drive Jags, but still ran into the same issue. An interesting note is that while we get the exception at random times on random Jags, once we are down to a single Jag receiving commands we do not get any further exceptions. We have verified all our connections and are only using a few feet of wiring.

Thanks in advance for your help!

Jason
__________________
Que será será
Reply With Quote
  #2   Spotlight this post!  
Unread 13-02-2011, 11:46
Mr. Lim Mr. Lim is offline
Registered User
AKA: Mr. Lim
no team
Team Role: Leadership
 
Join Date: Jan 2004
Rookie Year: 1998
Location: Toronto, Ontario
Posts: 1,125
Mr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond repute
Re: CANTimeoutException disabling motors

We had a few CANTimeoutExceptions caused by a termination problem:

Our RJ-12 with the 100 ohm resistor crimped directly into it had its leads very close together. We suspect they were occasionally touching.

We crimped another with the leads actually a bit LONGER, so that each lead would go perfectly AROUND the plastic block that normally holds the insulation in the crimp connector.

I would expect that the 2CAN has termination built-in to it, so likely you are fine there. I've never used one personally, but the RS-232 CAN adapters that you make sometimes don't have the DB-9 pins pushed all the way into the housing, and this has caused CANTimeoutExceptions in the past for us as well.
__________________
In life, what you give, you keep. What you fail to give, you lose forever...

Last edited by Mr. Lim : 13-02-2011 at 11:57.
Reply With Quote
  #3   Spotlight this post!  
Unread 13-02-2011, 11:48
Mr. Lim Mr. Lim is offline
Registered User
AKA: Mr. Lim
no team
Team Role: Leadership
 
Join Date: Jan 2004
Rookie Year: 1998
Location: Toronto, Ontario
Posts: 1,125
Mr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond repute
Re: CANTimeoutException disabling motors

Also,

We are using speed control with 256 ppr encoders that rotate at close to 600 RPM. So we are not too far off from each other pps-wise.
__________________
In life, what you give, you keep. What you fail to give, you lose forever...
Reply With Quote
  #4   Spotlight this post!  
Unread 13-02-2011, 14:22
JasonStern JasonStern is offline
Mentor
FRC #1123 (AIM Robotics)
Team Role: Mentor
 
Join Date: Jan 2003
Rookie Year: 2003
Location: Arlington, VA
Posts: 65
JasonStern is on a distinguished road
Re: CANTimeoutException disabling motors

Thanks for the thoughts and information! We have verified our termination resistor has plenty of space and isn't touching, so we don’t think that is an issue.

It does appear to be only related to the black Jaguars. We tried moving a few of our wheels over to the greys and while we still get the occasional exception, they don’t freeze. However, we would rather use the blacks as they have better operating parameters and a higher source current for the encoders.

--Jason
__________________
Que será será
Reply With Quote
  #5   Spotlight this post!  
Unread 14-02-2011, 12:32
Hugh Meyer's Avatar
Hugh Meyer Hugh Meyer is offline
Registered User
FRC #1741 (Red Alert Robotics)
Team Role: Mentor
 
Join Date: Feb 2009
Rookie Year: 2008
Location: Greenwood Indiana
Posts: 158
Hugh Meyer has much to be proud ofHugh Meyer has much to be proud ofHugh Meyer has much to be proud ofHugh Meyer has much to be proud ofHugh Meyer has much to be proud ofHugh Meyer has much to be proud ofHugh Meyer has much to be proud ofHugh Meyer has much to be proud of
Re: CANTimeoutException disabling motors

You might try switching to the serial port to talk to your first black Jaguar.

We often switch back and forth between the serial port and 2CAN to help expose various issues.

There was a recent update to the 2CAN. Be sure it is installed.

When you make your CAN cables you should only connect the CanH and CanL signals. Don't connect the ground...it makes a ground loop.

The rest of the world uses 120 ohms for termination. I have never seen a reason that TI said to use 100 ohms, so we have switched to 120 ohms.

-Hugh
Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 17:52.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi