Go to Post Really let's not remove the best part of the games and that is the human interaction with the robots. Humans are much more adaptable and interesting when it come to problem solving. - Steve W [more]
Home
Go Back   Chief Delphi > Technical > Electrical
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 04-01-2017, 03:10
ollien ollien is offline
Registered User
FRC #5202
 
Join Date: Feb 2015
Location: United States
Posts: 292
ollien has a spectacular aura aboutollien has a spectacular aura aboutollien has a spectacular aura about
Mindsenors CAN Splitter

Looks like MindSensors just put up a CAN Splitter. It looks great, because if one CAN device goes down, all other CAN devices don't go down. Has anyone used a similar product (or wiring method that emulates it)? How well do they work?
Reply With Quote
  #2   Spotlight this post!  
Unread 04-01-2017, 03:27
Tom Line's Avatar
Tom Line Tom Line is offline
Raptors can't turn doorknobs.
FRC #1718 (The Fighting Pi)
Team Role: Mentor
 
Join Date: Jan 2007
Rookie Year: 1999
Location: Armada, Michigan
Posts: 2,513
Tom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond repute
Re: Mindsenors CAN Splitter

CAN bus is a passthrough circuit. Having a device die will not take down the chain. While a star topology is possible with a device like this, it is not recommended.
Reply With Quote
  #3   Spotlight this post!  
Unread 04-01-2017, 03:29
ollien ollien is offline
Registered User
FRC #5202
 
Join Date: Feb 2015
Location: United States
Posts: 292
ollien has a spectacular aura aboutollien has a spectacular aura aboutollien has a spectacular aura about
Re: Mindsenors CAN Splitter

Quote:
Originally Posted by Tom Line View Post
CAN bus is a passthrough circuit. Having a device die will not take down the chain. While a star topology is possible with a device like this, it is not recommended.
I should have been more precise. If we have a chain A-B-C-D, and B goes down, C and D will be inaccessible.

Thank you for your advice regarding the start topology!
Reply With Quote
  #4   Spotlight this post!  
Unread 04-01-2017, 03:32
R.C.'s Avatar
R.C. R.C. is online now
2017... Oooh Kill em, Swerve!
AKA: Owner, WestCoast Products
FRC #1323 (MadTown Robotics)
Team Role: Engineer
 
Join Date: Feb 2008
Rookie Year: 2006
Location: Madera, CA
Posts: 2,174
R.C. has a reputation beyond reputeR.C. has a reputation beyond reputeR.C. has a reputation beyond reputeR.C. has a reputation beyond reputeR.C. has a reputation beyond reputeR.C. has a reputation beyond reputeR.C. has a reputation beyond reputeR.C. has a reputation beyond reputeR.C. has a reputation beyond reputeR.C. has a reputation beyond reputeR.C. has a reputation beyond repute
Re: Mindsenors CAN Splitter

Quote:
Originally Posted by ollien View Post
I should have been more precise. If we have a chain A-B-C-D, and B goes down, C and D will be inaccessible.

Thank you for your advice regarding the start topology!
It shouldn't go down unless the wire is physically cut and or missing from the chain. Someone correct me if this is wrong, but the way the Talons are designed the wires are physically soldered to the same pad. We've had a few times where a talon went out but the rest of the bus worked fine.
__________________
R.C.
Owner, WestCoast Products || Twitter
MadTown Robotics Team 1323
Reply With Quote
  #5   Spotlight this post!  
Unread 04-01-2017, 03:35
Jaci's Avatar
Jaci Jaci is offline
Registered User
AKA: Jaci R Brunning
FRC #5333 (Can't C# | OpenRIO)
Team Role: Mentor
 
Join Date: Jan 2015
Rookie Year: 2015
Location: Perth, Western Australia
Posts: 251
Jaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond repute
Re: Mindsenors CAN Splitter

Quote:
Originally Posted by ollien View Post
I should have been more precise. If we have a chain A-B-C-D, and B goes down, C and D will be inaccessible.

Thank you for your advice regarding the start topology!
CAN works in parallel. If you open up an SRX (speaking from experience), you'll find that both the in and out CAN wires are soldered together, and then onto the board.

Green and Green are soldered together, then soldered to a pad on the board. Yellow and Yellow are soldered together, then soldered to a pad on the board.
__________________
Jacinta R

