Shooter Lag

In the past years that involve shooting we have all notice a type of shooter lag. What I mean by lag is when you have your wheels spinning top speed, you feed about 5 games pieces, the first shot is perfect. But the following all taper off each one getting progressively shorter distance.

Can you install a capacitor? If you can where would I put it and what kind, type? Would it solve the problem or is it a gear ratio thing. I’m trying to solve this issue with the students and it’s making me loose sleep at night! :ahh:

Thanks in advance :slight_smile:

Its not a problem with power - the wheels will need spin-up time because they’ve given most of their momentum to the ball itself. Since there are only three balls being shot it may be beneficial (in longer distance shots especially) to have a delay in between the shots.

Think of where the energy that makes the ball shoot is coming from. Sure, the motor is supplying it - indirectly. But your spinning wheels act as mechanical “capacitors” - they essentially “store” the motor’s power as rotational energy so that it can be transmitted to the balls. When you push the ball through the shooter wheels, you are taking energy from the wheel and applying it to the ball (remember conservation of energy, and in addition there are frictional losses as well). So the flywheel slows down until the motor can once again spin it back up to top speed. If you insert a game piece before the motor can bring the shooter back up to speed, there is less energy that can be transferred to the ball, so you get a shorter shot.

You have a few options on how to deal with this. You could simply wait long enough between shots so that the wheel can get back up to speed. Or, you could add more power to your shooter (a second motor?) so that the flywheel can be accelerated more quickly. Or, you can look at the equation for rotational energy (http://en.wikipedia.org/wiki/Rotational_energy) and see if there are changes you can make to your shooter configuration that would result in less of a decrease in speed between shots (hint: “heavier” wheels take a longer time to accelerate, but they also decelerate less when you push a ball through. In this case, “heavy” actually means “high moment of inertia”).

Michael,
Current rules do not allow you to add a capacitor. It would not help as the loss is not electrical in nature it is simply that some of the mechanical energy stored in the shooter is transferred to the ball when you shoot. Good observation though.

IMO: The best solution to this is having an encoder (maybe needs to be geared down) clocking your shooter velocity. Your firing system can be deactivated in code, unless the shooter wheels are within X% of the target firing velocity.

Another more complicated option is to run your shooter at less than the top speed of your motors. The reason it takes longer to spin up is because you’re spinning at the top speed of the motor. At that speed, the motor produces zero net torque, and a pretty small amount of torque as it approaches that speed. Less torque means less acceleration, means longer spin up time.

So if you could set things up so that you’re only running at, say, 75% of top speed, then your wheel would recover much more quickly. Plus, you’d have a consistent speed for the wheel no matter what your battery level was, since the top speed depends on the voltage you’re running at.

The downside is that this is a little complicated to do. You can only do this through closed-loop control of the wheel/motor speed. So you’d need an encoder to measure the wheel or motor speed, and you’d need to set up and tune PID control for the motor speed.

We are planning to have some type of device that feeds balls to the shooter one at a time, not in a continuous stream. Since you can only hold 3 balls, you want to make every shot count.

What point in the motor curve would you go for; max efficiency or max power? Or somewhere in between?

Well, what’s the problem here? Insufficient efficiency or insufficient power? Let that guide your decision.

You’d probably go for the point where you can control the speed, so it doesn’t slow down noticeably. If you do some calculations as to the energy needed to shoot the ball, and the amount of time it takes, you can calculate how much power it takes to keep the motor at an almost constant speed. If the motor has enough power, then great…if not, it really doesn’t matter as long as the shots are consistent, and you can get the wheel back up to speed before you want to shoot the next ball.

What everyone else said. You design to your design requirements. In this case, you’re probably wanting your reload time to be as small as possible, or small enough that you’re back to speed before the next ball arrives, so you’re looking for something closer to the peak power point.

Practically speaking, you want to be operating somewhat faster than peak power. Firing slows down your motor, so if you’re normally operating at peak power, then you’re dropping to a lower power point when you fire.

The absolutely ideal operating point is going to depend on the total effective inertia of your system and how much energy you lose per shot. That will also determine how much speed you lose per shot. The less speed you lose per shot, the closer you’ll be to your operating point, the closer you want that point to be to peak power.

So, obviously, having the mechanical capacitor effect of a high inertia shooter helps here as well. The reflected inertia of your motor through its gearbox adds to the overall inertia of the shooter, of course, and you’d be reducing that reflected inertia to take advantage of this…

There’s obviously a lot of variables here to optimize. I’ve sufficiently complicated the issue for it to grab my interest, so I’ll try my hand at creating a spreadsheet or script tonight that can optimize things based on some given variables. At the very least, it’ll give me a better handle on the interplay of the different variables. I just hope I can get some rotor inertia values for at least a few of the motors…

Thanks. The design crew on my team is still learning a lot about how motors work, so we’re kind of just guessing at how fast exactly to run them. A spreadsheet would really help.

Thank you so much for everyone’s input! Programming is something I will look into, but in all the years we all ways make sure it works mechanically and electrically before programming. Essentially I’m getting the over all answer to add more power. It’s back to the drawing board and more prototyping with different weight wheels, different type of gear ratios, motors, since I can’t use capacitors :frowning:
B

Quoted For Truth

I wanted to stress the section that I bolded, because the definition of “top speed” in this context is tricky. It isn’t the top speed of the motor at 12V, it is the top speed of the motor at whatever effective voltage you are applying. That is to say that if you drive at a constant 50%, you will have exactly the same spin up issue as you are having at 100%.

Prove this to yourself by measuring the shooter speed vs time at a couple of values. As you approach adjusted free speed, the effective torque approaches zero. Measure how long it takes to get back to “close enough”.

If you want to avoid this asymptotically long spin up, you have to have some sort of feedback loop. Kevin suggested a PID, and I agree with him.

You want to select a gear ratio such that, with the wheel(s) spun up to their desired speed and no balls being launched:

  1. The motor is spinning at a speed slightly greater than 50% of its 12V free speed, and

  2. The motor voltage required to hold that speed is sufficiently less than 12 volts, and

  3. The waste power (input watts minus output watts) is not too much greater than the waste power at max efficiency at 12 volts.

These three conditions are somewhat mutually exclusive, and you may have to sacrifice here and there to find a happy medium. Or you may have to use a more powerful motor, or more than one motor.

Rationale:

1 is so that when a ball is launched and slows the wheel down, your motor speed will be near the value required to get maximum power from the motor (when your closed-loop controller senses the error and jacks up the voltage).

2 is so that your closed-loop speed controller has some “headroom” to apply more power (increase the applied voltage) to get the wheel back up to speed quickly

3 is because you are going to be spinning your wheel for the entire match and you don’t want to burn out your motor.
*
*

Also remember that the available voltage will not always be 12V and will vary depending on your battery condition and how much power the rest of the robot is drawing.

I think the best way to go at this problem is by combining the efforts of both the mechanical and the programming sub teams. If a shooter was designed in way such that only 85% - 90% of its power will ever be needed, then you could shoot your first ball at the “full” speed (say it’s 85%) then second shot could be shot immediately by changing the shooter speed via programming to 90% and so on…

I would imagine that due to the loss of momentum, running at 90% would be similar to running at 85% when the time between two successive shots is small. Yes?

That was the intent of the bolded portions below:

Best bet would be to delay the balls till the motor hit your ideal speed and your aim angle is correct. If you fire up 3 rapid balls that had the aim angle/motor speed off you have wasted 3 balls. Take a shot and see if it goes in then take another.