Động cơ#

Giới thiệu#

Động cơ và nhóm động cơ điều khiển cách các bộ phận của robot di chuyển. Động cơ Motor điều khiển một Động cơ Thông minh IQ được cấu hình, trong khi Nhóm động cơ MotorGroup điều khiển nhiều Động cơ Thông minh IQ được cấu hình cùng nhau để chúng di chuyển đồng bộ. Động cơ và nhóm động cơ có thể được sử dụng để nâng cánh tay, xoay càng gắp, quay bánh xe hoặc di chuyển một bộ phận khác của cấu trúc. Hai động cơ có thể hoạt động cùng nhau như một hệ thống truyền động để di chuyển và xoay toàn bộ robot.

Mỗi động cơ hoặc nhóm động cơ được cấu hình trong cửa sổ Thiết bị. Tùy thuộc vào phiên bản, tên động cơ và nhóm động cơ có thể thay đổi. Trang này sử dụng motor_1 và motor_group_1 làm ví dụ. Hãy thay thế chúng bằng tên đã cấu hình của riêng bạn khi cần.

Một động cơ VEX IQ (thế hệ thứ 2) hiển thị hướng quay về phía trước được chỉ định bằng dấu cộng và mũi tên cho biết nó đang quay sang trái, hay ngược chiều kim đồng hồ. Một động cơ VEX IQ (thế hệ thứ 2) hiển thị chiều quay ngược được biểu thị bằng dấu trừ và mũi tên, cho biết nó đang quay sang phải, hay theo chiều kim đồng hồ.

Mặc định, FORWARD sẽ làm động cơ quay ngược chiều kim đồng hồ, và REVERSE sẽ làm động cơ quay theo chiều kim đồng hồ. Nếu động cơ được thiết lập để quay ngược chiều, các hướng quay này sẽ được đảo ngược.

Có rất nhiều cách để lập trình động cơ và nhóm động cơ. Dưới đây là danh sách tất cả các phương thức của Động cơ và Nhóm động cơ:

Thao tác — Dừng và quay các động cơ và nhóm động cơ.

  • spin — Quay một động cơ hoặc nhóm động cơ về phía trước hoặc phía sau mãi mãi.

  • spin_for — Quay một động cơ hoặc nhóm động cơ trong một khoảng cách xác định.

  • spin_to_position — Quay một động cơ hoặc nhóm động cơ đến một vị trí cụ thể.

  • stop — Dừng một động cơ hoặc nhóm động cơ quay.

Bộ điều chỉnh — Điều chỉnh cài đặt động cơ và nhóm động cơ.

  • set_velocity — Cho biết tốc độ quay của một động cơ hoặc nhóm động cơ.

  • set_max_torque — Đặt lực đẩy tối đa mà một động cơ hoặc nhóm động cơ được phép thực hiện khi quay.

  • set_position — Thay đổi vị trí hiện tại của động cơ hoặc nhóm động cơ thành một giá trị mới.

  • set_stopping — Đặt cách một động cơ hoặc nhóm động cơ sẽ dừng chuyển động: bằng cách phanh, chạy trượt hoặc giữ.

  • set_timeout — Đặt khoảng thời gian mà một động cơ hoặc nhóm động cơ sẽ cố gắng hoàn thành một chuyển động.

  • set_reversed — Thay đổi xem hướng quay của động cơ có bị đảo ngược hay không.

  • reset_position — Thay đổi vị trí hiện tại của động cơ hoặc nhóm động cơ thành 0.

Bộ phận vận động — Kiểm tra trạng thái động cơ và nhóm động cơ.

  • position — Trả về vị trí hiện tại của động cơ hoặc nhóm động cơ.

  • velocity — Trả về tốc độ quay của động cơ hoặc nhóm động cơ.

  • current — Trả về lượng dòng điện mà động cơ hoặc nhóm động cơ đang sử dụng.

  • is_done — Trả về giá trị Boolean cho biết động cơ hoặc nhóm động cơ đã hoàn thành việc di chuyển hay chưa.

  • is_spinning — Trả về giá trị Boolean cho biết động cơ hoặc nhóm động cơ có đang quay hay không.

  • direction — Trả về hướng quay của động cơ hoặc nhóm động cơ.

  • power — Trả về lượng điện năng mà động cơ hoặc nhóm động cơ đang sử dụng.

  • torque — Trả về lượng mô-men xoắn mà động cơ hoặc nhóm động cơ đang sử dụng.

  • efficiency — Trả về mức độ hiệu quả mà động cơ hoặc nhóm động cơ đang sử dụng năng lượng.

  • temperature — Trả về nhiệt độ của động cơ hoặc nhóm động cơ.

  • count — Trả về số lượng động cơ trong một nhóm động cơ.

  • get_timeout — Trả về thời gian chờ hiện tại của động cơ hoặc nhóm động cơ.

