Sample time *is* process variable : LUSENET : PID Controller Tuning : One Thread

I am controlling a motor's speed. I am using a tach wheel and a microprocessor (called a microcontroller: 80386EX). When the tach wheel stops interrupting the light beam, I get a pulse, which becomes an interrupt to the micro. The micro times the time between interrupts. When the interrupt occurs, both sampling and control happens. The sample *is* the interrupt, and the control will speed up/slow down the motor based on the sample. Most PID tuners will not deal with sample rates that vary from one sample to the next. Will your methods handle this?

-- John "Sean" Cleary (, July 24, 2000


well, when you get into variable sample rate systems you have to be very carefully of stabilty margins. Digital theory assumes fixed sample rates though I would assume that there is research into variable rate systems. You just need to be careful how you apply PID rules as to the underlying assumptions. You may need to bound the problem and then find a solution which maintains stabilty under worst case conditions.

-- Jamie Ross (, July 26, 2000.

Variable sample rates are no problem for ExperTune PID tuning and analysis - just make sure the data is time stamped, in this format hh:mm:ss.sss

You must make sure you update the controller algorithm's numerical value for what you tell it is the sample interval every scan.

You also have non-linearities built in. The dead time associated with sampling is 1/2 the sample interval. Your dead time is a function of the PV. To be stable, you will have to tune at large values of PV, or always add the largest scan time to the process model dead time before asking for PID tuning.

ExperTune's web site:

-- John Gerry (, October 09, 2000.

Moderation questions? read the FAQ