Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Motors (http://www.chiefdelphi.com/forums/forumdisplay.php?f=52)
-   -   Servo Actuating Prematurely (http://www.chiefdelphi.com/forums/showthread.php?t=94229)

Luke3161 01-04-2011 21:45

Servo Actuating Prematurely
 
Hi,
I am from team 3161, and we are having problems with a servo on our minibot deployment system.
A servo is used to release a drop down rail which the minibot is then launched from. This has appeared to work fine while we are on the practice field or in the pits. But, when we get onto the field, it actuates every single time around 30 seconds into the teleoperated period.
We can control the servo, run and stop it throughout its full range of motion. We have also left the robot running for at least 3 minutes in the pits while tethered, but we cannot seem to be able to reproduce the problem.

Any advice would be greatly appreciated.

Thanks.

big1boom 01-04-2011 23:12

Re: Servo Actuating Prematurely
 
Is it possible that match conditions (bumping/accelerating/jostling) are creating a load on the unpowered servo arm causing the arm to move resulting in deployment?

Luke3161 02-04-2011 06:32

Re: Servo Actuating Prematurely
 
That is what we thought originally as well, but we added guides that made it impossible for it to slip out unless the servo is released.
Also, at the end of every match, the servo is found in the position that it was programmed to go to when the button is pressed, even when our operator never presses the button.
Lastly, it has happened very consistently at approximately the 30 second mark making us believe it is not a mechanical issue.

Thanks,

yarden.saa 02-04-2011 08:33

Re: Servo Actuating Prematurely
 
I think I know what you are talking about.
Check the servo after the autonomous, we found that in the autonomous mode the servo is moving, we did not check why, we just made a mechanical adjustment in order to overcome this.

DRH2o 02-04-2011 08:41

Re: Servo Actuating Prematurely
 
We had this same problem at DC. Our miniblt would deploy at the start of autonomous. We got it fixed at the end of practice by addressing the servos throughout our autonomous with the position we wanted them to stay in. This fixed our problem.

Brandon Holley 02-04-2011 11:51

Re: Servo Actuating Prematurely
 
By any chance are you using the 775 motors on your robot?

mahumnut 02-04-2011 12:26

Re: Servo Actuating Prematurely
 
Quote:

Originally Posted by DRH2o (Post 1048325)
We had this same problem at DC. Our miniblt would deploy at the start of autonomous. We got it fixed at the end of practice by addressing the servos throughout our autonomous with the position we wanted them to stay in. This fixed our problem.

lol we had the exact same problem at DC as well, I forgot to program the default position into autonomous so the servo would release and then as soon as we started to really move in tele-op, our minibot deployment would fall down. Fixed by using the set servo in autonomous.

JABot67 02-04-2011 13:29

Re: Servo Actuating Prematurely
 
67 also had a problem at Kettering where the minibot would deploy at the beginning of autonomous, and we had similar problems last year with the release of our hook mechanism that we used to hang.

At least in LabVIEW, if you do not constantly set a servo to be at a specific angle, it will move to a default position (I'm thinking 90 degrees) and stay there. If you are running the Autonomous Independent code, you need to constantly, in a loop, tell the servo to be at whatever position you want instead of just telling it to go there once at the beginning of the autonomous period.

I don't know if this helps your problem. It is possible that the servo is moving in autonomous but not enough to release the minibot until you jostle it around in teleop... just some thoughts on how to fix your problem.

Andy A. 02-04-2011 14:29

Re: Servo Actuating Prematurely
 
Are you controlling the servo with a custom 'button box'? This could be a simple problem of a loose or 'noisy' wire in your switch wiring.

I would suggest

A: Check the wiring of that button if it's something you made custom. If it's a joystick, reassign to a different button. Sticks are mass produced and the switch design and wiring isn't always impressive.

B: require two separate buttons be pressed to perform any really critical one time action like releasing your mini bot deployment. In industry controls for something really important are protected with covers, gates, multiple switches, timed buttons etc. We often don't have the luxury of that kind of thing in FIRST, but requiring two separate actions to move a servo is easily done in code and on the field.

Once you've eliminated your controls as the problem, look at the routing of the servo wiring. Servo's are particularly sensitive to 'jitters' induced from all kinds of sources.

Chris Hibner 02-04-2011 14:34

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.

Cuyir 02-04-2011 16:48

Re: Servo Actuating Prematurely
 
Quote:

Originally Posted by Chris Hibner (Post 1048379)
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.

Yeah, thanks for that by the way :) The periodic tasks VI has been really helpful.

Luke3161 02-04-2011 20:01

Re: Servo Actuating Prematurely
 
Hi,
Thanks for all the responses, they will come in handy.
We ended up just switching out the servo for a pneumatic ram, and did not have any problems with it from then on.
This is something we will have to address in the off-season, so I will be referring back to this thread then.

Thanks for all the information.


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

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