Người lập trình — Tự tay khởi tạo và cấu hình động cơ và nhóm động cơ.

  • Motor — Tạo một động cơ.

  • MotorGroup — Tạo một nhóm vận động.

Hành động#

spin#

spin sẽ làm cho một động cơ hoặc nhóm động cơ quay tiến hoặc lùi liên tục. Động cơ hoặc nhóm động cơ sẽ tiếp tục quay cho đến khi nhận được một lệnh khác, chẳng hạn như quay theo hướng khác hoặc dừng lại.

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

Thông số

Sự miêu tả

direction

Hướng quay của động cơ hoặc nhóm động cơ: FORWARD hoặc REVERSE.

velocity

Tùy chọn. Vận tốc quay từ 0% đến 100% khi sử dụng PERCENTGiá trị này có thể là số nguyên integerfloat).

units

Tùy chọn. Đơn vị vận tốc:

  • PERCENT
  • RPM — Vòng quay mỗi phút
  • VelocityUnits.DPS — Độ mỗi giây

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

spin_for#

Lệnh spin_for quay một động cơ hoặc nhóm động cơ một khoảng cách cụ thể. Khoảng cách quay này tương đối so với vị trí hiện tại của động cơ hoặc nhóm động cơ. Chương trình sẽ chờ cho đến khi động cơ hoặc nhóm động cơ quay xong trước khi dòng mã tiếp theo được thực thi.

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

Thông số

Sự miêu tả

direction

Hướng quay của động cơ hoặc nhóm động cơ: FORWARD hoặc REVERSE.

angle

Khoảng cách quay của động cơ hoặc nhóm động cơ. Giá trị này có thể là số nguyên integer hoặc số thập phân (float).

units

Tùy chọn. Đơn vị khoảng cách: DEGREES (mặc định) hoặc TURNS.

velocity

Tùy chọn. Vận tốc quay từ 0% đến 100% khi sử dụng PERCENTGiá trị này có thể là số nguyên integerfloat).

units_v

Tùy chọn. Đơn vị vận tốc:

  • PERCENT
  • RPM (mặc định) — Vòng quay mỗi phút

wait

Tùy chọn.

  • wait=True (mặc định) — Cho phép dự án chờ cho đến khi động cơ hoặc nhóm động cơ quay xong trước khi dòng mã tiếp theo được thực thi.
  • wait=False — Cho phép dòng mã tiếp theo chạy ngay lập tức.

# 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 xoay một động cơ hoặc nhóm động cơ đến một vị trí cụ thể.

Vị trí của động cơ hoặc nhóm động cơ là khoảng cách nó đã quay, được đo bằng DEGREES hoặc TURNSMột vòng quay bằng 360 độ. Khi bắt đầu một dự án, vị trí của động cơ hoặc nhóm động cơ được đặt thành 0 độ. Vị trí của động cơ hoặc nhóm động cơ cũng có thể được đặt bằng phương pháp set_position.

Các giá trị vị trí là tuyệt đối. Điều này có nghĩa là hướng quay phụ thuộc vào vị trí hiện tại của động cơ hoặc nhóm động cơ.

Ví dụ, nếu động cơ hoặc nhóm động cơ bắt đầu ở 0 độ và quay đến vị trí 720 độ, nó sẽ quay thuận hai vòng. Nếu sau đó nó quay đến vị trí 360 độ, nó sẽ quay ngược một vòng, vì 360 nhỏ hơn 720.

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

Thông số

Sự miêu tả

rotation

Giá trị vị trí mà động cơ hoặc nhóm động cơ sẽ quay tới. Giá trị này có thể là số nguyên integer hoặc số thập phân (float).

