Package edu.wpi.first.math.system.plant
Class DCMotor
java.lang.Object
edu.wpi.first.math.system.plant.DCMotor
public class DCMotor extends Object
Holds the constants for a DC motor.
-
Field Summary
Fields Modifier and Type Field Description double
freeCurrentAmps
double
freeSpeedRadPerSec
double
KtNMPerAmp
double
KvRadPerSecPerVolt
double
nominalVoltageVolts
double
rOhms
double
stallCurrentAmps
double
stallTorqueNewtonMeters
-
Constructor Summary
Constructors Constructor Description DCMotor(double nominalVoltageVolts, double stallTorqueNewtonMeters, double stallCurrentAmps, double freeCurrentAmps, double freeSpeedRadPerSec, int numMotors)
Constructs a DC motor. -
Method Summary
Modifier and Type Method Description static DCMotor
getAndymark9015(int numMotors)
Return a gearbox of Andymark 9015 motors.static DCMotor
getAndymarkRs775_125(int numMotors)
Return a gearbox of Andymark RS775-125 motors.static DCMotor
getBag(int numMotors)
Return a gearbox of Bag motors.static DCMotor
getBanebotsRs550(int numMotors)
Return a gearbox of Banebots RS 550 motors.static DCMotor
getBanebotsRs775(int numMotors)
Return a gearbox of Banebots RS775 motors.static DCMotor
getCIM(int numMotors)
Return a gearbox of CIM motors.double
getCurrent(double speedRadiansPerSec, double voltageInputVolts)
Estimate the current being drawn by this motor.static DCMotor
getFalcon500(int numMotors)
Return a gearbox of Falcon 500 motors.static DCMotor
getMiniCIM(int numMotors)
Return a gearbox of MiniCIM motors.static DCMotor
getNEO(int numMotors)
Return a gearbox of NEO motors.static DCMotor
getNeo550(int numMotors)
Return a gearbox of NEO 550 motors.static DCMotor
getRomiBuiltIn(int numMotors)
Return a gearbox of Romi/TI_RSLK MAX motors.double
getSpeed(double torqueNm, double voltageInputVolts)
Calculate the speed of the motor at a given torque and input voltage.double
getTorque(double currentAmpere)
Calculate the torque produced by the motor for a given current.static DCMotor
getVex775Pro(int numMotors)
Return a gearbox of 775Pro motors.double
getVoltage(double torqueNm, double speedRadiansPerSec)
Calculate the voltage provided to the motor at a given torque and angular velocity.DCMotor
withReduction(double gearboxReduction)
Returns a copy of this motor with the given gearbox reduction applied.
-
Field Details
-
Constructor Details
-
DCMotor
public DCMotor(double nominalVoltageVolts, double stallTorqueNewtonMeters, double stallCurrentAmps, double freeCurrentAmps, double freeSpeedRadPerSec, int numMotors)Constructs a DC motor.- Parameters:
nominalVoltageVolts
- Voltage at which the motor constants were measured.stallTorqueNewtonMeters
- Current draw when stalled.stallCurrentAmps
- Current draw when stalled.freeCurrentAmps
- Current draw under no load.freeSpeedRadPerSec
- Angular velocity under no load.numMotors
- Number of motors in a gearbox.
-
-
Method Details
-
getCurrent
Estimate the current being drawn by this motor.- Parameters:
speedRadiansPerSec
- The speed of the motor.voltageInputVolts
- The input voltage.- Returns:
- The estimated current.
-
getTorque
Calculate the torque produced by the motor for a given current.- Parameters:
currentAmpere
- The current drawn by the motor.- Returns:
- The torque produced.
-
getVoltage
Calculate the voltage provided to the motor at a given torque and angular velocity.- Parameters:
torqueNm
- The torque produced by the motor.speedRadiansPerSec
- The speed of the motor.- Returns:
- The voltage of the motor.
-
getSpeed
Calculate the speed of the motor at a given torque and input voltage.- Parameters:
torqueNm
- The torque produced by the motor.voltageInputVolts
- The voltage applied to the motor.- Returns:
- The speed of the motor.
-
withReduction
Returns a copy of this motor with the given gearbox reduction applied.- Parameters:
gearboxReduction
- The gearbox reduction.- Returns:
- A motor with the gearbox reduction applied.
-
getCIM
Return a gearbox of CIM motors.- Parameters:
numMotors
- Number of motors in the gearbox.- Returns:
- A gearbox of CIM motors.
-
getVex775Pro
Return a gearbox of 775Pro motors.- Parameters:
numMotors
- Number of motors in the gearbox.- Returns:
- A gearbox of 775Pro motors.
-
getNEO
Return a gearbox of NEO motors.- Parameters:
numMotors
- Number of motors in the gearbox.- Returns:
- A gearbox of NEO motors.
-
getMiniCIM
Return a gearbox of MiniCIM motors.- Parameters:
numMotors
- Number of motors in the gearbox.- Returns:
- A gearbox of MiniCIM motors.
-
getBag
Return a gearbox of Bag motors.- Parameters:
numMotors
- Number of motors in the gearbox.- Returns:
- A gearbox of Bag motors.
-
getAndymarkRs775_125
Return a gearbox of Andymark RS775-125 motors.- Parameters:
numMotors
- Number of motors in the gearbox.- Returns:
- A gearbox of Andymark RS775-125 motors.
-
getBanebotsRs775
Return a gearbox of Banebots RS775 motors.- Parameters:
numMotors
- Number of motors in the gearbox.- Returns:
- A gearbox of Banebots RS775 motors.
-
getAndymark9015
Return a gearbox of Andymark 9015 motors.- Parameters:
numMotors
- Number of motors in the gearbox.- Returns:
- A gearbox of Andymark 9015 motors.
-
getBanebotsRs550
Return a gearbox of Banebots RS 550 motors.- Parameters:
numMotors
- Number of motors in the gearbox.- Returns:
- A gearbox of Banebots RS 550 motors.
-
getNeo550
Return a gearbox of NEO 550 motors.- Parameters:
numMotors
- Number of motors in the gearbox.- Returns:
- A gearbox of NEO 550 motors.
-
getFalcon500
Return a gearbox of Falcon 500 motors.- Parameters:
numMotors
- Number of motors in the gearbox.- Returns:
- A gearbox of Falcon 500 motors.
-
getRomiBuiltIn
Return a gearbox of Romi/TI_RSLK MAX motors.- Parameters:
numMotors
- Number of motors in the gearbox.- Returns:
- A gearbox of Romi/TI_RSLK MAX motors.
-