digital pid
designing digital pid...
well,are u familaiar with Digital Signal Processing?
if no,u can learn it very fast specially i recommend u to read the well known book writen by Alan V.oppenheim
iscrete-Time Signal Processing
designing a digital copy of an analog system like filters and controllers with feed back is described in this book chapter seven.
for start i can say followings:
1.use a sampling frequency of at least 10 times of loop B.W.,this eases the anti aliasing filter design and removes instability problem,also removes the need of inverse-sinc filter at output.
2.it is possible to use low cost 8bit UC such as 8051 and 8bit ADC and DAC but it is strictly recommende to write your program in 16bit(it is not necessary to write floating point software)to limit quantization error and instability problem.
with above guide lines it is possible to design a digital pid controller with 1khz BW and over 20khz sampling rate by a 8051 run by 12mhz xtal(~1mips)[it is assumed that code was written efficiently!]
about integrator wind up:it is abig problem in open loop integrators but when the loop is closed, it has a self limiting property and there is no overfolw danger,if it is not clear scetch theblock diagram of your pid and write tranfer function of input noise of controller to output then find steady state of output for step input to pid as a noise.
best!