How to calculate max permanent flux linkage and rotor angle over which back emf is constant for a BLDC?
78 views (last 30 days)
Show older comments
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.
0 Comments
Accepted Answer
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:
Maximum Flux Linkage (λ_max):
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
Here's a MATLAB code snippet to help you calculate these values:
% 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;
% Calculate maximum flux linkage
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('Maximum Flux Linkage: %.4f Vs/rad\n', lambda_max);
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.
More Answers (0)
See Also
Categories
Find more on Choose and Parameterize Blocks in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!