Go to Post Nutritionally speaking I didn't get enough (MOE) green in my FIRST diet this year! - Mark McLeod [more]
Home
Go Back   Chief Delphi > Technical > Control System
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 20-09-2011, 15:26
docdavies's Avatar
docdavies docdavies is offline
Doc Davies
FRC #0346 (RoboHawks)
Team Role: Mentor
 
Join Date: Mar 2010
Rookie Year: 1998
Location: Richmond, VA
Posts: 70
docdavies is an unknown quantity at this point
Interfacing the Digital Sidecar

I've been working with some folks to adapt our old robots to run with an Arduino. We've got all the circuits we need up and running for our old Breakaway robot and that finally is going well.

The problem is, most of the interfacing resembles a rat's nest /wire maze / nightmare on a couple of plug in breadboards. Works ok, but heaven help us if it takes a good hit.

I'd like like to be able to come up with an interface, whether it's a DB37 pin breakout interface board, a homemade soldered prototype board, or a custom made shield for the Arduino.

Ideally, you unplug the DB37 from the cRIO, plug it into the interface, code the appropriate Arduino software and go.

I've looked at the digital sidecar schematic and MY impression, is, if I pull the right lines out, I can get them attached to the Arduino. There does not seem to be anything magical, and in fact using the DSC's power capability is a plus.

Ah, but I've messed around with enough stuff to realize I don't always know what's going on, or, things are never quite what they seem.

Can anyone confirm I can accomplish what I want to do, in other words through some mechanism, couple the DSC directly to the Arduino?

Thanks,
Doc
Reply With Quote
  #2   Spotlight this post!  
Unread 20-09-2011, 16:36
Fletch1373's Avatar
Fletch1373 Fletch1373 is offline
Registered User
AKA: Fletch
FRC #3181 (Panthers)
Team Role: Mentor
 
Join Date: Jan 2008
Rookie Year: 2004
Location: Rochester, NY
Posts: 251
Fletch1373 has much to be proud ofFletch1373 has much to be proud ofFletch1373 has much to be proud ofFletch1373 has much to be proud ofFletch1373 has much to be proud ofFletch1373 has much to be proud ofFletch1373 has much to be proud ofFletch1373 has much to be proud ofFletch1373 has much to be proud ofFletch1373 has much to be proud of
Re: Interfacing the Digital Sidecar

I can't confirm it for sure, but I'm thinking along the same lines as you. Looking at the pinout for the DB37, it should be as simple as connecting the right pins on the arduino to the DB37 cable. I'd like to see how you do with this.
__________________
Student:
<04: FRC0213> <05-08: FRC1373>
Mentor:
<09-10: FRC0809> <11-12: FRC3555> <12-14: FRC0073> <15-??: FRC3181>
Volunteer:
<FTAA> <CSA> <Defense Coordinator> <Scorekeeper> <Robot Inspector> <Official Scorer>
2016 Tour:
CTWAT [DefCoord] > Pittsburgh[Mentor/DefCoord] > TVR[FTAA] > FLR[CSA] > NE DCMP[CSA] > CMP[CSA]
Reply With Quote
  #3   Spotlight this post!  
Unread 20-09-2011, 16:56
EricVanWyk EricVanWyk is offline
Registered User
no team
 
Join Date: Jan 2007
Rookie Year: 2000
Location: Boston
Posts: 1,597
EricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond repute
Send a message via AIM to EricVanWyk
Re: Interfacing the Digital Sidecar

Everything you need _should_ be on the schematic. If it isn't, PM me and I'll try to add it.

The fast stuff is mostly just direct one-to-one pass through (sometimes buffered), and the slow stuff is a pretty standard shift register.
Reply With Quote
  #4   Spotlight this post!  
Unread 22-09-2011, 17:13
docdavies's Avatar
docdavies docdavies is offline
Doc Davies
FRC #0346 (RoboHawks)
Team Role: Mentor
 
