Desing SPM motor PI controller - Page 1
Forum section: electronics / beginners

author: bonzer
author_rank: Regular Contributor
timestamp: December 21, 2019, 02:51:45 pm
content: Hello everyone! Please help me to understand better how to properly control an SPM motor to have a good speed step response.I had a laboratory session. I had many of its parameters like Λmg ,J,B,R,L,Ts where J moment of inertia of the rotor, B viscous friction of the motor, R impedance of the stator, L inductance, Ts - switching period, Λmg permanent magnet flux linkage.These parameters some were given, some were measured. J, B were given so probably are a bit wrong. In the end with speed control it was unstable so we changed to some other values of gains for PI that were much less so they probably gave more phase margin but less gain. The problem is that we didn't get those "magical" gain values in theory. They were a lot lower.What I'm asking you here is not exactly what could be the problem in my specific case but how usually one should proceed for this type of design?Let me tell you what we did. We have two loops to control: one for current and one for speed, therefore two PI regulators. Current loop is the inner. We used two methods but the first was applied wrongly (because of lab assistants).1. Nichols-Ziegler method applied for a simulink model of the motor. (I know, might sound stupid but this is what they suggested).Obviously those results didn't work well especially for the speed step response where we had an oscillation. After that I heard it works when applied to the real controller by changing gain and measuring and not to a simulink model, so whatever.2. Laplace domain solving after calculation of transfer functions with phase margin requirement. We did it too but it didn't work well (again only for current but not for speed) because we probably had to increase phase margin. I solved it for 60° for both controllers.To give you an idea about the accuracy of the math model I post here a scheme. It feels pretty accurate but anyway in reality there are a lot of other non observed transfer function that's why in practice Ziegler-Nichols could work better if used properly ...Main question: would you do the same like we did or you know other ways better for this case? From theoretical point of view should I ask for like 80° phase margin in this case? I pay for it with a lower gain in central frequencies, is this a problem? (still higher than 1 obviously).Tell me anything you know about it.If you say it should have worked with the second case calculations, then I think they gave us wrong parameters for J and B or the model was too approximated. This is a 24V three phase SPM motor.

author: bonzer
author_rank: Regular Contributor
timestamp: December 22, 2019, 10:23:32 pm
content: I think there's a discretization problem behind. I don't know what transformation they use but obviously simulink is also discrete in the end so in this cases continuous model phase behaivor isn't the same as for discrete counterpart in high frequency especially.In low frequency they are similar that's why when I impose 60° phase margin it doesn't work because it gives me a high crossover frequency where we can't know for sure phase value in the discrete system. For 80° phase margin it works well.