How to calculate max permanent flux linkage and rotor angle over which back emf is constant for a BLDC?

61 views (last 30 days)
Simeon on 8 Mar 2024
Commented: Simeon on 8 Mar 2024
Hi, I am trying to simulate a BLDC motor control circuit based off a real motor that I will be using but the model asks for the maximum flux linkage and the rotor angle over which back EMF is constant and I am unsure of how to work them out using the data values which I have been given. The data sheet gives the no, of poles and phases, rated voltage, rated speed, rated torque, max peak torque, torque constant, rated current, line to line inductance, no- load current, max peak current, length, rotor inertia, mass, and line to line resistance. Any help would be appreciated thanks.

Andrew Reibold on 8 Mar 2024
To simulate a BLDC motor control circuit in MATLAB, you'll need to understand and calculate certain parameters. The maximum flux linkage and the rotor angle over which back EMF is constant are critical for modeling. Here's how you can approach these calculations:
The maximum flux linkage in a BLDC motor can be calculated using the rated voltage and the rated speed. The formula is:
λ_max=V_rated / ​ω_rated
Where V_rated is the rated voltage and ω_rated is the rated speed in rad/s.
Rotor Angle Over Which Back EMF is Constant:
The rotor angle over which the back EMF is constant is typically considered to be 120 electrical degrees for a 3-phase BLDC motor. If you have a different number of phases, the electrical degrees over which the back EMF is constant would be 360deg/number of phases
% Given parameters from the datasheet
rated_voltage = 24; % Example rated voltage in volts
rated_speed = 3000; % Example rated speed in RPM
number_of_poles = 4; % Example number of poles
number_of_phases = 3; % Example number of phases
% Convert rated speed to rad/s
omega_rated = 2 * pi * rated_speed / 60;
lambda_max = rated_voltage / omega_rated;
% Calculate rotor angle over which back EMF is constant
electrical_degrees_per_phase = 360 / number_of_phases;
angle_back_EMF_constant = electrical_degrees_per_phase;
% Display results
fprintf('Rotor Angle Over Which Back EMF is Constant: %.2f degrees\n', angle_back_EMF_constant);
You need to substitute your actual data values for rated_voltage, rated_speed, number_of_poles, and number_of_phases in the code.
These values will help you set up your BLDC motor model in MATLAB with the appropriate parameters.
Simeon on 8 Mar 2024
Brilliant. Thank you

Categories

Find more on Motor Drives in Help Center and File Exchange

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!