Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
14 years ago

PI controller in VHDL

I'm trying to implement a PI controller in VHDL. where i tried a lot but i failed

Please, can any one help me to achieve this task where i'm new in this field.

14 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    One of the key issues in implementing this type of controller is how to handle the clamping function. Think about how to wrap a finite state machine controller around the main PI; to enable the integrator after the clamp has cleared in an appropriate manner. This topic is in addition to how to handle the bit growth of the accumulator; which is an issue in any FIR or IIR filter design. -James

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi,

    what about the relationship between Kp, Ki, Kd and the width of the input signals? For example if i have input data coming from a 12bit ADC with 5V analog range and a 12bit ADC with 2.5V analog range (so the same input voltage is rapresented with different words) are the PI parameters affected by this?
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    The ADC and DAC scaling isn't part of the digital controller, but it obviously affects the feedback loop gain. I think the plant model should take account of it.

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hello James,

    I have to design a pid servo for power stabilization of the lasers . I have thought of the closed loop design involving the experiment and the feedback. I read your paper on the pid controller and was wondering about what should be the sampling interval for the integral component and how to implement it in vhdl. My ADC's and DAC's work at maximum frequency of 10 MHz and 25 MHz respectively. Does that mean for the PID , I can have a maximum frequency of 12.5 MHz (half the frequency of DAC). Secondly, how to use the inverse of this frequency (sampling interval) in the difference equation that you have given in your paper. Thanks.