PDA

View Full Version : Double PID Loop?



timmers
- 1st December 2014, 20:14
I have a motor with encoder and am servicing the PID loop at regular intervals continuosly.
To get a more accurate regulation, I wish to take the last 8 samples and compare them to an 8 times oversampled result on top of the instantanous single sample.

Example:-
...
Sample11 PID Error11 + PID Error [4-11]
Sample12 PID Error12 + PID Error [5-12]
Sample13 PID Error13 + PID Error [6-13]
Sample14 PID Error14 + PID Error [7-14]
Sample15 PID Error15 + PID Error [8-15]
Sample16 PID Error16 + PID Error [9-16]
Sample17 PID Error17 + PID Error [10-17]
Sample18 PID Error18 + PID Error [11-18]
Sample19 PID Error19 + PID Error [12-19]
Sample20 PID Error20 + PID Error [13-20]
Sample21 PID Error21 + PID Error [14-21]
Sample22 PID Error22 + PID Error [15-22]
...

'Coding Example

ERROR = SETPOINT_1 - FEEDBACK_1 + SETPOINT_8 - FEEDBACK_8
PID_P = (ABS ERROR) */ PID_Kp
etc

Can you see any reason why this wouldn't work?

Tim.