PID Engine RPM Controller

Yes

Peter Nachtwey

Reply to
Peter Nachtwey
Loading thread data ...

It really depends on Paul's performance requirements. If his load is pretty steady then he won't need fast response. With such an environment a severely detuned PI controller may be best.

Reply to
Tim Wescott

Hi Paul,

Yep a stepper motor set up like this is effectively an integrator, ie when you move it to a new position it stays there, it's doesn't return to a zero position when you stop stepping. Most position control systems are integrators by their very nature, ie you tell them to move to a new position they do, and in general it doesn't take much to hold them there.

In this case you would limit the amount of integral gain in your PID controller, as the system has 2 integrators there's a risk it could go unstable :o(

What is the response time of your throttle?? are you trying to maintain a certain engine speeds over a wide range of engine loads?? how quickly can the load change?? you may be able to get away with just a PI controller...

Dave

Reply to
David Powell

In my prototype, I am outputing the positional PID algorithm and translating to a certain number of steps and applying that directly to the stepper motor. i.e. I am treating that output of the PID as if it were a delta, rather than absolute position.

It seems pretty clear to me, based on the comments of all the guys that what I've wound up with is an integrator (the motor) after the PID controller. I can implement the velocity algorithm, but I'm trying to figure out what impact my first attempt has on the response. Does that imply that my "extra" integration is effectively cancelling out the derivative?

Thanks,

Paul

Reply to
Paul W.

Yes. Following a derivative with an integrator cancels the derivative.

Reply to
Tim Wescott

Hi,

I had a bit of a re-think last night, the "D" term might be required for stability.

If the engine speed starts to drop off quickly ( say due to an increase in load ) the D term will detect this and cause the output to increase.

Again you have to a bit carefully with the amount of "D" you add in.

Dave

Reply to
David Powell

Excuse me if I am wrong, but

Doesn't the input and output have to be linear (or linearizable) and be able to convert to 0 to 100% to work? And that the System Dynamics have to be stable to be tunable?

Neil

Reply to
Neil Kurzman

Do you think any real system fits both (or even either) of those criteria?

Best regards, Spehro Pefhany

Reply to
Spehro Pefhany

-- snip --

In this case the input and output are both linearizable (no real world systems are linear in the end -- if nothing else they break when you set bombs off next to them, which is not a linear phenomenon).

A system doesn't have to be stable for it to be stabilizable (I assume this is what you mean by "tunable"). Take your average Saturn-V booster with an Apollo crew capsule on top -- this is basically a semi-flexible inverted pendulum with markedly insufficient aerodynamic stabilization. Without control the best that you could hope for is that the thing would be in one piece when it hit the ground, more realistically it would have buckled in the middle someplace before the pieces hit earth. Yet with appropriate sensors and automatic control the think can shoot a couple of men to the moon.

Reply to
Tim Wescott

I guess that without actuator position feedback the linearization of the output would have to be mechanical in nature. Not that would necessarily be a problem- a cam and follower can create an arbitrary montonic function, at least in theory.

I think it's even worse than that with the Saturn V- more like two stacked inverted pendulums (still a controllable system). Smaller rockets are not so flexible.. so strapping a whack of smaller rockets together like the Russians did gets around the old bending-in-the-middle-and-exploding issue.

Best regards, Spehro Pefhany

Reply to
Spehro Pefhany

-- snip --

Do you even need to explicitly linearize it? Unless you're really whacking the throttle around the engine's response to throttle changes is going to be monotonically non-decreasing if not linear, even to pulses to the throttle stepper. Assuming that you can sacrifice performance to ease of control system design you should be able to just de-tune the controller to make it all work.

Reply to
Tim Wescott

I used it in the past ( temperature and conveyor speed) it worked fine. I read that a thermistor could not be used as an PID input. You would have to convert in to temperature first. I passed it up on a battery charger rewrite, because I read the battery dynamics change during the charge. This would mean the constants would have to vary. This would make tuning impossible with a single set of constants. Does this sound right?

Neil

Reply to
Neil Kurzman

Hello Paul,

I read an excellent article (although I do not remember where) a few years ago about a guy that built a microprocessor control system for fuel injection on a two cylinder engine (lawnmower I think). I read many magazines, and stuff online, so I'm not certain if it was circuit cellar, or on the net. Googling around might find the article. The author had done a fantastic job, I just wish I could remember where the article went..

It may or maynot be useful to your efforts.

James

Reply to
James

Actually, with the stepper motor, we don't necessarily need position feedback. Provided there are no missed steps, we can constantly track position.

Funny you should mention, I am working on linearizing - I've collected the data already and have a nice curve. Implementing a characterizer table which has throttle position versus load.

Paul

Reply to
Paul W.

Yeah, I know, provided you zero it at power-on, of course (which could be as simple as ramming it up against the stop for long enough). Goes without saying perhaps that I don't like to make that presumption.

How nonlinear is it?

Best regards, Spehro Pefhany

Reply to
Spehro Pefhany

That is exactly the presumption made by floppy disk head positioning systems. They usually do not have any sensor to indicate the home position.

-Robert Scott Ypsilanti, Michigan (Reply through this forum, not by direct e-mail to me, as automatic reply address is fake.)

Reply to
Robert Scott

So by having an intergrating stepper motor placed after a positional PID algorithm, what exactly does that yield? A PI controller with amplified I?

Paul

Reply to
Paul W.

Overall I suppose you could call it a "PII" controller, but so many plants have integrating action that you may as well just call it a PID with an integrating plant and be done with it.

There's noth> So by having an intergrating stepper motor placed after a positional

Reply to
Tim Wescott

Engines are notorious for being *very* non-linear - that's about the only way I can express it. If you think about a throttle plate (butterfly valve) and its geometry, you can see how the airflow would be drastically different at low loads versus high loads. So at low loads, small changes in throttle make a huge jump in speed, and this changes a lot at higher loads.

Paul

Reply to
Paul W.

Wouldn't that have serious problems with noise? Or did you have an unusually clean signal? I guess a temperature loop might indeed qualify as really smooth and that is why you are using DD in the first place.

Walter.

Reply to
Walter Driedger

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.