My first thought:
Forget the analog circuit, pick one of many digital PID implementations, and re-tune from scratch.
You could accelerate the process by making educated guesses for the initial tuning parameters based on the system that it's controlling, but that's the basic idea. Start with "P" only, then add "I" and "D" while balancing stability and responsiveness.
My second thought:
Simulate the analog circuit in realtime. When you first start the simulation, all voltages and currents are zero. Use:
- Kirchoff's voltage and current laws
- Ohm's law with complex impedances
- An ideal opamp model (output has infinite differential-mode gain and zero common-mode gain)
- All of the previous cycle's voltages and currents
to find the current cycle's voltages and currents.
This approach is probably not useful unless you have a very specialized application that takes advantage of a funky circuit to compensate for funky behavior. Even then, my third thought is probably easier.
My third thought:
Take the analog controller out of its application, give it some test inputs, and measure its response. Then make a digital filter (doesn't have to be PID) that provides the same response.
Analyzing the circuit for a first-shot, convert-and-run solution is well into the diminishing returns area. You can do it, but the break-even point between that and starting over is very soon. And you'll probably make a mistake somewhere anyway, which wipes out the first-shot part.
Given the specialized appearance of the analog circuit, I think your digital version will probably be specialized also, to some extent. That is, you'll:
- Start out with a more-or-less standard attempt at a solution
- Find that you can tune it very well if you exclude certain situations
- Modify it to handle those situations with less de-tuning.
Depending on how much rube-goldberg is between your actuator and its desired effect, you may even end up with multiple PID's, one feeding another, each corresponding to its own step in the rube-goldberg machine.