I’m working on implementing the PID compensator on the top of page 20 here. I’ve already got a circuit working, but it oscillates a ton, and I was hoping to tune it with a better strategy than just guess and check.

The datasheet doesn’t go into a lot of detail on how it’s supposed to work, but I found a whitepaper that covers single-stage PID compensators in more detail here.

I’ve got this compensator working, I’ve modeled it in spice and the poles and zeroes show up where they should, but I have no idea how to actually tune it to my system.

My understanding is that I need to fit the equation (3) on the second link to the form kp + kds + ki/s, but it’s an algebraic nightmare.

What I’m hoping for is some derivation of the PID constants in terms of the components in my system. Then I can work on one of the many tuning methods. The datasheet even assigns names to components implying that they’re responsible for setting one of the constants (Cd and Rd for derivative term for example), but I’m fairly certain they can’t be completely isolated like that.

Also, if the answer is just that I need to re-learn how to do partial fractions, I’m okay with that.

    • chuck
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      1 year ago

      Upvote just for that link I hand it out every time I get asked a controls question

      But yea another guy drifting in from the homepage who normally works with physical systems where I can assume I’m in the continuous domain and can do the PID loop with a fast enough computer / sensors.

      That said seems like the relationship poles / zeros and your physical components are given by the set of equations found in eq 4 of your second link.

      Assuming you used, something like desired second order behavior (%OS, settling time etc), pole placement or lqr methods to pick where those poles should be for your desired system performance you should be able to plug those poles/ zeros in with one real component value to nail something to reality then solve for the rest.

      Again you’ll probably get values that are stupid specific and you’ll round up or down to get things you actually can buy or have on hand and you’ll recompute the poles and zeros and see how far off you are from your goal. Provided they aren’t shifted tooff the right hand side of the plane you can test or simulate to make sure you meet your minimal performance requirements.

      Edit shifted left to right damn I should do control theory rants at 11pm