In the previous video, we talked about this architecture which implements a PWM controlled buck converter
to control a BLDC motor at varying speeds. In this video, we’ll show you an alternative implementation of PWM control
which we also discussed in detail in our third motor control tech talk video.
What makes the second architecture different from the first one is that it doesn’t use a buck converter
to step down the DC source voltage but instead it modulates the three-phase voltages directly.
We’ll now start off with this model which already contains subsystems such as the controller, three-phase inverter,
BLDC and sensor. Feel free to check out our previous videos to learn how you can build these subsystems
using blocks from Simscape Electrical library. In the first architecture, we implemented PWM control under the buck converter subsystem.
In this new architecture that we’re going to build, we’ll implement PWM control under commutation logic
where we compute the switching pattern to be sent to the three-phase inverter. So, let’s go into this subsystem.
Here, we see what we eventually want to achieve with this implementation.
We want to modulate the three-phase voltages by taking the DC source voltage which is 500 volts in this case
and using it to switch the voltages of the commutating phases between these two values which is +- half the DC source voltage.
This way the effective voltage seen by the motor gets averaged.
The current logic we have represents the one we built in the third video but it doesn’t do any phase switching.
If we used this logic, the commutating phases would be energized with a constant voltage throughout the corresponding sector.
In order to switch the phases correctly with PWM control as seen in here, now we’ll modify this logic.
Note that during each PWM period, the commutating phases are switched between +-250 volts in a complementary fashion.
For example, during this period where we commutate phases A and B,
while we drive phase A with positive voltage, phase B is driven with negative voltage and vice versa.
To implement this, we first duplicate all these blocks with the switching patterns and then reverse the bits of the commutating phases.
For example, to reverse this switching pattern, we simply flip the 1s and 0s in the commutating phases A and C.
After completing this for the remaining switching patterns, now we add a PWM generator and a switch
and connect these together like this. The input to the PWM generator is the duty cycle computed by the controller.
So, we go up and input this signal to the commutation logic which automatically creates an input port in the subsystem.
We then set the PWM frequency and sample time which has been predefined in the MATLAB workspace.
Next, we update the switching threshold to a positive value.
This way, during the on-time of PWM signal, we’ll pass a switching pattern from this section
based on the current sector and in the rest of the PWM cycle we’ll pass the complementary pattern.
Now, this logic takes care of the phase switching properly.
To see if it works correctly, let’s simulate this model and take a look at the logged signals.
We see that the speed tracking is pretty good.
The measured speed is shown in orange which makes it a little hard to see the desired speed that’s in green.
This plot shows the DC source voltage of 500 volts and here we see how it’s switched between +-250 volts
for the commutating phases. As a result of this switching, the motor will see an averaged voltage
which will be similar to what’s shown with the dashed line.
Note that the back-EMF voltage seen in the non-commutating phase helps us estimate the approximate effective voltage
that is seen by the motor. For example, right before phase A is commutated, we read a back-Emf voltage of -25 volts.
So, we can say that the effective phase A voltage seen by the motor is around -25 volts throughout this region.
Using the same logic, we can show the averaged voltages for phases A, B and C as seen in here with the dashed lines.
In summary, in this video we built a model to implement PWM control to directly modulate the three-phase voltages to a
BLDC motor for controlling its speed at varying values. For more information on BLDC motor control, check out the links below this video.