Go to Post You can lead a horse to water but you can't make it drink. Our job is to make the horse thirsty. - Andrew Schreiber [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 10-03-2013, 21:18
connor.worley's Avatar
connor.worley connor.worley is offline
Registered User
FRC #0973 (Greybots)
Team Role: Mentor
 
Join Date: Mar 2011
Rookie Year: 2010
Location: Berkeley/San Diego
Posts: 601
connor.worley has a reputation beyond reputeconnor.worley has a reputation beyond reputeconnor.worley has a reputation beyond reputeconnor.worley has a reputation beyond reputeconnor.worley has a reputation beyond reputeconnor.worley has a reputation beyond reputeconnor.worley has a reputation beyond reputeconnor.worley has a reputation beyond reputeconnor.worley has a reputation beyond reputeconnor.worley has a reputation beyond reputeconnor.worley has a reputation beyond repute
Detecting digital inputs

At the San Diego regional, we had a digital sidecar fail on us. We replaced it with another one from spare parts, and our autonomous mode and frisbee detection failed in the next match. Upon inspection of the replacement sidecar, we found that a capacitor leading to the digital inputs was destroyed, and we were unable to receive any digital signals. For safety reasons, I don't want autonomous to run out of control when our encoders return a constant 0. Is there any protection we can do in software? Put a jumper on one of the inputs and check for that? Any ideas are appreciated.
__________________
Team 973 (2016-???)
Team 5499 (2015-2016)
Team 254 (2014-2015)

Team 1538 (2011-2014)
2014 Driver (25W 17L 1T)
日本語でOK

Last edited by connor.worley : 10-03-2013 at 21:23.
  #2   Spotlight this post!  
Unread 10-03-2013, 21:34
apalrd's Avatar
apalrd apalrd is offline
More Torque!
AKA: Andrew Palardy (Most people call me Palardy)
VRC #3333
Team Role: College Student
 
Join Date: Mar 2009
Rookie Year: 2009
Location: Auburn Hills, MI
Posts: 1,347
apalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond repute
Re: Detecting digital inputs

Ideas:

-Wire between DSC 5v/6v to spare ADC channels to check for voltage supply issues. We do this with the analog 5v supply (with a jumper in ADC 7 between 5v and sig), and could do this with digital 5v supply if we wanted to (6v only makes sense if you use servos or vex motors). The NI ADC card will measure +-10v, so you can connect 6v directly.

-It might be possible to measure the voltage on a DIO pin set to input mode to measure the strength of the pull-up resistor on that pin. A failure upstream of that specific resistor (such as the power supply capacitor in this case) could be detected by measuring a spare pin

-You could jumper two digital pins, one in input and another in output and see if changing the output changes the input. However, this would work even if the pull-up resistors fail, which is likely the fault you saw.
--You can also use a Relay output and digital input, they are low-speed DO's on shift registers (shifted every 5ms).

For encoders, you can do rationality checks based on assumed noise vs expected motion:
-If abs(applied motor power) > 0.1 and count delta for this loop < cal increment error counter for that sensor
-else decrement error counter
-if error counter > error thresh cal then fault sensor
-if disabled reset counter
-if sensor faulted then determine limpin strategy (use other encoder if it's not faulted, ??? if both are faulted)
__________________
Kettering University - Computer Engineering
Kettering Motorsports
Williams International - Commercial Engines - Controls and Accessories
FRC 33 - The Killer Bees - 2009-2012 Student, 2013-2014 Advisor
VEX IQ 3333 - The Bumble Bees - 2014+ Mentor

"Sometimes, the elegant implementation is a function. Not a method. Not a class. Not a framework. Just a function." ~ John Carmack
Closed Thread


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 03:11.

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