Curtin FRC (5333+5663) : Mentor
5333 : Former [Captain | Programmer | Driver], Now Mentor
OpenRIO : Owner

Website | Twitter | Github
jaci.brunning@gmail.com
Reply With Quote
  #6   Spotlight this post!  
Unread 04-01-2017, 03:27
Lireal Lireal is offline
Registered User
AKA: Alex Colello
FRC #2141 (Spartonics)
Team Role: Programmer
 
Join Date: Jan 2015
Rookie Year: 2013
Location: Concord, California
Posts: 104
Lireal has a spectacular aura aboutLireal has a spectacular aura aboutLireal has a spectacular aura about
Re: Mindsenors CAN Splitter

I believe that this wiring method is called star topology. There has been a couple threads you can search for with more in depth details. Basically, it offers no extra benefits in terms of reliability with SRXs, because the wires of each color are soldered to the exact same location, and there are communication issues that come up with star topology. Here is one thread for reference: https://www.chiefdelphi.com/forums/s...d.php?t=132323
Reply With Quote
  #7   Spotlight this post!  
Unread 04-01-2017, 04:31
Ari423's Avatar
Ari423 Ari423 is offline
LabVIEW aficionado and robot addict
AKA: The guy with the yellow hat
FRC #5987 (Galaxia)
Team Role: Mentor
 
Join Date: Mar 2015
Rookie Year: 2012
Location: Haifa, Israel
Posts: 540
Ari423 has a brilliant futureAri423 has a brilliant futureAri423 has a brilliant futureAri423 has a brilliant futureAri423 has a brilliant futureAri423 has a brilliant futureAri423 has a brilliant futureAri423 has a brilliant futureAri423 has a brilliant futureAri423 has a brilliant futureAri423 has a brilliant future
Re: Mindsenors CAN Splitter

From everything I've read and understand about CAN, the bus was designed to be used in series, not parallel. According to some other posts by knowledgeable people that I can't find right now because I'm on mobile, using a star topology can introduce noise and bad things into the network and is generally not recommended. Especially considering any good CAN device should have the CAN leads physically connected so the signal is passed through even if it fails. Can someone correct me on this or is this product pretty useless?
__________________
2017-present: Mentor FRC 5987
2017-present: CSA for FIRST in Israel
2012-2016: Member FRC 423
2013: Programmer
2014: Head Programmer, Wiring
2015: Head Programmer, Wiring
2016: Captain, Head Programmer, Wiring, Manipulator, Chassis, CAD, Business, Outreach (basically everything)


Reply With Quote
  #8   Spotlight this post!  
Unread 04-01-2017, 04:52
Jaci's Avatar
Jaci Jaci is offline
Registered User
AKA: Jaci R Brunning
FRC #5333 (Can't C# | OpenRIO)
Team Role: Mentor
 
Join Date: Jan 2015
Rookie Year: 2015
Location: Perth, Western Australia
Posts: 251
Jaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond repute
Re: Mindsenors CAN Splitter

Quote:
Originally Posted by Ari423 View Post
From everything I've read and understand about CAN, the bus was designed to be used in series, not parallel. According to some other posts by knowledgeable people that I can't find right now because I'm on mobile, using a star topology can introduce noise and bad things into the network and is generally not recommended. Especially considering any good CAN device should have the CAN leads physically connected so the signal is passed through even if it fails. Can someone correct me on this or is this product pretty useless?
Honestly, it doesn't make a huge difference.

The CAN bus is, well, a bus. The bus is two wires (CAN-Hi and CAN-Lo) that are connected by a termination resistor (120 ohm) on each end. The CAN-Hi and CAN-Lo signals are equal but opposite, as shown below, so that, when twisted together, they reduce the effects of interference and data corruption.



The termination resistors are put in to prevent signals from 'bouncing back' or 'echoing' inside the bus, such that signals are not repeated or misread.

With this knowledge, you should be able to see what the purpose of these termination resistors are, and why CAN exists in a bus (every 'node' on the network can read and write). You should also notice that the bus is mostly arranged in parallel. See the circuit diagram below.



