|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
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. |
|
#2
|
||||
|
||||
|
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?
|
|
#3
|
|||
|
|||
|
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, |
|
#4
|
||||
|
||||
|
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. |
|
#5
|
||||
|
||||
|
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.
|
|
#6
|
|||||
|
|||||
|
Re: Servo Actuating Prematurely
By any chance are you using the 775 motors on your robot?
|
|
#7
|
||||
|
||||
|
Re: Servo Actuating Prematurely
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.
|
|
#8
|
|||
|
|||
|
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. |
|
#9
|
|||
|
|||
|
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. |
|
#10
|
||||||
|
||||||
|
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. |
|
#11
|
|||
|
|||
|
Re: Servo Actuating Prematurely
Quote:
The periodic tasks VI has been really helpful. |
|
#12
|
|||
|
|||
|
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. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|