มอเตอร์#

การแนะนำ#

Motors and motor groups control how parts of a robot move. A Motor controls one configured IQ Smart Motor, while a MotorGroup controls multiple configured IQ Smart Motors together so they move in tandem. Motors and motor groups can be used to raise an arm, turn a claw, spin a wheel, or move another part of a build. Two motors can work together as a drivetrain to move and turn the whole robot.

แต่ละมอเตอร์หรือกลุ่มมอเตอร์จะได้รับการกำหนดค่าในหน้าต่างอุปกรณ์ ชื่อมอเตอร์และกลุ่มมอเตอร์อาจเปลี่ยนแปลงได้ขึ้นอยู่กับการประกอบ หน้านี้ใช้ชื่อตัวอย่าง เช่น motor_1 และ motor_group_1 โปรดแทนที่ด้วยชื่อที่คุณกำหนดเองตามต้องการ

ภาพมอเตอร์ VEX IQ (รุ่นที่ 2) แสดงทิศทางการหมุนไปข้างหน้าด้วยเครื่องหมายบวก และลูกศรชี้ไปทางซ้าย หรือทวนเข็มนาฬิกา ภาพมอเตอร์ VEX IQ (รุ่นที่ 2) แสดงทิศทางการหมุนย้อนกลับ โดยมีเครื่องหมายลบและลูกศรชี้ทิศทางการหมุนไปทางขวา หรือตามเข็มนาฬิกา

โดยค่าเริ่มต้น FORWARD จะหมุนมอเตอร์ทวนเข็มนาฬิกา และ REVERSE จะหมุนมอเตอร์ตามเข็มนาฬิกา หากตั้งค่ามอเตอร์ให้หมุนกลับทิศทาง ทิศทางการหมุนก็จะสลับกัน

มีหลายวิธีในการกำหนดรหัสให้กับมอเตอร์และกลุ่มมอเตอร์ ด้านล่างนี้คือรายการวิธีการกำหนดรหัสให้กับมอเตอร์และกลุ่มมอเตอร์ทั้งหมด:

การดำเนินการ — หยุดและหมุนมอเตอร์และกลุ่มมอเตอร์

  • spin — หมุนมอเตอร์หรือกลุ่มมอเตอร์ไปข้างหน้าหรือถอยหลังตลอดไป

  • spin_for — หมุนมอเตอร์หรือกลุ่มมอเตอร์เป็นระยะทางที่กำหนด

  • spin_to_position — หมุนมอเตอร์หรือกลุ่มมอเตอร์ไปยังตำแหน่งที่กำหนด

  • stop — หยุดมอเตอร์หรือกลุ่มมอเตอร์ไม่ให้หมุน

ตัวปรับแต่ง — ปรับการตั้งค่ามอเตอร์และกลุ่มมอเตอร์

  • set_velocity — บอกมอเตอร์หรือกลุ่มมอเตอร์ว่าจะหมุนเร็วแค่ไหน

  • set_max_torque — กำหนดว่ามอเตอร์หรือกลุ่มมอเตอร์สามารถผลักได้แรงแค่ไหนในขณะที่หมุน

  • set_position — เปลี่ยนตำแหน่งปัจจุบันของมอเตอร์หรือกลุ่มมอเตอร์เป็นค่าใหม่

  • set_stopping — กำหนดวิธีการหยุดการเคลื่อนที่ของมอเตอร์หรือกลุ่มมอเตอร์: โดยการเบรก การปล่อยให้ไหลไปเอง หรือการหยุดนิ่ง

  • set_timeout — ตั้งค่าระยะเวลาที่มอเตอร์หรือกลุ่มมอเตอร์จะพยายามทำการเคลื่อนไหวให้เสร็จสิ้น

  • set_reversed — เปลี่ยนทิศทางการหมุนของมอเตอร์ว่าจะกลับทิศทางหรือไม่

  • reset_position — เปลี่ยนตำแหน่งปัจจุบันของมอเตอร์หรือกลุ่มมอเตอร์เป็น 0

