Go to Post Ice cream is an iterative process. - JVN [more]
Home
Go Back   Chief Delphi > Technical > Motors
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 20-02-2007, 16:14
simeon1770 simeon1770 is offline
Registered User
FRC #1770
 
Join Date: Feb 2007
Location: chicago
Posts: 9
simeon1770 is an unknown quantity at this point
Stopping motors

lets say im using a motor for an arm, but once i move the motor and the arms move, it doesent lock, it goes back to its original state, so if i try to stand the arm up when the motor moves and the arm gets to a standing point once i stop controlling the motor the arm will fall, is there anyway to program it to stop when i stop controlling it?
  #2   Spotlight this post!  
Unread 20-02-2007, 16:31
Kevin Sevcik's Avatar
Kevin Sevcik Kevin Sevcik is offline
(Insert witty comment here)
FRC #0057 (The Leopards)
Team Role: Mentor
 
Join Date: Jun 2001
Rookie Year: 1998
Location: Houston, Texas
Posts: 3,744
Kevin Sevcik has a reputation beyond reputeKevin Sevcik has a reputation beyond reputeKevin Sevcik has a reputation beyond reputeKevin Sevcik has a reputation beyond reputeKevin Sevcik has a reputation beyond reputeKevin Sevcik has a reputation beyond reputeKevin Sevcik has a reputation beyond reputeKevin Sevcik has a reputation beyond reputeKevin Sevcik has a reputation beyond reputeKevin Sevcik has a reputation beyond reputeKevin Sevcik has a reputation beyond repute
Send a message via AIM to Kevin Sevcik Send a message via Yahoo to Kevin Sevcik
Re: Stopping motors

What you're describing is called open loop control. Programmatically, your control system has no idea what the arm is doing, so it can't stop the arm from moving or falling. All it can do is take the command you're giving it and send power to the motor to match what you're telling it to do. There's no loop of information, commands come from you, go to the controller and then to the arm. No information travels the other direction, thus the term "open loop."

To get your arm to stay in one place via programming, you must close this loop by providing your controller with information about the position of the arm. The controller then decides on its own how much power to send to the motor based on the information of where the arm is now, and the input of where you want the arm to be. If you want the arm to stand still, and the controller sees the arm moving, it will send power to the motor to stop the arm. This is closed loop control because the controller gets information back from the arm and uses this information to control how much power to send to the motor. There's an actual loop of information coming from the arm, affecting the power to the motors, which affect the position of the arm, which means new information from the arm, which changes the power to the motors further, which.... and so on. Closed loop control is the PID control you'll see people talking about here.

So, if you truly want your program to stop the arm from falling you need to add a sensor to the arm and connect this to your controller to implement PID control on the arm. Another option is to use one of the window motors to mechanically stop the arm from falling since these motors are not backdriveable. Your final option is to move the Brake/Coast jumper on your Victor 884 from BC to AB to enable dynamic braking. This will slow the motor down while the victor is in neutral. Unfortunately it slows the motor down more the faster the motor spins. This means it's not actually capable of stopping the arm from falling. It can potentially slow it down by a large amount, however.
__________________
The difficult we do today; the impossible we do tomorrow. Miracles by appointment only.

Lone Star Regional Troubleshooter
  #3   Spotlight this post!  
Unread 20-02-2007, 16:38
mgreenley
 
Posts: n/a
Re: Stopping motors