units

Đơn vị vị trí: DEGREES hoặc TURNS.

velocity

Tùy chọn. Vận tốc quay từ 0% đến 100% khi sử dụng PERCENTGiá trị này có thể là số nguyên integerfloat).

units_v

Tùy chọn. Đơn vị vận tốc:

  • PERCENT
  • RPM — Vòng quay mỗi phút
  • VelocityUnits.DPS — Độ mỗi giây

wait

Tùy chọn.

  • wait=True (mặc định) — Cho phép dự án chờ cho đến khi động cơ hoặc nhóm động cơ quay xong trước khi dòng mã tiếp theo được thực thi.
  • wait=False — Cho phép dòng mã tiếp theo chạy ngay lập tức.

# 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 dừng một động cơ hoặc nhóm động cơ đang quay.

Usage:
motor_1.stop(mode)

Thông số

Sự miêu tả

mode

Tùy chọn. Cách động cơ hoặc nhóm động cơ sẽ dừng:

  • COAST — Giảm tốc độ đến khi dừng hẳn.
  • BRAKE (mặc định) — Dừng ngay lập tức.
  • HOLD — Dừng ngay lập tức và giữ nguyên vị trí của động cơ.

# 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)

Biến đổi#

set_velocity#

Tham số set_velocity cho biết tốc độ quay của một động cơ hoặc nhóm động cơ. Tỷ lệ phần trăm càng cao thì động cơ hoặc nhóm động cơ quay càng nhanh, và tỷ lệ phần trăm càng thấp thì động cơ hoặc nhóm động cơ quay càng chậm.

Mỗi dự án đều bắt đầu với mỗi động cơ hoặc nhóm động cơ quay ở tốc độ 50% theo mặc định.

Lưu ý: Tốc độ cao hơn làm cho động cơ hoặc nhóm động cơ quay nhanh hơn, nhưng có thể kém chính xác hơn. Tốc độ thấp hơn làm cho động cơ hoặc nhóm động cơ quay chậm hơn, nhưng có thể chính xác hơn.

Usage:
motor_1.set_velocity(velocity, units)

Thông số

Sự miêu tả

velocity

Tốc độ quay từ 0% đến 100% khi sử dụng PERCENTGiá trị này có thể là số nguyên integerfloat).

units

Tùy chọn. Đơn vị vận tốc:

  • PERCENT
  • RPM — Vòng quay mỗi phút
  • VelocityUnits.DPS — Độ mỗi giây

# 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#

Mô-men xoắn thể hiện lực đẩy hoặc lực kéo mà một động cơ hoặc nhóm động cơ có thể tạo ra khi quay.

set_max_torque thiết lập mô-men xoắn tối đa mà một động cơ hoặc nhóm động cơ được phép sử dụng.

Tỷ lệ phần trăm cao hơn cho phép động cơ hoặc nhóm động cơ đẩy mạnh hơn, ví dụ như khi nâng vật nặng. Tỷ lệ phần trăm thấp hơn giới hạn lực đẩy tối đa mà động cơ hoặc nhóm động cơ có thể thực hiện. Điều này giúp bảo vệ robot nếu động cơ hoặc nhóm động cơ bị kẹt hoặc đạt đến giới hạn chuyển động tối đa.

Mỗi dự án đều bắt đầu với mô-men xoắn của mỗi động cơ hoặc nhóm động cơ ở mức 50% theo mặc định.

Usage:
motor_1.set_max_torque(value, units)

Thông số

Sự miêu tả

value

Mô-men xoắn cực đại mà động cơ hoặc nhóm động cơ có thể sử dụng. Giá trị này có thể là số nguyên integer hoặc số thập phân (float).

units

Đơn vị mô-men xoắn:

  • PERCENT
  • TorqueUnits.NM — Newton mét
  • TorqueUnits.INLB — Inch pound

# 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#

Vị trí của một động cơ hoặc nhóm động cơ được xác định bằng khoảng cách quay, tính bằng DEGREES hoặc TURNSMột vòng quay tương đương với 360 độ. set_position thay đổi vị trí hiện tại của động cơ hoặc nhóm động cơ thành một giá trị mới.