ตัวตรวจสอบสถานะมอเตอร์ — ตรวจสอบสถานะของมอเตอร์และกลุ่มมอเตอร์

  • position — ส่งคืนตำแหน่งปัจจุบันของมอเตอร์หรือกลุ่มมอเตอร์

  • velocity — ส่งคืนความเร็วในการหมุนของมอเตอร์หรือกลุ่มมอเตอร์

  • current — ส่งคืนกระแสไฟฟ้าที่มอเตอร์หรือกลุ่มมอเตอร์ใช้

  • is_done — ส่งคืนว่ามอเตอร์หรือกลุ่มมอเตอร์เคลื่อนที่เสร็จแล้วหรือไม่ โดยแสดงเป็นค่าบูลีน

  • is_spinning — ส่งคืนว่ามอเตอร์หรือกลุ่มมอเตอร์กำลังหมุนอยู่หรือไม่ ในรูปแบบค่าบูลีน

  • direction — ส่งคืนทิศทางที่มอเตอร์หรือกลุ่มมอเตอร์กำลังหมุน

  • power — ส่งคืนกำลังไฟฟ้าที่มอเตอร์หรือกลุ่มมอเตอร์ใช้

  • torque — ส่งคืนค่าแรงบิดที่มอเตอร์หรือกลุ่มมอเตอร์ใช้

  • efficiency — ส่งคืนประสิทธิภาพการใช้พลังงานของมอเตอร์หรือกลุ่มมอเตอร์

  • temperature — ส่งคืนอุณหภูมิของมอเตอร์หรือกลุ่มมอเตอร์

  • count — ส่งคืนจำนวนมอเตอร์ในกลุ่มมอเตอร์

  • get_timeout — ส่งคืนระยะเวลาหมดเวลาปัจจุบันของมอเตอร์หรือกลุ่มมอเตอร์

ตัวสร้าง — เริ่มต้นและกำหนดค่ามอเตอร์และกลุ่มมอเตอร์ด้วยตนเอง

  • Motor — สร้างมอเตอร์

  • MotorGroup — สร้างกลุ่มมอเตอร์

การกระทำ#

spin#

คำสั่ง spin จะหมุนมอเตอร์หรือกลุ่มมอเตอร์ไปข้างหน้าหรือถอยหลังอย่างไม่มีที่สิ้นสุด มอเตอร์หรือกลุ่มมอเตอร์จะหมุนต่อไปจนกว่าจะได้รับคำสั่งอื่น เช่น หมุนไปในทิศทางอื่นหรือหยุด

Usage:
motor_1.spin(direction, velocity, units)

พารามิเตอร์

คำอธิบาย

direction

ทิศทางการหมุนของมอเตอร์หรือกลุ่มมอเตอร์: FORWARD หรือ REVERSE

velocity

Optional. The velocity to spin with from 0% to 100% when using PERCENT. This can be an integer or decimal (float).

units

(ไม่บังคับ) หน่วยความเร็ว:

  • PERCENT
  • RPM — รอบต่อนาที
  • VelocityUnits.DPS — องศาต่อวินาที

# Spin the motor forward, then stop
motor_1.spin(FORWARD)
wait(1, SECONDS)
motor_1.stop()

spin_for#

คำสั่ง spin_for จะหมุนมอเตอร์หรือกลุ่มมอเตอร์เป็นระยะทางที่กำหนด การหมุนจะสัมพันธ์กับตำแหน่งปัจจุบันของมอเตอร์หรือกลุ่มมอเตอร์นั้น โปรเจ็กต์จะรอจนกว่ามอเตอร์หรือกลุ่มมอเตอร์จะหมุนเสร็จก่อนที่โค้ดบรรทัดถัดไปจะทำงาน

Usage:
motor_1.spin_for(direction, angle, units, velocity, units_v, wait)

พารามิเตอร์

คำอธิบาย

direction

ทิศทางการหมุนของมอเตอร์หรือกลุ่มมอเตอร์: FORWARD หรือ REVERSE

angle

ระยะทางที่มอเตอร์หรือกลุ่มมอเตอร์หมุน ค่านี้สามารถเป็นจำนวนเต็ม integer หรือทศนิยม (float)

units

เลือกได้ หน่วยระยะทาง: DEGREES (ค่าเริ่มต้น) หรือ TURNS

velocity

Optional. The velocity to spin with from 0% to 100% when using PERCENT. This can be an integer or decimal (float).

units_v

ตัวเลือกเสริม หน่วยความเร็ว:

  • PERCENT
  • RPM (ค่าเริ่มต้น) — รอบต่อนาที

wait

ตัวเลือกเสริม

  • wait=True (ค่าเริ่มต้น) — ทำให้โปรเจ็กต์รอจนกว่ามอเตอร์หรือกลุ่มมอเตอร์จะหมุนเสร็จก่อนที่โค้ดบรรทัดถัดไปจะทำงาน
  • wait=False — ทำให้โค้ดบรรทัดถัดไปทำงานทันที

# Spin the motor forward, then put it
# at 90 degrees
motor_1.spin(FORWARD)
wait(2, SECONDS)
motor_1.spin_to_position(90, DEGREES)

