I have a actuator capable of measuring motor current and position via an encoder on the output shaft. The motor is a brushed DC motor running through a gearbox.
My questions is in regards to the use of a cascaded controller model where by the output of the velocity controller sets the setpoint of the current controller. What I do not understand about this is when velocity tracking and a disturbance torque is encountered the current controller aims to reduce the output voltage to maintain the current and the velocity controller aims to increase the output voltage (via the current controller) to maintain speed. Due the response of the system this causes an exaggerated tracking error when compared to direct velocity control (Voltage Control). A feedforward term does slightly increase tracking performance but not significantly.
Is there something I am missing here? It would make more sense for the current controller to increase the current setpoint when the current measurement is increased. The reason for requiring a current control loop is to be able to set variable max current limits. Switching between "voltage control" & "Current Control" at the limits does not have a smooth response.
A example of this is shown in the image below. The first half of the graph shows the current controller being switch off and the second half shows it being turned on. The Oscillations are from a disturbance torque. It is clear that the tracking error is increased due to the current controller trying to maintain constant torque.
Any guidance would be much appreciated.