Pengontrol Motor 55#

Perkenalan#

Kelas motor55 digunakan untuk mengontrol VEX Motor Controller 55 yang terhubung ke EXP Brain. Motor Controller 55 adalah pengontrol motor lama yang dirancang untuk mengoperasikan motor DC 2-kawat.

Pengontrol Motor VEX 55.

Konstruktor Kelas#

1 — Membuat objek motor55 pada Smart Port yang ditentukan.

motor55(
  int32_t index );

2 — Membuat objek motor55 pada Smart Port yang ditentukan dan mengubah arah putaran positif.

motor55(
  int32_t index,
  bool    reverse );

3 — Membuat objek motor55 pada Smart Port yang ditentukan, mengatur tegangan penggerak maksimum, dan mengubah arah putaran positif.

motor55(
  int32_t index,
  double  maxv,
  bool    reverse );

Destruktor Kelas#

Menghancurkan objek motor55 dan melepaskan sumber daya terkait.

~motor55();

Parameter#

Parameter

Jenis

Keterangan

index

int32_t

Port Pintar yang terhubung ke Pengontrol Motor 55, ditulis sebagai PORTx, di mana x adalah nomor port (misalnya, PORT1).

reverse

bool

Menentukan apakah arah putaran motor terbalik:

  • true — Arah putaran positif motor terbalik.
  • false — Arah putaran positif motor tetap normal.

maxv

double

Tegangan maksimum yang dapat diberikan oleh Pengontrol Motor 55 ke motor.

Contoh#

// Create the motor55 instance in Smart Port 1
motor55 Motor1 = motor55(PORT1);

Fungsi Keanggotaan#

Kelas motor55 mencakup fungsi anggota berikut:

  • spin — Memutar motor ke arah yang ditentukan.

  • stop — Menghentikan motor.

  • setVelocity — Memberi tahu motor DC seberapa cepat harus berputar.

  • setStopping — Mengatur perilaku berhenti (meluncur atau mengerem).

  • setReversed — Mengatur apakah arah motor dibalik.

  • current — Mengembalikan arus listrik motor.

  • voltage — Mengembalikan tegangan listrik motor.

  • temperature — Mengembalikan suhu motor.

  • getMotorType — Mengembalikan tipe motor/pengontrol yang terdeteksi.

  • installed — Mengembalikan apakah Pengontrol Motor 55 terdeteksi pada Port Pintar yang ditentukan.

Sebelum memanggil fungsi anggota motor55 apa pun, sebuah instance harus dibuat, seperti yang ditunjukkan di bawah ini:

/* This constructor is required when using VS Code.
Motor Controller 55 configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create the motor55 instance in Smart Port 1
motor55 MC55_1 = motor55(PORT1);

spin#

Memutar motor ke arah yang ditentukan tanpa batas waktu.

Fungsi yang Tersedia

1 — Berputar menggunakan kecepatan yang dikonfigurasi saat ini.

void spin(
  directionType dir );

2 — Berputar pada tegangan yang ditentukan.

void spin(
  directionType dir,
  double        voltage,
  voltageUnits  units );

Parameter

Parameter

Jenis

Keterangan

dir

directionType

Arah putaran motor: forward atau reverse.

voltage

double

Nilai tegangan yang diterapkan pada motor. Nilai negatif menyebabkan putaran berlawanan arah dengan arah putaran yang diberikan dir.

units

voltageUnits

Satuan yang digunakan untuk menyatakan tegangan:

  • volt — volt
  • voltageUnits::mV — milivolt

Nilai Pengembalian

Fungsi ini tidak mengembalikan nilai.

Catatan

  • Fungsi ini tidak menunggu dan program akan berlanjut segera setelah pemanggilan.

  • Motor akan terus berputar sampai stop dipanggil atau spin lainnya digunakan.

stop#

Menghentikan putaran motor menggunakan mode rem yang sedang dikonfigurasi.

Fungsi yang Tersedia

void stop();

Parameter

Fungsi ini tidak memerlukan parameter apa pun.

Nilai Pengembalian

Fungsi ini tidak mengembalikan nilai.

Catatan

  • Menghentikan motor menggunakan mode penghentian yang saat ini dikonfigurasi yang ditetapkan oleh setStopping.

setVelocity#

Mengatur kecepatan putaran motor DC. Persentase yang lebih tinggi membuat motor DC berputar lebih cepat, dan persentase yang lebih rendah membuat motor DC berputar lebih lambat.

Setiap proyek dimulai dengan setiap motor DC yang terhubung berputar pada kecepatan 50% secara default.

Fungsi yang Tersedia

void setVelocity(
    double       velocity,
    percentUnits units = percent );

Parameter

Parameter

Jenis

Keterangan

velocity

double

Kecepatan putaran dari 0% hingga 100% saat menggunakan percent.

units

percentUnits

Satuan kecepatan: percent pct — persen.

Nilai Pengembalian

Fungsi ini tidak mengembalikan nilai.

Catatan

  • Setiap panggilan berikutnya ke spin tanpa tegangan yang ditentukan akan menggunakan nilai ini.

setStopping#

Menentukan bagaimana motor berperilaku saat berhenti.

Fungsi yang Tersedia

void setStopping(
    brakeType mode );

Parameter

Parameter

Jenis

Keterangan

mode

brakeType

Mode berhenti yang diterapkan ketika stop dipanggil:

  • coast — Motor meluncur hingga berhenti
  • brake — Motor berhenti dengan cepat menggunakan pengereman

Nilai Pengembalian

Fungsi ini tidak mengembalikan nilai.

Catatan

  • Panggilan berikutnya ke stop akan menggunakan mode penghentian ini.

  • Pengontrol Motor 55 hanya mendukung coast dan brake hold tidak didukung.

setReversed#

Menentukan apakah arah putaran motor dibalik.

Fungsi yang Tersedia

void setReversed(
    bool value );

Parameter

Parameter

Jenis

Keterangan

value

bool

Apakah arah putaran motor dibalik:

  • true — Membalik arah putaran motor.
  • false — Mengembalikan arah putaran motor ke arah default.

Nilai Pengembalian

Fungsi ini tidak mengembalikan nilai.

Catatan

  • Memanggil setReversed sama dengan mengubah parameter reverse di konstruktor.

current#

current mengembalikan jumlah arus listrik yang digunakan motor DC. Arus adalah jumlah listrik yang mengalir melalui motor DC. Saat dikembalikan dalam ampere, arus dilaporkan dari 0,0 hingga 1,2 A.

Nilai arus yang lebih tinggi berarti motor DC menggunakan lebih banyak arus listrik. Hal ini dapat terjadi ketika motor DC mengangkat sesuatu yang berat, mendorong suatu objek, atau mencoba bergerak ketika macet.

Ini dapat digunakan untuk memeriksa apakah motor DC mengalami kesulitan selama pergerakan. Jika arus tetap tinggi, motor mungkin menjadi lebih panas atau menggunakan daya kurang efisien.

Available Functions

1 — Mengembalikan arus listrik motor DC dalam ampere.

double current(
  currentUnits units = amp );

2 — Mengembalikan arus listrik motor DC sebagai persentase dari arus nominal maksimum.

double current(
  percentUnits units );

Parameters

Parameter

Jenis

Keterangan

units

currentUnits

Satuan yang digunakan untuk menyatakan arus:amp (standar) — ampere

units

percentUnits

Menunjukkan arus sebagai persentase dari arus nominal maksimum motor:percent persen pct persen

Return Values

Mengembalikan nilai double yang menunjukkan seberapa banyak arus listrik yang digunakan motor DC dalam satuan yang ditentukan.

voltage#

Mengembalikan tegangan listrik yang dialirkan ke motor.

Available Functions
double voltage(
  voltageUnits units = volt );

Parameter

Parameter

Jenis

Keterangan

units

voltageUnits

Satuan untuk mewakili tegangan:

  • volt (standar)
  • voltageUnits::mV — milivolt

Nilai Pengembalian

Mengembalikan nilai double yang mewakili tegangan listrik motor dalam satuan yang ditentukan.

temperature#

temperature mengembalikan suhu motor DC.

Suhu motor menunjukkan seberapa panas motor DC tersebut. Suhu yang lebih tinggi berarti motor DC semakin panas saat beroperasi. Motor harus tetap berada di bawah 55°C agar tetap bekerja dengan performa maksimal.

Jika motor DC terlalu panas, motor akan menurunkan arus maksimumnya untuk melindungi dirinya sendiri. Pada suhu 70°C, motor akan berhenti beroperasi hingga mendingin.

Ini dapat digunakan untuk memeriksa apakah motor DC menjadi terlalu panas selama gerakan berulang, pengoperasian yang lama, atau saat mendorong suatu objek.

Available Functions

1 — Mengembalikan suhu motor DC sebagai persentase dari suhu operasi maksimum.

double temperature(
  percentUnits units = percent );

2 — Mengembalikan suhu motor DC dalam satuan suhu fisik.

double temperature(
  temperatureUnits units );

Parameter

Parameter

Jenis

Keterangan

units

percentUnits

Satuan yang digunakan untuk menyatakan suhu motor DC sebagai persentase:

  • percent / pct (standar) — persen

units

temperatureUnits

Satuan yang digunakan untuk menyatakan suhu motor DC dalam derajat:

  • celsius — derajat Celsius
  • fahrenheit — derajat Fahrenheit

Nilai Pengembalian

Mengembalikan nilai double yang mewakili suhu motor DC dalam satuan yang ditentukan.

Catatan

  • Kisaran suhu operasi untuk motor ini adalah sekitar 20°C (68°F) hingga 70°C (158°F).

getMotorType#

Mengembalikan tipe motor/pengontrol yang terdeteksi.

Fungsi yang Tersedia

int32_t getMotorType();

Parameter

Fungsi ini tidak memerlukan parameter apa pun.

Nilai Pengembalian

Mengembalikan nilai int32_t yang menunjukkan tipe motor/pengontrol yang terdeteksi:

  • 0 — 11W Motor
  • 1 — 5.5W Motor
  • 2 — Motor Controller 55

installed#

Mengembalikan nilai boolean yang menunjukkan apakah Motor Controller 55 terhubung ke EXP Brain.

Available Functions
bool installed();

Parameter

Fungsi ini tidak memerlukan parameter apa pun.

Nilai Pengembalian

Mengembalikan nilai boolean bool yang menunjukkan apakah Pengontrol Motor 55 terhubung.

  • true — The Motor Controller 55 is connected.
  • false — The Motor Controller 55 is not connected.