# Spin the motor at different velocities
# Using default velocity
motor_1.spin_for(FORWARD, 150, MM)
wait(1, SECONDS)
# Spin slower
motor_1.spin_for(REVERSE, 150, MM, 20, PERCENT)
wait(1, SECONDS)
# Spin faster
motor_1.spin_for(FORWARD, 150, MM, 100, PERCENT)

spin_to_position#

spin_to_position หมุนมอเตอร์หรือกลุ่มมอเตอร์ไปยังตำแหน่งที่กำหนด

ตำแหน่งของมอเตอร์หรือกลุ่มมอเตอร์คือระยะที่หมุน โดยวัดเป็น DEGREES หรือ TURNSหนึ่งรอบเท่ากับ 360 องศา ในตอนเริ่มต้นโครงการ ตำแหน่งของมอเตอร์หรือกลุ่มมอเตอร์จะถูกตั้งค่าเป็น 0 องศา นอกจากนี้ยังสามารถตั้งค่าตำแหน่งของมอเตอร์หรือกลุ่มมอเตอร์ได้โดยใช้เมธอด set_position

ค่าตำแหน่งเป็นค่าสัมบูรณ์ ซึ่งหมายความว่าทิศทางการหมุนขึ้นอยู่กับตำแหน่งปัจจุบันของมอเตอร์หรือกลุ่มมอเตอร์

ตัวอย่างเช่น หากมอเตอร์หรือกลุ่มมอเตอร์เริ่มต้นที่ 0 องศาและหมุนไปที่ตำแหน่ง 720 องศา มันจะหมุนไปข้างหน้าสองรอบ หากจากนั้นหมุนไปที่ตำแหน่ง 360 องศา มันจะหมุนถอยหลังหนึ่งรอบ เพราะ 360 น้อยกว่า 720

Usage:
motor_1.spin_to_position(rotation, units, velocity, units_v, wait)

พารามิเตอร์

คำอธิบาย

rotation

ค่าตำแหน่งที่มอเตอร์หรือกลุ่มมอเตอร์จะหมุนไป ค่านี้สามารถเป็นจำนวนเต็ม integer หรือทศนิยม (float)

units

หน่วยตำแหน่ง: DEGREES หรือ TURNS

velocity

Optional. The velocity to spin with from 0% to 100% when using PERCENT. This can be an integer or decimal (float).

units_v

(ไม่บังคับ) หน่วยความเร็ว:

  • PERCENT
  • RPM — รอบต่อนาที
  • VelocityUnits.DPS — องศาต่อวินาที

wait

ตัวเลือกเสริม

  • wait=True (ค่าเริ่มต้น) — ทำให้โปรเจ็กต์รอจนกว่ามอเตอร์หรือกลุ่มมอเตอร์จะหมุนเสร็จก่อนที่โค้ดบรรทัดถัดไปจะทำงาน
  • wait=False — ทำให้โค้ดบรรทัดถัดไปทำงานทันที

# Spin the motor forward, then
# put it at 90 degrees
motor_1.spin(FORWARD)
wait(2, SECONDS)
motor_1.spin_to_position(90, DEGREES)

# Spin forward then quickly reverse
# to 0 degrees
motor_1.spin(FORWARD)
wait(2, SECONDS)
motor_1.spin_to_position(0, DEGREES, 100, PERCENT, wait=True)

stop#

stop หยุดมอเตอร์หรือกลุ่มมอเตอร์ไม่ให้หมุน

Usage:
motor_1.stop(mode)

พารามิเตอร์

คำอธิบาย

mode

ตัวเลือกเสริม วิธีการหยุดมอเตอร์หรือกลุ่มมอเตอร์:

  • COAST — ชะลอความเร็วจนหยุด
  • BRAKE (ค่าเริ่มต้น) — หยุดทันที
  • HOLD — หยุดทันทีและยึดตำแหน่งของมอเตอร์

# Spin the motor forward, then stop
motor_1.spin(FORWARD)
wait(1, SECONDS)
motor_1.stop()

# Spin the motor and coast to a stop
motor_1.set_velocity(100, PERCENT)
motor_1.spin(FORWARD)
wait(2, SECONDS)
motor_1.stop(COAST)

ตัวกลายพันธุ์#

set_velocity#

คำสั่ง set_velocity จะบอกมอเตอร์หรือกลุ่มมอเตอร์ว่าควรหมุนเร็วแค่ไหน ค่าเปอร์เซ็นต์ที่สูงขึ้นจะทำให้มอเตอร์หรือกลุ่มมอเตอร์หมุนเร็วขึ้น และค่าเปอร์เซ็นต์ที่ต่ำลงจะทำให้มอเตอร์หรือกลุ่มมอเตอร์หมุนช้าลง