Join Date: Mar 2010
Rookie Year: 1998
Location: Richmond, VA
Posts: 70
docdavies is an unknown quantity at this point
Re: Interfacing the Digital Sidecar

So Eric,

Was that a "yes" its possible, or a "no" it's not.

The problem here is, were I fully competent to interpret the schematic, I would not be posting. Since I'm posting, I'm kind of asking for help/guidance.

It seems as if you are associated with the device since you can change the schematic......so again....straightforward....or don't go there?

Doc
Reply With Quote
  #5   Spotlight this post!  
Unread 22-09-2011, 18:12
jason701802's Avatar
jason701802 jason701802 is offline
Registered User
FRC #0753 (The High Desert Droids)
Team Role: College Student
 
Join Date: Jan 2007
Rookie Year: 2002
Location: Oregon/Univ. of Southern Calif.
Posts: 234
jason701802 has a brilliant futurejason701802 has a brilliant futurejason701802 has a brilliant futurejason701802 has a brilliant futurejason701802 has a brilliant futurejason701802 has a brilliant futurejason701802 has a brilliant futurejason701802 has a brilliant futurejason701802 has a brilliant futurejason701802 has a brilliant futurejason701802 has a brilliant future
Re: Interfacing the Digital Sidecar

It is certainly possible. All of the GPIO lines are simply pulled high within the DSC (the same as on board the Arduino) and the PWM lines are buffered. Basically, you can ignore all that and pretend that they are all direct connections. The relay outputs are controlled by a serial communication line, if you want to use those, you will have to figure out the serial protocol.
__________________
Jason
Reply With Quote
  #6   Spotlight this post!  
Unread 22-09-2011, 20:05
docdavies's Avatar
docdavies docdavies is offline
Doc Davies
FRC #0346 (RoboHawks)
Team Role: Mentor
 
Join Date: Mar 2010
Rookie Year: 1998
Location: Richmond, VA
Posts: 70
docdavies is an unknown quantity at this point
Re: Interfacing the Digital Sidecar

Jason,

That's what I was after. I suppose I could just use GPIO lines to control relays or transistor circuits to run things like the compressor till I understand the serial part of things.

Is there anything you can point me to, to get a better understanding of the serial protocol?

As I said originally, I'd love to just gin up a specialized Arduino shield that makes cRIO swapping just a take out/plug in kind of situation.

Doc
Reply With Quote
  #7   Spotlight this post!  
Unread 22-09-2011, 20:09
EricVanWyk EricVanWyk is offline
Registered User
no team
 
Join Date: Jan 2007
Rookie Year: 2000
Location: Boston
Posts: 1,597
EricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond repute
Send a message via AIM to EricVanWyk
Re: Interfacing the Digital Sidecar

Doc -

It is totally possible. I think it could be an excellent project for a group of students, because it is readily divided up into separate pieces that allow for quick "first-success".

First, tie all the ground lines to your arduino. Pull 5V from the DSC to power the arduino - there isn't a line for this on the 37pin connector, so pull it from one of the spare 5V pins (there are tons of them).

I would not recommend having the arduino connected to a computer and the robot at the same time. Arduinos aren't well protected, and it is easy for a student to accidentally dump 12V across something that doesn't want it.


Next, enable /Output_EN by pulling it low with a pin on the arduino. This enables/disables all of the pins that make things move.

Then try sending some PWM signals. There are lots of threads on this board about the times for these. Quick summary - 1.5 ms for stop. Jaguars are .66ms for full reverse, 2.33ms for full forward. Servos and Victors are 1ms and 2ms. Off period is pretty forgiving.

Then try using specific sensors with the GPIO. This will be different per sensor.

Save the shift registers for last. These control the relay outputs and some other (largely useless for your purposes) pins.

I wouldn't bother with routing I2C through the DSC. Just do it raw through GPIO.