Something you should notice is that, because of this, it doesn't really matter where you attach a CAN device. You can do it either along a single line, branching off (kinda like a highway), or a single point that branches out to multiple other devices, like a star, with a termination resistor at the end.

Something you should note is that this isn't a true star topology. The RoboRIO has an inbuilt 120 ohm resistor on its CAN bus, which means there must be a 120 ohm resistor on the other end. This functions like a bus, with any devices branched off in a 'star' pattern also belonging to the bus. Despite them all being connected at a single point, it's the same thing as using a bus, but bringing all the connection points closer together. It looks like a star, but in reality it is a bus. The actual name for this arrangement is 'high speed CAN'.

A TRUE star topology is different from a bus in that it doesn't use a termination resistor at all. Instead, it relies on the combined resistance of all of its members. By the ISO 11898-3 spec, the overall resistance should be about 100 ohms, but never less. The actual name for this arrangement is 'low speed, fault tolerant CAN'. This name is misleading as normal CAN is fault tolerant for if devices go down (e.g. an SRX carks it), but the star topology is fault tolerant if a physical connection is severed. You can read more about the differences in this wikipedia document, under 'Architecture'.

All the images in this post were taken from this page.
__________________
Jacinta R

Curtin FRC (5333+5663) : Mentor
5333 : Former [Captain | Programmer | Driver], Now Mentor
OpenRIO : Owner

Website | Twitter | Github
jaci.brunning@gmail.com
Reply With Quote
  #9   Spotlight this post!  
Unread 04-01-2017, 08:23
Unsung FIRST Hero
Al Skierkiewicz Al Skierkiewicz is offline
Broadcast Eng/Chief Robot Inspector
AKA: Big Al WFFA 2005
FRC #0111 (WildStang)
Team Role: Engineer
 
Join Date: Jun 2001
Rookie Year: 1996
Location: Wheeling, IL
Posts: 10,766
Al Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond repute
Re: Mindsenors CAN Splitter

Guys,
This has been discussed many times here on CD. The CAN buss is essentially a transmission line with terminations at both ends. The terminations serve to reduce reflections along the line. On an FRC robot, the lines are fairly short and individual reflections may or may not cause interference on the buss as a whole when set up in a star topology. However, do not carry that forward to non-FRC designs in the future.
Any failure in the transceiver circuitry that would short the buss would affect all devices on the buss. Only opening the buss affects those device(s) down stream.
__________________
Good Luck All. Learn something new, everyday!
Al
WB9UVJ
www.wildstang.org
________________________
Storming the Tower since 1996.
Reply With Quote
  #10   Spotlight this post!  
Unread 04-01-2017, 12:53
FrankJ's Avatar
FrankJ FrankJ is offline
Robot Mentor
FRC #2974 (WALT)
Team Role: Mentor
 
Join Date: Feb 2011
Rookie Year: 2009
Location: Marietta GA
Posts: 1,906
FrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond repute
Re: Mindsenors CAN Splitter

Keep in mind the FRC application is not "low speed fault tolerant". FRC Can is running at 1 Mb/sec. The recommended maximum stub length is 1/3 meter (roughly 1 foot). This thread discusses why not to use star topology by people way more knowledgeable than me.

Here is a TI white paper on the CAN physical layer
__________________
If you don't know what you should hook up then you should read a data sheet

Last edited by FrankJ : 04-01-2017 at 13:55.
Reply With Quote
  #11   Spotlight this post!  
Unread 04-01-2017, 13:40
Jared Russell's Avatar
Jared Russell Jared Russell is offline
Taking a year (mostly) off
FRC #0254 (The Cheesy Poofs), FRC #0341 (Miss Daisy)
Team Role: Engineer
 
Join Date: Nov 2002
Rookie Year: 2001
Location: San Francisco, CA
Posts: 3,077
Jared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond repute
Re: Mindsenors CAN Splitter

If I were selling this product, I'd probably update my product page and/or my page about CAN networks to at least mention that if a star topology is used, the stub lengths should be kept as short as possible to minimize the risk of reflection interfering with communications.

Debugging a flaky CAN network is one of the least fun "learning opportunities" in FRC. Having done so in the past, I'd personally be hesitant to deviate from a linear bus without a good reason, and in that case I'd try to keep my deviation as small as possible.
Reply With Quote
  #12   Spotlight this post!  