Ví dụ, nếu một động cơ hoặc nhóm động cơ đã quay đến 180 độ, việc đặt vị trí về 0 độ sẽ thiết lập lại vị trí đó từ 180 độ về 0 độ. Sau đó, động cơ hoặc nhóm động cơ có thể quay đến các vị trí dựa trên giá trị mới đó.

Usage:
motor_1.set_position(position, units)

Thông số

Sự miêu tả

position

Giá trị vị trí cần thiết lập cho động cơ hoặc nhóm động cơ. Giá trị này có thể là số nguyên integer hoặc số thập phân (float).

units

Đơn vị vị trí: DEGREES hoặc 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 thiết lập cách một động cơ hoặc nhóm động cơ sẽ dừng chuyển động: bằng cách phanh, chạy tự do hoặc giữ nguyên vị trí.

Usage:
motor_1.set_stopping(mode)

Thông số

Sự miêu tả

mode

Cách động cơ hoặc nhóm động cơ sẽ dừng:

  • BRAKE — Dừng ngay lập tức.
  • COAST — Giảm tốc độ cho đến khi dừng hẳn.
  • HOLD — Dừng ngay lập tức và giữ nguyên vị trí của động cơ.

# 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 thiết lập khoảng thời gian mà một động cơ hoặc nhóm động cơ sẽ cố gắng hoàn thành một chuyển động. Nếu động cơ hoặc nhóm động cơ không thể hoàn thành trong thời gian đó, nó sẽ ngừng cố gắng và chuyển sang dòng mã tiếp theo. Điều này giúp ngăn động cơ hoặc nhóm động cơ bị kẹt trong một chuyển động.

Usage:
motor_1.set_timeout(value, units)

Thông số

Sự miêu tả

value

The amount of time the motor or motor group can try to finish a movement. This can be a positive integer or decimal (float).

units

Tùy chọn. Đơn vị thời gian:

  • SECONDS
  • MSEC (mặc định) — Mili giây

# 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 thay đổi xem hướng quay của động cơ có bị đảo ngược hay không. Phương pháp này hoạt động tương tự như việc đặt tham số reverse thành True khi tạo Motor.

Lưu ý: Phương pháp này chỉ hoạt động với một động cơ riêng lẻ, chứ không phải với một nhóm động cơ.

Usage:
motor_1.set_reversed(value)

Thông số

Sự miêu tả

value

Liệu hướng quay của động cơ có bị đảo ngược hay không:

  • True — Đảo ngược hướng quay của động cơ.
  • False — Khôi phục hướng quay của động cơ về mặc định.

# 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 thay đổi vị trí hiện tại của động cơ hoặc nhóm động cơ về 0.

Usage:
motor_1.reset_position()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

# 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)

Người nhận#

position#

Vị trí của một động cơ hoặc nhóm động cơ được xác định bằng khoảng cách quay, tính bằng DEGREES hoặc TURNSMột vòng quay tương đương với 360 độ. Vị trí position đưa động cơ hoặc nhóm động cơ trở về vị trí hiện tại.

Khi bắt đầu một dự án, vị trí của động cơ hoặc nhóm động cơ được đặt ở 0 độ. Nếu động cơ hoặc nhóm động cơ quay một vòng về phía trước, vị trí sẽ là 360 độ hoặc 1 vòng. Nếu động cơ hoặc nhóm động cơ quay theo hướng ngược lại, vị trí sẽ là số âm.

Usage:
motor_1.position(units)

Thông số

Sự miêu tả

units

Tùy chọn. Bộ phận đưa động cơ hoặc nhóm động cơ trở lại vị trí: DEGREES (mặc định) hoặc 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 trả về tốc độ quay của động cơ hoặc nhóm động cơ.

Giá trị dương có nghĩa là động cơ hoặc nhóm động cơ đang quay thuận chiều. Giá trị âm có nghĩa là nó đang quay ngược chiều.

Usage:
motor_1.velocity(units)

Thông số

Sự miêu tả

units

Tùy chọn. Đơn vị vận tốc cần trả về:

  • PERCENT
  • RPM (mặc định) — Vòng quay mỗi phút
  • VelocityUnits.DPS — Độ mỗi giây

current#

Giá trị current cho biết lượng dòng điện mà động cơ hoặc nhóm động cơ đang sử dụng, được đo bằng ampe từ 0,0 đến 1,2 A. Dòng điện là lượng điện năng chạy qua động cơ hoặc nhóm động cơ.

