ตัวควบคุมมอเตอร์ 55#
การแนะนำ#
คลาส motor55 ใช้สำหรับควบคุม VEX Motor Controller 55 ที่เชื่อมต่อกับ EXP Brain โดย Motor Controller 55 เป็นตัวควบคุมมอเตอร์แบบเก่าที่ออกแบบมาเพื่อใช้งานกับมอเตอร์ DC แบบ 2 สาย

ตัวสร้างคลาส#
1 — สร้างอ็อบเจ็กต์
motor55บน Smart Port ที่ระบุmotor55( int32_t index );
2 — สร้างวัตถุ
motor55บน Smart Port ที่ระบุ และเปลี่ยนทิศทางการหมุนบวกmotor55( int32_t index, bool reverse );
3 — สร้างวัตถุ
motor55บน Smart Port ที่ระบุ ตั้งค่าแรงดันไฟฟ้าสูงสุด และเปลี่ยนทิศทางการหมุนบวกmotor55( int32_t index, double maxv, bool reverse );
ตัวทำลายคลาส#
ทำลายอ็อบเจ็กต์ motor55 และปล่อยทรัพยากรที่เกี่ยวข้อง
~motor55();
พารามิเตอร์#
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
พอร์ตอัจฉริยะที่เชื่อมต่อกับตัวควบคุมมอเตอร์ 55 จะเขียนในรูปแบบ |
|
|
ตรวจสอบว่าทิศทางการหมุนของมอเตอร์กลับทิศทางหรือไม่:
|
|
|
แรงดันไฟฟ้าสูงสุดที่ตัวควบคุมมอเตอร์ 55 สามารถจ่ายให้กับมอเตอร์ได้ |
ตัวอย่าง#
// Create the motor55 instance in Smart Port 1
motor55 Motor1 = motor55(PORT1);
ฟังก์ชันสมาชิก#
คลาส motor55 ประกอบด้วยฟังก์ชันสมาชิกต่อไปนี้:
spin— หมุนมอเตอร์ไปในทิศทางที่กำหนดstop— หยุดมอเตอร์setVelocity— บอกมอเตอร์ DC ว่าจะหมุนเร็วแค่ไหนsetStopping— กำหนดพฤติกรรมการหยุด (ไหลหรือเบรก)setReversed— ตั้งค่าว่าจะกลับทิศทางการหมุนของมอเตอร์หรือไม่current— ส่งคืนกระแสไฟฟ้าของมอเตอร์voltage— ส่งคืนแรงดันไฟฟ้าของมอเตอร์temperature— ส่งคืนอุณหภูมิของมอเตอร์getMotorType— ส่งคืนประเภทมอเตอร์/ตัวควบคุมที่ตรวจพบinstalled— ส่งคืนว่าตรวจพบตัวควบคุมมอเตอร์ 55 บน Smart Port ที่ระบุหรือไม่
ก่อนเรียกใช้ฟังก์ชันสมาชิก motor55 ใดๆ จะต้องสร้างอินสแตนซ์ก่อน ดังที่แสดงด้านล่าง:
/* 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#
หมุนมอเตอร์ไปในทิศทางที่กำหนดอย่างต่อเนื่อง
ฟังก์ชันที่ใช้งานได้
1 — หมุนโดยใช้ ความเร็วที่กำหนดค่าไว้ในปัจจุบัน
void spin( directionType dir );
2 — หมุนด้วยแรงดันไฟฟ้าที่กำหนด
void spin( directionType dir, double voltage, voltageUnits units );
พารามิเตอร์
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
ทิศทางการหมุนของมอเตอร์: |
|
|
ค่าแรงดันไฟฟ้าที่จ่ายให้กับมอเตอร์ ค่าลบจะหมุนในทิศทางตรงกันข้ามกับค่าที่กำหนด |
|
|
หน่วยที่ใช้แทนแรงดันไฟฟ้า:
|
ค่าที่ส่งคืน
ฟังก์ชันนี้ไม่ส่งค่ากลับ
หมายเหตุ
ฟังก์ชันนี้ไม่ต้องรอ และโปรแกรมจะทำงานต่อทันทีหลังจากเรียกใช้
มอเตอร์จะหมุนต่อไปจนกว่าจะมีการเรียก
stopหรือใช้spinอีกครั้ง
stop#
หยุดมอเตอร์ไม่ให้หมุนโดยใช้ โหมดเบรกที่กำหนดค่าไว้ในปัจจุบัน
ฟังก์ชันที่ใช้งานได้
void stop();
พารามิเตอร์
ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ
ค่าที่ส่งคืน
ฟังก์ชันนี้ไม่ส่งค่ากลับ
หมายเหตุ
หยุดมอเตอร์โดยใช้โหมดหยุดที่กำหนดค่าไว้ในปัจจุบันโดย
setStopping
setVelocity#
คำสั่งนี้บอกมอเตอร์กระแสตรงว่าควรหมุนเร็วแค่ไหน ค่าเปอร์เซ็นต์ที่สูงขึ้นจะทำให้มอเตอร์หมุนเร็วขึ้น และค่าเปอร์เซ็นต์ที่ต่ำลงจะทำให้มอเตอร์หมุนช้าลง
ทุกโปรเจกต์เริ่มต้นด้วยมอเตอร์ DC ที่เชื่อมต่อแต่ละตัวหมุนด้วยความเร็ว 50% เป็นค่าเริ่มต้น
ฟังก์ชันที่ใช้งานได้
void setVelocity(
double velocity,
percentUnits units = percent );
พารามิเตอร์
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
ความเร็วในการหมุนตั้งแต่ 0% ถึง 100% เมื่อใช้ |
|
|
หน่วยความเร็ว: |
ค่าที่ส่งคืน
ฟังก์ชันนี้ไม่ส่งค่ากลับ
หมายเหตุ
การเรียกใช้
spinครั้งถัดไปโดยไม่มีแรงดันไฟฟ้าที่ระบุจะใช้ค่านี้
setStopping#
ตั้งค่าพฤติกรรมของมอเตอร์เมื่อหยุดทำงาน
ฟังก์ชันที่ใช้งานได้
void setStopping(
brakeType mode );
พารามิเตอร์
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
โหมดการหยุดที่ใช้เมื่อเรียก
|
ค่าที่ส่งคืน
ฟังก์ชันนี้ไม่ส่งค่ากลับ
หมายเหตุ
การเรียกใช้
stopครั้งถัดไปจะใช้โหมดการหยุดนี้ตัวควบคุมมอเตอร์ 55 รองรับเฉพาะโหมด
coastและbrakeเท่านั้น โหมดholdไม่ได้รับการสนับสนุน
setReversed#
ตั้งค่าว่าจะกลับทิศทางการหมุนของมอเตอร์หรือไม่
ฟังก์ชันที่ใช้งานได้
void setReversed(
bool value );
พารามิเตอร์
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
ทิศทางการหมุนของมอเตอร์กลับทิศทางหรือไม่:
|
ค่าที่ส่งคืน
ฟังก์ชันนี้ไม่ส่งค่ากลับ
หมายเหตุ
การเรียก
setReversedเหมือนกับการเปลี่ยนพารามิเตอร์reverseใน constructor
current#
ค่ากระแสไฟฟ้า current จะแสดงปริมาณกระแสไฟฟ้าที่มอเตอร์กระแสตรง (DC motor) ใช้ กระแสไฟฟ้าคือปริมาณไฟฟ้าที่ไหลผ่านมอเตอร์กระแสตรง เมื่อแสดงค่าเป็นแอมป์ ค่ากระแสไฟฟ้าจะอยู่ระหว่าง 0.0 ถึง 1.2 แอมป์
ค่ากระแสไฟฟ้าที่สูงขึ้นหมายความว่ามอเตอร์ DC ใช้กระแสไฟฟ้ามากขึ้น ซึ่งอาจเกิดขึ้นเมื่อมอเตอร์ DC กำลังยกของหนัก ผลักวัตถุ หรือพยายามเคลื่อนที่เมื่อติดอยู่
สามารถใช้ตรวจสอบได้ว่ามอเตอร์ DC ทำงานหนักเกินไปขณะเคลื่อนที่หรือไม่ หากกระแสไฟฟ้าสูงต่อเนื่อง มอเตอร์อาจร้อนขึ้นหรือใช้พลังงานอย่างไม่มีประสิทธิภาพ
Available Functions1 — ส่งคืนค่ากระแสไฟฟ้าของมอเตอร์ DC ในหน่วยแอมป์
double current( currentUnits units = amp );
Parameters2 — แสดงค่ากระแสไฟฟ้าของมอเตอร์ DC เป็นเปอร์เซ็นต์ของกระแสไฟฟ้าสูงสุดที่กำหนด
double current( percentUnits units );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
หน่วยที่ใช้แทนกระแสไฟฟ้า: |
|
|
แสดงกระแสไฟฟ้าเป็นเปอร์เซ็นต์ของกระแสไฟฟ้าสูงสุดที่มอเตอร์รับได้: |
ส่งคืนค่า double ซึ่งแสดงถึงปริมาณกระแสไฟฟ้าที่มอเตอร์ DC ใช้ในหน่วยที่ระบุ
voltage#
ส่งคืนแรงดันไฟฟ้าที่จ่ายให้กับมอเตอร์
Available Functionsdouble voltage(
voltageUnits units = volt );
พารามิเตอร์
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
หน่วยที่ใช้แสดงแรงดันไฟฟ้า:
|
ค่าที่ส่งคืน
ส่งคืนค่า double ซึ่งแสดงถึงแรงดันไฟฟ้าของมอเตอร์ในหน่วยที่ระบุ
temperature#
temperature returns the temperature of the DC motor.
อุณหภูมิของมอเตอร์แสดงให้เห็นว่ามอเตอร์กระแสตรงร้อนแค่ไหน อุณหภูมิที่สูงขึ้นหมายความว่ามอเตอร์กระแสตรงร้อนขึ้นขณะทำงาน อุณหภูมิของมอเตอร์ควรต่ำกว่า 55°C เพื่อให้ทำงานได้อย่างเต็มประสิทธิภาพ
หากมอเตอร์กระแสตรงร้อนเกินไป มันจะลดกระแสสูงสุดลงเพื่อป้องกันตัวเอง ที่อุณหภูมิ 70°C มอเตอร์จะหยุดทำงานจนกว่าจะเย็นลง
สามารถใช้ตรวจสอบได้ว่ามอเตอร์ DC ร้อนเกินไปหรือไม่ ในระหว่างการเคลื่อนไหวซ้ำๆ การทำงานต่อเนื่องเป็นเวลานาน หรือเมื่อมันดันกับวัตถุ
Available Functions1 — แสดงอุณหภูมิของมอเตอร์ DC เป็นเปอร์เซ็นต์ของอุณหภูมิการทำงานสูงสุด
double temperature( percentUnits units = percent );
2 — ส่งคืนค่าอุณหภูมิของมอเตอร์ DC ในหน่วยอุณหภูมิทางกายภาพ
double temperature( temperatureUnits units );
พารามิเตอร์
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
หน่วยที่ใช้แสดงอุณหภูมิของมอเตอร์ DC เป็นเปอร์เซ็นต์:
|
|
|
หน่วยที่ใช้แสดงอุณหภูมิของมอเตอร์ DC ในหน่วยองศา:
|
ค่าที่ส่งคืน
ส่งคืนค่า double ซึ่งแสดงถึงอุณหภูมิของมอเตอร์ DC ในหน่วยที่ระบุ
หมายเหตุ
ช่วงอุณหภูมิการทำงานของมอเตอร์โดยประมาณคือ
20°C(68°F) ถึง70°C(158°F)
getMotorType#
ส่งคืนประเภทมอเตอร์/ตัวควบคุมที่ตรวจพบ
ฟังก์ชันที่ใช้งานได้
int32_t getMotorType();
พารามิเตอร์
ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ
ค่าที่ส่งคืน
ส่งคืนค่า int32_t เพื่อระบุประเภทมอเตอร์/ตัวควบคุมที่ตรวจพบ:
0— 11W Motor1— 5.5W Motor2— Motor Controller 55
installed#
ตรวจสอบว่า Motor Controller 55 เชื่อมต่อกับ EXP Brain แล้วหรือไม่
Available Functionsbool installed();
พารามิเตอร์
ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ
ค่าที่ส่งคืน
ส่งคืนค่าบูลีน bool เพื่อระบุว่าตัวควบคุมมอเตอร์ 55 เชื่อมต่ออยู่หรือไม่
true— The Motor Controller 55 is connected.false— The Motor Controller 55 is not connected.