1
$\begingroup$

I'm currently taking classical control theory and have some questions regarding basic concepts related to closed loop systems.

Let's say I have a simple servo motor controlled by an electric current. Using a PID controller, my block diagram is as follows:

enter image description here

Now, I'm still struggling to understand some things:

  1. At what point is my loop actually producing a signal that my servo can use? And how would I extract it from my control loop?
  2. Why can I simply take my PID'ed error signal and plug it into a plant requiring current as an input? If I had a set current I could calculate the torque on my motor, from which I could then determine the accerleration and thus get the position by integrating that value twice. How do I do such a calculation if I only have a value that tells me to either increase or decrease my current by some factor?
  3. Why is the positional output calculated by my plant reconnected to my sensor in the feedback loop? Why is there an output in the first place? Shouldn't the sensor simply deliver continous data and the loop respond according to my error term?

I would be very glad if somebody could answer these basics questions for me, I just can't quiet wrap my head around the basic mechanics of a control loop like this.

Thanks in advance!

$\endgroup$
  • $\begingroup$ Two things are three... $\endgroup$ – Solar Mike Mar 8 '18 at 22:53
1
$\begingroup$

Your system:

You have a PID connected to a servo. So you have a closed system connected to a closed system. A servomotor already makes a control loop, that's what being a servo means. So more than likely the servomotor already has a PID inside it (or some other controller), so you don't really need a PID to connect to the servo. you can just connect the $P_C$ to the servo if you know how it is mapped by the controller in the servo and it is driving by the value you want.

However, it is possible you want to drive some other property than the servo drives. For example lets suppose the servo drives position instead of speed. Or the motor system after the servo is somewhat unknown/hard/problematic and you don't want to drive the value by a measurement at the engine then you want to have a second controller to dive your servo.

Or your system is highly nonlinear and unstable and you want to stabilize it based on 2 parameters. Like say a inverse pendulum.

Or just because you happened to have a servo available.

Ok for your questions:

Lets start with the simple one first.

  1. Why can I simply take my PID'ed error signal and plug it into a plant requiring current as an input?

You can, what you effectively then have is a P-Controller with no adjustable gain. It may work, but it can be too slow to react, or too fast. Also it does not have D and I terms so it can not react to sudden and persistent errors. See a P controller rarely reaches the target, it reaches just under or just above the target as the equilibrium of the computation is not spot on target. The I factor would take care of this. Most likely you dont need the D factor.

1a. At what point is my loop actually producing a signal that my servo can use?

After the summing of the PID terms. The control signal inside the servo may be a bit harder to obtain without dismantling the servo.

1b. And how would I extract it from my control loop?

Connecting a wire to the the node and measuring voltage?

3a. Why is the positional output calculated by my plant reconnected to my sensor in the feedback loop?

Its not (atleast not ususally). The sensor is connected to the real plant output. If your doing simulation than the calculation there to work as a stand in for the real deal so that you can test your understanding, the real plant may or may not work as expected.

3b. Why is there an output in the first place?

Presumably your plant does something with the output.

$\endgroup$
  • $\begingroup$ My understanding is that the diagram here is intended to represent what goes on within a servo. $\endgroup$ – C.R Mar 9 '18 at 11:33
  • $\begingroup$ Perhaps, but the asker is not terribly clear whether the picture represents his system or is a generic model. And also wether they will use a servo in a PID loop or talking of the pid of the servo. @C.R. $\endgroup$ – joojaa Mar 9 '18 at 11:39
1
$\begingroup$

This is two nested control loops. In the current loop, the motor drive voltage is varied in to correct any errors in motor current, relative to $I_C$. In the position loop, which the diagram shows, $I_C$ is varied to correct any errors in position.

I hope I've understood your questions correctly.

  1. The servo is all the electronics shown in the diagram, i.e. the motor and controls. The plant in this case is the Motor and Load, and it's input signal is the output signal of the current loop.

  2. The motor has resistance, so we can't simply supply an amount of current and that will be the current in the motor. We need to power the motor by giving it a voltage that we control to give the desired current.

    You could use the integration you mentioned to simulate the plant. What the position loop does is take the real position, wherever it is at a given time, and correct to the desired position over time. It does this by feeding back the measured position information and using it to vary $I_C$. This allows it to respond to any real life situation, and without any inaccuracies caused by using a simulated model.

  3. The output in this system is just the real life position that the plant creates. The sensor (resolver or encoder) provides continuous data on this which is fed back via the position loop, and the system responds to the error.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.