|
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. |