View Single Post
  #10   Spotlight this post!  
Unread 02-04-2011, 14:34
Chris Hibner's Avatar Unsung FIRST Hero
Chris Hibner Chris Hibner is offline
Eschewing Obfuscation Since 1990
AKA: Lars Kamen's Roadie
FRC #0051 (Wings of Fire)
Team Role: Engineer
 
Join Date: May 2001
Rookie Year: 1997
Location: Canton, MI
Posts: 1,488
Chris Hibner has a reputation beyond reputeChris Hibner has a reputation beyond reputeChris Hibner has a reputation beyond reputeChris Hibner has a reputation beyond reputeChris Hibner has a reputation beyond reputeChris Hibner has a reputation beyond reputeChris Hibner has a reputation beyond reputeChris Hibner has a reputation beyond reputeChris Hibner has a reputation beyond reputeChris Hibner has a reputation beyond reputeChris Hibner has a reputation beyond repute
Re: Servo Actuating Prematurely

I helped HOT solve their servo issue at Kettering. This is what we did (using LabVIEW).

1) Create a global variable to store your desired servo position. Let's say you name it ServoPos
2) in Begin.vi, set the ServoPos global to the value that latches your minibot deploy.
3) In Teleop.vi, instead of wiring anything into a WPI set servo block, wire your servo command into the ServoPos global variable.
4) Lastly, in PeriodicTasks.vi (in the fast loop), wire the ServoPos global variable into the WPI set servo block

By using the above method, PeriodicTasks is ALWAYS commanding the servo to the latched position, even when it's disabled. The output to the servo is disabled in Disabled Mode, BUT the command to latch your servo is already there as soon as your robot becomes enabled.

When you push your button to deploy your minibot, the global variable will send your servo command to PeriodicTasks which will then unlatch your minibot deploy.
__________________
-
An ounce of perception is worth a pound of obscure.