Motor en Motorgroep#
Invoering#
Motoren en motorgroepen bepalen hoe onderdelen van een robot bewegen. Een motor object bestuurt één geconfigureerde IQ Smart Motor, terwijl een motor_group object meerdere geconfigureerde IQ Smart Motors tegelijk bestuurt, zodat ze synchroon bewegen. Motoren en motorgroepen kunnen worden gebruikt om een arm omhoog te brengen, een grijper te draaien, een wiel te laten draaien of een ander onderdeel van een constructie te bewegen. Twee motoren kunnen samenwerken als een aandrijving om de hele robot te bewegen en te draaien.
Elke motor of motorgroep wordt geconfigureerd in het venster Apparaten. Afhankelijk van de configuratie kunnen de namen van motoren en motorgroepen variëren. Op deze pagina worden Motor1 en MotorGroup1 als voorbeeldnamen gebruikt. Vervang deze door uw eigen geconfigureerde namen.
Standaard draait een motor met de stand forward tegen de klok in, en met de stand reverse met de klok mee. Als een motor op achteruit draaien is ingesteld, worden deze draairichtingen omgewisseld.
Motor#
Class Constructors#
1 — Maakt een
motorobject aan voor de IQ Smart Motor die is aangesloten op de opgegeven Smart Port. De motor gebruikt automatisch de gedetecteerde internegearSetting.motor( int32_t index );
2 — Creëert een
motorobject op de opgegeven Smart Port en keert optioneel de draairichting om. De motor gebruikt automatisch de gedetecteerde internegearSetting.motor( int32_t index, bool reverse );
3 — Maakt een
motorobject aan op de opgegeven Smart Port met de opgegevengearSetting.motor( int32_t index, gearSetting gears );
4 — Creëert een
motorobject op de opgegeven Smart Port met de opgegevengearSettingen optioneel omgekeerde richting.motor( int32_t index, gearSetting gears, bool reverse );
Class Destructor#
Vernietigt het motor object en geeft de bijbehorende resources vrij.
~motor();
Parameters#
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De Smart Port waarop de motor is aangesloten, wordt weergegeven als |
|
|
Hiermee wordt bepaald of de draairichting van de motor wordt omgekeerd:
|
|
|
Specificeert de interne tandwielverhouding van de cartridge.
|
Notes#
De tandwielinstelling moet overeenkomen met de fysieke cartridge die in de motor is geïnstalleerd.
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);
Motorgroep#
Class Constructors#
motor_group( motor &m1, Args&... m2 );
Class Destructor#
Vernietigt het motor_group object en geeft de bijbehorende resources vrij.
~motor_group();
Parameters#
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De eerste motor die aan de groep is toegevoegd. |
|
|
Er zijn extra motoren aan de groep toegevoegd. Het maximum is vier motoren in één motorgroep. |
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);
Lidfuncties#
Er zijn veel manieren om motoren en motorgroepen te programmeren. Hieronder staat een lijst met alle lidfuncties van motor en motor_group:
Acties — Motoren en motorgroepen stoppen en laten draaien.
spin— Laat een motor of motorgroep oneindig lang vooruit of achteruit draaien.spinFor— Laat een motor of motorgroep draaien over een specifieke afstand of gedurende een bepaalde tijd.spinToPosition— Draait een motor of motorgroep naar een specifieke positie.stop— Stopt een motor of motorgroep met draaien.
Mutators — Pas de motor- en motorgroepinstellingen aan.
setVelocity— Vertelt een motor of motorgroep hoe snel deze moet draaien.setMaxTorque— Stelt in hoe hard een motor of motorgroep mag duwen tijdens het draaien.setPosition— Wijzigt de huidige positie van de motor of motorgroep naar een nieuwe waarde.setStopping— Stelt in hoe een motor of motorgroep stopt met bewegen: door te remmen, uit te rollen of te wachten.setTimeout— Stelt in hoeveel tijd een motor of motorgroep nodig heeft om een beweging te voltooien.
Getters — Controleer de status van de motor en de motorgroep.
isDone— Geeft als Booleaanse waarde aan of de motor of motorgroep klaar is met bewegen.isSpinning— Geeft als Booleaanse waarde aan of de motor of motorgroep draait.position— Geeft de huidige positie van de motor of motorgroep terug.velocity— Geeft aan hoe snel de motor of motorgroep draait.current— Geeft aan hoeveel elektrische stroom de motor of motorgroep verbruikt.power— Geeft aan hoeveel vermogen de motor of motorgroep gebruikt.torque— Geeft aan hoeveel koppel de motor of motorgroep gebruikt.efficiency— Geeft aan hoe efficiënt de motor of motorgroep het vermogen gebruikt.temperature— Geeft de temperatuur van de motor of motorgroep terug.voltage— Geeft de elektrische spanning terug die aan de motor of motorgroep wordt geleverd.direction— Geeft de draairichting van de motor of motorgroep weer.installed— Geeft aan of de motor of motorgroep is verbonden met de hersenen.count— Geeft het aantal motoren in een motorgroep terug.
Voordat je een van de lidfuncties motor of motor_group aanroept, moet er een instantie worden aangemaakt, zoals hieronder weergegeven:
/* 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);
Acties#
spin#
spin laat een motor of motorgroep oneindig lang vooruit of achteruit draaien. De motor of motorgroep blijft draaien totdat er een andere actie wordt uitgevoerd, zoals in een andere richting draaien of stoppen.
1 — Laat de motor of motorgroep draaien met de momenteel ingestelde motorsnelheid.
void spin( directionType dir );
2 — Laat de motor of motorgroep met de opgegeven snelheid draaien.
void spin( directionType dir, double velocity, velocityUnits units );
Parameters3 — Laat de motor of motorgroep draaien met behulp van de opgegeven spanning.
void spin( directionType dir, double voltage, voltageUnits units );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De draairichting van de motor of motorgroep: |
|
|
De snelheid waarmee je kunt draaien van 0% tot 100% bij gebruik |
|
|
De eenheid die gebruikt wordt om snelheid weer te geven:
|
|
|
De spanning waarmee de rotatie plaatsvindt. Een negatieve waarde zorgt voor een rotatie in de tegenovergestelde richting van de gegeven waarde |
|
|
De eenheid die wordt gebruikt om spanning weer te geven:
|
Deze functie retourneert geen waarde.
NotesDeze functie heeft geen wachttijd en het project zal direct na de aanroep verdergaan met de uitvoering.
De motor of motorgroep blijft draaien totdat
stopwordt aangeroepen of een andere bewegingsfunctie wordt uitgevoerd.Functies zoals
isDoneenisSpinningzijn niet van toepassing opspin, omdat deze geen doelgebaseerde beweging gebruikt (geenrotationoftimeparameter heeft).
// Spin forward, then stop
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop();
spinFor#
spinFor laat een motor of motorgroep een specifieke afstand of tijdsduur draaien. Een rotatiegebaseerde draaiing is relatief ten opzichte van de huidige positie van de motor of motorgroep. Standaard wacht het project totdat de motor of motorgroep klaar is met draaien voordat de volgende regel code wordt uitgevoerd.
1 — Draait over een specifieke afstand met de snelheid die in de functieaanroep is opgegeven.
bool spinFor( double rotation, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
2 — Accepteert een richtingparameter en draait over een specifieke afstand met de snelheid die in de functieaanroep is opgegeven.
bool spinFor( directionType dir, double rotation, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
3 — Draait over een specifieke afstand met behulp van de momenteel geconfigureerde motorsnelheid.
bool spinFor( double rotation, rotationUnits units, bool waitForCompletion = true );
4 — Accepteert een richtingparameter en draait over een specifieke afstand met behulp van de momenteel geconfigureerde motorsnelheid.
bool spinFor( directionType dir, double rotation, rotationUnits units, bool waitForCompletion = true );
5 — Draait gedurende een bepaalde tijd met de snelheid die in de functieaanroep is opgegeven.
bool spinFor( double time, timeUnits units, double velocity, velocityUnits units_v );
6 — Accepteert een richtingparameter en draait gedurende een bepaalde tijd met de snelheid die in de functieaanroep is opgegeven.
bool spinFor( directionType dir, double time, timeUnits units, double velocity, velocityUnits units_v );
7 — Draait gedurende een bepaalde tijd met behulp van de momenteel geconfigureerde motorsnelheid.
bool spinFor( double time, timeUnits units );
Parameters8 — Accepteert een richtingparameter en draait gedurende een bepaalde tijd met behulp van de momenteel geconfigureerde motorsnelheid.
bool spinFor( directionType dir, double time, timeUnits units );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De draairichting van de motor of motorgroep: |
|
|
De afstand die de motor of motorgroep aflegt. |
|
|
De rotatie-eenheid:
|
|
|
De tijdsduur dat de motor of motorgroep draait. |
|
|
De tijdseenheid:
|
|
|
De snelheid waarmee je kunt draaien van 0% tot 100% bij gebruik |
|
|
De eenheid die gebruikt wordt om de snelheid weer te geven
|
|
|
|
Geeft een Booleaanse waarde terug die aangeeft of de motor of motorgroep de streefwaarde heeft bereikt.
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.
Het uitvoeren van een andere motorische bewegingsfunctie (zoals
spinofstop) terwijlspinForbezig is, onderbreekt de huidige beweging.Omdat
spinFordoelgebaseerd is (gebruikt eenrotationoftimeparameter), werken functies zoalsisDoneenisSpinningmetspinFor.
// 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 draait een motor of motorgroep naar een specifieke positie.
De positie van een motor of motorgroep geeft aan hoeveel omwentelingen deze heeft gemaakt, gemeten in degrees of turnsEén omwenteling is gelijk aan 360 graden. Aan het begin van een project wordt de positie van de motor of motorgroep ingesteld op 0 graden. De positie van de motor of motorgroep kan ook worden ingesteld met behulp van de functie setPosition.
Positiewaarden zijn absoluut. Dit betekent dat de draairichting afhangt van de huidige positie van de motor of motorgroep.
Als de motor of motorgroep bijvoorbeeld begint bij 0 graden en draait naar een positie van 720 graden, draait hij twee omwentelingen vooruit. Als hij vervolgens naar een positie van 360 graden draait, draait hij één omwenteling achteruit, omdat 360 minder is dan 720.
Available Functions1 — Draait naar een specifieke positie met de snelheid die in de functieaanroep is opgegeven.
bool spinToPosition( double rotation, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
Parameters2 — Draait naar een specifieke positie met behulp van de momenteel geconfigureerde motorsnelheid.
bool spinToPosition( double rotation, rotationUnits units, bool waitForCompletion = true );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De positiewaarde waarnaar de motor of motorgroep zal draaien. |
|
|
De rotatie-eenheid:
|
|
|
De snelheid waarmee je kunt draaien van 0% tot 100% bij gebruik |
|
|
De eenheid die gebruikt wordt om de snelheid weer te geven
|
|
|
|
Retourneert een Booleaanse waarde die aangeeft of de motor of motorgroep de gevraagde, op het doel gebaseerde beweging heeft gestart.
true— The motor or motor group begins the requested target-based movement.false— The call fails orwaitForCompletionis set tofalse.
Het uitvoeren van een andere motorische bewegingsfunctie (zoals
spinofspinFor) terwijlspinToPositionbezig is, onderbreekt de huidige beweging.Omdat
spinToPositiondoelgebaseerd is (eenrotationparameter gebruikt), werken functies zoalsisDoneenisSpinningmetspinToPosition.
// Spin forward, then go to 90°
Motor1.spin(forward);
wait(1, seconds);
Motor1.spinToPosition(90, degrees);
stop#
stop zorgt ervoor dat een motor of motorgroep stopt met draaien.
1 — Stopt de motor of motorgroep met behulp van de momenteel geconfigureerde remmodus.
void stop();
Parameters2 — Stopt de motor of motorgroep met behulp van de remmodus die is opgegeven in de functieaanroep.
void stop( brakeType mode );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
Optioneel. Hoe de motor of motorgroep stopt:
|
Deze functie retourneert geen waarde.
NotesDoor
stopaan te roepen, wordt elke lopende beweging van een motor of motorgroep onmiddellijk gestopt.Als er geen remmodus is gespecificeerd, gebruikt de motor of motorgroep de momenteel geconfigureerde remmodus.
stoponderbreekt elke actieve, op een doel gebaseerde beweging (zoalsspinForofspinToPosition).
// Spin and coast to a stop
Motor1.setVelocity(100, percent);
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop(coast);
Mutators#
setVelocity#
setVelocity geeft een motor of motorgroep de gewenste draaisnelheid. Een hoger percentage zorgt ervoor dat de motor of motorgroep sneller draait, een lager percentage zorgt ervoor dat de motor of motorgroep langzamer draait.
Elk project begint standaard met elke motor of motorgroep die op 50% van zijn maximale snelheid draait.
Let op: Een hogere snelheid zorgt ervoor dat de motor of motorgroep sneller draait, maar dit kan de precisie verminderen. Een lagere snelheid zorgt ervoor dat de motor of motorgroep langzamer draait, maar dit kan de precisie verhogen.
Available Functionsvoid setVelocity(
double velocity,
velocityUnits units );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De snelheid waarmee je kunt draaien van 0% tot 100% bij gebruik |
|
|
De eenheid die gebruikt wordt om de snelheid weer te geven
|
Deze functie retourneert geen waarde.
NotesElke daaropvolgende motorische bewegingsfunctie (zoals
spin,spinFor, ofspinToPosition) die geen expliciete snelheid specificeert, zal deze waarde gebruiken.
// 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#
Het koppel geeft aan hoe hard een motor of motorgroep kan duwen of trekken terwijl deze draait.
setMaxTorque stelt het maximale koppel in dat een motor of motorgroep mag gebruiken.
Een hoger percentage zorgt ervoor dat de motor of motorgroep harder kan duwen, bijvoorbeeld bij het tillen van een zwaar voorwerp. Een lager percentage beperkt de maximale duwkracht van de motor of motorgroep. Dit kan de robot beschermen als de motor of motorgroep vastloopt of de maximale bewegingsafstand bereikt.
Elk project begint standaard met het koppel van elke motor of motorgroep op 50%.
Available Functions1 — Stelt het maximale koppel in als een percentage van het nominale koppel van de motor of motorgroep.
void setMaxTorque( double value, percentUnits units );
2 — Stelt het maximale koppel in met behulp van fysieke koppeleenheden.
void setMaxTorque( double value, torqueUnits units );
Parameters3 — Stelt het maximale koppel in door de motorstroom te beperken.
void setMaxTorque( double value, currentUnits units );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
Het maximale koppel dat de motor of motorgroep kan gebruiken. |
|
|
Geeft het koppel aan als percentage: |
|
|
Specificeert koppel in fysieke eenheden zoals:
|
|
|
Specificeert het koppel door de motorstroom te beperken:
|
Deze functie retourneert geen waarde.
NotesBij gebruik van
currentUnitswordt het koppel beperkt door de hoeveelheid elektrische stroom die de motor of motorgroep kan gebruiken te beperken.
setPosition#
De positie van een motor of motorgroep geeft aan hoeveel omwentelingen deze heeft gemaakt, gemeten in degrees of turnsEén omwenteling is gelijk aan 360 graden. setPosition wijzigt de huidige positie van de motor of motorgroep naar een nieuwe waarde.
Als een motor of motorgroep bijvoorbeeld 180 graden is gedraaid, zal het instellen van de positie op 0 graden die positie resetten van 180 naar 0 graden. Vervolgens kan de motor of motorgroep naar posities draaien op basis van die nieuwe waarde.
Available Functionsvoid setPosition(
double value,
rotationUnits units );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De positiewaarde die moet worden ingesteld voor de motor of motorgroep. |
|
|
De positie-eenheid:
|
Deze functie retourneert geen waarde.
NotesNa het aanroepen van
setPosition, zullen volgende aanroepen vanspinToPositionde bijgewerkte positie als referentie gebruiken.
setStopping#
setStopping stelt in hoe een motor of motorgroep stopt met bewegen: door te remmen, uit te rollen of vast te houden.
void setStopping(
brakeType mode );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
Hoe de motor of motorgroep stopt:
|
Deze functie retourneert geen waarde.
NotesElke volgende aanroep van
stopzonder een gespecificeerde remmodus zal deze waarde gebruiken.
setTimeout#
setTimeout stelt in hoeveel tijd een motor of motorgroep krijgt om een beweging te voltooien. Als de motor of motorgroep de beweging niet binnen die tijd kan voltooien, stopt deze met proberen en gaat verder met de volgende regel code. Dit voorkomt dat de motor of motorgroep vastloopt tijdens een beweging.
void setTimeout(
int32_t time,
timeUnits units );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De hoeveelheid tijd die de motor of motorgroep kan besteden aan het voltooien van een beweging. Dit moet een positief geheel getal zijn. |
|
|
De tijdseenheid:
|
retourwaarden
Deze functie retourneert geen waarde.
NotesDe time-out voor een motor of motorgroep wordt gebruikt om te voorkomen dat bewegingen die hun doelpositie niet bereiken, de uitvoering van andere commando’s in de stapel blokkeren.
Als de motor of motorgroep de beoogde positie niet bereikt voordat de time-out verloopt, stopt het proces en wordt de volgende regel code uitgevoerd.
De time-out is van toepassing op functies die een doelwaarde hebben, zoals
spinForenspinToPosition.
// Stop a long move after 1 second
Motor1.setTimeout(1, seconds);
Motor1.spinFor(forward, 2, turns);
Motor1.spinToPosition(0, degrees);
Getters#
isDone#
isDone geeft als Booleaanse waarde aan of de motor of motorgroep klaar is met bewegen. Dit kan worden gebruikt om de timing van andere gedragingen te regelen op basis van de beweging van de motor of motorgroep.
true— De motor of motorgroep is klaar met bewegen.false— De motor of motorgroep is nog steeds in beweging.
Deze functie werkt samen met de volgende bewegingsfuncties die de parameter waitForCompletion hebben: spinFor en spinToPosition.
bool isDone();
Deze functie accepteert geen parameters.
Return ValuesGeeft als Booleaanse waarde aan of de motor of motorgroep klaar is met bewegen.
true— The motor or motor group is finished moving.false— The motor or motor group is still moving.
isDonewerkt samen met de volgende bewegingsfuncties die de parameterwaitForCompletionhebben:spinForenspinToPosition.
// 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#
isSpinning geeft als Booleaanse waarde aan of de motor of motorgroep draait. Dit kan worden gebruikt om de timing van andere gedragingen te regelen op basis van de beweging van de motor of motorgroep.
true— De motor of motorgroep draait.false— De motor of motorgroep draait niet.
Deze functie werkt samen met bewegingsfuncties zoals spin, spinFor, en spinToPosition.
bool isSpinning();
Deze functie accepteert geen parameters.
Return ValuesGeeft als Booleaanse waarde weer of de motor of motorgroep draait.
true— The motor or motor group is spinning.false— The motor or motor group is not spinning.
isSpinningwerkt met bewegingsfuncties zoalsspin,spinFor, enspinToPosition.
// 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#
De positie van een motor of motorgroep geeft aan hoeveel omwentelingen deze heeft gemaakt, gemeten in degrees of turnsEén omwenteling is gelijk aan 360 graden. position geeft de huidige positie van de motor of motorgroep weer.
Aan het begin van een project wordt de positie van de motor of motorgroep ingesteld op 0 graden. Als de motor of motorgroep één omwenteling vooruit draait, is de positie 360 graden of 1 omwenteling. Als de motor of motorgroep de andere kant op draait, is de positie negatief.
Available Functionsdouble position(
rotationUnits units );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
The unit to return the motor or motor group position in:
|
Retourneert een double die de huidige positie van de motor of motorgroep in de opgegeven eenheden weergeeft.
Door
setPositionaan te roepen, wordt het referentiepunt voor deze waarde gewijzigd.De geretourneerde waarde weerspiegelt de huidige encoderwaarde en geeft niet aan of de motor of motorgroep actief beweegt.
Wanneer deze functie wordt aangeroepen op een motorgroep
motor_group, retourneert deze de positie van de eerste motor in de groep.
// Spin, then show the final position
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop();
Brain.Screen.print("Pos: %f", Motor1.position(degrees));
velocity#
velocity geeft aan hoe snel de motor of motorgroep draait.
Een positieve waarde betekent dat de motor of motorgroep vooruit draait. Een negatieve waarde betekent dat deze achteruit draait.
Available Functionsdouble velocity(
velocityUnits units );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De eenheid die gebruikt wordt om snelheid weer te geven:
|
Retourneert een double die aangeeft hoe snel de motor of motorgroep draait in de opgegeven eenheden.
Notities
Wanneer deze functie wordt aangeroepen op een
motor_group, retourneert deze de snelheid van de eerste motor in de groep.
current#
current geeft aan hoeveel elektrische stroom de motor of motorgroep verbruikt. Stroomsterkte is de hoeveelheid elektriciteit die door de motor of motorgroep vloeit. Wanneer de waarde in ampère wordt weergegeven, ligt deze tussen 0,0 en 1,2 A.
Een hogere stroomwaarde betekent dat de motor of motorgroep meer elektrische stroom verbruikt. Dit kan gebeuren wanneer de motor of motorgroep iets zwaars optilt, tegen een object duwt of probeert te bewegen terwijl deze vastzit.
Hiermee kunt u controleren of de motor of motorgroep moeite heeft tijdens een beweging. Als de stroomsterkte hoog blijft, kan de motor warmer worden of minder efficiënt met energie omgaan.
Available Functions1 — Geeft de elektrische stroomsterkte van de motor of motorgroep in ampère weer.
double current( currentUnits units = amp );
Parameters2 — Geeft de elektrische stroom van de motor of motorgroep weer als een percentage van de maximaal nominale stroom.
double current( percentUnits units );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De eenheid die wordt gebruikt om stroomsterkte weer te geven: |
|
|
Represents the current as a percentage of the motor’s maximum rated current: |
Retourneert een double die aangeeft hoeveel elektrische stroom de motor of motorgroep verbruikt in de opgegeven eenheden.
Notities
Wanneer deze functie wordt aangeroepen op een motorgroep van
motor_group, retourneert deze de totale elektrische stroom voor alle motoren in de groep.
power#
power geeft aan hoeveel vermogen de motor of motorgroep verbruikt in watt. Vermogen laat zien hoe snel de motor of motorgroep energie verbruikt.
Een hogere vermogenswaarde betekent dat de motor of motorgroep sneller energie verbruikt. Dit kan gebeuren wanneer de motor of motorgroep iets zwaars optilt, tegen een object duwt of probeert te bewegen terwijl deze vastzit.
Dit kan worden gebruikt om bewegingen te vergelijken of te controleren of de motor of motorische groep moeite heeft. Als het vermogen hoog blijft, kan de motor warmer worden of minder efficiënt met energie omgaan.
Available Functionsdouble power(
powerUnits units = watt );
Parameters
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De eenheid die wordt gebruikt om het motorvermogen weer te geven:
|
retourwaarden
Geeft een waarde van double terug die aangeeft hoeveel vermogen de motor of motorgroep verbruikt in watt.
Notities
Wanneer deze functie wordt aangeroepen op een motorgroep
motor_group, retourneert deze het elektrisch vermogen van de eerste motor in de groep.
torque#
Het koppel geeft aan hoe hard een motor of motorgroep draait, duwt of trekt tijdens het roteren.
torque geeft aan hoeveel koppel de motor of motorgroep gebruikt.
Een hogere koppelwaarde betekent dat de motor of motorgroep harder duwt of trekt. Dit kan gebeuren wanneer de motor of motorgroep iets zwaars optilt, tegen een object duwt of probeert te bewegen terwijl deze vastzit.
Dit kan worden gebruikt om te controleren of de motor of motorische groep moeite heeft, of om te vergelijken hoeveel kracht verschillende bewegingen vereisen.
Om het koppel van een motor of motorgroep in te stellen, gebruikt u setMaxTorque.
double torque(
torqueUnits units = Nm );
Parameters
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De eenheid die wordt gebruikt om het motorkoppel weer te geven:
|
retourwaarden
Retourneert een double die aangeeft hoeveel koppel de motor of motorgroep gebruikt in de opgegeven eenheden.
Notities
Wanneer deze functie wordt aangeroepen op een motorgroep
motor_group, retourneert deze het mechanische uitgangskoppel van de eerste motor in de groep.
efficiency#
efficiency geeft aan hoe efficiënt de motor of motorgroep het vermogen gebruikt, als een percentage van 0% tot 100%.
Het rendement geeft aan hoeveel van het vermogen van de motor of motorgroep wordt gebruikt voor beweging. Een hogere rendementswaarde betekent dat er meer vermogen van de motor of motorgroep wordt gebruikt voor beweging. Een lagere rendementswaarde kan voorkomen wanneer de motor of motorgroep hard werkt maar weinig beweging genereert, bijvoorbeeld wanneer deze vastloopt of tegen een object duwt.
Dit kan worden gebruikt om bewegingen te vergelijken of te controleren of de motor of motorgroep energie verspilt in plaats van deze voor beweging te gebruiken.
Available Functionsdouble efficiency(
percentUnits units = percent );
Parameters
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De eenheid die wordt gebruikt om het rendement van een motor weer te geven:
|
retourwaarden
Geeft een waarde van double terug die aangeeft hoe efficiënt de motor of motorgroep het vermogen gebruikt, uitgedrukt als percentage.
Notities
Wanneer deze functie wordt aangeroepen op een motorgroep
motor_group, retourneert deze het rendement van de eerste motor in de groep.
temperature#
temperature geeft de temperatuur van de motor of motorgroep weer.
De motortemperatuur geeft aan hoe warm de motor of motorgroep is. Een hogere temperatuur betekent dat de motor of motorgroep warmer wordt tijdens het gebruik. De motor moet onder 55°C te blijven presteren.
Als de motor of motorgroep te heet wordt, verlaagt deze de maximale stroomsterkte ter bescherming. Bij 70°Cstopt een motor met draaien totdat deze is afgekoeld.
Hiermee kan worden gecontroleerd of de motor of motorgroep te warm wordt tijdens herhaalde bewegingen, langdurig gebruik of wanneer deze tegen een object duwt.
Available Functions1 — Geeft de temperatuur van de motor of motorgroep weer als een percentage van de maximale bedrijfstemperatuur.
double temperature( percentUnits units = percent );
2 — Geeft de temperatuur van de motor of motorgroep weer in fysieke temperatuureenheden.
double temperature( temperatureUnits units );
Parameters
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De eenheid die wordt gebruikt om de temperatuur van een motor of motorgroep als percentage weer te geven:
|
|
|
De eenheid die wordt gebruikt om de temperatuur van een motor of motorgroep in graden weer te geven:
|
retourwaarden
Retourneert een double die de temperatuur van de motor of motorgroep in de opgegeven eenheden weergeeft.
Notities
Het bedrijfstemperatuurbereik voor de motor is ongeveer
20°C(68°F) tot70°C(158°F).Wanneer deze functie wordt aangeroepen op een motorgroep
motor_group, retourneert deze de temperatuur van de eerste motor in de groep.
voltage#
voltage geeft de elektrische spanning terug die aan de motor of motorgroep wordt geleverd.
double voltage(
voltageUnits units = volt );
Parameters
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De eenheid die de spanning weergeeft:
|
retourwaarden
Retourneert een double die de elektrische spanning vertegenwoordigt die aan de motor of motorgroep wordt geleverd in de opgegeven eenheden.
Notities
Wanneer deze functie wordt aangeroepen op een motorgroep
motor_group, retourneert deze de elektrische spanning van de eerste motor in de groep.
direction#
direction geeft de draairichting van de motor of motorgroep aan.
directionType direction();
Parameters
Deze functie accepteert geen parameters.
retourwaarden
Geeft een directionType terug, die de huidige draairichting van de motor of motorgroep aangeeft:
forward— The motor or motor group is spinning forward.reverse— The motor or motor group is spinning in reverse.
installed#
installed geeft aan of de motor of motorgroep is aangesloten op de IQ (2e generatie) Brain.
bool installed();
Parameters
Deze functie accepteert geen parameters.
retourwaarden
Retourneert een booleanwaarde van bool die aangeeft of de motor of motorgroep is aangesloten.
true— The motor or motor group is connected.false— The motor or motor group is not connected.
count#
count geeft het aantal motoren in een motorgroep terug.
int32_t count();
Parameters
Deze functie accepteert geen parameters.
retourwaarden
Retourneert een int32_t die het aantal motoren in de motorgroep vertegenwoordigt.