Giá trị dòng điện cao hơn có nghĩa là động cơ hoặc nhóm động cơ đang sử dụng nhiều dòng điện hơn. Điều này có thể xảy ra khi động cơ hoặc nhóm động cơ đang nâng vật nặng, đẩy vào vật thể hoặc cố gắng di chuyển khi bị kẹt.

Chức năng này có thể được sử dụng để kiểm tra xem động cơ hoặc nhóm động cơ có gặp khó khăn trong quá trình vận hành hay không. Nếu dòng điện vẫn cao, động cơ có thể bị nóng lên hoặc sử dụng năng lượng kém hiệu quả hơn.

Usage:
motor_1.current(units)

Thông số

Sự miêu tả

units

Tùy chọn. Đơn vị hiện tại cần trả về:

  • CurrentUnits.AMP — Ampe

is_done#

is_done trả về giá trị Boolean cho biết động cơ hoặc nhóm động cơ đã hoàn thành chuyển động hay chưa. Điều này có thể được sử dụng để kiểm soát thời gian của các hành vi khác dựa trên chuyển động của động cơ.

  • True — Động cơ hoặc nhóm động cơ đã ngừng chuyển động.

  • False — Động cơ hoặc nhóm động cơ vẫn đang hoạt động.

Phương pháp này hoạt động cùng với các phương pháp Chuyển động sau có tham số wait : spin_for và spin_to_position.

Usage:
motor_1.is_done()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

is_spinning#

is_spinning trả về giá trị Boolean cho biết động cơ hoặc nhóm động cơ có đang quay hay không. Điều này có thể được sử dụng để điều khiển thời gian của các hành vi khác dựa trên chuyển động của động cơ.

  • True — Động cơ hoặc nhóm động cơ đang quay.

  • False — Động cơ hoặc nhóm động cơ không quay.

Phương pháp này hoạt động cùng với các phương pháp Chuyển động sau có tham số wait : spin_for và spin_to_position.

Usage:
motor_1.is_spinning()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

direction#

direction trả về hướng quay hiện tại của động cơ hoặc nhóm động cơ.

  • FORWARD

  • REVERSE

Usage:
motor_1.direction()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

power#

power trả về công suất mà động cơ hoặc nhóm động cơ đang sử dụng tính bằng watt. Power cho biết tốc độ tiêu thụ năng lượng của động cơ hoặc nhóm động cơ.

Giá trị công suất cao hơn có nghĩa là động cơ hoặc nhóm động cơ đang tiêu thụ năng lượng nhanh hơn. Điều này có thể xảy ra khi động cơ hoặc nhóm động cơ đang nâng vật nặng, đẩy vào vật thể hoặc cố gắng di chuyển khi bị kẹt.

Chức năng này có thể được sử dụng để so sánh các chuyển động hoặc kiểm tra xem động cơ hoặc nhóm động cơ có đang gặp khó khăn hay không. Nếu công suất vẫn cao, động cơ có thể bị nóng lên hoặc sử dụng năng lượng kém hiệu quả hơn.

Usage:
motor_1.power()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

torque#

Mô-men xoắn thể hiện lực mà một động cơ hoặc nhóm động cơ tạo ra khi quay.

torque trả về lượng mô-men xoắn mà động cơ hoặc nhóm động cơ đang sử dụng.

Giá trị mô-men xoắn cao hơn có nghĩa là động cơ hoặc nhóm động cơ đang đẩy hoặc kéo mạnh hơn. Điều này có thể xảy ra khi động cơ hoặc nhóm động cơ đang nâng vật nặng, đẩy vào vật thể hoặc cố gắng di chuyển khi bị kẹt.

Điều này có thể được sử dụng để kiểm tra xem động cơ hoặc nhóm động cơ có đang gặp khó khăn hay không, hoặc để so sánh lực đẩy cần thiết cho các chuyển động khác nhau.

Để đặt mô-men xoắn của một động cơ hoặc nhóm động cơ, hãy sử dụng set_max_torque.

Usage:
motor_1.torque(units)

Thông số

Sự miêu tả

units

