Template
Chargement...
Recherche...
Aucune correspondance
Fonctions membres publiques | Fonctions membres publiques statiques | Liste de tous les membres
Référence de la classe MotorController

Class for controlling a motor using an Arduino and a PID controller. Plus de détails...

#include <MotorController.h>

Fonctions membres publiques

 MotorController (ArduinoX *arduinoX, PidLayer layer, int motorID, int encoderID, double gearBoxRatio, double encoderTickPerTurn, double convertionRatio)
 Constructor with all parameters. Plus de détails...
 
 MotorController (ArduinoX *arduinoX, PidLayer layer, int motorID, int encoderID, double gearBoxRatio, double encoderTickPerTurn)
 Constructor without conversion ratio. Plus de détails...
 
 MotorController (ArduinoX *arduinoX, PidLayer layer, int motorID, int encoderID, double encoderTickPerTurn)
 Constructor with default gearbox ratio. Plus de détails...
 
 MotorController (ArduinoX *arduinoX, PidLayer layer, int motorID, int encoderID)
 Constructor with default gearbox ratio and encoder ticks per turn. Plus de détails...
 
 MotorController (ArduinoX *arduinoX, int motorID, int encoderID, double gearBoxRatio, double encoderTickPerTurn, double convertionRatio)
 Constructor with all parameters except layer. Plus de détails...
 
 MotorController (ArduinoX *arduinoX, int motorID, int encoderID, double gearBoxRatio, double encoderTickPerTurn)
 Constructor without conversion ratio and layer. Plus de détails...
 
 MotorController (ArduinoX *arduinoX, int motorID, int encoderID, double encoderTickPerTurn)
 Constructor with default gearbox ratio and without layer. Plus de détails...
 
 MotorController (ArduinoX *arduinoX, int motorID, int encoderID)
 Constructor with default gearbox ratio, encoder ticks per turn, and without layer. Plus de détails...
 
void setMotorID (int motorID)
 Set the motor ID. Plus de détails...
 
int getMotorID ()
 Get the motor ID. Plus de détails...
 
void setEncoderID (int encoderID)
 Set the encoder ID. Plus de détails...
 
int getEncoderID ()
 Get the encoder ID. Plus de détails...
 
void setLayer (PidLayer layer)
 Set the PID layer. Plus de détails...
 
PidLayer getLayer ()
 Get the PID layer. Plus de détails...
 
void setGearBoxRatio (double gearBoxRatio)
 Set the gearbox ratio. Plus de détails...
 
double getGearBoxRatio ()
 Get the gearbox ratio. Plus de détails...
 
void setEncoderTickPerTurn (double encoderTickPerTurn)
 Set the encoder ticks per turn. Plus de détails...
 
double getEncoderTickPerTurn ()
 Get the encoder ticks per turn. Plus de détails...
 
void setConversionRatio (double convertionRatio)
 Set the conversion ratio. Plus de détails...
 
double getConversionRatio ()
 Get the conversion ratio. Plus de détails...
 
double measurementFunction ()
 Measurement function for the motor. Plus de détails...
 
void commandFunction (double command)
 Command function for the motor. Plus de détails...
 

Fonctions membres publiques statiques

static double wheelRatio (double diameter)
 Calculate the wheel ratio based on diameter. Plus de détails...
 
static double degreesRatio ()
 Calculate the degrees ratio. Plus de détails...
 
static double radiansRatio ()
 Calculate the radians ratio. Plus de détails...
 
static double turnRatio ()
 Calculate the turn ratio. Plus de détails...
 

Description détaillée

Class for controlling a motor using an Arduino and a PID controller.

Documentation des constructeurs et destructeur

◆ MotorController() [1/8]

MotorController::MotorController ( ArduinoX *  arduinoX,
PidLayer  layer,
int  motorID,
int  encoderID,
double  gearBoxRatio,
double  encoderTickPerTurn,
double  convertionRatio 
)

Constructor with all parameters.

Paramètres
arduinoXPointer to ArduinoX instance.
layerPID layer.
motorIDID of the motor.
encoderIDID of the encoder.
gearBoxRatioGearbox ratio.
encoderTickPerTurnEncoder ticks per turn.
convertionRatioConversion ratio.

◆ MotorController() [2/8]

MotorController::MotorController ( ArduinoX *  arduinoX,
PidLayer  layer,
int  motorID,
int  encoderID,
double  gearBoxRatio,
double  encoderTickPerTurn 
)

Constructor without conversion ratio.

Paramètres
arduinoXPointer to ArduinoX instance.
layerPID layer.
motorIDID of the motor.
encoderIDID of the encoder.
gearBoxRatioGearbox ratio.
encoderTickPerTurnEncoder ticks per turn.

◆ MotorController() [3/8]

MotorController::MotorController ( ArduinoX *  arduinoX,
PidLayer  layer,
int  motorID,
int  encoderID,
double  encoderTickPerTurn 
)

Constructor with default gearbox ratio.

Paramètres
arduinoXPointer to ArduinoX instance.
layerPID layer.
motorIDID of the motor.
encoderIDID of the encoder.
encoderTickPerTurnEncoder ticks per turn.

