Motor och motorgrupp#
Introduktion#
Motorer och motorgrupper styr hur delar av en robot rör sig. Ett objekt med motor motorer styr en konfigurerad IQ Smart Motor, medan ett objekt med motor_group motorer styr flera konfigurerade IQ Smart Motorer tillsammans så att de rör sig i tandem. Motorer och motorgrupper kan användas för att lyfta en arm, vrida en klo, snurra ett hjul eller flytta en annan del av en konstruktion. Två motorer kan arbeta tillsammans som en drivlina för att flytta och vrida hela roboten.
Varje motor eller motorgrupp konfigureras i fönstret Enheter. Beroende på konstruktionen kan motor- och motorgruppnamn ändras. Den här sidan använder Motor1 och MotorGroup1 som exempelnamn. Ersätt dem med dina egna konfigurerade namn efter behov.
Som standard roterar forward en motor moturs, och reverse roterar en motor medurs. Om en motor är inställd på bakåt kommer dessa riktningar att växlas.
Motor#
Class Constructors#
1 — Skapar ett
motorobjekt för IQ Smart Motor ansluten till den angivna Smart Port. Motorn använder automatiskt den detekterade internagearSetting.motor( int32_t index );
2 — Skapar ett
motorobjekt på den angivna Smart Port och reverserar eventuellt dess riktning. Motorn använder automatiskt den detekterade internagearSetting.motor( int32_t index, bool reverse );
3 — Skapar ett
motorobjekt på den angivna Smart Port med den angivnagearSetting.motor( int32_t index, gearSetting gears );
4 — Skapar ett
motorobjekt på den angivna Smart Port med den angivnagearSettingoch valfri omvänd riktning.motor( int32_t index, gearSetting gears, bool reverse );
Class Destructor#
Förstör motor objektet och frigör tillhörande resurser.
~motor();
Parameters#
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Den smarta port som motorn är ansluten till, skriven som |
|
|
Anger om motorns rotationsriktning är omvänd:
|
|
|
Anger det interna utväxlingsförhållandet för kugghjulspatronen.
|
Notes#
Växelinställningen ska matcha den fysiska patronen som är installerad i motorn.
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);
Motorgrupp#
Class Constructors#
motor_group( motor &m1, Args&... m2 );
Class Destructor#
Förstör objektet motor_group och frigör tillhörande resurser.
~motor_group();
Parameters#
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Den första motorn som läggs till i gruppen. |
|
|
Ytterligare motorer har lagts till i gruppen. Maximalt fyra motorer i en motorgrupp. |
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);
Medlemsfunktioner#
There are many ways to code motors and motor groups. Below is a list of all motor and motor_group member functions:
Åtgärder — Stoppa och rotera motorer och motorgrupper.
spin— Snurrar en motor eller motorgrupp framåt eller bakåt i all oändlighet.spinFor— Snurrar en motor eller motorgrupp under en specifik sträcka eller tidsperiod.spinToPosition— Roterar en motor eller motorgrupp till en specifik position.stop— Stoppar en motor eller motorgrupp från att rotera.
Mutatorer — Justera inställningar för motor och motorgrupp.
setVelocity— Anger hur snabbt en motor eller motorgrupp ska snurra.setMaxTorque— Anger hur hårt en motor eller motorgrupp tillåts trycka under rotation.setPosition— Ändrar motorns eller motorgruppens aktuella position till ett nytt värde.setStopping— Ställer in hur en motor eller motorgrupp ska stoppa rörelsen: genom att bromsa, frihjula eller hålla.setTimeout— Anger hur lång tid en motor eller motorgrupp ska försöka slutföra en rörelse.
Getters — Kontrollera motor- och motorgruppstatus.
isDone— Returnerar om motorn eller motorgruppen är klar med rörelsen, som ett booleskt värde.isSpinning— Returnerar om motorn eller motorgruppen snurrar, som ett booleskt värde.position— Returnerar motorns eller motorgruppens aktuella position.velocity— Returnerar hur snabbt motorn eller motorgruppen roterar.current— Returnerar hur mycket elektrisk ström motorn eller motorgruppen använder.power— Returnerar hur mycket effekt motorn eller motorgruppen använder.torque— Returnerar hur mycket moment motorn eller motorgruppen använder.efficiency— Returnerar hur effektivt motorn eller motorgruppen använder ström.temperature— Returnerar temperaturen för motorn eller motorgruppen.voltage— Returnerar den elektriska spänning som tillförs motorn eller motorgruppen.direction— Returnerar riktningen som motorn eller motorgruppen roterar.installed— Returnerar om motorn eller motorgruppen är kopplad till hjärnan.count— Returnerar antalet motorer i en motorgrupp.
Innan någon medlemsfunktion av typen motor eller motor_group anropas måste en instans skapas, enligt nedan:
/* 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);
Åtgärder#
spin#
spin roterar en motor eller motorgrupp framåt eller bakåt för alltid. Motorn eller motorgruppen fortsätter att snurra tills den får en annan åtgärd, som att snurra i en annan riktning eller stanna.
1 — Roterar motorn eller motorgruppen med den för närvarande konfigurerade motorhastigheten.
void spin( directionType dir );
2 — Roterar motorn eller motorgruppen med den angivna hastigheten.
void spin( directionType dir, double velocity, velocityUnits units );
Parameters3 — Roterar motorn eller motorgruppen med den angivna spänningen.
void spin( directionType dir, double voltage, voltageUnits units );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Motorns eller motorgruppens rotationsriktning: |
|
|
Hastigheten att rotera med från 0% till 100% när |
|
|
Enheten som används för att representera hastighet:
|
|
|
Spänningen att rotera med. Ett negativt värde roterar motsatt den givna |
|
|
Enheten som används för att representera spänning:
|
Den här funktionen returnerar inget värde.
NotesDen här funktionen är inte väntetid och projektet fortsätter att köras omedelbart efter anropet.
Motorn eller motorgruppen fortsätter att snurra tills
stopanropas eller en annan rörelsefunktion utförs.Funktioner som
isDoneochisSpinningär inte tillämpliga påspin, eftersom den inte använder målbaserad rörelse (har ingenrotationellertimeparameter).
// Spin forward, then stop
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop();
spinFor#
spinFor snurrar en motor eller motorgrupp under en specifik sträcka eller tid. En rotationsbaserad snurrning är relativ till motorns eller motorgruppens aktuella position. Som standard väntar projektet tills motorn eller motorgruppen har snurrat klart innan nästa kodrad körs.
1 — Snurrar ett specifikt avstånd med den hastighet som anges i funktionsanropet.
bool spinFor( double rotation, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
2 — Accepterar en riktningsparameter och roterar ett specifikt avstånd med den hastighet som anges i funktionsanropet.
bool spinFor( directionType dir, double rotation, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
3 — Snurrar ett specifikt avstånd med hjälp av nuvarande konfigurerad motorhastighet.
bool spinFor( double rotation, rotationUnits units, bool waitForCompletion = true );
4 — Accepterar en riktningsparameter och roterar ett specifikt avstånd med hjälp av nuvarande konfigurerad motorhastighet.
bool spinFor( directionType dir, double rotation, rotationUnits units, bool waitForCompletion = true );
5 — Snurrar under en viss tid med den hastighet som anges i funktionsanropet.
bool spinFor( double time, timeUnits units, double velocity, velocityUnits units_v );
6 — Accepterar en riktningsparameter och roterar under en viss tid med den hastighet som anges i funktionsanropet.
bool spinFor( directionType dir, double time, timeUnits units, double velocity, velocityUnits units_v );
7 — Snurrar under en viss tid med hjälp av nuvarande konfigurerad motorhastighet.
bool spinFor( double time, timeUnits units );
Parameters8 — Accepterar en riktningsparameter och roterar under en viss tid med hjälp av nuvarande konfigurerad motorhastighet.
bool spinFor( directionType dir, double time, timeUnits units );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Motorns eller motorgruppens rotationsriktning: |
|
|
Den sträcka som motorn eller motorgruppen roterar. |
|
|
Rotationsenhet:
|
|
|
Den tid som motorn eller motorgruppen roterar. |
|
|
Tidsenhet:
|
|
|
Hastigheten att rotera med från 0% till 100% när |
|
|
Enheten som används för att representera
|
|
|
|
Returnerar ett booleskt värde som visar om motorn eller motorgruppen nådde målvärdet.
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.
Att utföra en annan motorrörelsefunktion (t.ex.
spinellerstop) medanspinForpågår kommer att avbryta den aktuella rörelsen.Eftersom
spinForär målbaserat (använder enrotationellertimeparameter), fungerar funktioner somisDoneochisSpinningmedspinFor.
// 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 snurrar en motor eller motorgrupp till en specifik position.
En motors eller motorgrupps position är hur långt den har snurrat, mätt i degrees eller turns. Ett varv är lika med 360 grader. I början av ett projekt sätts motorns eller motorgruppens position till 0 grader. Motorns eller motorgruppens position kan också ställas in med funktionen setPosition.
Positionsvärdena är absoluta. Det betyder att rotationens riktning beror på motorns eller motorgruppens aktuella position.
Om motorn eller motorgruppen till exempel börjar vid 0 grader och snurrar till en position på 720 grader, snurrar den framåt två varv. Om den sedan snurrar till en position på 360 grader, snurrar den bakåt ett varv, eftersom 360 är mindre än 720.
Available Functions1 — Snurrar till en specifik position med den hastighet som anges i funktionsanropet.
bool spinToPosition( double rotation, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
Parameters2 — Roterar till en specifik position med hjälp av nuvarande konfigurerad motorhastighet.
bool spinToPosition( double rotation, rotationUnits units, bool waitForCompletion = true );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Positionsvärdet som motorn eller motorgruppen kommer att rotera till. |
|
|
Rotationsenhet:
|
|
|
Hastigheten att rotera med från 0% till 100% när |
|
|
Enheten som används för att representera
|
|
|
|
Returnerar ett booleskt värde som visar om motorn eller motorgruppen startade den begärda målbaserade rörelsen.
true— The motor or motor group begins the requested target-based movement.false— The call fails orwaitForCompletionis set tofalse.
Att utföra en annan motorrörelsefunktion (t.ex.
spinellerspinFor) medanspinToPositionpågår kommer att avbryta den aktuella rörelsen.Eftersom
spinToPositionär målbaserat (använder enrotationparameter), fungerar funktioner somisDoneochisSpinningmedspinToPosition.
// Spin forward, then go to 90°
Motor1.spin(forward);
wait(1, seconds);
Motor1.spinToPosition(90, degrees);
stop#
stop stoppar en motor eller motorgrupp från att rotera.
1 — Stoppar motorn eller motorgruppen med hjälp av nuvarande konfigurerat bromsläge.
void stop();
Parameters2 — Stoppar motorn eller motorgruppen med hjälp av bromsläget som anges i funktionsanropet.
void stop( brakeType mode );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Valfritt. Hur motorn eller motorgruppen stannar:
|
Den här funktionen returnerar inget värde.
NotesOm du anropar
stopstoppas omedelbart all pågående motor- eller motorgruppsrörelse.Om inget bromsläge anges använder motorn eller motorgruppen nuvarande konfigurerat bromsläge.
stopavbryter alla aktiva målbaserade rörelser (såsomspinForellerspinToPosition).
// Spin and coast to a stop
Motor1.setVelocity(100, percent);
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop(coast);
Mutatorer#
setVelocity#
setVelocity anger hur snabbt en motor eller motorgrupp ska snurra. En högre procentandel gör att motorn eller motorgruppen snurrar snabbare och en lägre procentandel gör att motorn eller motorgruppen snurrar långsammare.
Varje projekt börjar med att varje motor eller motorgrupp roterar med 50 % hastighet som standard.
Obs! En högre hastighet gör att motorn eller motorgruppen roterar snabbare, men den kan vara mindre exakt. En lägre hastighet gör att motorn eller motorgruppen roterar långsammare, men den kan vara mer exakt.
Available Functionsvoid setVelocity(
double velocity,
velocityUnits units );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Hastigheten att rotera med från 0% till 100% när |
|
|
Enheten som används för att representera
|
Den här funktionen returnerar inget värde.
NotesAlla efterföljande motorrörelsefunktioner (som
spin,spinForellerspinToPosition) som inte explicit anger en hastighet kommer att använda detta värde.
// 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#
Vridmoment visar hur hårt en motor eller motorgrupp kan trycka eller dra medan den roterar.
setMaxTorque ställer in det högsta vridmomentet som en motor eller motorgrupp får använda.
En högre procentandel låter motorn eller motorgruppen trycka hårdare, till exempel när man lyfter ett tungt föremål. En lägre procentandel begränsar hur hårt motorn eller motorgruppen kan trycka. Detta kan hjälpa till att skydda roboten om motorn eller motorgruppen fastnar eller når slutet av hur långt den kan röra sig.
Varje projekt börjar med att varje motor eller motorgrupps vridmoment är 50 % som standard.
Available Functions1 — Ställer in maximalt vridmoment som en procentandel av motorns eller motorgruppens nominella vridmoment.
void setMaxTorque( double value, percentUnits units );
2 — Ställer in maximalt vridmoment med hjälp av fysiska momentenheter.
void setMaxTorque( double value, torqueUnits units );
Parameters3 — Ställer in maximalt vridmoment genom att begränsa motorströmmen.
void setMaxTorque( double value, currentUnits units );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Det maximala vridmomentet som motorn eller motorgruppen kan använda. |
|
|
Anger vridmoment i procent: |
|
|
Anger vridmoment i fysiska enheter som:
|
|
|
Anger vridmoment genom att begränsa motorströmmen:
|
Den här funktionen returnerar inget värde.
NotesNär
currentUnitsanvänds begränsas vridmomentet genom att begränsa hur mycket elektrisk ström motorn eller motorgruppen kan använda.
setPosition#
En motors eller motorgrupps position är hur långt den har snurrat, mätt i degrees eller turnsEtt varv är lika med 360 grader. setPosition ändrar motorns eller motorgruppens aktuella position till ett nytt värde.
Om till exempel en motor eller motorgrupp har snurrat till 180 grader, kommer en position som ställs in på 0 grader att återställas från 180 till 0 grader. Motorn eller motorgruppen kan sedan snurra till positioner baserat på det nya värdet.
Available Functionsvoid setPosition(
double value,
rotationUnits units );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Positionsvärdet som ska ställas in för motorn eller motorgruppen. |
|
|
Positionsenhet:
|
Den här funktionen returnerar inget värde.
NotesEfter anrop av
setPositionkommer efterföljande anrop avspinToPositionatt använda den uppdaterade positionen som referens.
setStopping#
setStopping anger hur en motor eller motorgrupp ska stoppas: genom att bromsa, frihjula eller hålla.
void setStopping(
brakeType mode );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Hur motorn eller motorgruppen kommer att stoppas:
|
Den här funktionen returnerar inget värde.
NotesAlla efterföljande anrop till
stoputan ett specificerat bromsläge kommer att använda detta värde.
setTimeout#
setTimeout anger hur lång tid en motor eller motorgrupp ska försöka slutföra en rörelse. Om motorn eller motorgruppen inte kan slutföra inom den tiden kommer den att sluta försöka och gå vidare till nästa kodrad. Detta förhindrar att motorn eller motorgruppen fastnar i en rörelse.
void setTimeout(
int32_t time,
timeUnits units );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Den tid som motorn eller motorgruppen kan försöka slutföra en rörelse. Detta måste vara ett positivt heltal. |
|
|
Tidsenhet:
|
Returvärden
Den här funktionen returnerar inget värde.
NotesMotor- eller motorgruppstimeout används för att förhindra att rörelser som inte når sin målposition stoppar exekveringen av andra kommandon i stacken.
Om motorn eller motorgruppen inte når sin målposition innan timeout-tiden löper ut, kommer den att sluta försöka och gå vidare till nästa kodrad.
Timeouten gäller funktioner som har ett målvärde som
spinForochspinToPosition.
// Stop a long move after 1 second
Motor1.setTimeout(1, seconds);
Motor1.spinFor(forward, 2, turns);
Motor1.spinToPosition(0, degrees);
Getters#
isDone#
isDone returnerar huruvida motorn eller motorgruppen är klar med att röra sig, som ett booleskt värde. Detta kan användas för att styra tidpunkten för andra beteenden baserat på motorns eller motorgruppens rörelse.
true— Motorn eller motorgruppen är klar med sin rörelse.false— Motorn eller motorgruppen rör sig fortfarande.
Den här funktionen fungerar tillsammans med följande rörelsefunktioner som har parametern waitForCompletion : spinFor och spinToPosition.
bool isDone();
Den här funktionen accepterar inga parametrar.
Return ValuesReturnerar om motorn eller motorgruppen är klar med att röra sig, som ett booleskt värde.
true— The motor or motor group is finished moving.false— The motor or motor group is still moving.
isDonefungerar tillsammans med följande rörelsefunktioner som har parameternwaitForCompletion:spinForochspinToPosition.
// 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 returnerar huruvida motorn eller motorgruppen snurrar, som ett booleskt värde. Detta kan användas för att styra tidpunkten för andra beteenden baserat på motorns eller motorgruppens rörelse.
true— Motorn eller motorgruppen snurrar.false— Motorn eller motorgruppen snurrar inte.
Den här funktionen fungerar tillsammans med rörelsefunktioner som spin, spinFor och spinToPosition.
bool isSpinning();
Den här funktionen accepterar inga parametrar.
Return ValuesReturnerar om motorn eller motorgruppen snurrar, som ett booleskt värde.
true— The motor or motor group is spinning.false— The motor or motor group is not spinning.
isSpinningfungerar med rörelsefunktioner somspin,spinForochspinToPosition.
// 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#
En motors eller motorgrupps position är hur långt den har snurrat, mätt i degrees eller turnsEtt varv är lika med 360 grader. position returnerar motorns eller motorgruppens aktuella position.
I början av ett projekt är motorns eller motorgruppens position inställd på 0 grader. Om motorn eller motorgruppen roterar ett varv framåt blir positionen 360 grader eller 1 varv. Om motorn eller motorgruppen roterar åt andra hållet blir positionen negativ.
Available Functionsdouble position(
rotationUnits units );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Enheten för att återställa motorns eller motorgruppens position i:
|
Returnerar double som representerar motorns eller motorgruppens aktuella position i de angivna enheterna.
Anrop av
setPositionändrar referenspunkten för detta värde.Det returnerade värdet återspeglar den aktuella pulsgivarens avläsning och indikerar inte om motorn eller motorgruppen är aktivt i rörelse.
När den anropas på en
motor_groupreturnerar denna funktion positionen för den första motorn i gruppen.
// Spin, then show the final position
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop();
Brain.Screen.print("Pos: %f", Motor1.position(degrees));
velocity#
velocity returnerar hur snabbt motorn eller motorgruppen roterar.
Ett positivt värde innebär att motorn eller motorgruppen roterar framåt. Ett negativt värde innebär att den roterar bakåt.
Available Functionsdouble velocity(
velocityUnits units );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Enheten som används för att representera hastighet:
|
Returnerar double som representerar hur snabbt motorn eller motorgruppen roterar i de angivna enheterna.
Anteckningar
När den anropas på en
motor_groupreturnerar denna funktion hastigheten för den första motorn i gruppen.
current#
current returnerar hur mycket elektrisk ström motorn eller motorgruppen använder. Ström är mängden elektricitet som flyter genom motorn eller motorgruppen. När strömmen returneras i ampere rapporteras den från 0,0 till 1,2 A.
Ett högre strömvärde innebär att motorn eller motorgruppen använder mer elektrisk ström. Detta kan hända när motorn eller motorgruppen lyfter något tungt, trycker mot ett föremål eller försöker röra sig när det har fastnat.
Detta kan användas för att kontrollera om motorn eller motorgruppen har problem under en rörelse. Om strömmen förblir hög kan motorn bli varmare eller använda strömmen mindre effektivt.
Available Functions1 — Returnerar motorns eller motorgruppens elektriska ström i ampere.
double current( currentUnits units = amp );
Parameters2 — Returnerar motorns eller motorgruppens elektriska ström som en procentandel av maximal märkström.
double current( percentUnits units );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Enheten som används för att representera ström: |
|
|
Representerar strömmen som en procentandel av motorns maximala märkström: |
Returnerar double som representerar hur mycket elektrisk ström motorn eller motorgruppen drar i de angivna enheterna.
Anteckningar
När den anropas på en
motor_groupreturnerar denna funktion den totala elektriska strömmen för alla motorer i gruppen.
power#
power returnerar hur mycket effekt motorn eller motorgruppen använder i watt. Effekt visar hur snabbt motorn eller motorgruppen förbrukar energi.
Ett högre effektvärde innebär att motorn eller motorgruppen förbrukar energi snabbare. Detta kan hända när motorn eller motorgruppen lyfter något tungt, trycker mot ett föremål eller försöker röra sig när det har fastnat.
Detta kan användas för att jämföra rörelser eller kontrollera om motorn eller motorgruppen har problem. Om effekten förblir hög kan motorn bli varmare eller använda energi mindre effektivt.
Available Functionsdouble power(
powerUnits units = watt );
Parametrar
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Enheten som används för att representera motoreffekten:
|
Returvärden
Returnerar double som representerar hur mycket effekt motorn eller motorgruppen använder i watt.
Anteckningar
När den anropas på en
motor_group, returnerar denna funktion den elektriska effekten för den första motorn i gruppen.
torque#
Vridmoment visar hur hårt en motor eller motorgrupp vrider, trycker eller drar medan den roterar.
torque returnerar hur mycket vridmoment motorn eller motorgruppen använder.
Ett högre vridmomentvärde innebär att motorn eller motorgruppen trycker eller drar hårdare. Detta kan hända när motorn eller motorgruppen lyfter något tungt, trycker mot ett föremål eller försöker röra sig när det har fastnat.
Detta kan användas för att kontrollera om motorn eller motorgruppen har problem eller för att jämföra hur mycket tryck olika rörelser behöver.
För att ställa in vridmomentet för en motor eller motorgrupp, använd setMaxTorque.
double torque(
torqueUnits units = Nm );
Parametrar
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Enheten som används för att representera motorns vridmoment:
|
Returvärden
Returnerar double som representerar hur mycket vridmoment motorn eller motorgruppen använder i de angivna enheterna.
Anteckningar
När den anropas på en
motor_groupreturnerar denna funktion det mekaniska utgångsmomentet för den första motorn i gruppen.
efficiency#
efficiency returnerar hur effektivt motorn eller motorgruppen använder ström, som en procentandel från 0 % till 100 %.
Verkningsgraden visar hur mycket av motorns eller motorgruppens kraft som används för rörelse. Ett högre verkningsgradsvärde innebär att mer av motorns eller motorgruppens kraft används för rörelse. Ett lägre verkningsgradsvärde kan uppstå när motorn eller motorgruppen arbetar hårt men inte rör sig mycket, till exempel när den har fastnat eller trycker mot ett föremål.
Detta kan användas för att jämföra rörelser eller kontrollera om motorn eller motorgruppen slösar kraft istället för att använda den till rörelse.
Available Functionsdouble efficiency(
percentUnits units = percent );
Parametrar
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Enheten som används för att representera motoreffektivitet:
|
Returvärden
Returnerar double som representerar hur effektivt motorn eller motorgruppen använder ström i procent.
Anteckningar
När den anropas på en
motor_groupreturnerar denna funktion verkningsgraden för den första motorn i gruppen.
temperature#
temperature returnerar temperaturen för motorn eller motorgruppen.
Motortemperaturen visar hur varm motorn eller motorgruppen är. En högre temperatur innebär att motorn eller motorgruppen blir varmare medan den arbetar. Motorn bör hålla sig under 55°C
Om motorn eller motorgruppen blir för varm sänker den sin maximala ström för att skydda sig själv. Vid 70°Cstannar motorn tills den svalnar.
Detta kan användas för att kontrollera om motorn eller motorgruppen blir för varm under upprepade rörelser, långa körningar eller när den trycker mot ett föremål.
Available Functions1 — Returnerar motor- eller motorgrupptemperaturen som en procentandel av maximal driftstemperatur.
double temperature( percentUnits units = percent );
2 — Returnerar motor- eller motorgrupptemperatur i fysiska temperaturenheter.
double temperature( temperatureUnits units );
Parametrar
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Enheten som används för att representera motor- eller motorgrupptemperatur som en procentandel:
|
|
|
Enheten som används för att representera motor- eller motorgrupptemperatur i grader:
|
Returvärden
Returnerar double som representerar temperaturen för motorn eller motorgruppen i de angivna enheterna.
Anteckningar
Motorns driftstemperaturintervall är ungefär
20°C(68°F) till70°C(158°F).När den anropas på en
motor_groupreturnerar denna funktion temperaturen för den första motorn i gruppen.
voltage#
voltage returnerar den elektriska spänning som tillförs motorn eller motorgruppen.
double voltage(
voltageUnits units = volt );
Parametrar
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Enheten som representerar spänningen:
|
Returvärden
Returnerar double som representerar den elektriska spänning som tillförs motorn eller motorgruppen i de angivna enheterna.
Anteckningar
När den anropas på en
motor_groupreturnerar denna funktion den elektriska spänningen för den första motorn i gruppen.
direction#
direction returnerar den riktning som motorn eller motorgruppen roterar.
directionType direction();
Parametrar
Den här funktionen tar inga parametrar.
Returvärden
Returnerar ett directionType som anger motorns eller motorgruppens aktuella riktning:
forward— The motor or motor group is spinning forward.reverse— The motor or motor group is spinning in reverse.
installed#
installed returnerar om motorn eller motorgruppen är kopplad till IQ-hjärnan (1:a generationen).
bool installed();
Parametrar
Den här funktionen tar inga parametrar.
Returvärden
Returnerar värdet bool som anger om motorn eller motorgruppen är ansluten.
true— The motor or motor group is connected.false— The motor or motor group is not connected.
count#
count returnerar antalet motorer i en motorgrupp.
int32_t count();
Parametrar
Den här funktionen tar inga parametrar.
Returvärden
Returnerar int32_t som representerar antalet motorer i motorgruppen.