Variklis ir variklių grupė#
Įvadas#
Varikliai ir variklių grupės valdo, kaip juda roboto dalys. Objektas motor valdo vieną konfigūruotą „IQ Smart“ variklį, o objektas „ motor_group valdo kelis konfigūruotus „IQ Smart“ variklius kartu, kad jie judėtų kartu. Varikliai ir variklių grupės gali būti naudojamos rankai pakelti, nagui pasukti, ratui sukti arba kitai konstrukcijos daliai perkelti. Du varikliai gali veikti kartu kaip pavara, kad judintų ir suktų visą robotą.
Kiekvienas variklis arba variklių grupė konfigūruojama lange „Įrenginiai“. Priklausomai nuo konstrukcijos, variklių ir variklių grupių pavadinimai gali keistis. Šiame puslapyje kaip pavadinimų pavyzdžiai naudojami Motor1 ir MotorGroup1 . Prireikus pakeiskite juos savo sukonfigūruotais pavadinimais.
Pagal numatytuosius nustatymus, forward suka variklį prieš laikrodžio rodyklę, o reverse suka variklį pagal laikrodžio rodyklę. Jei variklis nustatytas suktis atbuline eiga, šios kryptys bus sukeistos.
Variklis#
Class Constructors#
1 — Sukuria
motorobjektą IQ išmaniajam varikliui, prijungtam prie nurodyto išmaniojo prievado. Variklis automatiškai naudoja aptiktą vidinįgearSetting.motor( int32_t index );
2 — Sukuria
motorobjektą nurodytame „Smart Port“ prievade ir pasirinktinai pakeičia jo kryptį. Variklis automatiškai naudoja aptiktą vidinįgearSetting.motor( int32_t index, bool reverse );
3 — Sukuria
motorobjektą nurodytame „Smart Port“ su nurodytugearSetting.motor( int32_t index, gearSetting gears );
4 — Sukuria
motorobjektą nurodytame „Smart Port“ su nurodytugearSettingir pasirinktinai atvirkštine kryptimi.motor( int32_t index, gearSetting gears, bool reverse );
Class Destructor#
Sunaikina motor objektą ir išlaisvina susijusius išteklius.
~motor();
Parameters#
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Išmanusis prievadas, prie kurio prijungtas variklis, užrašomas kaip |
|
|
Nustato, ar variklio sukimosi kryptis yra atvirkštinė:
|
|
|
Nurodo vidinį krumpliaračio kasetės perdavimo skaičių.
|
Notes#
Pavarų nustatymas turėtų atitikti variklyje įmontuotą fizinę kasetę.
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);
Motorų grupė#
Class Constructors#
motor_group( motor &m1, Args&... m2 );
Class Destructor#
Sunaikina motor_group objektą ir išlaisvina susijusius išteklius.
~motor_group();
Parameters#
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Pirmasis variklis buvo pridėtas prie grupės. |
|
|
Prie grupės pridėti papildomi varikliai. Vienoje variklių grupėje gali būti ne daugiau kaip keturi varikliai. |
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);
Narių funkcijos#
Yra daug būdų koduoti variklius ir variklių grupes. Žemiau pateikiamas visų motor ir motor_group narių funkcijų sąrašas:
Veiksmai — Sustabdyti ir sukti variklius bei variklių grupes.
spin— Variklis arba variklių grupė sukasi pirmyn arba atgal amžinai.spinFor— Suka variklį arba variklių grupę tam tikrą atstumą arba laiką.spinToPosition– Suka variklį arba variklių grupę į konkrečią padėtį.stop— Sustabdo variklio arba variklių grupės sukimąsi.
Mutatoriai – koreguokite variklio ir variklio grupės nustatymus.
setVelocity— Nurodo varikliui arba variklių grupei, kokiu greičiu suktis.setMaxTorque— Nustato, kiek stipriai variklis arba variklių grupė gali spausti sukimosi metu.setPosition— Pakeičia variklio arba variklių grupės dabartinę padėtį į naują reikšmę.setStopping— Nustato, kaip variklis arba variklių grupė sustabdys judėjimą: stabdant, riedant iš vėžių arba palaikant.setTimeout— Nustato, kiek laiko variklis arba variklių grupė bandys užbaigti judesį.
Geteris – patikrinkite variklio ir variklių grupės būseną.
isDone— Grąžina, ar variklis arba variklių grupė baigė judėti, kaip loginę reikšmę.isSpinning– Grąžina, ar sukasi variklis, ar variklių grupė, kaip loginę reikšmę.position— Grąžina dabartinę variklio arba variklių grupės padėtį.velocity— Grąžina variklio arba variklių grupės sukasi greitį.current— Grąžina, kiek elektros srovės naudoja variklis arba variklių grupė.power— Grąžina, kiek energijos naudoja variklis arba variklių grupė.torque— Grąžina, kiek sukimo momento naudoja variklis arba variklių grupė.efficiency– Grąžina, kaip efektyviai variklis arba variklių grupė naudoja energiją.temperature— Grąžina variklio arba variklių grupės temperatūrą.voltage— Grąžina varikliui arba variklių grupei tiekiamą elektros įtampą.direction— Grąžina variklio arba variklių grupės sukimosi kryptį.installed— Grąžina, ar variklis, ar variklių grupė yra prijungta prie smegenų.count— Grąžina variklių grupės variklių skaičių.
Prieš iškviečiant bet kokias motor arba motor_group narių funkcijas, reikia sukurti egzempliorių, kaip parodyta žemiau:
/* 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);
Veiksmai#
spin#
spin suka variklį arba variklių grupę pirmyn arba atgal amžinai. Variklis arba variklių grupė suksis tol, kol jam bus duotas kitas veiksmas, pavyzdžiui, suktis kita kryptimi arba sustoti.
1 — Suka variklį arba variklių grupę naudodamas šiuo metu konfigūruotą variklio greitį.
void spin( directionType dir );
2 — Suka variklį arba variklių grupę nurodytu greičiu.
void spin( directionType dir, double velocity, velocityUnits units );
Parameters3 — Suka variklį arba variklių grupę naudodama nurodytą įtampą.
void spin( directionType dir, double voltage, voltageUnits units );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Variklio arba variklių grupės sukimosi kryptis: |
|
|
Sukimosi greitis nuo 0 % iki 100 %, kai naudojama |
|
|
Greičiui pavaizduoti naudojami šie vienetai:
|
|
|
Įtampa, kuria reikia suktis. Neigiama vertė sukasi priešinga duotai |
|
|
Įtampai išreikšti naudojamas vienetas:
|
Ši funkcija negrąžina reikšmės.
NotesŠi funkcija nelaukia ir projektas bus tęsiamas iškart po iškvietimo.
Variklis arba variklių grupė toliau suksis, kol bus iškviesta
stoparba bus įvykdyta kita judėjimo funkcija.Tokios funkcijos kaip
isDoneirisSpinningnetaikomos funkcijaispin, nes ji nenaudoja judėjimo pagal taikinį (neturirotationartimeparametro).
// Spin forward, then stop
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop();
spinFor#
spinFor suka variklį arba variklių grupę tam tikrą atstumą arba laiką. Sukimosi pagrindu veikiantis sukimas yra santykinis pagal dabartinę variklio arba variklių grupės padėtį. Pagal numatytuosius nustatymus projektas lauks, kol variklis arba variklių grupė baigs suktis, prieš paleidžiant kitą kodo eilutę.
1 — Sukasi tam tikrą atstumą greičiu, nurodytu funkcijos iškvietime.
bool spinFor( double rotation, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
2 — Priima krypties parametrą ir sukasi tam tikrą atstumą greičiu, nurodytu funkcijos iškvietime.
bool spinFor( directionType dir, double rotation, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
3 — Sukasi tam tikrą atstumą naudodamas šiuo metu sukonfigūruotą variklio greitį.
bool spinFor( double rotation, rotationUnits units, bool waitForCompletion = true );
4 — Priima krypties parametrą ir sukasi tam tikrą atstumą naudodamas šiuo metu konfigūruotą variklio greitį.
bool spinFor( directionType dir, double rotation, rotationUnits units, bool waitForCompletion = true );
5 — Sukasi tam tikrą laiką greičiu, nurodytu funkcijos iškvietime.
bool spinFor( double time, timeUnits units, double velocity, velocityUnits units_v );
6 — Priima krypties parametrą ir sukasi tam tikrą laiką greičiu, nurodytu funkcijos iškvietime.
bool spinFor( directionType dir, double time, timeUnits units, double velocity, velocityUnits units_v );
7 — Sukasi tam tikrą laiką, naudodamas šiuo metu sukonfigūruotą variklio greitį.
bool spinFor( double time, timeUnits units );
Parameters8 — Priima krypties parametrą ir sukasi tam tikrą laiką naudodamas šiuo metu konfigūruotą variklio greitį.
bool spinFor( directionType dir, double time, timeUnits units );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Variklio arba variklių grupės sukimosi kryptis: |
|
|
Atstumas, kuriuo sukasi variklis arba variklių grupė. |
|
|
Sukimosi vienetas:
|
|
|
Variklio arba variklių grupės sukasi laikas. |
|
|
Laiko vienetas:
|
|
|
Sukimosi greitis nuo 0 % iki 100 %, kai naudojama |
|
|
Vienetas, naudojamas
|
|
|
|
Grąžina loginę reikšmę, rodančią, ar variklis arba variklių grupė pasiekė tikslinę reikšmę.
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.
Vykdant kitą variklio judėjimo funkciją (pvz.,
spinarbastop), kol vykstaspinFordabartinis judėjimas bus nutrauktas.Kadangi
spinForyra pagrįstas taikiniu (naudojarotationarbatimeparametrą), tokios funkcijos kaipisDoneirisSpinningveikia suspinFor.
// 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 suka variklį arba variklių grupę į konkrečią padėtį.
Variklio arba variklių grupės padėtis rodo, kiek jis apsisuko, matuojant degrees arba turnsVienas apsisukimas lygus 360 laipsnių. Projekto pradžioje variklio arba variklių grupės padėtis nustatoma į 0 laipsnių. Variklio arba variklių grupės padėtį taip pat galima nustatyti naudojant funkciją setPosition.
Padėties vertės yra absoliučios. Tai reiškia, kad sukimosi kryptis priklauso nuo variklio arba variklių grupės dabartinės padėties.
Pavyzdžiui, jei variklis arba variklių grupė pradeda suktis nuo 0 laipsnių ir sukasi iki 720 laipsnių padėties, jie suksis du apsisukimus į priekį. Jei tada jie suksis iki 360 laipsnių padėties, jie suksis vieną apsisukimą atgal, nes 360 yra mažiau nei 720.
Available Functions1 — Sukasi į konkrečią padėtį greičiu, nurodytu funkcijos iškvietime.
bool spinToPosition( double rotation, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
Parameters2 — Sukasi į konkrečią padėtį naudodamas šiuo metu sukonfigūruotą variklio greitį.
bool spinToPosition( double rotation, rotationUnits units, bool waitForCompletion = true );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Padėties vertė, iki kurios suksis variklis arba variklių grupė. |
|
|
Sukimosi vienetas:
|
|
|
Sukimosi greitis nuo 0 % iki 100 %, kai naudojama |
|
|
Vienetas, naudojamas
|
|
|
|
Grąžina loginę reikšmę, rodančią, ar variklis, ar variklių grupė pradėjo prašomą judėjimą pagal taikinį.
true— The motor or motor group begins the requested target-based movement.false— The call fails orwaitForCompletionis set tofalse.
Vykdant kitą variklio judėjimo funkciją (pvz.,
spinarbaspinFor), kol vykstaspinToPosition, dabartinis judėjimas bus nutrauktas.Kadangi
spinToPositionyra pagrįstas taikiniu (naudojarotationparametrą), tokios funkcijos kaipisDoneirisSpinningveikia suspinToPosition.
// Spin forward, then go to 90°
Motor1.spin(forward);
wait(1, seconds);
Motor1.spinToPosition(90, degrees);
stop#
stop sustabdo variklio arba variklių grupės sukimąsi.
1 — Sustabdo variklį arba variklių grupę naudodamas šiuo metu sukonfigūruotą stabdymo režimą.
void stop();
Parameters2 — Sustabdo variklį arba variklių grupę naudodamas funkcijos iškvietime nurodytą stabdymo režimą.
void stop( brakeType mode );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Pasirinktinai. Kaip variklis arba variklių grupė sustos:
|
Ši funkcija negrąžina reikšmės.
NotesIškvietus
stop, bet koks esamas variklio arba variklių grupės judėjimas nedelsiant sustabdomas.Jei stabdymo režimas nenurodytas, variklis arba variklių grupė naudoja šiuo metu sukonfigūruotą stabdymo režimą.
stopnutraukia bet kokį aktyvų, su taikiniu susijusį judėjimą (pvz.,spinForarbaspinToPosition).
// Spin and coast to a stop
Motor1.setVelocity(100, percent);
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop(coast);
Mutatoriai#
setVelocity#
setVelocity nurodo varikliui arba variklių grupei, kokiu greičiu suktis. Didesnis procentas leidžia varikliui arba variklių grupei suktis greičiau, o mažesnis procentas – lėčiau.
Kiekvienas projektas pradedamas nuo to, kad kiekvienas variklis arba variklių grupė pagal numatytuosius nustatymus sukasi 50 % greičiu.
Pastaba: Didesnis greitis leidžia varikliui arba variklių grupei sukasi greičiau, bet gali būti mažiau tikslus. Mažesnis greitis leidžia varikliui arba variklių grupei sukasi lėčiau, bet gali būti tiksliau.
Available Functionsvoid setVelocity(
double velocity,
velocityUnits units );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Sukimosi greitis nuo 0 % iki 100 %, kai naudojama |
|
|
Vienetas, naudojamas
|
Ši funkcija negrąžina reikšmės.
NotesBet kuri vėlesnė variklio judėjimo funkcija (pvz.,
spin,spinForarbaspinToPosition), kuri aiškiai nenurodo greičio, naudos šią reikšmę.
// 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#
Sukimo momentas parodo, kaip stipriai variklis arba variklių grupė gali stumti arba traukti sukdamasi.
setMaxTorque nustato didžiausią sukimo momentą, kurį leidžiama naudoti varikliui arba variklių grupei.
Didesnis procentas leidžia varikliui arba variklių grupei stumti stipriau, pavyzdžiui, keliant sunkų daiktą. Mažesnis procentas riboja, kiek stipriai variklis arba variklių grupė gali stumti. Tai gali padėti apsaugoti robotą, jei variklis arba variklių grupė užstringa arba pasiekia ribą, kiek gali judėti.
Kiekvienas projektas pradedamas, kai kiekvieno variklio arba variklių grupės sukimo momentas pagal numatytuosius nustatymus yra 50 %.
Available Functions1 — Nustato maksimalų sukimo momentą kaip variklio arba variklių grupės vardinio sukimo momento procentinę dalį.
void setMaxTorque( double value, percentUnits units );
2 — Nustato maksimalų sukimo momentą, naudodamas fizinius sukimo momento vienetus.
void setMaxTorque( double value, torqueUnits units );
Parameters3 — Nustato maksimalų sukimo momentą ribodamas variklio srovę.
void setMaxTorque( double value, currentUnits units );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Didžiausias sukimo momentas, kurį gali naudoti variklis arba variklių grupė. |
|
|
Nurodo sukimo momentą procentais: |
|
|
Nurodo sukimo momentą fiziniais vienetais, tokiais kaip:
|
|
|
Nurodo sukimo momentą ribodamas variklio srovę:
|
Ši funkcija negrąžina reikšmės.
NotesNaudojant
currentUnits, sukimo momentas ribojamas apribojant elektros srovės kiekį, kurį gali naudoti variklis arba variklių grupė.
setPosition#
Variklio arba variklių grupės padėtis rodo, kiek jis apsisuko, matuojamas degrees arba turnsVienas apsisukimas lygus 360 laipsnių. setPosition pakeičia dabartinę variklio arba variklių grupės padėtį į naują reikšmę.
Pavyzdžiui, jei variklis arba variklių grupė pasisuko iki 180 laipsnių, nustatant 0 laipsnių padėtį, ši padėtis bus atkurta iš 180 į 0 laipsnių. Tada variklis arba variklių grupė gali pasisukti į pozicijas pagal tą naują vertę.
Available Functionsvoid setPosition(
double value,
rotationUnits units );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Variklio arba variklių grupės padėties vertė, kurią reikia nustatyti. |
|
|
Padėties vienetas:
|
Ši funkcija negrąžina reikšmės.
NotesIškvietus funkciją
setPosition, vėlesniuosespinToPositioniškvietimuose atnaujinta pozicija bus naudojama kaip nuoroda.
setStopping#
setStopping nustato, kaip variklis arba variklių grupė sustabdys judėjimą: stabdant, riedant iš inercijos arba palaikant.
void setStopping(
brakeType mode );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Kaip variklis arba variklių grupė sustos:
|
Ši funkcija negrąžina reikšmės.
NotesBet koks vėlesnis
stopiškvietimas be nurodyto stabdymo režimo naudos šią reikšmę.
setTimeout#
setTimeout nustato, kiek laiko variklis arba variklių grupė bandys užbaigti judesį. Jei variklis arba variklių grupė negali baigti per tą laiką, ji nustos bandyti ir pereis prie kitos kodo eilutės. Tai neleidžia varikliui arba variklių grupei užstrigti ties judesiu.
void setTimeout(
int32_t time,
timeUnits units );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Laikas, per kurį variklis arba variklių grupė gali bandyti užbaigti judesį. Tai turi būti teigiamas sveikasis skaičius. |
|
|
Laiko vienetas:
|
Grąžinamosios reikšmės
Ši funkcija negrąžina reikšmės.
NotesVariklio arba variklių grupės skirtasis laikas naudojamas tam, kad judesiai, kurie nepasiekia tikslinės padėties, nesustabdytų kitų komandų vykdymo stekelyje.
Jei variklis arba variklių grupė nepasiekia tikslinės padėties iki skirtojo laiko pabaigos, jis nustos bandyti ir pereis prie kitos kodo eilutės.
Laiko apribojimas taikomas funkcijoms, turinčioms tikslinę reikšmę, pvz.,
spinForirspinToPosition.
// Stop a long move after 1 second
Motor1.setTimeout(1, seconds);
Motor1.spinFor(forward, 2, turns);
Motor1.spinToPosition(0, degrees);
Getteriai#
isDone#
isDone grąžina, ar variklis arba variklių grupė baigė judėti, kaip loginę reikšmę. Tai gali būti naudojama kitų veiksmų, pagrįstų variklio arba variklių grupės judėjimu, laikui valdyti.
true— Variklis arba variklių grupė baigė judėti.false— Variklis arba variklių grupė vis dar juda.
Ši funkcija veikia kartu su šiomis „Motion“ funkcijomis, turinčiomis parametrą waitForCompletion : spinFor ir spinToPosition.
bool isDone();
Ši funkcija nepriima jokių parametrų.
Return ValuesGrąžina, ar variklis arba variklių grupė baigė judėti, kaip loginę reikšmę.
true— The motor or motor group is finished moving.false— The motor or motor group is still moving.
isDoneveikia kartu su šiomis „Motion“ funkcijomis, turinčiomis parametrąwaitForCompletion:spinForirspinToPosition.
// 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 grąžina loginę reikšmę, ar sukasi variklis, ar variklių grupė. Tai gali būti naudojama kitų veiksmų, pagrįstų variklio arba variklių grupės judėjimu, laikui valdyti.
true— Variklis arba variklių grupė sukasi.false— Variklis arba variklių grupė nesisuka.
Ši funkcija veikia kartu su „Motion“ judėjimo funkcijomis, tokiomis kaip spin, spinFor ir spinToPosition.
bool isSpinning();
Ši funkcija nepriima jokių parametrų.
Return ValuesGrąžina, ar sukasi variklis, ar variklių grupė, kaip loginę reikšmę.
true— The motor or motor group is spinning.false— The motor or motor group is not spinning.
isSpinningveikia su „Motion“ judėjimo funkcijomis, tokiomis kaipspin,spinForirspinToPosition.
// 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#
Variklio arba variklių grupės padėtis nurodo, kiek toli jis apsisuko, matuojant degrees arba turnsVienas apsisukimas lygus 360 laipsnių. position grąžina dabartinę variklio arba variklių grupės padėtį.
Projekto pradžioje variklio arba variklių grupės padėtis nustatyta į 0 laipsnių. Jei variklis arba variklių grupė sukasi vienu apsisukimu į priekį, padėtis bus 360 laipsnių arba 1 apsisukimas. Jei variklis arba variklių grupė sukasi kita kryptimi, padėtis bus neigiama.
Available Functionsdouble position(
rotationUnits units );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Įrenginys, skirtas variklio arba variklių grupės padėčiai grąžinti:
|
Grąžina skaičių double reiškiantį dabartinę variklio arba variklių grupės padėtį nurodytais vienetais.
Iškvietus
setPosition, pakeičiamas šios reikšmės atskaitos taškas.Grąžinta reikšmė atspindi dabartinį kodavimo įrenginio rodmenį ir nenurodo, ar variklis, ar variklių grupė aktyviai juda.
Kai ši funkcija iškviečiama su
motor_groupreikšme, ji grąžina pirmojo variklio padėtį grupėje.
// Spin, then show the final position
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop();
Brain.Screen.print("Pos: %f", Motor1.position(degrees));
velocity#
velocity grąžina variklio arba variklių grupės sukasi greitį.
Teigiama reikšmė reiškia, kad variklis arba variklių grupė sukasi pirmyn. Neigiama reikšmė reiškia, kad jie sukasi atgal.
Available Functionsdouble velocity(
velocityUnits units );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Greičiui pavaizduoti naudojami šie vienetai:
|
Grąžina double nurodantį, kaip greitai variklis arba variklių grupė sukasi nurodytais vienetais.
Pastabos
Kai ši funkcija iškviečiama su
motor_groupreikšme, ji grąžina pirmojo variklio grupėje greitį.
current#
current grąžina, kiek elektros srovės sunaudoja variklis arba variklių grupė. Srovė yra per variklį arba variklių grupę tekančios elektros energijos kiekis. Grąžinama amperais, srovė nurodoma nuo 0,0 iki 1,2 A.
Didesnė srovės vertė reiškia, kad variklis arba variklių grupė naudoja daugiau elektros srovės. Taip gali nutikti, kai variklis arba variklių grupė kelia sunkų daiktą, stumia į objektą arba bando pajudėti, kai yra užstrigęs.
Tai galima naudoti norint patikrinti, ar variklis arba variklių grupė sunkiai veikia judesio metu. Jei srovė išlieka didelė, variklis gali įkaisti arba ne taip efektyviai naudoti energiją.
Available Functions1 — Grąžina variklio arba variklių grupės elektros srovę amperais.
double current( currentUnits units = amp );
Parameters2 — Grąžina variklio arba variklių grupės elektros srovę, išreikštą maksimalios vardinės srovės procentine dalimi.
double current( percentUnits units );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Srovei pavaizduoti naudojamas vienetas: |
|
|
Rodo srovę procentais nuo variklio maksimalios vardinės srovės: |
Grąžina skaičių double nurodantį, kiek elektros srovės variklis arba variklių grupė sunaudoja nurodytais vienetais.
Pastabos
Kai ši funkcija iškviečiama su
motor_groupreikšme, ji grąžina bendrą visų grupės variklių elektros srovę.
power#
power grąžina, kiek energijos vatais sunaudoja variklis arba variklių grupė. Galia rodo, kaip greitai variklis arba variklių grupė eikvoja energiją.
Didesnė galios vertė reiškia, kad variklis arba variklių grupė energiją naudoja greičiau. Taip gali nutikti, kai variklis arba variklių grupė kelia sunkų daiktą, stumia į objektą arba bando pajudėti, kai yra užstrigęs.
Tai galima naudoti judesiams palyginti arba patikrinti, ar variklis ar variklių grupė veikia netinkamai. Jei galia išlieka didelė, variklis gali įkaisti arba energiją naudoti ne taip efektyviai.
Available Functionsdouble power(
powerUnits units = watt );
Parametrai
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Variklio galiai pavaizduoti naudojamas vienetas:
|
Grąžinamosios reikšmės
Grąžina double nurodančius, kiek energijos vatais naudoja variklis arba variklių grupė.
Pastabos
Kai ši funkcija iškviečiama su
motor_groupreikšme, ji grąžina pirmojo grupėje esančio variklio elektros galią.
torque#
Sukimo momentas rodo, kaip stipriai variklis arba variklių grupė sukasi, stumia arba traukia, kol sukasi.
torque grąžina, kiek sukimo momento naudoja variklis arba variklių grupė.
Didesnė sukimo momento vertė reiškia, kad variklis arba variklių grupė stumia arba traukia stipriau. Taip gali nutikti, kai variklis arba variklių grupė kelia sunkų daiktą, stumia į objektą arba bando pajudėti, kai yra užstrigęs.
Tai galima naudoti norint patikrinti, ar motorikai ar motorinei grupei sunku, arba palyginti, kiek stūmimo reikia skirtingiems judesiams.
Norėdami nustatyti variklio arba variklių grupės sukimo momentą, naudokite setMaxTorque.
double torque(
torqueUnits units = Nm );
Parametrai
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Variklio sukimo momentui pavaizduoti naudojamas vienetas:
|
Grąžinamosios reikšmės
Grąžina double nurodančius, kiek sukimo momento variklis arba variklių grupė naudoja nurodytais vienetais.
Pastabos
Kai ši funkcija iškviečiama su
motor_groupreikšme, ji grąžina pirmojo variklio grupėje mechaninį išėjimo sukimo momentą.
efficiency#
efficiency grąžina variklio arba variklių grupės energijos vartojimo efektyvumą procentais nuo 0 % iki 100 %.
Efektyvumas rodo, kiek variklio arba variklių grupės galios sunaudojama judėjimui. Didesnė efektyvumo vertė reiškia, kad judėjimui sunaudojama daugiau variklio arba variklių grupės galios. Mažesnė efektyvumo vertė gali būti, kai variklis arba variklių grupė dirba daug, bet juda mažai, pavyzdžiui, kai užstringa arba spaudžia objektą.
Tai galima naudoti judesiams palyginti arba patikrinti, ar variklis arba variklių grupė nešvaisto energijos, užuot ją naudoję judėjimui.
Available Functionsdouble efficiency(
percentUnits units = percent );
Parametrai
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Variklio efektyvumui nurodyti naudojamas vienetas:
|
Grąžinamosios reikšmės
Grąžina skaičių double nurodantį, kaip efektyviai variklis arba variklių grupė naudoja energiją procentais.
Pastabos
Kai ši funkcija iškviečiama su
motor_groupreikšme, ji grąžina pirmojo grupėje esančio variklio efektyvumą.
temperature#
temperature grąžina variklio arba variklių grupės temperatūrą.
Variklio temperatūra rodo, kiek įšilęs variklis arba variklių grupė. Aukštesnė temperatūra reiškia, kad variklis arba variklių grupė darbo metu įkaista. Kad variklis veiktų visu našumu, jo temperatūra turi būti žemesnė nei 55°C
Jei variklis arba variklių grupė per daug įkaista, jie sumažina maksimalią srovę, kad apsisaugotų. Esant 70°Ctemperatūrai, variklis nustos veikti, kol atvės.
Tai galima naudoti norint patikrinti, ar variklis arba variklių grupė neperkaista pasikartojančių judesių, ilgų važiavimų metu arba kai spaudžia objektą.
Available Functions1 — Grąžina variklio arba variklių grupės temperatūrą kaip maksimalios darbinės temperatūros procentinę dalį.
double temperature( percentUnits units = percent );
2 — Grąžina variklio arba variklių grupės temperatūrą fizinės temperatūros vienetais.
double temperature( temperatureUnits units );
Parametrai
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Variklio arba variklių grupės temperatūros procentinis vienetas:
|
|
|
Variklio arba variklių grupės temperatūrai laipsniais išreikšti naudojamas vienetas:
|
Grąžinamosios reikšmės
Grąžina skaičių double , reiškiantį variklio arba variklių grupės temperatūrą nurodytais vienetais.
Pastabos
The operating temperature range for the motor is approximately
20°C(68°F) to70°C(158°F).Kai ši funkcija iškviečiama su
motor_groupreikšme, ji grąžina pirmojo variklio grupėje temperatūrą.
voltage#
voltage grąžina varikliui arba variklių grupei tiekiamą elektros įtampą.
double voltage(
voltageUnits units = volt );
Parametrai
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Įtampos matavimo vienetas:
|
Grąžinamosios reikšmės
Grąžina skaičių double , nurodantį varikliui arba variklių grupei tiekiamą elektros įtampą nurodytais vienetais.
Pastabos
Kai ši funkcija iškviečiama su
motor_groupreikšme, ji grąžina pirmojo grupėje esančio variklio elektros įtampą.
direction#
direction grąžina variklio arba variklių grupės sukimosi kryptį.
directionType direction();
Parametrai
Ši funkcija nepriima jokių parametrų.
Grąžinamosios reikšmės
Grąžina directionType , nurodantį variklio arba variklių grupės dabartinę kryptį:
forward— The motor or motor group is spinning forward.reverse— The motor or motor group is spinning in reverse.
installed#
installed grąžina, ar variklis, ar variklių grupė yra prijungta prie IQ (2-osios kartos) smegenų.
bool installed();
Parametrai
Ši funkcija nepriima jokių parametrų.
Grąžinamosios reikšmės
Grąžina bool nurodančią, ar prijungtas variklis, ar variklių grupė.
true— The motor or motor group is connected.false— The motor or motor group is not connected.
count#
count grąžina variklių grupės variklių skaičių.
int32_t count();
Parametrai
Ši funkcija nepriima jokių parametrų.
Grąžinamosios reikšmės
Grąžina int32_t , nurodantį variklių skaičių variklių grupėje.