ทุกโปรเจกต์เริ่มต้นด้วยมอเตอร์แต่ละตัวหรือกลุ่มมอเตอร์หมุนด้วยความเร็ว 50% เป็นค่าเริ่มต้น

หมายเหตุ: ความเร็วที่สูงขึ้นจะทำให้มอเตอร์หรือกลุ่มมอเตอร์หมุนเร็วขึ้น แต่ความแม่นยำอาจลดลง ความเร็วที่ต่ำลงจะทำให้มอเตอร์หรือกลุ่มมอเตอร์หมุนช้าลง แต่ความแม่นยำอาจเพิ่มขึ้น

Usage:
motor_1.set_velocity(velocity, units)

พารามิเตอร์

คำอธิบาย

velocity

The velocity to spin with from 0% to 100% when using PERCENT. This can be an integer or decimal (float).

units

(ไม่บังคับ) หน่วยความเร็ว:

  • PERCENT
  • RPM — รอบต่อนาที
  • VelocityUnits.DPS — องศาต่อวินาที

# Spin the motor at different velocities
# Using default velocity
motor_1.spin_for(FORWARD, 150, MM)
wait(1, SECONDS)
# Spin slower
motor_1.set_velocity(20, PERCENT)
motor_1.spin_for(REVERSE, 150, MM)
wait(1, SECONDS)
# Spin faster
motor_1.set_velocity(100, PERCENT)
motor_1.spin_for(FORWARD, 150, MM)

set_max_torque#

แรงบิดแสดงให้เห็นว่ามอเตอร์หรือกลุ่มมอเตอร์สามารถผลักหรือดึงได้แรงแค่ไหนขณะที่มันหมุน

set_max_torque กำหนดแรงบิดสูงสุดที่มอเตอร์หรือกลุ่มมอเตอร์สามารถใช้งานได้

ค่าเปอร์เซ็นต์ที่สูงขึ้นจะทำให้มอเตอร์หรือกลุ่มมอเตอร์ออกแรงมากขึ้น เช่น เมื่อยกของหนัก ในขณะที่ค่าเปอร์เซ็นต์ที่ต่ำลงจะจำกัดแรงที่มอเตอร์หรือกลุ่มมอเตอร์สามารถออกแรงได้ ซึ่งจะช่วยป้องกันหุ่นยนต์ได้หากมอเตอร์หรือกลุ่มมอเตอร์ติดขัดหรือเคลื่อนที่ไปถึงขีดจำกัดสูงสุด

ทุกโครงการจะเริ่มต้นด้วยแรงบิดของมอเตอร์แต่ละตัวหรือกลุ่มมอเตอร์ที่ 50% เป็นค่าเริ่มต้น

Usage:
motor_1.set_max_torque(value, units)

พารามิเตอร์

คำอธิบาย

value

แรงบิดสูงสุดที่มอเตอร์หรือกลุ่มมอเตอร์สามารถใช้งานได้ ค่านี้อาจเป็นจำนวนเต็ม integer หรือทศนิยม (float)

units

หน่วยแรงบิด:

  • PERCENT
  • TorqueUnits.NM — นิวตันเมตร
  • TorqueUnits.INLB — นิ้วปอนด์

# Spin the motor at different torque values
# Default
motor_1.spin_to_position(45, DEGREES)
# Spin at a lower torque
motor_1.set_max_torque(20, PERCENT)
motor_1.spin_to_position(0, DEGREES)
# Spin at the max torque
motor_1.set_max_torque(100, PERCENT)
motor_1.spin_to_position(45, DEGREES)

set_position#

ตำแหน่งของมอเตอร์หรือกลุ่มมอเตอร์คือระยะที่หมุนไป โดยวัดเป็น DEGREES หรือ TURNSหนึ่งรอบเท่ากับ 360 องศา set_position เปลี่ยนตำแหน่งปัจจุบันของมอเตอร์หรือกลุ่มมอเตอร์เป็นค่าใหม่

ตัวอย่างเช่น หากมอเตอร์หรือกลุ่มมอเตอร์หมุนไปถึง 180 องศา การตั้งตำแหน่งเป็น 0 องศาจะรีเซ็ตตำแหน่งนั้นจาก 180 องศาเป็น 0 องศา จากนั้นมอเตอร์หรือกลุ่มมอเตอร์จะสามารถหมุนไปยังตำแหน่งต่างๆ ตามค่าใหม่นั้นได้

Usage:
motor_1.set_position(position, units)

พารามิเตอร์

คำอธิบาย

position

ค่าตำแหน่งที่จะตั้งให้กับมอเตอร์หรือกลุ่มมอเตอร์ ค่านี้สามารถเป็นจำนวนเต็ม integer หรือทศนิยม (float)

units

