Template
|
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... | |
Class for controlling a motor using an Arduino and a PID controller.
MotorController::MotorController | ( | ArduinoX * | arduinoX, |
PidLayer | layer, | ||
int | motorID, | ||
int | encoderID, | ||
double | gearBoxRatio, | ||
double | encoderTickPerTurn, | ||
double | convertionRatio | ||
) |
Constructor with all parameters.
arduinoX | Pointer to ArduinoX instance. |
layer | PID layer. |
motorID | ID of the motor. |
encoderID | ID of the encoder. |
gearBoxRatio | Gearbox ratio. |
encoderTickPerTurn | Encoder ticks per turn. |
convertionRatio | Conversion ratio. |
MotorController::MotorController | ( | ArduinoX * | arduinoX, |
PidLayer | layer, | ||
int | motorID, | ||
int | encoderID, | ||
double | gearBoxRatio, | ||
double | encoderTickPerTurn | ||
) |
Constructor without conversion ratio.
arduinoX | Pointer to ArduinoX instance. |
layer | PID layer. |
motorID | ID of the motor. |
encoderID | ID of the encoder. |
gearBoxRatio | Gearbox ratio. |
encoderTickPerTurn | Encoder ticks per turn. |
MotorController::MotorController | ( | ArduinoX * | arduinoX, |
PidLayer | layer, | ||
int | motorID, | ||
int | encoderID, | ||
double | encoderTickPerTurn | ||
) |
Constructor with default gearbox ratio.
arduinoX | Pointer to ArduinoX instance. |
layer | PID layer. |
motorID | ID of the motor. |
encoderID | ID of the encoder. |
encoderTickPerTurn | Encoder ticks per turn. |
MotorController::MotorController | ( | ArduinoX * | arduinoX, |
PidLayer | layer, | ||
int | motorID, | ||
int | encoderID | ||
) |
Constructor with default gearbox ratio and encoder ticks per turn.
arduinoX | Pointer to ArduinoX instance. |
layer | PID layer. |
motorID | ID of the motor. |
encoderID | ID of the encoder. |
MotorController::MotorController | ( | ArduinoX * | arduinoX, |
int | motorID, | ||
int | encoderID, | ||
double | gearBoxRatio, | ||
double | encoderTickPerTurn, | ||
double | convertionRatio | ||
) |
Constructor with all parameters except layer.
arduinoX | Pointer to ArduinoX instance. |
motorID | ID of the motor. |
encoderID | ID of the encoder. |
gearBoxRatio | Gearbox ratio. |
encoderTickPerTurn | Encoder ticks per turn. |
convertionRatio | Conversion ratio. |
MotorController::MotorController | ( | ArduinoX * | arduinoX, |
int | motorID, | ||
int | encoderID, | ||
double | gearBoxRatio, | ||
double | encoderTickPerTurn | ||
) |
Constructor without conversion ratio and layer.
arduinoX | Pointer to ArduinoX instance. |
motorID | ID of the motor. |
encoderID | ID of the encoder. |
gearBoxRatio | Gearbox ratio. |
encoderTickPerTurn | Encoder ticks per turn. |
MotorController::MotorController | ( | ArduinoX * | arduinoX, |
int | motorID, | ||
int | encoderID, | ||
double | encoderTickPerTurn | ||
) |
Constructor with default gearbox ratio and without layer.
arduinoX | Pointer to ArduinoX instance. |
motorID | ID of the motor. |
encoderID | ID of the encoder. |
encoderTickPerTurn | Encoder ticks per turn. |
MotorController::MotorController | ( | ArduinoX * | arduinoX, |
int | motorID, | ||
int | encoderID | ||
) |
Constructor with default gearbox ratio, encoder ticks per turn, and without layer.
arduinoX | Pointer to ArduinoX instance. |
motorID | ID of the motor. |
encoderID | ID of the encoder. |
void MotorController::commandFunction | ( | double | command | ) |
|
static |
Calculate the degrees ratio.
double MotorController::getConversionRatio | ( | ) |
Get the conversion ratio.
int MotorController::getEncoderID | ( | ) |
Get the encoder ID.
double MotorController::getEncoderTickPerTurn | ( | ) |
Get the encoder ticks per turn.
double MotorController::getGearBoxRatio | ( | ) |
Get the gearbox ratio.
PidLayer MotorController::getLayer | ( | ) |
Get the PID layer.
int MotorController::getMotorID | ( | ) |
Get the motor ID.
double MotorController::measurementFunction | ( | ) |
Measurement function for the motor.
This function reads the encoder value and converts it using the first conversion stage to get the measured value.
|
static |
Calculate the radians ratio.
void MotorController::setConversionRatio | ( | double | convertionRatio | ) |
Set the conversion ratio.
convertionRatio | Conversion ratio. |
void MotorController::setEncoderID | ( | int | encoderID | ) |
Set the encoder ID.
encoderID | ID of the encoder. |
void MotorController::setEncoderTickPerTurn | ( | double | encoderTickPerTurn | ) |
Set the encoder ticks per turn.
encoderTickPerTurn | Encoder ticks per turn. |
void MotorController::setGearBoxRatio | ( | double | gearBoxRatio | ) |
Set the gearbox ratio.
gearBoxRatio | Gearbox ratio. |
void MotorController::setLayer | ( | PidLayer | layer | ) |
Set the PID layer.
layer | PID layer. |
void MotorController::setMotorID | ( | int | motorID | ) |
Set the motor ID.
motorID | ID of the motor. |
|
static |
Calculate the turn ratio.
|
static |
Calculate the wheel ratio based on diameter.
diameter | Diameter of the wheel. |