-
Notifications
You must be signed in to change notification settings - Fork 0
BLDC (dq plane) block
Simulates a brushless direct-current motor, using variables in the dq space.
- Inércia do sistema motor+carga: Inertia of the motor+load system. [Kg.m^2]
- Resistência por fase: Individual phase resistance. [Ohm]
- Indutância por fase: Individual phase inductance. [Henry]
- Número de pólos: Number of poles of the motor.
- Constante de torque: The motor's Torque constant. [N.m/A]
- Constante de força eletromotriz: The motor's Back-emf constant. [V.s]
- Constante de atrito viscoso: Viscous friction's constant.
- Força máxima de atrito estático: Determines the maximum torque that static friction may assume. [N.m]
- Força de atrito dinâmico: Determines the value of the dynamic friction. [N.m]
- Lookup table da back-emf fase a: A nx2 matrix which specifies the desired back-emf shape for the a phase of the motor. The first column of the matrix represents the angle in degrees (must start at 0, be monotonically incresing and end at 360); the second column is the value 'fa' for that angle, in the equation: 'ea = fa(theta)*Ke*Wm/2', where 'ea' is the back-emf in phase a, 'Ke' is the motor's Back-emf constant and 'Wm' is the motor's angular velocity.
- Lookup table da back-emf fase b: A nx2 matrix which specifies the desired back-emf shape for the b phase of the motor. The first column of the matrix represents the angle in degrees (must start at 0, be monotonically incresing and end at 360); the second column is the value 'fb' for that angle, in the equation: 'eb = fb(theta)*Ke*Wm/2', where 'eb' is the back-emf in phase b, 'Ke' is the motor's Back-emf constant and 'Wm' is the motor's angular velocity.
- Lookup table da back-emf fase c: A nx2 matrix which specifies the desired back-emf shape for the c phase of the motor. The first column of the matrix represents the angle in degrees (must start at 0, be monotonically incresing and end at 360); the second column is the value 'fc' for that angle, in the equation: 'ec = fc(theta)*Ke*Wm/2', where 'ec' is the back-emf in phase c, 'Ke' is the motor's Back-emf constant and 'Wm' is the motor's angular velocity.
- u_d: D component of the Vabc voltages projection in the dq plane. [Volts]
- u_q: Q component of the Vabc voltages projection in the dq plane. [Volts]
- Tl: Load torque applied on the shaft of the motor. [N.m]
- theta_m: Angular position of the rotor [radians]
- w_m: Angular velocity of the rotor [radians/second]
-
internal: Vector of other internal variables of the simulator:
- Electrical_torque: The electrical torque generated by the BLDC
- Currents [2x1]
- i_d: D component of the i_abc currents projection in the dq plane.
- i_q: Q component of the i_abc currents projection in the dq plane.
- back_emfs [2x1]
- e_d: D component of the e_abc back-emfs projection in the dq plane.
- e_q: Q component of the e_abc back_emfs projection in the dq plane.
This example demonstrates how to correctly display all of the BLDC's outputs.
-
Since the addition of Coulomb's friction (commit 45fb657), this block does not support fixed-step solvers. If a fixed-step solver is chosen, undefined behavior may occur.
-
The angle convention (where the rotor is located in relation to the coils a, b and c when the angular position is zero) is implicitly defined by the back-emfs. If the default trapezoidal back-emf waveform is used (instead of a user-defined one), the angle convention is that when the angular position is zero, the rotor is perpendicular to the 'a' coil, with its south pole close to the 'b' coil).
-
Example of a valid back-emf lookup table parameter:
backemfa = [linspace(0,360,200)' sin(linspace(0,360,200)')];