Đơn vị mô-men xoắn cần trả về:

  • TorqueUnits.NM (mặc định) — Newton mét
  • TorqueUnits.INLB — Inch pound

efficiency#

Hiệu suất efficiency thể hiện mức độ hiệu quả sử dụng năng lượng của động cơ hoặc nhóm động cơ, được biểu thị bằng phần trăm từ 0% đến 100%.

Hiệu suất cho biết bao nhiêu phần trăm công suất của động cơ hoặc nhóm động cơ được sử dụng để tạo chuyển động. Giá trị hiệu suất càng cao nghĩa là càng nhiều công suất của động cơ hoặc nhóm động cơ được sử dụng để tạo chuyển động. Giá trị hiệu suất thấp có thể xảy ra khi động cơ hoặc nhóm động cơ hoạt động hết công suất nhưng không tạo ra nhiều chuyển động, ví dụ như khi bị kẹt hoặc đang đẩy vào vật cản.

Điều này có thể được sử dụng để so sánh các chuyển động hoặc kiểm tra xem động cơ hoặc nhóm động cơ có đang lãng phí năng lượng thay vì sử dụng nó để tạo ra chuyển động hay không.

Usage:
motor_1.efficiency()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

temperature#

temperature trả về nhiệt độ của động cơ hoặc nhóm động cơ.

Nhiệt độ động cơ cho biết động cơ hoặc nhóm động cơ đang nóng lên như thế nào. Nhiệt độ càng cao có nghĩa là động cơ hoặc nhóm động cơ đang nóng lên trong quá trình hoạt động. Động cơ cần duy trì nhiệt độ dưới 55 độ C để hoạt động hết công suất.

Nếu động cơ hoặc nhóm động cơ quá nóng, nó sẽ giảm dòng điện tối đa để tự bảo vệ. Ở nhiệt độ 70 độ C, động cơ sẽ ngừng hoạt động cho đến khi nguội hẳn.

Chức năng này có thể được sử dụng để kiểm tra xem động cơ hoặc nhóm động cơ có bị quá nóng trong quá trình chuyển động lặp đi lặp lại, hoạt động liên tục trong thời gian dài hoặc khi nó tác động lên vật thể hay không.

Usage:
motor_1.temperature(units)

Thông số

Sự miêu tả

units

Tùy chọn. Đơn vị nhiệt độ cần trả về:

  • TemperatureUnits.CELSIUS (mặc định)
  • TemperatureUnits.FAHRENHEIT

count#

count trả về số lượng động cơ trong một nhóm động cơ.

Lưu ý: Phương pháp này chỉ hoạt động với nhóm động cơ chứ không phải với từng động cơ riêng lẻ.

Usage:
motor_group_1.count()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

get_timeout#

get_timeout trả về thời gian chờ hiện tại của động cơ hoặc nhóm động cơ tính bằng mili giây.

Lưu ý: Phương pháp này chỉ hoạt động với một động cơ riêng lẻ, chứ không phải với một nhóm động cơ.

Usage:
motor_1.get_timeout()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

Các hàm tạo#

Các hàm tạo được sử dụng để tạo thủ công các đối tượng Motor và MotorGroup bên ngoài cửa sổ Thiết bị.

Motor#

Motor tạo ra một động cơ.

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

Tham số

Sự miêu tả

smartport

Cổng thông minh mà động cơ được kết nối được viết dưới dạng Ports.PORTx, trong đó x là số cổng.

gears

Tùy chọn. Tỷ số truyền của động cơ:

  • GearSetting.RATIO_1_1 (mặc định) — tỷ số 1:1
  • GearSetting.RATIO_2_1 — tỷ số 2:1
  • GearSetting.RATIO_3_1 — tỷ số 3:1

reverse

Tùy chọn. Thiết lập xem hướng quay của động cơ có bị đảo ngược hay không:

  • True — Đảo ngược hướng quay của động cơ.
  • False (mặc định) — Không đảo ngược hướng quay của động cơ.

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

Motor Group#

MotorGroup tạo một nhóm động cơ.

Usage:
motor_group_1 = MotorGroup(motors)

Tham số

Sự miêu tả

motors

Tên của các đối tượng Motor đã tạo trước đó để đưa vào nhóm động cơ. Có thể thêm tối đa 12 đối tượng Motor vào nhóm.

# 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)