I am trying to develop an FOC algorithm (see screenshots attached) using the Motor Control Blockset in Simulink, but I am getting the following errors (see screenshot attached). I don't know what I am doing wrong since I fed my d and q currents to my discrete PI controllers and fed the results straight into my Inverse Park Transform. I don't know how to solve this and any help would be greatly appreciated.
Simulink file OneDrive Link:
I can't open your model. But from your screenshot I see the following:
PhaseCur
in the lower right corner into only 2 signal paths. For whatever reason it appears that the Clarke transform only demands for the phases a and b, but not c. But instead of dropping c you feed it into the block together with a (or a and b together, with c aside, for that matter). So instead of a 2-Way-Demux before, use a 3-Way-Demux and get rid of phase c before the Clarke transform. This is the most apparent mistake until now, try if it works.
The documentation of the Clarke transform block states:
The block accepts two signals out of the three phases (abc), automatically calculates the third signal, and outputs the corresponding components in the αβ reference frame. For example, the block accepts a and b input values where the phase-a axis aligns with the α-axis.
Hi @thewaywewalk, thank you a lot for answering my question. You don't know how much you helped me. Really thanks a lot. I ended up using a selector block to get the two phases out of the 3-Way-Demux. I would like to ask you if you could please help out in my other post. I am struggling again with my simulation. I have constant setbacks and I don't know what's going on now. Please your help would be really appreciated. THe link to my other post is: stackoverflow.com/questions/61261631/…