หน่วยตำแหน่ง: DEGREES หรือ TURNS

# Position the motor at the
# new 0 degrees
motor_1.set_position(180, DEGREES)
motor_1.spin_to_position(0)

set_stopping#

set_stopping กำหนดวิธีการหยุดการเคลื่อนที่ของมอเตอร์หรือกลุ่มมอเตอร์: โดยการเบรก การปล่อยให้ไหลไปเอง หรือการหยุดนิ่ง

Usage:
motor_1.set_stopping(mode)

พารามิเตอร์

คำอธิบาย

mode

วิธีการที่มอเตอร์หรือกลุ่มมอเตอร์จะหยุด:

  • BRAKE — หยุดทันที
  • COAST — ชะลอความเร็วจนหยุด
  • HOLD — หยุดทันทีและยึดตำแหน่งของมอเตอร์ไว้

# Spin the motor and coast to a stop
motor_1.set_velocity(100, PERCENT)
motor_1.set_stopping(COAST)
motor_1.spin(FORWARD)
wait(2, SECONDS)
motor_1.stop()

set_timeout#

set_timeout กำหนดเวลาที่มอเตอร์หรือกลุ่มมอเตอร์จะพยายามเคลื่อนไหวให้เสร็จสิ้น หากมอเตอร์หรือกลุ่มมอเตอร์ไม่สามารถเคลื่อนไหวให้เสร็จสิ้นภายในเวลาที่กำหนด มันจะหยุดพยายามและไปยังบรรทัดโค้ดถัดไป ซึ่งจะช่วยป้องกันไม่ให้มอเตอร์หรือกลุ่มมอเตอร์ติดขัดในการเคลื่อนไหว

Usage:
motor_1.set_timeout(value, units)

พารามิเตอร์

คำอธิบาย

value

ระยะเวลาที่มอเตอร์หรือกลุ่มมอเตอร์สามารถพยายามทำการเคลื่อนไหวให้เสร็จสิ้นได้ ค่านี้อาจเป็นจำนวนเต็มบวก integer ) หรือทศนิยม (float)

units

ตัวเลือกเสริม หน่วยเวลา:

  • SECONDS
  • MSEC (ค่าเริ่มต้น) — มิลลิวินาที

# Set a 0.5 second timeout for motor actions
motor_1.set_timeout(0.5, SECONDS)

# Try a long move that will time out early
motor_1.spin_for(FORWARD, 2, TURNS)
motor_1.spin_to_position(0, DEGREES)

set_reversed#

set_reversed เปลี่ยนทิศทางการหมุนของมอเตอร์ว่าจะกลับทิศทางหรือไม่ วิธีนี้ทำงานเหมือนกับการตั้งค่าพารามิเตอร์ reverse เป็น True เมื่อสร้าง Motor

หมายเหตุ: วิธีนี้ใช้ได้ผลเฉพาะกับมอเตอร์ตัวเดียวเท่านั้น ไม่ใช่กับกลุ่มมอเตอร์

Usage:
motor_1.set_reversed(value)

พารามิเตอร์

คำอธิบาย

value

ทิศทางการหมุนของมอเตอร์กลับทิศทางหรือไม่:

  • True — กลับทิศทางการหมุนของมอเตอร์
  • False — กลับไปใช้ทิศทางการหมุนปกติ

# Change the reverse direction while spinning
motor_1.spin_for(FORWARD, 45)
motor_1.set_reversed(True)
motor_1.spin_for(FORWARD, 45)

reset_position#

reset_position เปลี่ยนตำแหน่งปัจจุบันของมอเตอร์หรือกลุ่มมอเตอร์เป็น 0

Usage:
motor_1.reset_position()

พารามิเตอร์

คำอธิบาย

เมธอดนี้ไม่มีพารามิเตอร์

# Spin to 360 degrees, then reset the encoder
motor_1.spin_to_position(360, DEGREES)
motor_1.reset_position()

# Move again to 90 degrees from new zero point
motor_1.spin_to_position(90, DEGREES)

ผู้รับ#

position#

ตำแหน่งของมอเตอร์หรือกลุ่มมอเตอร์คือระยะที่หมุนไป โดยวัดเป็น DEGREES หรือ TURNSหนึ่งรอบเท่ากับ 360 องศา position จะแสดงตำแหน่งปัจจุบันของมอเตอร์หรือกลุ่มมอเตอร์

ในตอนเริ่มต้นโครงการ ตำแหน่งของมอเตอร์หรือกลุ่มมอเตอร์จะถูกตั้งค่าไว้ที่ 0 องศา หากมอเตอร์หรือกลุ่มมอเตอร์หมุนไปข้างหน้าหนึ่งรอบ ตำแหน่งจะเปลี่ยนเป็น 360 องศา หรือ 1 รอบ หากมอเตอร์หรือกลุ่มมอเตอร์หมุนไปในทิศทางตรงกันข้าม ตำแหน่งจะเปลี่ยนเป็นค่าลบ