◆ MotorController() [4/8]

MotorController::MotorController ( ArduinoX *  arduinoX,
PidLayer  layer,
int  motorID,
int  encoderID 
)

Constructor with default gearbox ratio and encoder ticks per turn.

Paramètres
arduinoXPointer to ArduinoX instance.
layerPID layer.
motorIDID of the motor.
encoderIDID of the encoder.

◆ MotorController() [5/8]

MotorController::MotorController ( ArduinoX *  arduinoX,
int  motorID,
int  encoderID,
double  gearBoxRatio,
double  encoderTickPerTurn,
double  convertionRatio 
)

Constructor with all parameters except layer.

Paramètres
arduinoXPointer to ArduinoX instance.
motorIDID of the motor.
encoderIDID of the encoder.
gearBoxRatioGearbox ratio.
encoderTickPerTurnEncoder ticks per turn.
convertionRatioConversion ratio.

◆ MotorController() [6/8]

MotorController::MotorController ( ArduinoX *  arduinoX,
int  motorID,
int  encoderID,
double  gearBoxRatio,
double  encoderTickPerTurn 
)

Constructor without conversion ratio and layer.

Paramètres
arduinoXPointer to ArduinoX instance.
motorIDID of the motor.
encoderIDID of the encoder.
gearBoxRatioGearbox ratio.
encoderTickPerTurnEncoder ticks per turn.

◆ MotorController() [7/8]

MotorController::MotorController ( ArduinoX *  arduinoX,
int  motorID,
int  encoderID,
double  encoderTickPerTurn 
)

Constructor with default gearbox ratio and without layer.

Paramètres
arduinoXPointer to ArduinoX instance.
motorIDID of the motor.
encoderIDID of the encoder.
encoderTickPerTurnEncoder ticks per turn.

◆ MotorController() [8/8]

MotorController::MotorController ( ArduinoX *  arduinoX,
int  motorID,
int  encoderID 
)

Constructor with default gearbox ratio, encoder ticks per turn, and without layer.

Paramètres
arduinoXPointer to ArduinoX instance.
motorIDID of the motor.
encoderIDID of the encoder.

Documentation des fonctions membres

◆ commandFunction()

void MotorController::commandFunction ( double  command)

Command function for the motor.

Paramètres
commandCommand value.

This function sets the motor PWM value based on the given command, constrained between -1.0 and 1.0, after adjusting with the last conversion stage.

◆ degreesRatio()

double MotorController::degreesRatio ( )
static

Calculate the degrees ratio.

Renvoie
Degrees ratio.

◆ getConversionRatio()

double MotorController::getConversionRatio ( )

Get the conversion ratio.

Renvoie
Conversion ratio.

◆ getEncoderID()

int MotorController::getEncoderID ( )

Get the encoder ID.

Renvoie
ID of the encoder.

◆ getEncoderTickPerTurn()

double MotorController::getEncoderTickPerTurn ( )

Get the encoder ticks per turn.

Renvoie
Encoder ticks per turn.

◆ getGearBoxRatio()

double MotorController::getGearBoxRatio ( )

Get the gearbox ratio.

Renvoie
Gearbox ratio.

◆ getLayer()

PidLayer MotorController::getLayer ( )

Get the PID layer.

Renvoie
PID layer.

◆ getMotorID()

int MotorController::getMotorID ( )

Get the motor ID.

Renvoie
ID of the motor.

◆ measurementFunction()

double MotorController::measurementFunction ( )

Measurement function for the motor.

Renvoie
Measurement value.

This function reads the encoder value and converts it using the first conversion stage to get the measured value.

◆ radiansRatio()

double MotorController::radiansRatio ( )
static

Calculate the radians ratio.

Renvoie
Radians ratio.

◆ setConversionRatio()

void MotorController::setConversionRatio ( double  convertionRatio)

Set the conversion ratio.

Paramètres
convertionRatioConversion ratio.

◆ setEncoderID()

void MotorController::setEncoderID ( int  encoderID)

Set the encoder ID.

Paramètres
encoderIDID of the encoder.

◆ setEncoderTickPerTurn()

void MotorController::setEncoderTickPerTurn ( double  encoderTickPerTurn)

Set the encoder ticks per turn.

Paramètres
encoderTickPerTurnEncoder ticks per turn.

◆ setGearBoxRatio()

void MotorController::setGearBoxRatio ( double  gearBoxRatio)

Set the gearbox ratio.

Paramètres
gearBoxRatioGearbox ratio.

◆ setLayer()

void MotorController::setLayer ( PidLayer  layer)

Set the PID layer.

Paramètres
layerPID layer.

◆ setMotorID()

void MotorController::setMotorID ( int  motorID)

Set the motor ID.

Paramètres
motorIDID of the motor.

◆ turnRatio()

double MotorController::turnRatio ( )
static

Calculate the turn ratio.

Renvoie
Turn ratio.

◆ wheelRatio()

double MotorController::wheelRatio ( double  diameter)
static

Calculate the wheel ratio based on diameter.

Paramètres
diameterDiameter of the wheel.
Renvoie
Wheel ratio.

La documentation de cette classe a été générée à partir du fichier suivant :