Contrôleur de moteur 55#

Introduction#

Le contrôleur de moteur VEX 55 (classe motor55 permet de piloter un contrôleur de moteur VEX 55 connecté au module V5 Brain. Ce contrôleur de moteur 55 est un modèle ancien conçu pour les moteurs CC à deux fils.

Le contrôleur de moteur VEX 55.

Constructeurs de classes#

1 — Crée un objet motor55 sur le port intelligent spécifié.

motor55(
  int32_t index );

2 — Crée un objet motor55 sur le port intelligent spécifié et change le sens de rotation positif.

motor55(
  int32_t index,
  bool    reverse );

3 — Crée un objet motor55 sur le port intelligent spécifié, définit la tension d’entraînement maximale et change le sens de rotation positif.

motor55(
  int32_t index,
  double  maxv,
  bool    reverse );

Destructeur de classe#

Détruit l’objet motor55 et libère les ressources associées.

~motor55();

Paramètres#

Paramètre

Taper

Description

index

int32_t

Le port intelligent auquel le contrôleur de moteur 55 est connecté, écrit comme PORTx, où x est le numéro de port (par exemple, PORT1).

reverse

bool

Détermine si le sens de rotation du moteur est inversé :

  • true — Le sens de rotation positif du moteur est inversé.
  • false — Le sens de rotation positif du moteur reste normal.

maxv

double

La tension maximale que le contrôleur de moteur 55 peut appliquer au moteur.

Exemple#

// Create the motor55 instance in Smart Port 1
motor55 Motor1 = motor55(PORT1);

Fonctions des membres#

La classe motor55 comprend les fonctions membres suivantes :

  • spin — Fait tourner le moteur dans une direction spécifiée.

  • stop — Arrête le moteur.

  • setVelocity — Indique au moteur CC à quelle vitesse tourner.

  • setStopping — Définit le comportement d’arrêt (roue libre ou freinage).

  • setReversed — Définit si le sens de rotation du moteur est inversé.

  • current — Renvoie le courant électrique du moteur.

  • voltage — Renvoie la tension électrique du moteur.

  • temperature — Renvoie la température du moteur.

  • getMotorType — Renvoie le type de moteur/contrôleur détecté.

  • installed — Indique si le contrôleur de moteur 55 est détecté sur le port intelligent spécifié.

Avant d’appeler une quelconque fonction membre de motor55 , une instance doit être créée, comme indiqué ci-dessous :

/* This constructor is required when using VS Code.
Motor Controller 55 configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create the motor55 instance in Smart Port 1
motor55 MC55_1 = motor55(PORT1);

spin#

Fait tourner le moteur indéfiniment dans la direction spécifiée.

Fonctions disponibles

1 — Rotations utilisant la vitesse actuellement configurée.

void spin(
  directionType dir );

2 — Tourne à la tension spécifiée.

void spin(
  directionType dir,
  double        voltage,
  voltageUnits  units );

Paramètres

Paramètre

Taper

Description

dir

directionType

Sens de rotation du moteur : forward ou reverse.

voltage

double

La valeur de la tension appliquée au moteur. Une valeur négative fait tourner le moteur dans le sens inverse de celui indiqué dir.

units

voltageUnits

Unité de tension :

  • volt — volts
  • voltageUnits::mV — millivolts

Valeurs de retour

Cette fonction ne renvoie aucune valeur.

Notes

  • Cette fonction ne nécessite pas d’attente et le programme continue immédiatement après l’appel.

  • Le moteur continuera à tourner jusqu’à ce que stop soit appelé ou qu’un autre spin soit utilisé.

stop#

Empêche le moteur de tourner en utilisant le mode de freinage actuellement configuré.

Fonctions disponibles

void stop();

Paramètres

Cette fonction ne prend aucun paramètre.

Valeurs de retour

Cette fonction ne renvoie aucune valeur.

Notes

  • Arrête le moteur en utilisant le mode d’arrêt actuellement configuré défini par setStopping.

setVelocity#

Indique à un moteur à courant continu sa vitesse de rotation. Un pourcentage élevé accélère la rotation du moteur, tandis qu’un pourcentage faible la ralentit.

Chaque projet commence par défaut avec chaque moteur CC connecté tournant à 50 % de sa vitesse maximale.

Fonctions disponibles

void setVelocity(
    double       velocity,
    percentUnits units = percent );

Paramètres

Paramètre

Taper

Description

velocity

double

La vitesse de rotation de 0 % à 100 % lors de l’utilisation percent.

units

percentUnits

The velocity unit:

  • percent / pct (default) — percent

Valeurs de retour

Cette fonction ne renvoie aucune valeur.

Notes

  • Tout appel ultérieur à spin sans tension spécifiée utilisera cette valeur.

setStopping#

Définit le comportement d’un moteur lorsqu’il s’arrête.

Fonctions disponibles

void setStopping(
    brakeType mode );

Paramètres

Paramètre

Taper

Description

mode

brakeType

Le mode d’arrêt appliqué lorsque stop est appelé :

  • coast — Le moteur s’arrête en roue libre
  • brake — Le moteur s’arrête rapidement par freinage

Valeurs de retour

Cette fonction ne renvoie aucune valeur.

Notes

  • Tout appel ultérieur à stop utilisera ce mode d’arrêt.

  • Le contrôleur de moteur 55 prend uniquement en charge les fonctions coast (freinage) et brake . La fonction hold n’est pas prise en charge.

setReversed#

Permet de déterminer si le sens de rotation du moteur est inversé.

Fonctions disponibles

void setReversed(
    bool value );

Paramètres

Paramètre

Taper

Description

value

bool

Inversion du sens de rotation du moteur :

  • true — Inverse le sens de rotation du moteur.
  • false — Rétablit le sens de rotation par défaut du moteur.

Valeurs de retour

Cette fonction ne renvoie aucune valeur.

Notes

  • Appeler setReversed revient à modifier le paramètre reverse dans le constructeur.

current#

La fonction current renvoie l’intensité du courant électrique consommé par le moteur à courant continu. L’intensité correspond à la quantité d’électricité qui traverse le moteur. Exprimée en ampères, elle est comprise entre 0,0 et 1,2 A.

Une intensité plus élevée signifie que le moteur à courant continu consomme davantage de courant électrique. Cela peut se produire lorsque le moteur soulève une charge lourde, exerce une pression sur un objet ou tente de se dégager après un blocage.

Cela permet de vérifier si le moteur à courant continu peine lors d’un mouvement. Si le courant reste élevé, le moteur risque de chauffer ou de consommer moins d’énergie.

Available Functions

1 — Renvoie le courant électrique du moteur CC en ampères.

double current(
  currentUnits units = amp );

2 — Renvoie le courant électrique du moteur CC en pourcentage du courant nominal maximal.

double current(
  percentUnits units );

Parameters

Paramètre

Taper

Description

units

currentUnits

Unité de mesure du courant :amp (par défaut) — ampères

units

percentUnits

Represents current as a percentage of the motor’s maximum rated current:percent / pct — percent

Return Values

Renvoie un double (double) représentant la quantité de courant électrique utilisée par le moteur CC dans les unités spécifiées.

voltage#

Renvoie la tension électrique fournie au moteur.

Available Functions
double voltage(
  voltageUnits units = volt );

Paramètres

Paramètre

Taper

Description

units

voltageUnits

Unité de tension :

  • volt (par défaut)
  • voltageUnits::mV — millivolts

Valeurs de retour

Renvoie un double représentant la tension électrique du moteur dans les unités spécifiées.

temperature#

La valeur temperature renvoie la température du moteur CC.

La température du moteur indique son niveau de chaleur. Plus elle est élevée, plus le moteur chauffe pendant son fonctionnement. Pour un fonctionnement optimal, la température du moteur doit rester inférieure à 55 °C.

Si le moteur à courant continu surchauffe, il réduira son courant maximal pour se protéger. À 70 °C, le moteur s’arrêtera jusqu’à son refroidissement.

Cela peut servir à vérifier si le moteur à courant continu chauffe excessivement lors de mouvements répétés, de longs fonctionnements ou lorsqu’il exerce une pression contre un objet.

Available Functions

1 — Renvoie la température du moteur CC en pourcentage de la température de fonctionnement maximale.

double temperature(
  percentUnits units = percent );

2 — Renvoie la température du moteur CC en unités de température physique.

double temperature(
  temperatureUnits units );

Paramètres

Paramètre

Taper

Description

units

percentUnits

Unité utilisée pour représenter la température du moteur à courant continu en pourcentage :

  • percent  / pct (par défaut) — %

units

temperatureUnits

L’unité utilisée pour représenter la température d’un moteur à courant continu en degrés :

  • celsius — degrés Celsius
  • fahrenheit — degrés Fahrenheit

Valeurs de retour

Renvoie un double représentant la température du moteur CC dans les unités spécifiées.

Notes

  • La plage de température de fonctionnement du moteur est d’environ 20°C (68°F) à 70°C (158°F).

getMotorType#

Renvoie le type de moteur/contrôleur détecté.

Fonctions disponibles

int32_t getMotorType();

Paramètres

Cette fonction ne prend aucun paramètre.

Valeurs de retour

Renvoie un int32_t int32_t indiquant le type de moteur/contrôleur détecté :

  • 0 — 11W Motor
  • 1 — 5.5W Motor
  • 2 — Motor Controller 55

installed#

Indique si le contrôleur de moteur 55 est connecté au cerveau V5.

Available Functions
bool installed();

Paramètres

Cette fonction ne prend aucun paramètre.

Valeurs de retour

Renvoie un booléen bool indiquant si le contrôleur de moteur 55 est connecté.

  • true — The Motor Controller 55 is connected.
  • false — The Motor Controller 55 is not connected.