simeon1770, you have a few options to go about fixing this. If the arm is light enough, you can simply set the braking pin on the Victor to brake. As I understand it (read: I'm just an alumnus, not an engineer), this produces an effect similar to crossing the leads on a motor. IT makes it very difficult to turn, hence, holding it in place.

If you arm is a little heavier, then a working software-oriented fix may be mounting sensors on the robot (a shaft encoder may be a good solution here). From there, you would need to read the count and, in the simplest case, set a value you want the arm to go to and then a lower limit at which point the motor lifts the arm back up to the desired value (if you set only one value the motor will be rapidly switching on and off trying to maintain that position). If you need more control over your arm, or your arm is fragile, etc..., then a more complex control method may be in order. A PID, or Proportional, Integral, Derivative control may be a good solution then. This option gives you a little more control over the arm, but may take a little time to tune (Also, advice I've found useful is to use only a P control and then add the I and D terms to eliminate error in the P solution after tuning it.).
For more information, the programming side of controlling your arm has also been discussed here.

If you're looking for a more hardware oriented fix, and have the weight to spend, adding a worm gear to the drive-motor gearing has worked well for my former team in previous competitions. Other hardware oriented solutions include adding a mechanical brake or changing up the gear ratio on the arm.

Depending on your situation, a different solution or mix of solutions may be the best for you. Hope this helps.
  #4   Spotlight this post!  
Unread 20-02-2007, 16:48
simeon1770 simeon1770 is offline
Registered User
FRC #1770
 
Join Date: Feb 2007
Location: chicago
Posts: 9
simeon1770 is an unknown quantity at this point
Re: Stopping motors

darn, i dont think we'll be able to do it 2day, the robot is being shipped as we speak, well we have 10 hourse to edit at competition, so how long do you think it would take?

anyone in the midwest region at UIC pavilion?
  #5   Spotlight this post!  
Unread 20-02-2007, 16:59
Kevin Sevcik's Avatar
Kevin Sevcik Kevin Sevcik is offline
(Insert witty comment here)
FRC #0057 (The Leopards)
Team Role: Mentor
 
Join Date: Jun 2001
Rookie Year: 1998
Location: Houston, Texas
Posts: 3,744
Kevin Sevcik has a reputation beyond reputeKevin Sevcik has a reputation beyond reputeKevin Sevcik has a reputation beyond reputeKevin Sevcik has a reputation beyond reputeKevin Sevcik has a reputation beyond reputeKevin Sevcik has a reputation beyond reputeKevin Sevcik has a reputation beyond reputeKevin Sevcik has a reputation beyond reputeKevin Sevcik has a reputation beyond reputeKevin Sevcik has a reputation beyond reputeKevin Sevcik has a reputation beyond repute
Send a message via AIM to Kevin Sevcik Send a message via Yahoo to Kevin Sevcik
Re: Stopping motors

simeon,

I would at least set your victor to the Brake setting and see how that works for you. Setting up a PID loop for your arm can be a finicky process. If you have the potentiometer, a mounting plan, and the will, you can probably pull it off on practice day. I would search around on CD and learn as much as you can about PID control and write up some sample code in your team's Fix-It Window. With that and hopefully a veteran team to help you at Midwest Regional (There's a few) and you should be able to get it working.
__________________
The difficult we do today; the impossible we do tomorrow. Miracles by appointment only.

Lone Star Regional Troubleshooter
  #6   Spotlight this post!  
Unread 20-02-2007, 17:15
SuperBK's Avatar
SuperBK SuperBK is offline
Registered User
AKA: BrianK
FRC #1225 (Amperage Robotics)
Team Role: Mentor
 
Join Date: Jan 2007
Rookie Year: 2006
Location: Henersonville, NC
Posts: 358
SuperBK is just really niceSuperBK is just really niceSuperBK is just really niceSuperBK is just really nice
Re: Stopping motors

For a quick and dirty fix, you could try to find a value to drive the motor at that holds the arm up. It would be a low value, maybe 135 (in the forward direction) or something like that.

You probably need to watch out for motors getting hot. They draw a lot of current when still.

Brian
__________________
Brian K
Team 1225 Robotics Mentor
  #7   Spotlight this post!  
Unread 21-02-2007, 21:47
Gary Bonner Gary Bonner is offline
Registered User
FRC #3974
 
Join Date: Jan 2002
Rookie Year: 2000
Location: PA
Posts: 120
Gary Bonner has a spectacular aura aboutGary Bonner has a spectacular aura about
Re: Stopping motors

Here is our solution this year. It activates whenever the motor PWM value is 127.
Attached Thumbnails
Click image for larger version

Name:	ArmBrake.JPG
Views:	292
Size:	45.5 KB
ID:	5139  
  #8   Spotlight this post!  
Unread 21-02-2007, 21:53
MrForbes's Avatar
MrForbes MrForbes is offline
Registered User
AKA: Jim
FRC #1726 (N.E.R.D.S.)
Team Role: Mentor
 
Join Date: Feb 2006
Rookie Year: 2006
Location: Sierra Vista AZ
Posts: 6,033
MrForbes has a reputation beyond reputeMrForbes has a reputation beyond reputeMrForbes has a reputation beyond reputeMrForbes has a reputation beyond reputeMrForbes has a reputation beyond reputeMrForbes has a reputation beyond reputeMrForbes has a reputation beyond reputeMrForbes has a reputation beyond reputeMrForbes has a reputation beyond reputeMrForbes has a reputation beyond reputeMrForbes has a reputation beyond repute
Re: Stopping motors

Quote:
Originally Posted by Gary Bonner View Post
Here is our solution this year.
that's the cleverest thing I've seen all week!
  #9   Spotlight this post!  
Unread 22-02-2007, 11:12
Mark McLeod's Avatar
Mark McLeod Mark McLeod is offline
Just Itinerant
AKA: Hey dad...Father...MARK
FRC #0358 (Robotic Eagles)
Team Role: Engineer
 
Join Date: Mar 2003
Rookie Year: 2002
Location: Hauppauge, Long Island, NY
Posts: 8,901
Mark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond repute
Re: Stopping motors

Quote:
Originally Posted by SuperBK View Post
For a quick and dirty fix, you could try to find a value to drive the motor at that holds the arm up. It would be a low value, maybe 135 (in the forward direction) or something like that.

You probably need to watch out for motors getting hot. They draw a lot of current when still.
A simple variation on Brian's idea is to just retrim your joystick to apply the small amount of power you need to keep the arm from backdriving.

You do have to be careful of which motors you use this with. The CIM's and globes can handle it well, but the Fisher-Price and Banebot 540 motors do not take well to being stalled.
__________________
"Rationality is our distinguishing characteristic - it's what sets us apart from the beasts." - Aristotle
  #10   Spotlight this post!  
Unread 09-03-2007, 09:49
Tom Line's Avatar
Tom Line Tom Line is online now
Raptors can't turn doorknobs.
FRC #1718 (The Fighting Pi)
Team Role: Mentor
 
Join Date: Jan 2007
Rookie Year: 1999
Location: Armada, Michigan
Posts: 2,554
Tom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond repute
Re: Stopping motors

Gary - That is one AWESOME little brake! Whomever designed that deserves an award.

Mind if we steal it? I'm pretty sure I could fab that up in the pits before Friday's match
  #11   Spotlight this post!  
Unread 09-03-2007, 16:58
simeon1770 simeon1770 is offline
Registered User
FRC #1770
 
Join Date: Feb 2007
Location: chicago
Posts: 9
simeon1770 is an unknown quantity at this point
Re: Stopping motors

ok, so i read the instructions on the victors, and when the light is orange that means its braking, how do i apply the break in programming to something like the trigger on the controller
  #12   Spotlight this post!  
Unread 09-03-2007, 18:12
Tom Line's Avatar
Tom Line Tom Line is online now
Raptors can't turn doorknobs.
FRC #1718 (The Fighting Pi)
Team Role: Mentor
 
Join Date: Jan 2007
Rookie Year: 1999
Location: Armada, Michigan
Posts: 2,554
Tom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond repute
Re: Stopping motors

You can't. To brake a DC motor, the motor is shorted across the positive and negative terminals. This happens automatically whenever you have the brake jumper on the victor turned on and when there is no/a neutral signal going to the victor.
  #13   Spotlight this post!  
Unread 09-03-2007, 21:03
Gary Bonner Gary Bonner is offline
Registered User
FRC #3974
 
Join Date: Jan 2002
Rookie Year: 2000
Location: PA
Posts: 120
Gary Bonner has a spectacular aura aboutGary Bonner has a spectacular aura about
Re: Stopping motors

Quote:
Originally Posted by Tom Line View Post
Mind if we steal it? I'm pretty sure I could fab that up in the pits before Friday's match
Feel free. I hope it works for you.
  #14   Spotlight this post!  
Unread 12-03-2007, 17:02
simeon1770 simeon1770 is offline
Registered User
FRC #1770
 
Join Date: Feb 2007
Location: chicago
Posts: 9
simeon1770 is an unknown quantity at this point
Re: Stopping motors

im sorry, im a little dumb, i have like NO idea about some of the stuff your talking about, can you put it in simpleton terms in how to make it stop using things that came with the robot in the red and blue box, and take it step by step, sorry if im causing any inconvience
  #15   Spotlight this post!  
Unread 12-03-2007, 18:52
meatmanek meatmanek is offline
Programmer/physicist/mathematician
FRC #0868 (TechHounds)
Team Role: Programmer
 
Join Date: Mar 2004
Rookie Year: 2004
Location: Carmel, Indiana
Posts: 142
meatmanek is a splendid one to beholdmeatmanek is a splendid one to beholdmeatmanek is a splendid one to beholdmeatmanek is a splendid one to beholdmeatmanek is a splendid one to beholdmeatmanek is a splendid one to beholdmeatmanek is a splendid one to behold
Re: Stopping motors

I think you may want to go with the brake that Gary Bonner posted. If you have anybody on your team who's more mechanically inclined, I would seek their help.

You're probably going to have to use stuff that isn't in the Kit of Parts to solve your problem.
__________________
Real programmers use vim.
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

Similar Threads
Thread Thread Starter Forum Replies Last Post
spam stopping idea Greg Needel CD Forum Support 28 28-01-2007 11:42
I have a quistion about stopping the autonomous mode... razer Programming 25 11-01-2007 15:43
Stopping Spam Bcahn836 CD Forum Support 26 25-07-2005 02:00
Stopping a Marquee David66 Website Design/Showcase 6 01-02-2003 22:05
Stopping a Piston... Dan 550 Technical Discussion 7 02-02-2002 11:36


All times are GMT -5. The time now is 15:39.

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