Usage:
motor_1.position(units)

พารามิเตอร์

คำอธิบาย

units

ตัวเลือกเสริม หน่วยสำหรับปรับตำแหน่งมอเตอร์หรือกลุ่มมอเตอร์กลับไปที่: DEGREES (ค่าเริ่มต้น) หรือ TURNS

# Spin the motor and display the
# ending position
motor_1.spin(FORWARD)
wait(1, SECONDS)
motor_1.stop()
brain.screen.print(motor_1.position())

velocity#

ค่า velocity จะแสดงความเร็วในการหมุนของมอเตอร์หรือกลุ่มมอเตอร์

ค่าบวกหมายความว่ามอเตอร์หรือกลุ่มมอเตอร์กำลังหมุนไปข้างหน้า ค่าลบหมายความว่ากำลังหมุนย้อนกลับ

Usage:
motor_1.velocity(units)

พารามิเตอร์

คำอธิบาย

units

ตัวเลือกเสริม หน่วยความเร็วที่จะส่งคืน:

  • PERCENT
  • RPM (ค่าเริ่มต้น) — รอบต่อนาที
  • VelocityUnits.DPS — องศาต่อวินาที

current#

current แสดงปริมาณกระแสไฟฟ้าที่มอเตอร์หรือกลุ่มมอเตอร์ใช้ โดยวัดเป็นแอมป์ ตั้งแต่ 0.0 ถึง 1.2 แอมป์ กระแสไฟฟ้าคือปริมาณไฟฟ้าที่ไหลผ่านมอเตอร์หรือกลุ่มมอเตอร์

ค่ากระแสไฟฟ้าที่สูงขึ้นหมายความว่ามอเตอร์หรือกลุ่มมอเตอร์กำลังใช้กระแสไฟฟ้ามากขึ้น ซึ่งอาจเกิดขึ้นเมื่อมอเตอร์หรือกลุ่มมอเตอร์กำลังยกของหนัก ผลักวัตถุ หรือพยายามเคลื่อนที่เมื่อติดอยู่

สามารถใช้ตรวจสอบได้ว่ามอเตอร์หรือกลุ่มมอเตอร์ทำงานหนักเกินไปขณะเคลื่อนไหวหรือไม่ หากกระแสไฟฟ้าสูงต่อเนื่อง มอเตอร์อาจร้อนขึ้นหรือใช้พลังงานอย่างไม่มีประสิทธิภาพ

Usage:
motor_1.current(units)

พารามิเตอร์

คำอธิบาย

units

ตัวเลือกเสริม หน่วยปัจจุบันที่จะส่งคืน:

  • CurrentUnits.AMP — แอมป์

is_done#

is_done จะส่งคืนค่าบูลีนว่ามอเตอร์หรือกลุ่มมอเตอร์เคลื่อนที่เสร็จแล้วหรือไม่ ค่านี้สามารถใช้ควบคุมจังหวะเวลาของพฤติกรรมอื่นๆ โดยอิงจากการเคลื่อนที่ของมอเตอร์ได้

  • True — มอเตอร์หรือกลุ่มมอเตอร์หยุดเคลื่อนที่แล้ว

  • False — มอเตอร์หรือกลุ่มมอเตอร์ยังคงเคลื่อนที่อยู่

วิธีนี้ทำงานร่วมกับเมธอด Motion ต่อไปนี้ที่มีพารามิเตอร์ wait : spin_for และ spin_to_position

Usage:
motor_1.is_done()

พารามิเตอร์

คำอธิบาย

เมธอดนี้ไม่มีพารามิเตอร์

is_spinning#

is_spinning จะส่งคืนค่าบูลีนว่ามอเตอร์หรือกลุ่มมอเตอร์กำลังหมุนอยู่หรือไม่ ค่านี้สามารถใช้ควบคุมจังหวะเวลาของพฤติกรรมอื่นๆ โดยอิงจากการเคลื่อนที่ของมอเตอร์ได้

  • True — มอเตอร์หรือกลุ่มมอเตอร์กำลังหมุน

  • False — มอเตอร์หรือกลุ่มมอเตอร์ไม่หมุน

วิธีนี้ทำงานร่วมกับเมธอด Motion ต่อไปนี้ที่มีพารามิเตอร์ wait : spin_for และ spin_to_position

Usage:
motor_1.is_spinning()

พารามิเตอร์

คำอธิบาย

