Moteur et groupe moteur#
Introduction#
Motors and motor groups control how parts of a robot move. A motor object controls one configured IQ Smart Motor, while a motor_group object controls multiple configured IQ Smart Motors together so they move in tandem. Motors and motor groups can be used to raise an arm, turn a claw, spin a wheel, or move another part of a build. Two motors can work together as a drivetrain to move and turn the whole robot.
Chaque moteur ou groupe de moteurs est configuré dans la fenêtre « Périphériques ». Selon la version, les noms des moteurs et des groupes de moteurs peuvent varier. Cette page utilise Motor1 et « MotorGroup1 comme exemples. Remplacez-les par les noms que vous avez configurés.
Par défaut, les positions forward avant) font tourner le moteur dans le sens antihoraire, et reverse (arrière) le font tourner dans le sens horaire. Si le sens de rotation d’un moteur est inversé, ces directions seront inversées.
Moteur#
Class Constructors#
1 — Crée un objet moteur
motorpour le moteur intelligent IQ connecté au port intelligent spécifié. Le moteur utilise automatiquement le réglage de vitesse internegearSetting.motor( int32_t index );
2 — Creates a
motorobject on the specified Smart Port and optionally reverses its direction. The motor automatically uses the detected internalgearSetting.motor( int32_t index, bool reverse );
3 — Crée un objet moteur
motorsur le port intelligent spécifié avec le réglage d’engrenagegearSetting.motor( int32_t index, gearSetting gears );
4 — Crée un objet moteur
motorsur le port intelligent spécifié avec le réglage d’engrenagegearSettinget une direction inversée optionnelle.motor( int32_t index, gearSetting gears, bool reverse );
Class Destructor#
Détruit l’objet moteur motor et libère les ressources associées.
~motor();
Parameters#
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Le port intelligent auquel le moteur est connecté, écrit sous la forme |
|
|
Indique si le sens de rotation du moteur est inversé :
|
|
|
Spécifie le rapport de la cartouche d’engrenage interne.
|
Notes#
Le réglage de la vitesse doit correspondre à la cartouche physique installée dans le moteur.
Example#
// Create the motor instance in Smart Port 1
motor LeftMotor = motor(PORT1);
// Creates the motor instance with different settings
motor RightMotor = motor(
PORT2, // Smart Port 2
ratio2_1, // Gear ratio is 2:1
true);
Groupe automobile#
Class Constructors#
motor_group( motor &m1, Args&... m2 );
Class Destructor#
Détruit l’objet motor_group et libère les ressources associées.
~motor_group();
Parameters#
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Le premier moteur ajouté au groupe. |
|
|
Des moteurs supplémentaires ont été ajoutés au groupe. Un groupe de moteurs ne peut comporter plus que quatre moteurs. |
Example#
// Create individual motor instances
motor LeftMotor = motor(PORT1);
motor RightMotor = motor(PORT2);
// Create a motor group with both motors
motor_group DriveMotors = motor_group(LeftMotor, RightMotor);
Fonctions des membres#
Il existe de nombreuses façons de programmer les moteurs et les groupes de moteurs. Vous trouverez ci-dessous la liste de toutes les fonctions membres des moteurs motor et motor_group :
Actions — Arrêter et faire tourner les moteurs et les groupes de moteurs.
spin— Fait tourner un moteur ou un groupe de moteurs en avant ou en arrière indéfiniment.spinFor— Fait tourner un moteur ou un groupe de moteurs sur une distance ou pendant une durée spécifique.spinToPosition— Fait tourner un moteur ou un groupe de moteurs vers une position spécifique.stop— Empêche un moteur ou un groupe de moteurs de tourner.
Modificateurs — Ajustez les paramètres du moteur et du groupe de moteurs.
setVelocity— Indique à un moteur ou à un groupe de moteurs à quelle vitesse tourner.setMaxTorque— Définit la force avec laquelle un moteur ou un groupe de moteurs est autorisé à pousser pendant la rotation.setPosition— Modifie la position actuelle du moteur ou du groupe de moteurs à une nouvelle valeur.setStopping— Définit comment un moteur ou un groupe de moteurs s’arrêtera de bouger : en freinant, en roue libre ou en maintenant.setTimeout— Définit le temps pendant lequel un moteur ou un groupe de moteurs essaiera de terminer un mouvement.
Getters — Vérifiez l’état du moteur et du groupe de moteurs.
isDone— Renvoie si le moteur ou le groupe de moteurs a fini de bouger, sous forme de valeur booléenne.isSpinning— Renvoie si le moteur ou le groupe de moteurs tourne, sous forme de valeur booléenne.position— Renvoie la position actuelle du moteur ou du groupe de moteurs.velocity— Renvoie la vitesse de rotation du moteur ou du groupe de moteurs.current— Renvoie la quantité de courant électrique utilisée par le moteur ou le groupe de moteurs.power— Renvoie la puissance utilisée par le moteur ou le groupe de moteurs.torque— Renvoie la quantité de couple utilisée par le moteur ou le groupe de moteurs.efficiency— Renvoie l’efficacité avec laquelle le moteur ou le groupe de moteurs utilise la puissance.temperature— Renvoie la température du moteur ou du groupe de moteurs.voltage— Renvoie la tension électrique fournie au moteur ou au groupe de moteurs.direction— Renvoie le sens de rotation du moteur ou du groupe de moteurs.installed— Renvoie si le moteur ou le groupe de moteurs est connecté au cerveau.count— Renvoie le nombre de moteurs dans un groupe de moteurs.
Avant d’appeler les fonctions membres de motor ou motor_group , une instance doit être créée, comme indiqué ci-dessous :
/* This constructor is required when using VS Code.
Motor and Motor Group configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */
// Create the motor instance in Smart Port 1
motor Motor1 = motor(PORT1);
Actes#
spin#
La commande spin fait tourner un moteur ou un groupe de moteurs en marche avant ou arrière en continu. Le moteur ou le groupe de moteurs continuera de tourner jusqu’à ce qu’une autre action lui soit donnée, comme un changement de sens de rotation ou un arrêt.
1 — Fait tourner le moteur ou le groupe de moteurs en utilisant la vitesse de moteur actuellement configurée.
void spin( directionType dir );
2 — Fait tourner le moteur ou le groupe de moteurs à la vitesse spécifiée.
void spin( directionType dir, double velocity, velocityUnits units );
Parameters3 — Fait tourner le moteur ou le groupe de moteurs en utilisant la tension spécifiée.
void spin( directionType dir, double voltage, voltageUnits units );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Sens de rotation du moteur ou du groupe de moteurs : |
|
|
La vitesse de rotation de 0 % à 100 % lors de l’utilisation |
|
|
Unité de vitesse :
|
|
|
La tension de rotation. Une valeur négative fait tourner le sens inverse du sens donné |
|
|
Unité de tension :
|
Cette fonction ne renvoie aucune valeur.
NotesCette fonction ne nécessite pas d’attente et le projet continuera de s’exécuter immédiatement après l’appel.
Le moteur ou le groupe de moteurs continuera à tourner jusqu’à ce que
stopsoit appelé ou qu’une autre fonction de mouvement soit exécutée.Les fonctions telles que
isDoneetisSpinningne sont pas applicables àspin, car il n’utilise pas de mouvement basé sur une cible (n’a pas de paramètre de rotationrotationoutime).
// Spin forward, then stop
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop();
spinFor#
La fonction spinFor fait tourner un moteur ou un groupe de moteurs sur une distance ou pendant une durée précise. La rotation est définie par rapport à la position actuelle du moteur ou du groupe de moteurs. Par défaut, le programme attend la fin de la rotation avant d’exécuter la ligne de code suivante.
1 — Tourne sur une distance spécifique à la vitesse fournie dans l’appel de fonction.
bool spinFor( double rotation, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
2 — Accepte un paramètre de direction et tourne sur une distance spécifique à la vitesse fournie dans l’appel de fonction.
bool spinFor( directionType dir, double rotation, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
3 — Tourne sur une distance spécifique en utilisant la vitesse du moteur actuellement configurée.
bool spinFor( double rotation, rotationUnits units, bool waitForCompletion = true );
4 — Accepte un paramètre de direction et tourne sur une distance spécifique en utilisant la vitesse du moteur actuellement configurée.
bool spinFor( directionType dir, double rotation, rotationUnits units, bool waitForCompletion = true );
5 — Tourne pendant une durée spécifique à la vitesse fournie dans l’appel de fonction.
bool spinFor( double time, timeUnits units, double velocity, velocityUnits units_v );
6 — Accepte un paramètre de direction et tourne pendant une durée spécifique à la vitesse fournie dans l’appel de fonction.
bool spinFor( directionType dir, double time, timeUnits units, double velocity, velocityUnits units_v );
7 — Tourne pendant une durée spécifique en utilisant la vitesse du moteur actuellement configurée.
bool spinFor( double time, timeUnits units );
Parameters8 — Accepte un paramètre de direction et tourne pendant une durée spécifique en utilisant la vitesse du moteur actuellement configurée.
bool spinFor( directionType dir, double time, timeUnits units );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Sens de rotation du moteur ou du groupe de moteurs : |
|
|
La distance parcourue par le moteur ou le groupe de moteurs. |
|
|
Unité de rotation :
|
|
|
La durée de rotation du moteur ou du groupe de moteurs. |
|
|
The unit of time:
|
|
|
La vitesse de rotation de 0 % à 100 % lors de l’utilisation |
|
|
The unit used to represent
|
|
|
|
Renvoie une valeur booléenne indiquant si le moteur ou le groupe de moteurs a atteint la valeur cible.
true— The motor or motor group reached the target value.false— The motor or motor group was not able to reach the target value orwaitForCompletionis set tofalse.
L’exécution d’une autre fonction de mouvement de moteur (telle que
spinoustop) pendant quespinForest en cours interrompra le mouvement en cours.Parce que
spinForest basé sur la cible (utilise un paramètre de rotationrotationoutime), les fonctions telles queisDoneetisSpinningfonctionnent avecspinFor.
// Spin 1 turn fast, then 1 turn slow
Motor1.spinFor(forward, 1, turns, true);
Motor1.spinFor(reverse, 1, turns, 20, velocityUnits::pct, true);
spinToPosition#
spinToPosition fait tourner un moteur ou un groupe de moteurs vers une position spécifique.
La position d’un moteur ou d’un groupe de moteurs correspond à sa rotation, mesurée en degrés degrees ou turns). Un tour équivaut à 360 degrés. Au début d’un projet, la position du moteur ou du groupe de moteurs est initialisée à 0 degré. Elle peut également être définie à l’aide de la fonction setPosition.
Les valeurs de position sont absolues. Cela signifie que le sens de rotation dépend de la position actuelle du moteur ou du groupe de moteurs.
Par exemple, si le moteur ou le groupe de moteurs démarre à 0 degré et atteint une position de 720 degrés, il effectuera deux tours dans le sens horaire. S’il atteint ensuite une position de 360 degrés, il effectuera un tour dans le sens antihoraire, car 360 est inférieur à 720.
Available Functions1 — Tourne jusqu’à une position spécifique à la vitesse fournie dans l’appel de fonction.
bool spinToPosition( double rotation, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
Parameters2 — Tourne vers une position spécifique en utilisant la vitesse du moteur actuellement configurée.
bool spinToPosition( double rotation, rotationUnits units, bool waitForCompletion = true );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
La valeur de position vers laquelle le moteur ou le groupe de moteurs tournera. |
|
|
Unité de rotation :
|
|
|
La vitesse de rotation de 0 % à 100 % lors de l’utilisation |
|
|
L’unité utilisée pour représenter la vitesse
|
|
|
|
Renvoie une valeur booléenne indiquant si le moteur ou le groupe de moteurs a démarré le mouvement cible demandé.
true— The motor or motor group begins the requested target-based movement.false— The call fails orwaitForCompletionis set tofalse.
L’exécution d’une autre fonction de mouvement de moteur (telle que
spinouspinFor) pendant quespinToPositionest en cours interrompra le mouvement en cours.Parce que
spinToPositionest basé sur la cible (utilise un paramètre de rotationrotation), les fonctions telles queisDoneetisSpinningfonctionnent avecspinToPosition.
// Spin forward, then go to 90°
Motor1.spin(forward);
wait(1, seconds);
Motor1.spinToPosition(90, degrees);
stop#
stop empêche un moteur ou un groupe de moteurs de tourner.
1 — Arrête le moteur ou le groupe de moteurs en utilisant le mode de freinage actuellement configuré.
void stop();
Parameters2 — Arrête le moteur ou le groupe de moteurs en utilisant le mode de freinage fourni dans l’appel de fonction.
void stop( brakeType mode );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Optionnel. Mode d’arrêt du moteur ou du groupe de moteurs :
|
Cette fonction ne renvoie aucune valeur.
NotesL’appel de
stoparrête immédiatement tout mouvement en cours d’un moteur ou d’un groupe de moteurs.Si aucun mode de freinage n’est spécifié, le moteur ou le groupe de moteurs utilise le mode de freinage actuellement configuré.
stopinterrompt tout mouvement actif basé sur une cible (tel quespinForouspinToPosition).
// Spin and coast to a stop
Motor1.setVelocity(100, percent);
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop(coast);
Mutateurs#
setVelocity#
La commande setVelocity indique à un moteur ou à un groupe de moteurs sa vitesse de rotation. Un pourcentage plus élevé augmente la vitesse de rotation, tandis qu’un pourcentage plus faible la diminue.
Chaque projet commence par une vitesse de rotation de 50 % pour chaque moteur ou groupe de moteurs, par défaut.
Remarque : Une vitesse plus élevée fait tourner le moteur ou le groupe de moteurs plus vite, mais la précision peut être moindre. Une vitesse plus faible fait tourner le moteur ou le groupe de moteurs plus lentement, mais la précision peut être meilleure.
Available Functionsvoid setVelocity(
double velocity,
velocityUnits units );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
La vitesse de rotation de 0 % à 100 % lors de l’utilisation |
|
|
The unit used to represent
|
Cette fonction ne renvoie aucune valeur.
NotesToute fonction de mouvement moteur ultérieure (telle que
spin,spinFor, ouspinToPosition) qui ne spécifie pas explicitement une vitesse utilisera cette valeur.
// Try default, then slow, then fast
Motor1.spinFor(forward, 180, degrees);
wait(1, seconds);
Motor1.setVelocity(20, percent);
Motor1.spinFor(reverse, 180, degrees);
wait(1, seconds);
Motor1.setVelocity(100, percent);
Motor1.spinFor(forward, 180, degrees);
setMaxTorque#
Le couple indique la force avec laquelle un moteur ou un groupe de moteurs peut pousser ou tirer pendant sa rotation.
setMaxTorque définit le couple maximal qu’un moteur ou un groupe de moteurs est autorisé à utiliser.
Un pourcentage plus élevé permet au moteur ou au groupe de moteurs de fournir une force plus importante, par exemple pour soulever un objet lourd. Un pourcentage plus faible limite la force que le moteur ou le groupe de moteurs peut fournir. Cela permet de protéger le robot si le moteur ou le groupe de moteurs se bloque ou atteint sa limite de course.
Chaque projet commence avec le couple de chaque moteur ou groupe de moteurs réglé par défaut à 50 %.
Available Functions1 — Définit le couple maximal en pourcentage du couple nominal du moteur ou du groupe de moteurs.
void setMaxTorque( double value, percentUnits units );
2 — Définit le couple maximal en utilisant des unités de couple physiques.
void setMaxTorque( double value, torqueUnits units );
Parameters3 — Définit le couple maximal en limitant le courant du moteur.
void setMaxTorque( double value, currentUnits units );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Le couple maximal que le moteur ou le groupe de moteurs peut utiliser. |
|
|
Spécifie le couple en pourcentage : |
|
|
Spécifie le couple en unités physiques telles que :
|
|
|
Spécifie le couple en limitant le courant moteur :
|
Cette fonction ne renvoie aucune valeur.
NotesLors de l’utilisation
currentUnits, le couple est limité en restreignant la quantité de courant électrique que le moteur ou le groupe de moteurs peut utiliser.
setPosition#
La position d’un moteur ou d’un groupe de moteurs correspond à sa rotation, mesurée en degrés degrees ou turns. Un tour équivaut à 360 degrés. La fonction setPosition modifie la position actuelle du moteur ou du groupe de moteurs en lui attribuant une nouvelle valeur.
Par exemple, si un moteur ou un groupe de moteurs a pivoté de 180 degrés, le fait de le positionner à 0 degré le ramènera à sa position initiale. Le moteur ou le groupe de moteurs pourra ensuite pivoter selon cette nouvelle valeur.
Available Functionsvoid setPosition(
double value,
rotationUnits units );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Valeur de position à définir pour le moteur ou le groupe de moteurs. |
|
|
The position unit:
|
Cette fonction ne renvoie aucune valeur.
NotesAprès avoir appelé
setPosition, les appels suivants àspinToPositionutiliseront la position mise à jour comme référence.
setStopping#
setStopping définit comment un moteur ou un groupe de moteurs s’arrêtera de bouger : par freinage, par roue libre ou par maintien.
void setStopping(
brakeType mode );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Mode d’arrêt du moteur ou du groupe de moteurs :
|
Cette fonction ne renvoie aucune valeur.
NotesTout appel ultérieur à
stopsans mode de freinage spécifié utilisera cette valeur.
setTimeout#
setTimeout définit le délai maximal pendant lequel un moteur ou un groupe de moteurs tente de terminer un mouvement. Si le moteur ou le groupe de moteurs ne parvient pas à terminer dans ce délai, il interrompt ses tentatives et passe à la ligne de code suivante. Cela évite le blocage du moteur ou du groupe de moteurs lors d’un mouvement.
void setTimeout(
int32_t time,
timeUnits units );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Durée pendant laquelle le moteur ou le groupe de moteurs peut tenter d’achever un mouvement. Cette valeur doit être un entier positif. |
|
|
Unité de temps :
|
Valeurs de retour
Cette fonction ne renvoie aucune valeur.
NotesLe délai d’expiration du moteur ou du groupe de moteurs est utilisé pour empêcher que les mouvements qui n’atteignent pas leur position cible n’interrompent l’exécution des autres commandes dans la pile.
Si le moteur ou le groupe de moteurs n’atteint pas sa position cible avant l’expiration du délai, il cessera d’essayer et passera à la ligne de code suivante.
Le délai d’attente s’applique aux fonctions qui ont une valeur cible telles que
spinForetspinToPosition.
// Stop a long move after 1 second
Motor1.setTimeout(1, seconds);
Motor1.spinFor(forward, 2, turns);
Motor1.spinToPosition(0, degrees);
Getters#
isDone#
La fonction isDone renvoie isDone , indiquant si le moteur ou le groupe de moteurs a terminé son mouvement (valeur booléenne). Cette information peut être utilisée pour contrôler le déclenchement d’autres actions en fonction du mouvement du moteur ou du groupe de moteurs.
true— Le moteur ou le groupe de moteurs a terminé son mouvement.false— Le moteur ou le groupe de moteurs est toujours en mouvement.
Cette fonction fonctionne avec les fonctions Motion suivantes qui ont le paramètre waitForCompletion : spinFor et spinToPosition.
bool isDone();
Cette fonction n’accepte aucun paramètre.
Return ValuesRenvoie, sous forme de valeur booléenne, si le moteur ou le groupe de moteurs a terminé son mouvement.
true— The motor or motor group is finished moving.false— The motor or motor group is still moving.
isDonefonctionne avec les fonctions Motion suivantes qui ont le paramètrewaitForCompletion:spinForetspinToPosition.
// Spin forward until the motor is done spinning
Motor1.spinFor(forward, 200, degrees, false);
while (true) {
if (Motor1.isDone()) {
Drivetrain.stop();
} else {
Drivetrain.drive(forward);
}
}
isSpinning#
La fonction isSpinning (valeur booléenne isSpinning indique si le moteur ou le groupe de moteurs est en rotation. Cette information peut être utilisée pour synchroniser d’autres actions en fonction du mouvement du moteur ou du groupe de moteurs.
true— Le moteur ou le groupe de moteurs tourne.false— Le moteur ou le groupe moteur ne tourne pas.
Cette fonction fonctionne avec les fonctions de mouvement Motion telles que spin, spinFor et spinToPosition.
bool isSpinning();
Cette fonction n’accepte aucun paramètre.
Return ValuesRenvoie, sous forme de valeur booléenne, si le moteur ou le groupe de moteurs est en rotation.
true— The motor or motor group is spinning.false— The motor or motor group is not spinning.
isSpinningfonctionne avec des fonctions de mouvement Motion telles quespin,spinForetspinToPosition.
// Spin forward until the motor is done spinning
Motor1.spinFor(forward, 200, degrees, false);
while (true) {
if (Motor1.isSpinning()) {
Drivetrain.drive(forward);
} else {
Drivetrain.stop();
}
}
position#
La position d’un moteur ou d’un groupe de moteurs correspond à sa rotation, mesurée en degrees ou turns. Un tour équivaut à 360 degrés. position renvoie la position actuelle du moteur ou du groupe de moteurs.
Au début d’un projet, la position du moteur ou du groupe de moteurs est initialement fixée à 0 degré. Si le moteur ou le groupe de moteurs effectue une rotation complète dans un sens, sa position sera de 360 degrés, soit un tour. S’il effectue une rotation dans l’autre sens, sa position sera négative.
Available Functionsdouble position(
rotationUnits units );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
L’unité permettant de ramener le moteur ou le groupe de moteurs à la position :
|
Renvoie un double double représentant la position actuelle du moteur ou du groupe de moteurs dans les unités spécifiées.
L’appel à
setPositionmodifie le point de référence pour cette valeur.La valeur renvoyée reflète la lecture actuelle de l’encodeur et n’indique pas si le moteur ou le groupe de moteurs est en mouvement.
Lorsqu’elle est appelée sur un
motor_group, cette fonction renvoie la position du premier moteur du groupe.
// Spin, then show the final position
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop();
Brain.Screen.print("Pos: %f", Motor1.position(degrees));
velocity#
La vitesse velocity indique la vitesse de rotation du moteur ou du groupe de moteurs.
Une valeur positive indique que le moteur ou le groupe de moteurs tourne dans le sens horaire. Une valeur négative indique qu’il tourne dans le sens antihoraire.
Available Functionsdouble velocity(
velocityUnits units );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Unité de vitesse :
|
Renvoie un nombre décimal double représentant la vitesse de rotation du moteur ou du groupe de moteurs dans les unités spécifiées.
Notes
Lorsqu’elle est appelée sur un
motor_group, cette fonction renvoie la vitesse du premier moteur du groupe.
current#
La fonction current indique l’intensité du courant électrique consommé par le moteur ou le groupe de moteurs. L’intensité correspond à la quantité d’électricité qui traverse le moteur ou le groupe de moteurs. Exprimée en ampères, elle est comprise entre 0,0 et 1,2 A.
Une intensité plus élevée signifie que le moteur ou le groupe de moteurs consomme davantage de courant électrique. Cela peut se produire lorsque le moteur ou le groupe de moteurs soulève une charge lourde, exerce une pression sur un objet ou tente de se dégager après un blocage.
Ce dispositif permet de vérifier si le moteur ou le groupe de moteurs peine lors d’un mouvement. Si le courant reste élevé, le moteur risque de chauffer ou de consommer moins d’énergie.
Available Functions1 — Renvoie le courant électrique du moteur ou du groupe de moteurs en ampères.
double current( currentUnits units = amp );
Parameters2 — Renvoie le courant électrique du moteur ou du groupe de moteurs en pourcentage du courant nominal maximal.
double current( percentUnits units );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Unité utilisée pour représenter le courant : |
|
|
Représente le courant en pourcentage du courant nominal maximal du moteur : |
Renvoie un double représentant la quantité de courant électrique consommée par le moteur ou le groupe de moteurs dans les unités spécifiées.
Notes
Lorsqu’elle est appelée sur un groupe de moteurs
motor_group, cette fonction renvoie le courant électrique total pour tous les moteurs du groupe.
power#
La puissance power le moteur ou le groupe de moteurs en watts. La puissance représente la vitesse à laquelle le moteur ou le groupe de moteurs consomme de l’énergie.
Une valeur de puissance plus élevée signifie que le moteur ou le groupe de moteurs consomme de l’énergie plus rapidement. Cela peut se produire lorsque le moteur ou le groupe de moteurs soulève une charge lourde, exerce une pression sur un objet ou tente de se dégager après un blocage.
On peut utiliser cette fonction pour comparer les mouvements ou vérifier si le moteur ou le groupe de moteurs peine. Si la puissance reste élevée, le moteur risque de chauffer ou de consommer moins d’énergie.
Available Functionsdouble power(
powerUnits units = watt );
Paramètres
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Unité utilisée pour représenter la puissance du moteur :
|
Valeurs de retour
Renvoie un double représentant la puissance utilisée par le moteur ou le groupe de moteurs en watts.
Notes
Lorsqu’elle est appelée sur un
motor_group, cette fonction renvoie la puissance électrique du premier moteur du groupe.
torque#
Le couple indique la force avec laquelle un moteur ou un groupe de moteurs se tord, pousse ou tire pendant sa rotation.
torque indique la quantité de couple utilisée par le moteur ou le groupe de moteurs.
Une valeur de couple plus élevée signifie que le moteur ou le groupe de moteurs exerce une force de poussée ou de traction plus importante. Cela peut se produire lorsque le moteur ou le groupe de moteurs soulève une charge lourde, exerce une pression sur un objet ou tente de se dégager d’un blocage.
Cela peut servir à vérifier si le moteur ou le groupe de moteurs peine ou à comparer la force de poussée nécessaire pour différents mouvements.
Pour régler le couple d’un moteur ou d’un groupe de moteurs, utilisez setMaxTorque.
double torque(
torqueUnits units = Nm );
Paramètres
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Unité utilisée pour représenter le couple moteur :
|
Valeurs de retour
Renvoie un double double représentant le couple utilisé par le moteur ou le groupe de moteurs dans les unités spécifiées.
Notes
Lorsqu’elle est appelée sur un groupe de moteurs
motor_group, cette fonction renvoie le couple de sortie mécanique du premier moteur du groupe.
efficiency#
efficiency indique l’efficacité avec laquelle le moteur ou le groupe de moteurs utilise la puissance, en pourcentage de 0 % à 100 %.
Le rendement indique la part de la puissance du moteur ou du groupe de moteurs réellement utilisée pour le mouvement. Un rendement élevé signifie qu’une plus grande partie de la puissance est mise à contribution. Un rendement faible peut s’expliquer par un effort important du moteur ou du groupe de moteurs, mais un faible déplacement, par exemple s’il est bloqué ou s’il appuie sur un obstacle.
Cela peut servir à comparer des mouvements ou à vérifier si le moteur ou le groupe de moteurs gaspille de l’énergie au lieu de l’utiliser pour le mouvement.
Available Functionsdouble efficiency(
percentUnits units = percent );
Paramètres
Paramètre |
Taper |
Description |
|---|---|---|
|
|
The unit used to represent motor efficiency:
|
Valeurs de retour
Renvoie un nombre décimal double représentant le pourcentage d’efficacité avec lequel le moteur ou le groupe de moteurs utilise la puissance.
Notes
Lorsqu’elle est appelée sur un
motor_group, cette fonction renvoie l’efficacité du premier moteur du groupe.
temperature#
La fonction temperature renvoie la température du moteur ou du groupe de moteurs.
La température du moteur indique son niveau de chaleur. Une température plus élevée signifie que le moteur ou le groupe de moteurs chauffe pendant son fonctionnement. Pour un fonctionnement optimal, le moteur doit maintenir sa température en dessous de 55°C
Si le moteur ou le groupe de moteurs surchauffe, il réduira son courant maximal pour se protéger. À 70°C, un moteur s’arrêtera de fonctionner jusqu’à son refroidissement.
Cela peut servir à vérifier si le moteur ou le groupe de moteurs chauffe excessivement lors de mouvements répétés, de longs fonctionnements ou lorsqu’il exerce une pression contre un objet.
Available Functions1 — Renvoie la température du moteur ou du groupe de moteurs en pourcentage de la température de fonctionnement maximale.
double temperature( percentUnits units = percent );
2 — Renvoie la température du moteur ou du groupe de moteurs en unités de température physique.
double temperature( temperatureUnits units );
Paramètres
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Unité utilisée pour représenter la température du moteur ou du groupe de moteurs en pourcentage :
|
|
|
L’unité utilisée pour représenter la température du moteur ou du groupe de moteurs en degrés :
|
Valeurs de retour
Renvoie un double double représentant la température du moteur ou du groupe de moteurs 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).Lorsqu’elle est appelée sur un
motor_group, cette fonction renvoie la température du premier moteur du groupe.
voltage#
voltage renvoie la tension électrique fournie au moteur ou au groupe de moteurs.
double voltage(
voltageUnits units = volt );
Paramètres
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Unité de tension :
|
Valeurs de retour
Renvoie un double représentant la tension électrique fournie au moteur ou au groupe de moteurs dans les unités spécifiées.
Notes
Lorsqu’elle est appelée sur un
motor_group, cette fonction renvoie la tension électrique du premier moteur du groupe.
direction#
direction renvoie le sens de rotation du moteur ou du groupe de moteurs.
directionType direction();
Paramètres
Cette fonction ne prend aucun paramètre.
Valeurs de retour
Renvoie une direction de type directionType indiquant le sens de rotation actuel du moteur ou du groupe de moteurs :
forward— The motor or motor group is spinning forward.reverse— The motor or motor group is spinning in reverse.
installed#
installed indique si le moteur ou le groupe de moteurs est connecté au cerveau IQ (1ère génération).
bool installed();
Paramètres
Cette fonction ne prend aucun paramètre.
Valeurs de retour
Renvoie une valeur booléenne bool indiquant si le moteur ou le groupe de moteurs est connecté.
true— The motor or motor group is connected.false— The motor or motor group is not connected.
count#
count renvoie le nombre de moteurs dans un groupe de moteurs.
int32_t count();
Paramètres
Cette fonction ne prend aucun paramètre.
Valeurs de retour
Renvoie un int32_t représentant le nombre de moteurs dans le groupe de moteurs.