Unread 04-01-2017, 13:57
cbale2000's Avatar
cbale2000 cbale2000 is offline
Registered User
AKA: Chris Bale
FRC #5712 (Gray Matter)
Team Role: Mentor
 
Join Date: Apr 2006
Rookie Year: 2004
Location: Saginaw, MI
Posts: 932
cbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond repute
Re: Mindsenors CAN Splitter

We ran our robots CAN in Star Topology last year and didn't have any issues with it. The only problems we did run into were related to wiring and not the network itself (and the wiring issue was fixed when we went through and properly soldered all the connections).

Having previously had a robot where a single faulty CAN connection disabled the entire robot for the match on several occasions (courtesy of ineffective quick-disconnects) I can say I definitely don't mind the redundancy in the system. I'd much rather loose a collector or a single drive motor than have the entire machine parked in the middle of the field for a whole match.
Reply With Quote
  #13   Spotlight this post!  
Unread 04-01-2017, 14:14
ollien ollien is offline
Registered User
FRC #5202
 
Join Date: Feb 2015
Location: United States
Posts: 292
ollien has a spectacular aura aboutollien has a spectacular aura aboutollien has a spectacular aura about
Re: Mindsenors CAN Splitter

Quote:
Originally Posted by cbale2000 View Post
We ran our robots CAN in Star Topology last year and didn't have any issues with it. The only problems we did run into were related to wiring and not the network itself (and the wiring issue was fixed when we went through and properly soldered all the connections).

Having previously had a robot where a single faulty CAN connection disabled the entire robot for the match on several occasions (courtesy of ineffective quick-disconnects) I can say I definitely don't mind the redundancy in the system. I'd much rather loose a collector or a single drive motor than have the entire machine parked in the middle of the field for a whole match.
Hm. I'm curious as to why you didn't run into reflection issues like others have been suggesting (in both this thread and the other). How long were your wire runs?
Reply With Quote
  #14   Spotlight this post!  
Unread 04-01-2017, 14:25
FrankJ's Avatar
FrankJ FrankJ is offline
Robot Mentor
FRC #2974 (WALT)
Team Role: Mentor
 
Join Date: Feb 2011
Rookie Year: 2009
Location: Marietta GA
Posts: 1,906
FrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond repute
Re: Mindsenors CAN Splitter

Quote:
Originally Posted by ollien View Post
Hm. I'm curious as to why you didn't run into reflection issues like others have been suggesting (in both this thread and the other). How long were your wire runs?
Keep in mind that this is rarely works/doesn't work scenario. Below a certain level it will not show up at all. Then it is a noisy line. You start losing packets. CAN is fault tolerant so they get re-transmitted. Once again you may or may not notice. Especially if you don't have a lot of traffic on the bus. Next you start getting quirky non repeatable issues. That might get attributed to other things.
__________________
If you don't know what you should hook up then you should read a data sheet
Reply With Quote
  #15   Spotlight this post!  
Unread 04-01-2017, 15:09
cbale2000's Avatar
cbale2000 cbale2000 is offline
Registered User
AKA: Chris Bale
FRC #5712 (Gray Matter)
Team Role: Mentor
 
Join Date: Apr 2006
Rookie Year: 2004
Location: Saginaw, MI
Posts: 932
cbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond repute
Re: Mindsenors CAN Splitter

Quote:
Originally Posted by ollien View Post
Hm. I'm curious as to why you didn't run into reflection issues like others have been suggesting (in both this thread and the other). How long were your wire runs?
All of the Talons we used (about 10 total) were more or less their uncut stock length (with the exception of two which had ~6" extensions soldered on). All other CAN devices (PCM, Rio, PDP, etc.) were connected with CAN wires between 6"-12" in length. We also only used one set of wires from each CAN device (the second set from the Talons were bundled up with zip ties, kept as spares in case the main set broke).

The setup used the standard CAN termination with the roboRio and the PDP with no additional resistors added.
All CAN devices were wired to a pair of grounding bars (one for each color wire) we ordered from McMaster and connected using ring terminals. Also, if I remember correctly, the total bus useage was around 60% (though that may have changed as programmers added features).

Last edited by cbale2000 : 04-01-2017 at 15:17.
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:29.

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