เมธอดนี้ไม่มีพารามิเตอร์

direction#

direction ส่งคืนทิศทางการหมุนปัจจุบันของมอเตอร์หรือกลุ่มมอเตอร์

  • FORWARD

  • REVERSE

Usage:
motor_1.direction()

พารามิเตอร์

คำอธิบาย

เมธอดนี้ไม่มีพารามิเตอร์

power#

ค่า power แสดงกำลังไฟฟ้าที่มอเตอร์หรือกลุ่มมอเตอร์ใช้ในหน่วยวัตต์ ค่า Power แสดงให้เห็นว่ามอเตอร์หรือกลุ่มมอเตอร์ใช้พลังงานเร็วแค่ไหน

ค่ากำลังไฟฟ้าที่สูงขึ้นหมายความว่ามอเตอร์หรือกลุ่มมอเตอร์กำลังใช้พลังงานเร็วขึ้น ซึ่งอาจเกิดขึ้นเมื่อมอเตอร์หรือกลุ่มมอเตอร์กำลังยกของหนัก ผลักวัตถุ หรือพยายามเคลื่อนที่เมื่อติดอยู่

สามารถใช้สิ่งนี้เพื่อเปรียบเทียบการเคลื่อนไหวหรือตรวจสอบว่ามอเตอร์หรือกลุ่มมอเตอร์ทำงานหนักเกินไปหรือไม่ หากกำลังไฟสูงอยู่ตลอดเวลา มอเตอร์อาจร้อนขึ้นหรือใช้พลังงานอย่างไม่มีประสิทธิภาพมากขึ้น

Usage:
motor_1.power()

พารามิเตอร์

คำอธิบาย

เมธอดนี้ไม่มีพารามิเตอร์

torque#

แรงบิดแสดงให้เห็นว่ามอเตอร์หรือกลุ่มมอเตอร์นั้นบิด ผลัก หรือดึงมากแค่ไหนขณะที่มันหมุน

torque จะแสดงค่าแรงบิดที่มอเตอร์หรือกลุ่มมอเตอร์นั้นใช้งานอยู่

ค่าแรงบิดที่สูงขึ้นหมายความว่ามอเตอร์หรือกลุ่มมอเตอร์กำลังผลักหรือดึงแรงขึ้น ซึ่งอาจเกิดขึ้นเมื่อมอเตอร์หรือกลุ่มมอเตอร์กำลังยกของหนัก ผลักกับวัตถุ หรือพยายามเคลื่อนย้ายเมื่อติดอยู่

สามารถใช้ตรวจสอบได้ว่ามอเตอร์หรือกลุ่มมอเตอร์ทำงานหนักเกินไปหรือไม่ หรือเพื่อเปรียบเทียบว่าการเคลื่อนไหวแต่ละแบบต้องการแรงผลักมากแค่ไหน

ในการตั้งค่าแรงบิดของมอเตอร์หรือกลุ่มมอเตอร์ ให้ใช้ set_max_torque

Usage:
motor_1.torque(units)

พารามิเตอร์

คำอธิบาย

units

หน่วยแรงบิดที่จะส่งคืน:

  • TorqueUnits.NM (ค่าเริ่มต้น) — นิวตันเมตร
  • TorqueUnits.INLB — นิ้วปอนด์

efficiency#

ค่าประสิทธิภาพ efficiency เป็นเปอร์เซ็นต์ตั้งแต่ 0% ถึง 100%

ประสิทธิภาพแสดงให้เห็นว่าพลังงานของมอเตอร์หรือกลุ่มมอเตอร์นั้นถูกนำไปใช้ในการเคลื่อนที่มากน้อยเพียงใด ค่าประสิทธิภาพที่สูงขึ้นหมายความว่าพลังงานของมอเตอร์หรือกลุ่มมอเตอร์ถูกนำไปใช้ในการเคลื่อนที่มากขึ้น ค่าประสิทธิภาพที่ต่ำลงอาจเกิดขึ้นได้เมื่อมอเตอร์หรือกลุ่มมอเตอร์ทำงานหนักแต่เคลื่อนที่ได้ไม่มาก เช่น เมื่อมันติดขัดหรือดันกับวัตถุ

สามารถใช้เพื่อเปรียบเทียบการเคลื่อนไหว หรือตรวจสอบว่ามอเตอร์หรือกลุ่มมอเตอร์กำลังสูญเสียพลังงานแทนที่จะนำไปใช้ในการเคลื่อนไหวหรือไม่

Usage:
motor_1.efficiency()

พารามิเตอร์

คำอธิบาย

เมธอดนี้ไม่มีพารามิเตอร์

temperature#

temperature returns the temperature of the motor or motor group.