PS: This is a bit embarrassing, but I just saw that the 2010 pdf export missed one of the pages of the schematic! The Altium source files include it, but somehow it got lost in translation. The 2009 pdf has it : http://usfirst.org/uploadedFiles/DSC...matic%20v7.pdf
Reply With Quote
  #8   Spotlight this post!  
Unread 22-09-2011, 21:38
docdavies's Avatar
docdavies docdavies is offline
Doc Davies
FRC #0346 (RoboHawks)
Team Role: Mentor
 
Join Date: Mar 2010
Rookie Year: 1998
Location: Richmond, VA
Posts: 70
docdavies is an unknown quantity at this point
Re: Interfacing the Digital Sidecar

Eric,

Perfect! This is where I was hoping to go. I had been running the Arduino off the Power Distribution Board (PDB) line that went to our DSC but you're right, I can pull it off the DSC when I connect it back up.

We actually have been thinking of making it a fall robotics project for our students. I just wanted to make sure it's possible, and that I understood enough about it to actually mentor the project.

I think the PWM situation is in hand. I've found that you can directly use the PWM outputs from the Arduino to the jags and it works fine (thanks for those of you who provided suggestions for that work!!!). And the GPIO lines can also directly activate spike relay's. The only problem I've had so far is having to run the GPIO output to a 2222 transistor to run our 12V pneumatic valves or a relay to run the 24V ones.

I did not implement any sensors (we were just using the old Breakaway robot for driver training), and this is another big step for me.

Thanks again folks,
Doc
Reply With Quote
  #9   Spotlight this post!  
Unread 15-01-2013, 09:15
miker4004 miker4004 is offline
Registered User
FRC #4004
 
Join Date: Jan 2013
Location: MI
Posts: 2
miker4004 is an unknown quantity at this point
Re: Interfacing the Digital Sidecar

Robot open!

It's all done ..
http://www.team221.com
Reply With Quote
  #10   Spotlight this post!  
Unread 11-01-2014, 10:43
Japper's Avatar
Japper Japper is offline
Registered User
FRC #3692 (RocknRobots)
Team Role: Mentor
 
Join Date: Jan 2007
Rookie Year: 2007
Location: Rutland Wisconsin
Posts: 147
Japper has a spectacular aura aboutJapper has a spectacular aura about
Re: Interfacing the Digital Sidecar I2C Port

Does anyone know if the digital side car can be controlled by an arduino through the I2C port on the sidecar?

If so, I am thinking that this might make for a nice little project to create a test system to plug into the I2C port for manipulating the items connected to the sidecar when the cRio is not connected (like during the build season or doing sysem checks in the pits...)

thanks in advance for any useful ideas...
Reply With Quote
  #11   Spotlight this post!  
Unread 12-01-2014, 17:50
Alan Anderson's Avatar
Alan Anderson Alan Anderson is offline
Software Architect
FRC #0045 (TechnoKats)
Team Role: Mentor
 
Join Date: Feb 2004
Rookie Year: 2004
Location: Kokomo, Indiana
Posts: 9,113
Alan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond repute
Re: Interfacing the Digital Sidecar I2C Port

Quote:
Originally Posted by Japper View Post
Does anyone know if the digital side car can be controlled by an arduino through the I2C port on the sidecar?
Nope, sorry. That port on the Digital Sidecar doesn't have any "smarts" built in and can't affect the other pins.

If you want to control the Digital Sidecar with an Arduino, try the RobotOpen Control Shield.
Reply With Quote
  #12   Spotlight this post!  
Unread 12-01-2014, 21:34
Japper's Avatar
Japper Japper is offline
Registered User
FRC #3692 (RocknRobots)
Team Role: Mentor
 
Join Date: Jan 2007
Rookie Year: 2007
Location: Rutland Wisconsin
Posts: 147
Japper has a spectacular aura aboutJapper has a spectacular aura about
Re: Interfacing the Digital Sidecar

Thanks Alan!
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 11:45.

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