Motor dan Grup Motor#
Perkenalan#
Motor dan kelompok motor mengontrol bagaimana bagian-bagian robot bergerak. Objek motor mengontrol satu IQ Smart Motor yang telah dikonfigurasi, sedangkan objek motor_group mengontrol beberapa IQ Smart Motor yang telah dikonfigurasi secara bersamaan sehingga mereka bergerak serempak. Motor dan kelompok motor dapat digunakan untuk mengangkat lengan, memutar cakar, memutar roda, atau menggerakkan bagian lain dari suatu konstruksi. Dua motor dapat bekerja bersama sebagai drivetrain untuk menggerakkan dan memutar seluruh robot.
Setiap motor atau grup motor dikonfigurasi di jendela Perangkat. Tergantung pada versi build, nama motor dan grup motor dapat berubah. Halaman ini menggunakan Motor1 dan MotorGroup1 sebagai contoh nama. Ganti dengan nama yang telah Anda konfigurasi sesuai kebutuhan.
Secara default, forward memutar motor berlawanan arah jarum jam, dan reverse memutar motor searah jarum jam. Jika motor diatur untuk mundur, arah tersebut akan ditukar.
Motor#
Class Constructors#
1 — Membuat objek motor
motoruntuk IQ Smart Motor yang terhubung ke Smart Port yang ditentukan. Motor secara otomatis menggunakan gearSettinggearSettingmotor( int32_t index );
2 — Creates a
motorobject on the specified Smart Port and optionally reverses its direction. The motor automatically uses the detected internalgearSetting.motor( int32_t index, bool reverse );
3 — Membuat objek
motorpada Smart Port yang ditentukan dengan gearSettinggearSettingditentukan.motor( int32_t index, gearSetting gears );
4 — Membuat objek
motorpada Smart Port yang ditentukan dengan gearSettinggearSettingditentukan dan arah putaran terbalik opsional.motor( int32_t index, gearSetting gears, bool reverse );
Class Destructor#
Menghancurkan objek motor dan melepaskan sumber daya terkait.
~motor();
Parameters#
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Port Pintar yang terhubung ke motor, ditulis sebagai |
|
|
Menentukan apakah arah putaran motor dibalik:
|
|
|
Menentukan rasio kartrid roda gigi internal.
|
Notes#
Pengaturan roda gigi harus sesuai dengan kartrid fisik yang terpasang di motor.
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);
Grup Motor#
Class Constructors#
motor_group( motor &m1, Args&... m2 );
Class Destructor#
Menghapus objek motor_group dan melepaskan sumber daya terkait.
~motor_group();
Parameters#
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Motor pertama ditambahkan ke grup tersebut. |
|
|
Motor tambahan ditambahkan ke dalam grup. Maksimum empat motor dalam satu grup motor. |
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);
Fungsi Keanggotaan#
Ada banyak cara untuk membuat kode motor dan grup motor. Berikut adalah daftar semua fungsi anggota motor dan motor_group:
Aksi — Menghentikan dan memutar motor dan kelompok motor.
spin— Memutar motor atau kelompok motor maju atau mundur selamanya.spinFor— Memutar motor atau kelompok motor untuk jarak atau waktu tertentu.spinToPosition— Memutar motor atau kelompok motor ke posisi tertentu.stop— Menghentikan motor atau kelompok motor dari berputar.
Mutator — Sesuaikan pengaturan motor dan grup motor.
setVelocity— Memberi tahu motor atau kelompok motor seberapa cepat harus berputar.setMaxTorque— Menentukan seberapa keras motor atau kelompok motor diizinkan untuk mendorong saat berputar.setPosition— Mengubah posisi motor atau kelompok motor saat ini ke nilai baru.setStopping— Mengatur bagaimana motor atau kelompok motor akan berhenti bergerak: dengan mengerem, meluncur, atau menahan.setTimeout— Menentukan berapa lama waktu yang dibutuhkan sebuah motor atau kelompok motor untuk mencoba menyelesaikan suatu gerakan.
Pengambil — Periksa status motor dan kelompok motor.
isDone— Mengembalikan nilai Boolean apakah motor atau kelompok motor sudah selesai bergerak.isSpinning— Mengembalikan nilai Boolean apakah motor atau kelompok motor sedang berputar.position— Mengembalikan posisi motor atau grup motor saat ini.velocity— Mengembalikan seberapa cepat motor atau kelompok motor berputar.current— Mengembalikan jumlah arus listrik yang digunakan oleh motor atau kelompok motor.power— Mengembalikan berapa banyak daya yang digunakan oleh motor atau kelompok motor.torque— Mengembalikan berapa torsi yang digunakan oleh motor atau kelompok motor.efficiency— Mengembalikan seberapa efisien motor atau kelompok motor menggunakan daya.temperature— Mengembalikan suhu motor atau kelompok motor.voltage— Mengembalikan tegangan listrik yang disuplai ke motor atau kelompok motor.direction— Mengembalikan arah putaran motor atau kelompok motor.installed— Mengembalikan apakah motor atau kelompok motor terhubung ke Otak.count— Mengembalikan jumlah motor dalam sebuah grup motor.
Sebelum memanggil fungsi anggota motor atau motor_group , sebuah instance harus dibuat, seperti yang ditunjukkan di bawah ini:
/* 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);
Tindakan#
spin#
spin memutar motor atau kelompok motor maju atau mundur selamanya. Motor atau kelompok motor akan terus berputar hingga diberi tindakan lain, seperti berputar ke arah yang berbeda atau berhenti.
1 — Memutar motor atau kelompok motor menggunakan kecepatan motor yang saat ini dikonfigurasi.
void spin( directionType dir );
2 — Memutar motor atau kelompok motor dengan kecepatan yang ditentukan.
void spin( directionType dir, double velocity, velocityUnits units );
Parameters3 — Memutar motor atau kelompok motor menggunakan tegangan yang ditentukan.
void spin( directionType dir, double voltage, voltageUnits units );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Arah putaran motor atau kelompok motor: |
|
|
Kecepatan putaran dari 0% hingga 100% saat menggunakan |
|
|
Satuan yang digunakan untuk menyatakan kecepatan:
|
|
|
Tegangan untuk memutar. Nilai negatif memutar berlawanan arah dengan arah putaran yang diberikan |
|
|
Satuan yang digunakan untuk menyatakan tegangan:
|
Fungsi ini tidak mengembalikan nilai.
NotesFungsi ini tidak menunggu dan proyek akan terus berjalan segera setelah panggilan tersebut.
Motor atau kelompok motor akan terus berputar sampai
stopdipanggil atau fungsi gerakan lain dieksekusi.Fungsi seperti
isDonedanisSpinningtidak berlaku untukspin, karena tidak menggunakan gerakan berbasis target (tidak memilikirotationatautimeparameter).
// Spin forward, then stop
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop();
spinFor#
spinFor memutar motor atau kelompok motor untuk jarak atau jangka waktu tertentu. Putaran berbasis rotasi relatif terhadap posisi motor atau kelompok motor saat ini. Secara default, proyek akan menunggu hingga motor atau kelompok motor selesai berputar sebelum baris kode berikutnya dijalankan.
1 — Berputar sejauh jarak tertentu dengan kecepatan yang diberikan dalam panggilan fungsi.
bool spinFor( double rotation, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
2 — Menerima parameter arah dan berputar sejauh jarak tertentu dengan kecepatan yang diberikan dalam panggilan fungsi.
bool spinFor( directionType dir, double rotation, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
3 — Berputar sejauh jarak tertentu menggunakan kecepatan motor yang dikonfigurasi saat ini.
bool spinFor( double rotation, rotationUnits units, bool waitForCompletion = true );
4 — Menerima parameter arah dan berputar sejauh jarak tertentu menggunakan kecepatan motor yang saat ini dikonfigurasi.
bool spinFor( directionType dir, double rotation, rotationUnits units, bool waitForCompletion = true );
5 — Berputar selama jangka waktu tertentu dengan kecepatan yang diberikan dalam panggilan fungsi.
bool spinFor( double time, timeUnits units, double velocity, velocityUnits units_v );
6 — Menerima parameter arah dan berputar selama jangka waktu tertentu dengan kecepatan yang diberikan dalam panggilan fungsi.
bool spinFor( directionType dir, double time, timeUnits units, double velocity, velocityUnits units_v );
7 — Berputar selama jangka waktu tertentu menggunakan kecepatan motor yang dikonfigurasi saat ini.
bool spinFor( double time, timeUnits units );
Parameters8 — Menerima parameter arah dan berputar selama waktu tertentu menggunakan kecepatan motor yang dikonfigurasi saat ini.
bool spinFor( directionType dir, double time, timeUnits units );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Arah putaran motor atau kelompok motor: |
|
|
Jarak putaran motor atau kelompok motor. |
|
|
The rotation unit:
|
|
|
Lamanya waktu motor atau kelompok motor berputar. |
|
|
Satuan waktu:
|
|
|
Kecepatan putaran dari 0% hingga 100% saat menggunakan |
|
|
Satuan yang digunakan untuk menyatakan
|
|
|
|
Mengembalikan nilai Boolean yang menunjukkan apakah motor atau kelompok motor telah mencapai nilai target.
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.
Menjalankan fungsi gerakan motor lain (seperti
spinataustop) saatspinForsedang berlangsung akan mengganggu gerakan saat ini.Karena
spinForberbasis target (menggunakanrotationatautimeparameter), fungsi sepertiisDonedanisSpinningbekerja denganspinFor.
// 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 memutar motor atau kelompok motor ke posisi tertentu.
Posisi motor atau kelompok motor adalah seberapa jauh motor tersebut telah berputar, diukur dalam degrees atau turnsSatu putaran sama dengan 360 derajat. Pada awal proyek, posisi motor atau kelompok motor diatur ke 0 derajat. Posisi motor atau kelompok motor juga dapat diatur menggunakan fungsi setPosition.
Nilai posisi bersifat absolut. Ini berarti arah putaran bergantung pada posisi motor atau kelompok motor saat ini.
Sebagai contoh, jika motor atau kelompok motor mulai dari 0 derajat dan berputar hingga posisi 720 derajat, maka motor tersebut akan berputar maju dua putaran. Jika kemudian berputar hingga posisi 360 derajat, maka motor tersebut akan berputar mundur satu putaran, karena 360 kurang dari 720.
Available Functions1 — Berputar ke posisi tertentu dengan kecepatan yang diberikan dalam panggilan fungsi.
bool spinToPosition( double rotation, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
Parameters2 — Berputar ke posisi tertentu menggunakan kecepatan motor yang dikonfigurasi saat ini.
bool spinToPosition( double rotation, rotationUnits units, bool waitForCompletion = true );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Nilai posisi putaran motor atau kelompok motor. |
|
|
The rotation unit:
|
|
|
Kecepatan putaran dari 0% hingga 100% saat menggunakan |
|
|
Satuan yang digunakan untuk menyatakan
|
|
|
|
Mengembalikan nilai Boolean yang menunjukkan apakah motor atau kelompok motor telah memulai gerakan berbasis target yang diminta.
true— The motor or motor group begins the requested target-based movement.false— The call fails orwaitForCompletionis set tofalse.
Menjalankan fungsi gerakan motor lain (seperti
spinatauspinFor) saatspinToPositionsedang berlangsung akan mengganggu gerakan saat ini.Because
spinToPositionis target-based (uses arotationparameter), functions such asisDoneandisSpinningwork withspinToPosition.
// Spin forward, then go to 90°
Motor1.spin(forward);
wait(1, seconds);
Motor1.spinToPosition(90, degrees);
stop#
stop menghentikan motor atau kelompok motor agar tidak berputar.
1 — Menghentikan motor atau kelompok motor menggunakan mode rem yang saat ini dikonfigurasi.
void stop();
Parameters2 — Menghentikan motor atau kelompok motor menggunakan mode rem yang disediakan dalam panggilan fungsi.
void stop( brakeType mode );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Opsional. Cara motor atau kelompok motor akan berhenti:
|
Fungsi ini tidak mengembalikan nilai.
NotesMemanggil
stopakan segera menghentikan pergerakan motor atau kelompok motor yang sedang berjalan.Jika tidak ada mode pengereman yang ditentukan, motor atau kelompok motor menggunakan mode pengereman yang saat ini dikonfigurasi.
stopmenginterupsi gerakan berbasis target aktif apa pun (sepertispinForatauspinToPosition).
// Spin and coast to a stop
Motor1.setVelocity(100, percent);
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop(coast);
Mutator#
setVelocity#
setVelocity memberi tahu motor atau kelompok motor seberapa cepat harus berputar. Persentase yang lebih tinggi membuat motor atau kelompok motor berputar lebih cepat dan persentase yang lebih rendah membuat motor atau kelompok motor berputar lebih lambat.
Setiap proyek dimulai dengan setiap motor atau kelompok motor berputar pada kecepatan 50% secara default.
Catatan: Kecepatan yang lebih tinggi membuat motor atau kelompok motor berputar lebih cepat, tetapi mungkin kurang presisi. Kecepatan yang lebih rendah membuat motor atau kelompok motor berputar lebih lambat, tetapi bisa lebih presisi.
Available Functionsvoid setVelocity(
double velocity,
velocityUnits units );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Kecepatan putaran dari 0% hingga 100% saat menggunakan |
|
|
Satuan yang digunakan untuk menyatakan
|
Fungsi ini tidak mengembalikan nilai.
NotesFungsi gerakan motor selanjutnya (seperti
spin,spinFor, atauspinToPosition) yang tidak secara eksplisit menentukan kecepatan akan menggunakan nilai ini.
// 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#
Torsi menunjukkan seberapa kuat sebuah motor atau kelompok motor dapat mendorong atau menarik saat berputar.
setMaxTorque menetapkan torsi maksimum yang diizinkan untuk digunakan oleh motor atau kelompok motor.
Persentase yang lebih tinggi memungkinkan motor atau kelompok motor untuk mendorong lebih keras, seperti saat mengangkat benda berat. Persentase yang lebih rendah membatasi seberapa keras motor atau kelompok motor dapat mendorong. Hal ini dapat membantu melindungi robot jika motor atau kelompok motor macet atau mencapai batas kemampuan geraknya.
Setiap proyek dimulai dengan torsi masing-masing motor atau kelompok motor pada 50% secara default.
Available Functions1 — Menetapkan torsi maksimum sebagai persentase dari torsi nominal motor atau kelompok motor.
void setMaxTorque( double value, percentUnits units );
2 — Mengatur torsi maksimum menggunakan satuan torsi fisik.
void setMaxTorque( double value, torqueUnits units );
Parameters3 — Mengatur torsi maksimum dengan membatasi arus motor.
void setMaxTorque( double value, currentUnits units );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Torsi maksimum yang dapat digunakan oleh motor atau kelompok motor tersebut. |
|
|
Menentukan torsi sebagai persentase: |
|
|
Menentukan torsi dalam satuan fisik seperti:
|
|
|
Menentukan torsi dengan membatasi arus motor:
|
Fungsi ini tidak mengembalikan nilai.
NotesSaat menggunakan
currentUnits, torsi dibatasi dengan membatasi jumlah arus listrik yang dapat digunakan oleh motor atau kelompok motor.
setPosition#
Posisi motor atau kelompok motor adalah seberapa jauh motor tersebut telah berputar, diukur dalam degrees atau turnsSatu putaran sama dengan 360 derajat. setPosition mengubah posisi motor atau kelompok motor saat ini ke nilai baru.
Sebagai contoh, jika sebuah motor atau kelompok motor telah berputar hingga 180 derajat, mengatur posisi ke 0 derajat akan mengatur ulang posisi tersebut dari 180 menjadi 0 derajat. Kemudian motor atau kelompok motor dapat berputar ke posisi berdasarkan nilai baru tersebut.
Available Functionsvoid setPosition(
double value,
rotationUnits units );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Nilai posisi yang akan ditetapkan untuk motor atau kelompok motor. |
|
|
The position unit:
|
Fungsi ini tidak mengembalikan nilai.
NotesSetelah memanggil
setPosition, panggilan selanjutnya kespinToPositionakan menggunakan posisi yang diperbarui sebagai referensi.
setStopping#
setStopping mengatur bagaimana motor atau kelompok motor akan berhenti bergerak: dengan mengerem, meluncur, atau menahan.
void setStopping(
brakeType mode );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Cara motor atau kelompok motor akan berhenti:
|
Fungsi ini tidak mengembalikan nilai.
NotesSetiap panggilan berikutnya ke
stoptanpa mode rem yang ditentukan akan menggunakan nilai ini.
setTimeout#
setTimeout mengatur berapa lama waktu yang dibutuhkan motor atau kelompok motor untuk mencoba menyelesaikan suatu gerakan. Jika motor atau kelompok motor tidak dapat menyelesaikannya dalam waktu tersebut, ia akan berhenti mencoba dan melanjutkan ke baris kode berikutnya. Ini mencegah motor atau kelompok motor terjebak pada suatu gerakan.
void setTimeout(
int32_t time,
timeUnits units );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Jumlah waktu yang dapat dihabiskan oleh motor atau kelompok motor untuk mencoba menyelesaikan suatu gerakan. Ini harus berupa bilangan bulat positif. |
|
|
Satuan waktu:
|
Nilai Pengembalian
Fungsi ini tidak mengembalikan nilai.
NotesTimeout motor atau grup motor digunakan untuk mencegah gerakan yang tidak mencapai posisi targetnya menghentikan eksekusi perintah lain dalam tumpukan.
Jika motor atau kelompok motor tidak mencapai posisi targetnya sebelum waktu habis, maka proses akan berhenti dan beralih ke baris kode berikutnya.
Timeout berlaku untuk fungsi yang memiliki nilai target seperti
spinFordanspinToPosition.
// Stop a long move after 1 second
Motor1.setTimeout(1, seconds);
Motor1.spinFor(forward, 2, turns);
Motor1.spinToPosition(0, degrees);
Pencari#
isDone#
isDone mengembalikan nilai Boolean yang menunjukkan apakah motor atau kelompok motor telah selesai bergerak. Ini dapat digunakan untuk mengontrol waktu perilaku lain berdasarkan pergerakan motor atau kelompok motor.
true— Motor atau kelompok motor telah selesai bergerak.false— Motor atau kelompok motor masih bergerak.
Fungsi ini bekerja bersama dengan fungsi Motion berikut yang memiliki parameter waitForCompletion : spinFor dan spinToPosition.
bool isDone();
Fungsi ini tidak menerima parameter apa pun.
Return ValuesMengembalikan nilai Boolean yang menunjukkan apakah motor atau kelompok motor telah selesai bergerak.
true— The motor or motor group is finished moving.false— The motor or motor group is still moving.
isDonebekerja bersama dengan fungsi Motion berikut yang memiliki parameterwaitForCompletion:spinFordanspinToPosition.
// 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 mengembalikan nilai Boolean yang menunjukkan apakah motor atau kelompok motor sedang berputar. Ini dapat digunakan untuk mengontrol pengaturan waktu perilaku lain berdasarkan pergerakan motor atau kelompok motor.
true— Motor atau kelompok motor sedang berputar.false— Motor atau kelompok motor tidak berputar.
Fungsi ini bekerja bersama dengan fungsi pergerakan Motion seperti spin, spinFor, dan spinToPosition.
bool isSpinning();
Fungsi ini tidak menerima parameter apa pun.
Return ValuesMengembalikan nilai Boolean yang menunjukkan apakah motor atau kelompok motor berputar.
true— The motor or motor group is spinning.false— The motor or motor group is not spinning.
isSpinningbekerja dengan fungsi gerakan Motion sepertispin,spinFor, danspinToPosition.
// 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#
Posisi motor atau kelompok motor adalah seberapa jauh motor tersebut telah berputar, diukur dalam degrees atau turnsSatu putaran sama dengan 360 derajat. position mengembalikan posisi motor atau kelompok motor saat ini.
Pada awal proyek, posisi motor atau kelompok motor diatur ke 0 derajat. Jika motor atau kelompok motor berputar satu putaran ke depan, posisinya akan menjadi 360 derajat atau 1 putaran. Jika motor atau kelompok motor berputar ke arah lain, posisinya akan negatif.
Available Functionsdouble position(
rotationUnits units );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
The unit to return the motor or motor group position in:
|
Mengembalikan nilai double yang mewakili posisi motor atau kelompok motor saat ini dalam satuan yang ditentukan.
Memanggil
setPositionmengubah titik referensi untuk nilai ini.Nilai yang dikembalikan mencerminkan pembacaan encoder saat ini dan tidak menunjukkan apakah motor atau kelompok motor sedang bergerak aktif.
Saat dipanggil pada
motor_group, fungsi ini mengembalikan posisi motor pertama dalam grup tersebut.
// Spin, then show the final position
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop();
Brain.Screen.print("Pos: %f", Motor1.position(degrees));
velocity#
velocity mengembalikan seberapa cepat motor atau kelompok motor berputar.
Nilai positif berarti motor atau kelompok motor berputar ke depan. Nilai negatif berarti berputar ke belakang.
Available Functionsdouble velocity(
velocityUnits units );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Satuan yang digunakan untuk menyatakan kecepatan:
|
Mengembalikan nilai double yang mewakili kecepatan putaran motor atau kelompok motor dalam satuan yang ditentukan.
Catatan
Saat dipanggil pada
motor_group, fungsi ini mengembalikan kecepatan motor pertama dalam grup tersebut.
current#
current mengembalikan jumlah arus listrik yang digunakan oleh motor atau kelompok motor. Arus adalah jumlah listrik yang mengalir melalui motor atau kelompok motor. Saat dikembalikan dalam ampere, arus dilaporkan dari 0,0 hingga 1,2 A.
Nilai arus yang lebih tinggi berarti motor atau kelompok motor menggunakan lebih banyak arus listrik. Hal ini dapat terjadi ketika motor atau kelompok motor mengangkat sesuatu yang berat, mendorong suatu objek, atau mencoba bergerak ketika macet.
Ini dapat digunakan untuk memeriksa apakah motor atau kelompok motor mengalami kesulitan selama pergerakan. Jika arus tetap tinggi, motor mungkin menjadi lebih panas atau menggunakan daya kurang efisien.
Available Functions1 — Mengembalikan arus listrik motor atau kelompok motor dalam ampere.
double current( currentUnits units = amp );
Parameters2 — Mengembalikan arus listrik motor atau kelompok motor sebagai persentase dari arus nominal maksimum.
double current( percentUnits units );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Satuan yang digunakan untuk menyatakan arus: |
|
|
Menunjukkan arus sebagai persentase dari arus nominal maksimum motor: |
Mengembalikan nilai double yang menunjukkan seberapa besar arus listrik yang ditarik oleh motor atau kelompok motor dalam satuan yang ditentukan.
Catatan
Saat dipanggil pada
motor_group, fungsi ini mengembalikan total arus listrik untuk semua motor dalam grup tersebut.
power#
power mengembalikan nilai daya yang digunakan motor atau kelompok motor dalam watt. Power menunjukkan seberapa cepat motor atau kelompok motor menggunakan energi.
Nilai daya yang lebih tinggi berarti motor atau kelompok motor menggunakan energi lebih cepat. Hal ini dapat terjadi ketika motor atau kelompok motor mengangkat sesuatu yang berat, mendorong suatu objek, atau mencoba bergerak ketika macet.
Ini dapat digunakan untuk membandingkan gerakan atau memeriksa apakah motor atau kelompok motor mengalami kesulitan. Jika daya tetap tinggi, motor mungkin menjadi lebih panas atau menggunakan energi kurang efisien.
Available Functionsdouble power(
powerUnits units = watt );
Parameter
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Satuan yang digunakan untuk menyatakan daya motor:
|
Nilai Pengembalian
Mengembalikan nilai double yang mewakili daya yang digunakan motor atau kelompok motor dalam watt.
Catatan
Saat dipanggil pada
motor_group, fungsi ini mengembalikan daya listrik dari motor pertama dalam grup tersebut.
torque#
Torsi menunjukkan seberapa kuat motor atau kelompok motor memutar, mendorong, atau menarik saat berputar.
torque mengembalikan nilai torsi yang digunakan oleh motor atau kelompok motor.
Nilai torsi yang lebih tinggi berarti motor atau kelompok motor mendorong atau menarik lebih keras. Hal ini dapat terjadi ketika motor atau kelompok motor mengangkat sesuatu yang berat, mendorong suatu objek, atau mencoba bergerak ketika macet.
Ini dapat digunakan untuk memeriksa apakah motorik atau kelompok motorik mengalami kesulitan atau untuk membandingkan seberapa besar dorongan yang dibutuhkan oleh gerakan yang berbeda.
Untuk mengatur torsi motor atau kelompok motor, gunakan setMaxTorque.
double torque(
torqueUnits units = Nm );
Parameter
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Satuan yang digunakan untuk menyatakan torsi motor:
|
Nilai Pengembalian
Mengembalikan nilai double yang mewakili seberapa besar torsi yang digunakan motor atau kelompok motor dalam satuan yang ditentukan.
Catatan
Saat dipanggil pada
motor_group, fungsi ini mengembalikan torsi keluaran mekanis dari motor pertama dalam grup tersebut.
efficiency#
efficiency mengembalikan seberapa efisien motor atau kelompok motor menggunakan daya, dalam persentase dari 0% hingga 100%.
Efisiensi menunjukkan seberapa banyak daya motor atau kelompok motor yang digunakan untuk pergerakan. Nilai efisiensi yang lebih tinggi berarti lebih banyak daya motor atau kelompok motor yang digunakan untuk bergerak. Nilai efisiensi yang lebih rendah dapat terjadi ketika motor atau kelompok motor bekerja keras tetapi tidak banyak bergerak, seperti ketika macet atau mendorong suatu objek.
Ini dapat digunakan untuk membandingkan gerakan atau memeriksa apakah motor atau kelompok motor tersebut membuang daya alih-alih menggunakannya untuk bergerak.
Available Functionsdouble efficiency(
percentUnits units = percent );
Parameter
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Satuan yang digunakan untuk menyatakan efisiensi motor:
|
Nilai Pengembalian
Mengembalikan nilai double yang mewakili seberapa efisien motor atau kelompok motor menggunakan daya dalam persentase.
Catatan
Saat dipanggil pada
motor_group, fungsi ini mengembalikan efisiensi motor pertama dalam grup tersebut.
temperature#
temperature mengembalikan suhu motor atau kelompok motor.
Suhu motor menunjukkan seberapa hangat motor atau kelompok motor tersebut. Suhu yang lebih tinggi berarti motor atau kelompok motor tersebut semakin panas saat bekerja. Motor harus tetap berada di bawah 55°C agar tetap bekerja dengan performa penuh.
Jika motor atau kelompok motor terlalu panas, motor akan menurunkan arus maksimumnya untuk melindungi diri. Pada 70°C°C, motor akan berhenti beroperasi hingga mendingin.
Ini dapat digunakan untuk memeriksa apakah motor atau kelompok motor menjadi terlalu panas selama gerakan berulang, penggunaan jangka panjang, atau saat mendorong suatu objek.
Available Functions1 — Mengembalikan suhu motor atau kelompok motor sebagai persentase dari suhu operasi maksimum.
double temperature( percentUnits units = percent );
2 — Mengembalikan suhu motor atau kelompok motor dalam satuan suhu fisik.
double temperature( temperatureUnits units );
Parameter
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Satuan yang digunakan untuk menyatakan suhu motor atau kelompok motor sebagai persentase:
|
|
|
Satuan yang digunakan untuk menyatakan suhu motor atau kelompok motor dalam derajat:
|
Nilai Pengembalian
Mengembalikan nilai double yang mewakili suhu motor atau kelompok motor dalam satuan yang ditentukan.
Catatan
Kisaran suhu operasi untuk motor ini adalah sekitar
20°C(68°F) hingga70°C(158°F).Saat dipanggil pada
motor_group, fungsi ini mengembalikan suhu motor pertama dalam grup tersebut.
voltage#
voltage mengembalikan tegangan listrik yang disuplai ke motor atau kelompok motor.
double voltage(
voltageUnits units = volt );
Parameter
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Satuan untuk mewakili tegangan:
|
Nilai Pengembalian
Mengembalikan nilai double yang mewakili tegangan listrik yang disuplai ke motor atau kelompok motor dalam satuan yang ditentukan.
Catatan
Saat dipanggil pada
motor_group, fungsi ini mengembalikan tegangan listrik dari motor pertama dalam grup tersebut.
direction#
direction mengembalikan arah putaran motor atau kelompok motor.
directionType direction();
Parameter
Fungsi ini tidak memerlukan parameter apa pun.
Nilai Pengembalian
Mengembalikan directionType yang menunjukkan arah motor atau grup motor saat ini:
forward— The motor or motor group is spinning forward.reverse— The motor or motor group is spinning in reverse.
installed#
installed mengembalikan informasi apakah motor atau kelompok motor terhubung ke IQ (generasi ke-1) Brain.
bool installed();
Parameter
Fungsi ini tidak memerlukan parameter apa pun.
Nilai Pengembalian
Mengembalikan nilai boolean bool yang menunjukkan apakah motor atau grup motor terhubung.
true— The motor or motor group is connected.false— The motor or motor group is not connected.
count#
count mengembalikan jumlah motor dalam sebuah grup motor.
int32_t count();
Parameter
Fungsi ini tidak memerlukan parameter apa pun.
Nilai Pengembalian
Mengembalikan nilai int32_t yang mewakili jumlah motor dalam grup motor.