Двигатель постоянного тока в Engee
Автор
@engeemodel DCMotorComposite begin
@components begin
p = EngeePhysicalFoundation.Electrical.Pin(), [view = ("+", "left")]
n = EngeePhysicalFoundation.Electrical.Pin(), [view = ("-", "left")]
r = EngeePhysicalFoundation.Mechanical.Rotational.Flange(), [view = ("R", "right")]
c = EngeePhysicalFoundation.Mechanical.Rotational.Flange(), [view = ("C", "right")]
end
@parameters begin
rotor_resistance = 3.9, [unit="Ohm"]
rotor_inductance = 12e-6, [unit="H"]
motor_inertia = 0.01, [unit="g*cm^2"]
breakaway_torque = 0.02e-3, [unit="N*m"]
coulomb_torque = 0.02e-3, [unit="N*m"]
breakaway_velocity = 0.03347, [unit="rad/s"]
back_emf_constant = 0.072e-3*60/(2*pi), [unit="V/(rad/s)"]
viscous_coefficient = 0.0, [unit="N*m/(rad/s)"]
end
@components [gui = None] begin
rotorResistor = EngeePhysicalFoundation.Electrical.Elements.Resistor(R=default(rotor_resistance))
rotorInductor = EngeePhysicalFoundation.Electrical.Elements.Inductor(L=default(rotor_inductance))
motorInertia = EngeePhysicalFoundation.Mechanical.Rotational.Elements.Inertia(I=default(motor_inertia))
friction = EngeePhysicalFoundation.Mechanical.Rotational.Elements.Friction(w_breakaway=default(breakaway_velocity),T_breakaway=default(breakaway_torque),T_coulomb=default(coulomb_torque), viscous_coefficient=default(viscous_coefficient))
rotEMechConverter = EngeePhysicalFoundation.Electrical.Elements.RotationalConverter(k=default(back_emf_constant))
end
@equations begin
connect(p, rotorResistor.p)
connect(rotorResistor.n, rotorInductor.p)
connect(rotorInductor.n, rotEMechConverter.p)
connect(rotEMechConverter.n, n)
connect(rotEMechConverter.rod_flange, friction.rod_flange, motorInertia.flange, r)
connect(rotEMechConverter.case_flange, friction.case_flange, c)
end
end