Moottori ja moottoriryhmä#
Johdanto#
Moottorit ja moottoriryhmät ohjaavat robotin osien liikkumista. motor -objekti ohjaa yhtä konfiguroitua IQ Smart -moottoria, kun taas motor_group -objekti ohjaa useita konfiguroituja IQ Smart -moottoreita yhdessä, jotta ne liikkuvat tandemissa. Moottoreita ja moottoriryhmiä voidaan käyttää käden nostamiseen, kynnen kääntämiseen, pyörän pyörittämiseen tai jonkin muun rakennelman osan siirtämiseen. Kaksi moottoria voi toimia yhdessä voimansiirrona koko robotin liikuttamiseksi ja kääntämiseksi.
Jokainen moottori tai moottoriryhmä konfiguroidaan Laitteet-ikkunassa. Moottorin ja moottoriryhmän nimet voivat muuttua kokoonpanosta riippuen. Tällä sivulla käytetään esimerkkiniminä Motor1 ja MotorGroup1 Korvaa ne omilla konfiguroiduilla nimilläsi tarvittaessa.
Oletusarvoisesti forward pyörittää moottoria vastapäivään ja reverse pyörittää moottoria myötäpäivään. Jos moottori on asetettu vaihtamaan pyörimissuuntaa, nämä suunnat vaihtuvat.
Moottori#
Class Constructors#
1 — Luo
motor-objektin määritettyyn Smart Port -porttiin kytketylle IQ Smart -moottorille. Moottori käyttää automaattisesti havaittua sisäistägearSetting.motor( int32_t index );
2 — Luo
motor-objektin määritettyyn Smart Port -porttiin ja valinnaisesti vaihtaa sen suunnan päinvastaiseksi. Moottori käyttää automaattisesti havaittua sisäistägearSetting-asetusta.motor( int32_t index, bool reverse );
3 — Luo
motor-objektin määritettyyn Smart Port -porttiin määritetyllägearSetting-asetuksella.motor( int32_t index, gearSetting gears );
4 — Luo
motor-objektin määritettyyn Smart Port -porttiin määritetyllägearSetting-asetuksella ja valinnaisella käänteisellä suunnalla.motor( int32_t index, gearSetting gears, bool reverse );
Class Destructor#
Tuhoaa motor -objektin ja vapauttaa siihen liittyvät resurssit.
~motor();
Parameters#
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Älyportti, johon moottori on kytketty, kirjoitetaan muodossa |
|
|
Määrittää, käännetäänkö moottorin pyörimissuunta:
|
|
|
Määrittää sisäisen vaihdelaatikon välityssuhteen.
|
Notes#
Vaihdeasetuksen tulee vastata moottoriin asennettua fyysistä patruunaa.
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);
Moottoriryhmä#
Class Constructors#
motor_group( motor &m1, Args&... m2 );
Class Destructor#
Tuhoaa motor_group -objektin ja vapauttaa siihen liittyvät resurssit.
~motor_group();
Parameters#
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Ensimmäinen moottori lisättiin ryhmään. |
|
|
Ryhmään on lisätty lisää moottoreita. Yhdessä moottoriryhmässä on enintään neljä moottoria. |
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);
Jäsenten toiminnot#
Moottoreita ja moottoriryhmiä voi koodata monella tapaa. Alla on luettelo kaikista motor ja motor_group -jäsenfunktioista:
Toiminnot — Pysäytä ja pyöritä moottoreita ja moottoriryhmiä.
spin— Pyörittää moottoria tai moottoriryhmää eteen- tai taaksepäin ikuisesti.spinFor— Pyörittää moottoria tai moottoriryhmää tietyn matkan tai ajan.spinToPosition— Pyörittää moottorin tai moottoriryhmän tiettyyn asentoon.stop— Pysäyttää moottorin tai moottoriryhmän pyörimisen.
Mutaattorit — Säädä moottorin ja moottoriryhmän asetuksia.
setVelocity— Kertoo moottorille tai moottoriryhmälle, kuinka nopeasti sen tulisi pyöriä.setMaxTorque— Määrittää, kuinka kovaa moottori tai moottoriryhmä saa työntää pyöriessään.setPosition— Muuttaa moottorin tai moottoriryhmän nykyisen sijainnin uuteen arvoon.setStopping— Määrittää, miten moottori tai moottoriryhmä pysäytetään: jarruttamalla, rullaamalla tai pitämällä.setTimeout— Asettaa, kuinka kauan moottori tai moottoriryhmä yrittää suorittaa liikkeen loppuun.
Getterit — Tarkista moottorin ja moottoriryhmän tila.
isDone— Palauttaa totuusarvona tiedon siitä, onko moottorin tai moottoriryhmän liike päättynyt.isSpinning— Palauttaa totuusarvona tiedon siitä, pyöriikö moottori vai moottoriryhmä.position— Palauttaa moottorin tai moottoriryhmän nykyisen sijainnin.velocity— Palauttaa moottorin tai moottoriryhmän pyörimisnopeuden.current— Palauttaa moottorin tai moottoriryhmän käyttämän sähkövirran määrän.power— Palauttaa moottorin tai moottoriryhmän käyttämän tehon.torque— Palauttaa moottorin tai moottoriryhmän käyttämän vääntömomentin.efficiency— Palauttaa moottorin tai moottoriryhmän tehokkuuden.temperature— Palauttaa moottorin tai moottoriryhmän lämpötilan.voltage— Palauttaa moottorille tai moottoriryhmälle syötetyn sähköjännitteen.direction— Palauttaa moottorin tai moottoriryhmän pyörimissuunnan.installed— Palauttaa, onko moottori vai moottoriryhmä kytketty aivoihin.count— Palauttaa moottoriryhmän moottoreiden lukumäärän.
Ennen minkään motor tai motor_group -jäsenfunktion kutsumista on luotava instanssi alla olevan mukaisesti:
/* 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);
Toiminnot#
spin#
spin pyörittää moottoria tai moottoriryhmää eteen- tai taaksepäin ikuisesti. Moottori tai moottoriryhmä jatkaa pyörimistä, kunnes sille annetaan toinen toiminto, kuten pyöriminen eri suuntaan tai pysähtyminen.
1 — Pyörittää moottoria tai moottoriryhmää käyttäen nykyistä konfiguroitua moottorin nopeutta.
void spin( directionType dir );
2 — Pyörittää moottoria tai moottoriryhmää määritetyllä nopeudella.
void spin( directionType dir, double velocity, velocityUnits units );
Parameters3 — Pyörittää moottoria tai moottoriryhmää määritetyllä jännitteellä.
void spin( directionType dir, double voltage, voltageUnits units );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Moottorin tai moottoriryhmän pyörimissuunta: |
|
|
Pyörimisnopeus 0 %:sta 100 %:iin, kun käytetään |
|
|
Nopeuden esittämiseen käytetty yksikkö:
|
|
|
Pyöritettävä jännite. Negatiivinen arvo pyörii annetun |
|
|
Jännitteen esittämiseen käytetty yksikkö:
|
Tämä funktio ei palauta arvoa.
NotesTämä funktio ei odota, ja projektin suoritus jatkuu heti kutsun jälkeen.
Moottori tai moottoriryhmä jatkaa pyörimistä, kunnes kutsutaan
stoptai suoritetaan jokin muu liikefunktio.Funktiot, kuten
isDonejaisSpinning, eivät sovellu funktiollespin, koska se ei käytä kohteeseen perustuvaa liikettä (sillä ei olerotationtaitime-parametria).
// Spin forward, then stop
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop();
spinFor#
spinFor pyörittää moottoria tai moottoriryhmää tietyn matkan tai ajan. Pyörimiseen perustuva pyöritys on suhteessa moottorin tai moottoriryhmän nykyiseen sijaintiin. Oletusarvoisesti projekti odottaa, kunnes moottori tai moottoriryhmä on pyörinyt loppuun, ennen kuin seuraava koodirivi suoritetaan.
1 — Pyörii tietyn matkan funktiokutsussa annetulla nopeudella.
bool spinFor( double rotation, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
2 — Hyväksyy suuntaparametrin ja pyörii tietyn matkan funktiokutsussa annetulla nopeudella.
bool spinFor( directionType dir, double rotation, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
3 — Pyörii tietyn matkan käyttäen nykyistä konfiguroitua moottorin nopeutta.
bool spinFor( double rotation, rotationUnits units, bool waitForCompletion = true );
4 — Hyväksyy suuntaparametrin ja pyörii tietyn matkan käyttäen nykyistä konfiguroitua moottorin nopeutta.
bool spinFor( directionType dir, double rotation, rotationUnits units, bool waitForCompletion = true );
5 — Pyörii tietyn ajan funktiokutsussa annetulla nopeudella.
bool spinFor( double time, timeUnits units, double velocity, velocityUnits units_v );
6 — Hyväksyy suuntaparametrin ja pyörii tietyn ajan funktiokutsussa annetulla nopeudella.
bool spinFor( directionType dir, double time, timeUnits units, double velocity, velocityUnits units_v );
7 — Pyörii tietyn ajan käyttäen nykyistä konfiguroitua moottorin nopeutta.
bool spinFor( double time, timeUnits units );
Parameters8 — Hyväksyy suuntaparametrin ja pyörii tietyn ajan käyttäen nykyistä konfiguroitua moottorin nopeutta.
bool spinFor( directionType dir, double time, timeUnits units );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Moottorin tai moottoriryhmän pyörimissuunta: |
|
|
Moottorin tai moottoriryhmän pyörimismatka. |
|
|
Pyörimisyksikkö:
|
|
|
Moottorin tai moottoriryhmän pyörimisaika. |
|
|
Aikayksikkö:
|
|
|
Pyörimisnopeus 0 %:sta 100 %:iin, kun käytetään |
|
|
The unit used to represent
|
|
|
|
Palauttaa totuusarvon, joka näyttää, saavuttiko moottori tai moottoriryhmä kohdearvon.
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.
Toisen moottorin liikefunktion suorittaminen (kuten
spintaistop) funktionspinForollessa käynnissä keskeyttää nykyisen liikkeen.Koska
spinForon kohteeseen perustuva (käyttäärotationtaitimeparametria), funktiot, kutenisDonejaisSpinning, toimivatspinForkanssa.
// 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 pyörittää moottoria tai moottoriryhmää tiettyyn asentoon.
Moottorin tai moottoriryhmän asento ilmaisee, kuinka pitkälle se on pyörinyt, mitattuna degrees tai turnsYksi kierros vastaa 360 astetta. Projektin alussa moottorin tai moottoriryhmän asento asetetaan 0 asteeseen. Moottorin tai moottoriryhmän asento voidaan asettaa myös käyttämällä setPosition-funktiota.
Paikka-arvot ovat absoluuttisia. Tämä tarkoittaa, että pyörimissuunta riippuu moottorin tai moottoriryhmän nykyisestä sijainnista.
Esimerkiksi, jos moottori tai moottoriryhmä käynnistyy 0 asteesta ja pyörii 720 asteen asentoon, se pyörii kaksi kierrosta eteenpäin. Jos se sitten pyörii 360 asteen asentoon, se pyörii yhden kierroksen taaksepäin, koska 360 on pienempi kuin 720.
Available Functions1 — Pyörii tiettyyn paikkaan funktiokutsussa annetulla nopeudella.
bool spinToPosition( double rotation, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
Parameters2 — Pyörii tiettyyn asentoon käyttäen nykyistä konfiguroitua moottorin nopeutta.
bool spinToPosition( double rotation, rotationUnits units, bool waitForCompletion = true );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Asema-arvo, johon moottori tai moottoriryhmä pyörii. |
|
|
Pyörimisyksikkö:
|
|
|
Pyörimisnopeus 0 %:sta 100 %:iin, kun käytetään |
|
|
Yksikkö, jota käytetään esittämään
|
|
|
|
Palauttaa totuusarvon, joka näyttää, aloittiko moottori vai moottoriryhmä pyydetyn kohteeseen perustuvan liikkeen.
true— The motor or motor group begins the requested target-based movement.false— The call fails orwaitForCompletionis set tofalse.
Toisen moottorin liikefunktion (kuten
spintaispinFor) suorittaminen funktionspinToPositionollessa käynnissä keskeyttää nykyisen liikkeen.Koska
spinToPositionon kohteeseen perustuva (käyttäärotation-parametria), funktiot, kutenisDonejaisSpinning, toimivatspinToPositionn kanssa.
// Spin forward, then go to 90°
Motor1.spin(forward);
wait(1, seconds);
Motor1.spinToPosition(90, degrees);
stop#
stop pysäyttää moottorin tai moottoriryhmän pyörimisen.
1 — Pysäyttää moottorin tai moottoriryhmän käyttämällä nykyistä konfiguroitua jarrutustapaa.
void stop();
Parameters2 — Pysäyttää moottorin tai moottoriryhmän funktiokutsussa määritetyllä jarrutustilalla.
void stop( brakeType mode );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Valinnainen. Miten moottori tai moottoriryhmä pysähtyy:
|
Tämä funktio ei palauta arvoa.
NotesKomento
stoppysäyttää välittömästi kaikki nykyiset moottorin tai moottoriryhmän liikkeet.Jos jarrutustapaa ei ole määritetty, moottori tai moottoriryhmä käyttää nykyistä määritettyä jarrutustapaa.
stopkeskeyttää kaikki aktiiviset kohteeseen perustuvat liikkeet (kutenspinFortaispinToPosition).
// Spin and coast to a stop
Motor1.setVelocity(100, percent);
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop(coast);
Mutaattorit#
setVelocity#
setVelocity kertoo moottorille tai moottoriryhmälle pyörimisnopeuden. Suurempi prosenttiosuus saa moottorin tai moottoriryhmän pyörimään nopeammin ja pienempi prosenttiosuus saa moottorin tai moottoriryhmän pyörimään hitaammin.
Jokainen projekti alkaa siten, että jokainen moottori tai moottoriryhmä pyörii oletusarvoisesti 50 %:n nopeudella.
Huomautus: Suurempi nopeus saa moottorin tai moottoriryhmän pyörimään nopeammin, mutta se voi olla epätarkempi. Pienempi nopeus saa moottorin tai moottoriryhmän pyörimään hitaammin, mutta se voi olla tarkempi.
Available Functionsvoid setVelocity(
double velocity,
velocityUnits units );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Pyörimisnopeus 0 %:sta 100 %:iin, kun käytetään |
|
|
The unit used to represent
|
Tämä funktio ei palauta arvoa.
NotesKaikki myöhemmät moottorin liikefunktiot (kuten
spin,spinFortaispinToPosition), jotka eivät eksplisiittisesti määritä nopeutta, käyttävät tätä arvoa.
// 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#
Vääntömomentti osoittaa, kuinka voimakkaasti moottori tai moottoriryhmä pystyy työntämään tai vetämään pyöriessään.
setMaxTorque asettaa moottorin tai moottoriryhmän käyttämän suurimman sallitun vääntömomentin.
Suurempi prosenttiosuus antaa moottorin tai moottoriryhmän työntää kovemmin, esimerkiksi raskasta esinettä nostettaessa. Pienempi prosenttiosuus rajoittaa sitä, kuinka kovaa moottori tai moottoriryhmä voi työntää. Tämä voi auttaa suojaamaan robottia, jos moottori tai moottoriryhmä jumiutuu tai saavuttaa liikeratansa rajan.
Jokainen projekti alkaa moottorin tai moottoriryhmän vääntömomentilla oletusarvoisesti 50 %.
Available Functions1 — Asettaa suurimman vääntömomentin prosentteina moottorin tai moottoriryhmän nimellisvääntömomentista.
void setMaxTorque( double value, percentUnits units );
2 — Asettaa suurimman vääntömomentin fyysisten vääntömomenttiyksiköiden avulla.
void setMaxTorque( double value, torqueUnits units );
Parameters3 — Asettaa suurimman vääntömomentin rajoittamalla moottorin virtaa.
void setMaxTorque( double value, currentUnits units );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Moottorin tai moottoriryhmän käyttämä suurin vääntömomentti. |
|
|
Määrittää vääntömomentin prosentteina: |
|
|
Määrittää vääntömomentin fyysisissä yksiköissä, kuten:
|
|
|
Määrittää vääntömomentin rajoittamalla moottorin virtaa:
|
Tämä funktio ei palauta arvoa.
NotesKun käytössä on
currentUnits, vääntömomenttia rajoitetaan rajoittamalla moottorin tai moottoriryhmän käyttämää sähkövirtaa.
setPosition#
Moottorin tai moottoriryhmän asento ilmaisee, kuinka pitkälle se on pyörinyt, mitattuna degrees tai turnsYksi kierros vastaa 360 astetta. setPosition muuttaa moottorin tai moottoriryhmän nykyisen sijainnin uuteen arvoon.
Esimerkiksi jos moottori tai moottoriryhmä on pyörinyt 180 astetta, asennon asettaminen 0 asteeseen palauttaa asennon 180:stä 0 asteeseen. Tämän jälkeen moottori tai moottoriryhmä voi pyöriä asentoihin tämän uuden arvon perusteella.
Available Functionsvoid setPosition(
double value,
rotationUnits units );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Moottorille tai moottoriryhmälle asetettava sijaintiarvo. |
|
|
Paikkayksikkö:
|
Tämä funktio ei palauta arvoa.
NotesKun funktiota
setPositionon kutsuttu, myöhemmät funktionspinToPositionkutsut käyttävät päivitettyä sijaintia viitteenä.
setStopping#
setStopping määrittää, miten moottori tai moottoriryhmä pysäyttää liikkumisen: jarruttamalla, rullaamalla tai pitämällä.
void setStopping(
brakeType mode );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Miten moottori tai moottoriryhmä pysähtyy:
|
Tämä funktio ei palauta arvoa.
NotesKaikki myöhemmät
stop-funktion kutsut ilman määritettyä jarrutustapaa käyttävät tätä arvoa.
setTimeout#
setTimeout asettaa ajan, jonka moottori tai moottoriryhmä yrittää suorittaa liikkeen loppuun. Jos moottori tai moottoriryhmä ei pysty suorittamaan sitä tässä ajassa, se lopettaa yrittämisen ja siirtyy seuraavalle koodiriville. Tämä estää moottoria tai moottoriryhmää jumiutumasta liikkeeseen.
void setTimeout(
int32_t time,
timeUnits units );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Aika, jonka moottori tai moottoriryhmä voi yrittää suorittaa liikkeen loppuun. Tämän on oltava positiivinen kokonaisluku. |
|
|
Aikayksikkö:
|
Paluuarvot
Tämä funktio ei palauta arvoa.
NotesMoottorin tai moottoriryhmän aikakatkaisua käytetään estämään liikkeet, jotka eivät saavuta kohdeasentoaan, pysäyttämästä muiden pinossa olevien komentojen suorittamista.
Jos moottori tai moottoriryhmä ei saavuta kohdeasentoaan ennen aikarajan umpeutumista, se lopettaa yrittämisen ja siirtyy seuraavalle koodiriville.
Aikakatkaisu koskee funktioita, joilla on kohdearvo, kuten
spinForjaspinToPosition.
// Stop a long move after 1 second
Motor1.setTimeout(1, seconds);
Motor1.spinFor(forward, 2, turns);
Motor1.spinToPosition(0, degrees);
Getterit#
isDone#
isDone palauttaa totuusarvona tiedon siitä, onko moottori tai moottoriryhmä liikkunut loppuun. Tätä voidaan käyttää muiden moottorin tai moottoriryhmän liikkeen perusteella tapahtuvien toimintojen ajoituksen ohjaamiseen.
true— Moottorin tai moottoriryhmän liike on päättynyt.false— Moottori tai moottoriryhmä liikkuu edelleen.
Tämä funktio toimii yhdessä seuraavien Motion-funktioiden kanssa, joilla on waitForCompletion -parametri: spinFor ja spinToPosition.
bool isDone();
Tämä funktio ei hyväksy parametreja.
Return ValuesPalauttaa totuusarvona tiedon siitä, onko moottori tai moottoriryhmä liikkunut loppuun.
true— The motor or motor group is finished moving.false— The motor or motor group is still moving.
isDonetoimii yhdessä seuraavien Motion-funktioiden kanssa, joilla onwaitForCompletion-parametri:spinForjaspinToPosition.
// 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 palauttaa totuusarvona, pyöriikö moottori vai moottoriryhmä. Tätä voidaan käyttää muiden moottorin tai moottoriryhmän liikkeen perusteella tapahtuvien toimintojen ajoituksen ohjaamiseen.
true— Moottori tai moottoriryhmä pyörii.false— Moottori tai moottoriryhmä ei pyöri.
Tämä funktio toimii yhdessä Motion-liikefunktioiden, kuten spin, spinFor ja spinToPosition, kanssa.
bool isSpinning();
Tämä funktio ei hyväksy parametreja.
Return ValuesPalauttaa totuusarvona tiedon siitä, pyöriikö moottori vai moottoriryhmä.
true— The motor or motor group is spinning.false— The motor or motor group is not spinning.
isSpinningtoimii Motion-liikefunktioiden, kutenspin,spinForjaspinToPosition, kanssa.
// 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#
Moottorin tai moottoriryhmän asento ilmaisee, kuinka pitkälle se on pyörinyt, mitattuna degrees tai turnsYksi kierros vastaa 360 astetta. position palauttaa moottorin tai moottoriryhmän nykyisen sijainnin.
Projektin alussa moottorin tai moottoriryhmän asento on asetettu arvoon 0 astetta. Jos moottori tai moottoriryhmä pyörii yhden kierroksen eteenpäin, asento on 360 astetta eli 1 kierros. Jos moottori tai moottoriryhmä pyörii vastakkaiseen suuntaan, asento on negatiivinen.
Available Functionsdouble position(
rotationUnits units );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
The unit to return the motor or motor group position in:
|
Palauttaa luvun double joka edustaa moottorin tai moottoriryhmän nykyistä sijaintia määritetyissä yksiköissä.
Funktion
setPositionkutsuminen muuttaa tämän arvon referenssipistettä.Palautettu arvo heijastaa enkooderin nykyistä lukemaa eikä se osoita, liikkuuko moottori vai moottoriryhmä aktiivisesti.
Kun funktiota kutsutaan arvolla
motor_group, se palauttaa ryhmän ensimmäisen moottorin sijainnin.
// Spin, then show the final position
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop();
Brain.Screen.print("Pos: %f", Motor1.position(degrees));
velocity#
velocity palauttaa moottorin tai moottoriryhmän pyörimisnopeuden.
Positiivinen arvo tarkoittaa, että moottori tai moottoriryhmä pyörii eteenpäin. Negatiivinen arvo tarkoittaa, että se pyörii taaksepäin.
Available Functionsdouble velocity(
velocityUnits units );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Nopeuden esittämiseen käytetty yksikkö:
|
Palauttaa arvon double joka edustaa moottorin tai moottoriryhmän pyörimisnopeutta määritetyissä yksiköissä.
Muistiinpanoja
Kun funktiota kutsutaan
motor_group-arvolla, se palauttaa ryhmän ensimmäisen moottorin nopeuden.
current#
current palauttaa moottorin tai moottoriryhmän käyttämän sähkövirran määrän. Virta on moottorin tai moottoriryhmän läpi virtaavan sähkön määrä. Ampeerina palautettuna virta raportoidaan välillä 0,0–1,2 A.
Suurempi virta-arvo tarkoittaa, että moottori tai moottoriryhmä käyttää enemmän sähkövirtaa. Näin voi käydä, kun moottori tai moottoriryhmä nostaa jotain raskasta, työntää jotakin esinettä vasten tai yrittää liikkua jumissa ollessaan.
Tätä voidaan käyttää tarkistamaan, onko moottorissa tai moottoriryhmässä ongelmia liikkeen aikana. Jos virta pysyy korkeana, moottori voi lämmetä tai käyttää tehoa tehottomammin.
Available Functions1 — Palauttaa moottorin tai moottoriryhmän sähkövirran ampeereina.
double current( currentUnits units = amp );
Parameters2 — Palauttaa moottorin tai moottoriryhmän sähkövirran prosentteina nimellisvirrasta.
double current( percentUnits units );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Virran esittämiseen käytetty yksikkö: |
|
|
Edustaa virtaa prosentteina moottorin suurimmasta nimellisvirrasta: |
Palauttaa arvon double joka edustaa moottorin tai moottoriryhmän kuluttaman sähkövirran määrää määritetyissä yksiköissä.
Muistiinpanoja
Kun funktiota kutsutaan
motor_group-arvolla, se palauttaa kaikkien ryhmän moottoreiden kokonaissähkövirran.
power#
power palauttaa moottorin tai moottoriryhmän käyttämän tehon watteina. Teho näyttää, kuinka nopeasti moottori tai moottoriryhmä kuluttaa energiaa.
Suurempi tehoarvo tarkoittaa, että moottori tai moottoriryhmä käyttää energiaa nopeammin. Näin voi käydä, kun moottori tai moottoriryhmä nostaa jotain raskasta, työntää esinettä vasten tai yrittää liikkua jumissa ollessaan.
Tätä voidaan käyttää liikkeiden vertailuun tai moottorin tai moottoriryhmän ongelmien tarkistamiseen. Jos teho pysyy korkeana, moottori saattaa lämmetä tai käyttää energiaa tehottomammin.
Available Functionsdouble power(
powerUnits units = watt );
Parametrit
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Moottorin tehon yksikkö:
|
Paluuarvot
Palauttaa arvon double joka ilmaisee moottorin tai moottoriryhmän käyttämän tehon watteina.
Muistiinpanoja
Kun funktiota kutsutaan
motor_group-ryhmällä, se palauttaa ryhmän ensimmäisen moottorin sähkötehon.
torque#
Vääntömomentti osoittaa, kuinka voimakkaasti moottori tai moottoriryhmä vääntyy, työntää tai vetää pyöriessään.
torque palauttaa moottorin tai moottoriryhmän käyttämän vääntömomentin.
Suurempi vääntömomenttiarvo tarkoittaa, että moottori tai moottoriryhmä työntää tai vetää kovemmin. Näin voi käydä, kun moottori tai moottoriryhmä nostaa jotain raskasta, työntää jotakin esinettä vasten tai yrittää liikkua jumissa ollessaan.
Tätä voidaan käyttää tarkistamaan, onko moottorilla tai moottoriryhmällä vaikeuksia, tai vertailemaan, kuinka paljon työntövoimaa eri liikkeet tarvitsevat.
Moottorin tai moottoriryhmän vääntömomentin asettamiseksi käytä funktiota setMaxTorque.
double torque(
torqueUnits units = Nm );
Parametrit
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Moottorin vääntömomentin yksikkö:
|
Paluuarvot
Palauttaa arvon double joka edustaa moottorin tai moottoriryhmän käyttämää vääntömomenttia määritetyissä yksiköissä.
Muistiinpanoja
Kun funktiota kutsutaan
motor_group-ryhmällä, se palauttaa ryhmän ensimmäisen moottorin mekaanisen lähtömomentin.
efficiency#
efficiency palauttaa moottorin tai moottoriryhmän tehokkuuden prosentteina väliltä 0–100 %.
Hyötysuhde osoittaa, kuinka paljon moottorin tai moottoriryhmän tehosta käytetään liikkumiseen. Korkeampi hyötysuhdearvo tarkoittaa, että enemmän moottorin tai moottoriryhmän tehoa käytetään liikkumiseen. Alhaisempi hyötysuhdearvo voi ilmetä, kun moottori tai moottoriryhmä työskentelee kovasti, mutta ei liiku paljon, esimerkiksi kun se on jumissa tai työntää jotakin esinettä vasten.
Tätä voidaan käyttää liikkeiden vertailuun tai tarkistamaan, tuhlaako moottori tai moottoriryhmä tehoa sen sijaan, että käyttäisi sitä liikkumiseen.
Available Functionsdouble efficiency(
percentUnits units = percent );
Parametrit
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Moottorin hyötysuhteen yksikkö:
|
Paluuarvot
Palauttaa arvon double joka ilmaisee moottorin tai moottoriryhmän tehokkuuden prosentteina.
Muistiinpanoja
Kun funktiota kutsutaan
motor_group-arvolla, se palauttaa ryhmän ensimmäisen moottorin hyötysuhteen.
temperature#
temperature palauttaa moottorin tai moottoriryhmän lämpötilan.
Moottorin lämpötila näyttää, kuinka lämmin moottori tai moottoriryhmä on. Korkeampi lämpötila tarkoittaa, että moottori tai moottoriryhmä lämpenee käytön aikana. Moottorin lämpötilan tulisi pysyä alle 55°C jotta se toimii täydellä teholla.
Jos moottori tai moottoriryhmä kuumenee liikaa, se laskee maksimivirtaansa suojatakseen itseään. Lämpötilassa 70°Cmoottori pysähtyy, kunnes se jäähtyy.
Tätä voidaan käyttää tarkistamaan, kuumeneeko moottori tai moottoriryhmä liikaa toistuvien liikkeiden, pitkien ajojen tai esinettä vasten painautuessa.
Available Functions1 — Palauttaa moottorin tai moottoriryhmän lämpötilan prosentteina suurimmasta käyttölämpötilasta.
double temperature( percentUnits units = percent );
2 — Palauttaa moottorin tai moottoriryhmän lämpötilan fyysisinä lämpötilayksiköinä.
double temperature( temperatureUnits units );
Parametrit
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Moottorin tai moottoriryhmän lämpötilan prosentuaalinen yksikkö:
|
|
|
Moottorin tai moottoriryhmän lämpötilan yksikkö asteina:
|
Paluuarvot
Palauttaa arvon double joka edustaa moottorin tai moottoriryhmän lämpötilaa määritetyissä yksiköissä.
Muistiinpanoja
The operating temperature range for the motor is approximately
20°C(68°F) to70°C(158°F).Kun funktiota kutsutaan
motor_group-arvolla, se palauttaa ryhmän ensimmäisen moottorin lämpötilan.
voltage#
voltage palauttaa moottorille tai moottoriryhmälle syötetyn sähköjännitteen.
double voltage(
voltageUnits units = volt );
Parametrit
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Jännitteen yksikkö:
|
Paluuarvot
Palauttaa arvon double joka edustaa moottorille tai moottoriryhmälle syötettyä sähköjännitettä määritetyissä yksiköissä.
Muistiinpanoja
Kun funktiota kutsutaan
motor_group-ryhmällä, se palauttaa ryhmän ensimmäisen moottorin sähköjännitteen.
direction#
direction palauttaa moottorin tai moottoriryhmän pyörimissuunnan.
directionType direction();
Parametrit
Tämä funktio ei ota vastaan parametreja.
Paluuarvot
Palauttaa arvon directionType , joka ilmaisee moottorin tai moottoriryhmän nykyisen suunnan:
forward— The motor or motor group is spinning forward.reverse— The motor or motor group is spinning in reverse.
installed#
installed palauttaa, onko moottori tai moottoriryhmä kytketty IQ (1. sukupolvi) aivoihin.
bool installed();
Parametrit
Tämä funktio ei ota vastaan parametreja.
Paluuarvot
Palauttaa arvon bool , joka ilmaisee, onko moottori vai moottoriryhmä kytkettynä.
true— The motor or motor group is connected.false— The motor or motor group is not connected.
count#
count palauttaa moottoriryhmän moottoreiden lukumäärän.
int32_t count();
Parametrit
Tämä funktio ei ota vastaan parametreja.
Paluuarvot
Palauttaa arvon int32_t joka edustaa moottoriryhmän moottoreiden lukumäärää.