อุณหภูมิของมอเตอร์แสดงให้เห็นว่ามอเตอร์หรือกลุ่มมอเตอร์นั้นร้อนแค่ไหน อุณหภูมิที่สูงขึ้นหมายความว่ามอเตอร์หรือกลุ่มมอเตอร์นั้นร้อนขึ้นขณะทำงาน มอเตอร์ควรมีอุณหภูมิต่ำกว่า 55 องศาเซลเซียสเพื่อให้ทำงานได้อย่างเต็มประสิทธิภาพ

หากมอเตอร์หรือกลุ่มมอเตอร์ร้อนเกินไป มันจะลดกระแสไฟฟ้าสูงสุดลงเพื่อป้องกันตัวเอง ที่อุณหภูมิ 70 องศาเซลเซียส มอเตอร์จะหยุดทำงานจนกว่าจะเย็นลง

สามารถใช้ตรวจสอบได้ว่ามอเตอร์หรือกลุ่มมอเตอร์ร้อนเกินไปหรือไม่ ในระหว่างการเคลื่อนไหวซ้ำๆ การทำงานต่อเนื่องเป็นเวลานาน หรือเมื่อมีการดันกับวัตถุ

Usage:
motor_1.temperature(units)

พารามิเตอร์

คำอธิบาย

units

ตัวเลือกเสริม หน่วยอุณหภูมิที่จะส่งคืน:

  • TemperatureUnits.CELSIUS (ค่าเริ่มต้น)
  • TemperatureUnits.FAHRENHEIT

count#

count ส่งคืนจำนวนมอเตอร์ในกลุ่มมอเตอร์

หมายเหตุ: วิธีนี้ใช้ได้ผลเฉพาะกับกลุ่มมอเตอร์เท่านั้น ไม่ใช่กับมอเตอร์ตัวเดียว

Usage:
motor_group_1.count()

พารามิเตอร์

คำอธิบาย

เมธอดนี้ไม่มีพารามิเตอร์

get_timeout#

get_timeout จะส่งคืนค่าหมดเวลาปัจจุบันของมอเตอร์หรือกลุ่มมอเตอร์ในหน่วยมิลลิวินาที

หมายเหตุ: วิธีนี้ใช้ได้ผลเฉพาะกับมอเตอร์ตัวเดียวเท่านั้น ไม่ใช่กับกลุ่มมอเตอร์

Usage:
motor_1.get_timeout()

พารามิเตอร์

คำอธิบาย

เมธอดนี้ไม่มีพารามิเตอร์

ผู้สร้าง#

ตัวสร้างใช้สำหรับสร้างวัตถุ Motor และ MotorGroup จำนวน ชิ้น ด้วยตนเอง นอกหน้าต่าง Devices

Motor#

Motor สร้างมอเตอร์ขึ้นมา

Usage:
motor_1 = Motor(smartport, gears, reverse)

พารามิเตอร์

คำอธิบาย

smartport

พอร์ตอัจฉริยะที่มอเตอร์เชื่อมต่ออยู่ จะเขียนในรูปแบบ Ports.PORTxโดยที่ x คือหมายเลขพอร์ต

gears

ตัวเลือกเสริม อัตราทดเกียร์ของมอเตอร์:

  • GearSetting.RATIO_1_1 (ค่าเริ่มต้น) — อัตราทด 1:1
  • GearSetting.RATIO_2_1 — อัตราทด 2:1
  • GearSetting.RATIO_3_1 — อัตราทด 3:1

reverse

ตัวเลือกเสริม ตั้งค่าว่าจะกลับทิศทางการหมุนของมอเตอร์หรือไม่:

  • True — กลับทิศทางการหมุนของมอเตอร์
  • False (ค่าเริ่มต้น) — ไม่กลับทิศทางการหมุนของมอเตอร์

# Create a reversed motor
motor_1 = Motor(Ports.PORT1, 1.0, True)

Motor Group#

MotorGroup สร้างกลุ่มมอเตอร์

Usage:
motor_group_1 = MotorGroup(motors)

พารามิเตอร์

คำอธิบาย

motors

ชื่อของวัตถุ Motor ที่สร้างไว้ก่อนหน้านี้ที่จะใส่ลงในกลุ่มมอเตอร์ สามารถเพิ่มวัตถุ Motor ได้สูงสุด 12 ชิ้นในกลุ่มนี้

# Create two motors
motor_group_1_motor_a = Motor(Ports.PORT1, False)
motor_group_1_motor_b = Motor(Ports.PORT6, True)

# Create a motor group with those motors
motor_group_1 = MotorGroup(motor_group_1_motor_a, motor_group_1_motor_b)