Hệ thống truyền động#

Giới thiệu#

The drivetrain class controls how a robot drives and turns. A drivetrain is made of motors and wheels that work together to move the robot.

Hệ thống truyền động drivetrain không sử dụng Cảm biến con quay hồi chuyển hoặc Cảm biến quán tính cho các lượt rẽ dựa trên hướng hoặc dựa trên vòng quay. Nó có thể lái tiến hoặc lùi và rẽ trái hoặc phải, nhưng nó không thể rẽ theo một hướng hoặc vòng quay cụ thể. Đối với các lượt rẽ dựa trên hướng và dựa trên vòng quay, hãy sử dụng lớp smartdrive.

Trang này sử dụng myDrivetrain làm ví dụ về tên hệ thống truyền động. Hãy thay thế nó bằng tên đã được cấu hình của riêng bạn nếu cần.

Lớp dẫn xuất#

Lớp hệ thống truyền động drivetrain đóng vai trò là lớp cơ sở cho lớp dẫn xuất sau:

  • smartdrive - Tạo hệ thống truyền động với hỗ trợ Cảm biến Con quay hồi chuyển hoặc Cảm biến Quán tính.

Hàm tạo lớp#

1 - Tạo hệ thống truyền động bằng cách sử dụng motor_group hiện có cho phía bên trái và bên phải.

drivetrain(
    motor_group      &l,
    motor_group      &r,
    double           wheelTravel = 320,
    double           trackWidth = 320,
    double           wheelBase = 130,
    distanceUnits    unit = mm,
    double           externalGearRatio = 1.0 );

2 - Tạo hệ thống truyền động bằng cách sử dụng các đối tượng motor hiện có cho phía bên trái và bên phải.

drivetrain(
    motor            &l,
    motor            &r,
    double           wheelTravel = 320,
    double           trackWidth = 320,
    double           wheelBase = 130,
    distanceUnits    unit = mm,
    double           externalGearRatio = 1.0 );

Lớp Destructor#

Phá hủy đối tượng hệ thống truyền động drivetrain và giải phóng các tài nguyên liên quan.

virtual ~drivetrain();

Thông số#

Tham số

Kiểu

Sự miêu tả

&l / &r

motor_group / motor

Các động cơ hoặc nhóm động cơ bên trái và bên phải. Cả hai tham số phải sử dụng cùng một kiểu: hoặc hai đối tượng motor_group hoặc hai đối tượng motor.

wheelTravel

double

Chu vi của các bánh xe truyền động. Giá trị mặc định là 320.

trackWidth

double

Khoảng cách giữa bánh xe bên trái và bên phải. Giá trị mặc định là 320.

wheelBase

double

Khoảng cách giữa bánh trước và bánh sau. Giá trị mặc định là 130.

unit

distanceUnits

Đơn vị cho wheelTravel, trackWidthvà wheelBase: mm (mặc định) hoặc inches.

externalGearRatio

double

Tỷ số truyền được sử dụng để điều chỉnh quãng đường di chuyển nếu có sử dụng hộp số. Giá trị mặc định là 1.0.

Ví dụ#

// Create the left and right motor objects.
motor leftMotor = motor(PORT1, false);
motor rightMotor = motor(PORT9, true);

// Create the drivetrain object.
drivetrain myDrivetrain = drivetrain(
    leftMotor,  // left motor
    rightMotor, // right motor
    259.34,     // wheelTravel
    320,        // trackWidth
    40,         // wheelBase
    mm,         // unit
    1.0 );      // externalGearRatio

Chức năng thành viên#

Lớp hệ thống truyền động drivetrain bao gồm các hàm thành viên sau:

Thao tác - Di chuyển và xoay robot.

  • drive - Di chuyển robot tiến hoặc lùi mãi mãi.

  • driveFor - Di chuyển robot tiến hoặc lùi một khoảng cách cụ thể.

  • turn - Xoay robot sang trái hoặc phải mãi mãi.

  • turnFor - Xoay robot sang trái hoặc phải một số độ hoặc vòng quay cụ thể.

  • stop - Dừng chuyển động của robot.

Cài đặt - Điều chỉnh cài đặt hệ thống truyền động.

  • setDriveVelocity - Cho robot biết tốc độ lái xe.

  • setTurnVelocity - Cho robot biết tốc độ quay.

  • setStopping - Cho biết cách robot sẽ dừng di chuyển: bằng cách phanh, trượt hoặc giữ nguyên.

  • setTimeout - Đặt thời gian robot sẽ cố gắng hoàn thành một chuyển động.

Giá trị - Kiểm tra trạng thái di chuyển.

  • isDone - Trả về giá trị Boolean cho biết robot đã hoàn thành việc di chuyển hay chưa.

  • isMoving - Trả về giá trị Boolean cho biết robot có đang di chuyển hay không.

  • velocity - Trả về tốc độ di chuyển của robot.

  • current - Trả về lượng dòng điện mà hệ thống truyền động đang sử dụng.

  • power - Trả về tốc độ sử dụng năng lượng của hệ thống truyền động.

  • torque - Trả về lượng mô-men xoắn mà hệ thống truyền động đang sử dụng.

  • efficiency - Trả về mức độ hiệu quả của hệ thống truyền động khi sử dụng năng lượng.

  • temperature - Trả về nhiệt độ của hệ thống truyền động.

  • voltage - Trả về điện áp của hệ thống truyền động.

Before calling any drivetrain member functions, a drivetrain object must be created.

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

// Create the left and right motor objects.
motor leftMotor = motor(PORT1, false);
motor rightMotor = motor(PORT9, true);

// Create the drivetrain object.
drivetrain myDrivetrain = drivetrain(
    leftMotor,  // left motor
    rightMotor, // right motor
    259.34,     // wheelTravel
    320,        // trackWidth
    40,         // wheelBase
    mm,         // unit
    1.0 );      // externalGearRatio

Hành động#

lái xe#

Phím drive cho phép robot di chuyển tiến hoặc lùi liên tục. Robot sẽ tiếp tục di chuyển cho đến khi nhận được lệnh khác, chẳng hạn như rẽ hoặc dừng lại.

Available Functions

1 - Điều khiển bằng vận tốc truyền động hiện tại.

void drive(
    directionType dir );

2 - Lái xe với vận tốc đã chỉ định.

void drive(
    directionType dir,
    double        velocity,
    velocityUnits units );

Parameters

Tham số

Kiểu

Sự miêu tả

dir

directionType

Hướng di chuyển của robot: forward hoặc reverse.

velocity

double

Tốc độ di chuyển từ 0% đến 100% khi sử dụng velocityUnits::pct, từ 0 đến 120 vòng/phút khi sử dụng rpm, hoặc từ 0 đến 720 độ/giây khi sử dụng dps. Nếu không cung cấp tốc độ, robot sẽ di chuyển với tốc độ hiện tại.

units

velocityUnits

Đơn vị vận tốc: velocityUnits::pct (phần trăm), rpm (vòng quay mỗi phút), hoặc dps (độ mỗi giây).

Return Values

Hàm này không trả về giá trị nào.

Notes
  • drive không chờ. Dự án sẽ chạy dòng mã tiếp theo ngay lập tức.

  • Robot sẽ tiếp tục di chuyển cho đến khi stop được gọi hoặc một chức năng di chuyển hệ thống truyền động khác chạy.

  • isDone và isMoving không được sử dụng với drive vì drive không có khoảng cách mục tiêu.

Examples
// Drive forward and back.
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.drive(reverse, 25, rpm);
wait(2, seconds);
myDrivetrain.stop();

lái xe cho#

Lệnh driveFor di chuyển robot tiến hoặc lùi một khoảng cách cụ thể. Chương trình sẽ chờ cho đến khi robot hoàn thành việc di chuyển trước khi chạy dòng mã tiếp theo.

Available Functions

1 - Di chuyển theo hướng đã chỉ định trong một khoảng cách bằng vận tốc di chuyển hiện tại.

bool driveFor(
    directionType dir,
    double        distance,
    distanceUnits units,
    bool          waitForCompletion = true );

2 - Di chuyển theo hướng dựa trên giá trị khoảng cách sử dụng vận tốc di chuyển hiện tại.

bool driveFor(
    double        distance,
    distanceUnits units,
    bool          waitForCompletion = true );

3 - Di chuyển theo hướng dựa trên giá trị khoảng cách với vận tốc được chỉ định.

bool driveFor(
    double        distance,
    distanceUnits units,
    double        velocity,
    velocityUnits units_v,
    bool          waitForCompletion = true );

4 - Di chuyển theo hướng đã chỉ định trong một khoảng cách với vận tốc đã chỉ định.

bool driveFor(
    directionType dir,
    double        distance,
    distanceUnits units,
    double        velocity,
    velocityUnits units_v,
    bool          waitForCompletion = true );

Parameters

Tham số

Kiểu

Sự miêu tả

dir

directionType

Hướng di chuyển của robot: forward hoặc reverse.

distance

double

Quãng đường robot di chuyển.

units

distanceUnits

Đơn vị đo khoảng cách: mm (milimét), inchesinch) , hoặc cm (centimet).

velocity

double

Tốc độ di chuyển từ 0% đến 100% khi sử dụng velocityUnits::pct, từ 0 đến 120 vòng/phút khi sử dụng rpm, hoặc từ 0 đến 720 độ/giây khi sử dụng dps. Nếu không cung cấp tốc độ, robot sẽ di chuyển với tốc độ hiện tại.

units_v

velocityUnits

Đơn vị vận tốc: velocityUnits::pct (phần trăm), rpm (vòng quay mỗi phút), hoặc dps (độ mỗi giây).

waitForCompletion

bool

true (mặc định) khiến dự án chờ cho đến khi robot hoàn thành chuyển động trước khi dòng mã tiếp theo được thực thi. false khiến dòng mã tiếp theo được thực thi ngay lập tức.

Return Values

Trả về giá trị Boolean cho biết robot đã đạt được khoảng cách mục tiêu hay chưa.

  • true - Robot đã đạt được khoảng cách mục tiêu.

  • false - Robot không hoàn thành chuyển động, hoặc hàm trả về trước khi chuyển động hoàn tất vì waitForCompletion được đặt thành false.

Notes
  • Việc chạy một chức năng chuyển động hệ thống truyền động khác trong khi lệnh driveFor đang chạy sẽ làm gián đoạn chuyển động hiện tại.

  • driveFor sử dụng khoảng cách mục tiêu, vì vậy isDone và isMoving có thể được sử dụng với nó.

Examples
// Drive 200 mm, then back 200 mm.
myDrivetrain.driveFor(forward, 200, mm);
myDrivetrain.driveFor(reverse, 200, mm);

xoay#

turn sẽ khiến robot quay sang trái hoặc phải liên tục. Robot sẽ tiếp tục quay cho đến khi nhận được lệnh thực hiện hành động khác, chẳng hạn như lái xe hoặc dừng lại.

Available Functions

1 - Thực hiện các lượt rẽ bằng vận tốc rẽ hiện tại.

void turn(
    turnType dir );

2 - Quay với vận tốc đã chỉ định.

void turn(
    turnType     dir,
    double       velocity,
    velocityUnits units );

Parameters

Tham số

Kiểu

Sự miêu tả

dir

turnType

Hướng quay của robot: left hoặc right.

velocity

double

Tốc độ quay từ 0% đến 100% khi sử dụng velocityUnits::pct, từ 0 đến 120 vòng/phút khi sử dụng rpm, hoặc từ 0 đến 720 độ/giây khi sử dụng dps. Nếu không cung cấp tốc độ, robot sẽ quay với tốc độ quay hiện tại.

units

velocityUnits

Đơn vị vận tốc: velocityUnits::pct (phần trăm), rpm (vòng quay mỗi phút), hoặc dps (độ mỗi giây).

Return Values

Hàm này không trả về giá trị nào.

Notes
  • turn không phải là chờ đợi. Dự án sẽ chạy dòng mã tiếp theo ngay lập tức.

  • Robot sẽ tiếp tục quay cho đến khi stop được gọi hoặc một chức năng chuyển động hệ thống truyền động khác chạy.

  • isDone và isMoving không được sử dụng với turn vì turn không có góc mục tiêu.

Examples
// Turn right, then left, then stop.
myDrivetrain.turn(right);
wait(2, seconds);
myDrivetrain.turn(left);
wait(2, seconds);
myDrivetrain.stop();

quay lại#

Lệnh turnFor cho phép robot quay sang trái hoặc phải một số độ, vòng quay hoặc đơn vị thô cụ thể. Hướng quay được tính tương đối so với vị trí hiện tại của robot. Chương trình sẽ chờ cho đến khi robot quay xong trước khi thực thi dòng mã tiếp theo.

Available Functions

1 - Thực hiện các lượt quay theo góc đã chỉ định bằng vận tốc quay hiện tại.

bool turnFor(
    double        angle,
    rotationUnits units,
    bool          waitForCompletion = true );

2 - Quay theo hướng đã chỉ định với một góc bằng vận tốc quay hiện tại.

bool turnFor(
    turnType      dir,
    double        angle,
    rotationUnits units,
    bool          waitForCompletion = true );

3 - Quay theo góc xác định với vận tốc xác định.

bool turnFor(
    double        angle,
    rotationUnits units,
    double        velocity,
    velocityUnits units_v,
    bool          waitForCompletion = true );

4 - Quay theo hướng đã chỉ định với một góc nhất định và vận tốc đã chỉ định.

bool turnFor(
    turnType      dir,
    double        angle,
    rotationUnits units,
    double        velocity,
    velocityUnits units_v,
    bool          waitForCompletion = true );

Parameters

Tham số

Kiểu

Sự miêu tả

dir

turnType

Hướng quay của robot: left hoặc right.

angle

double

Góc quay của robot.

units

rotationUnits

Đơn vị quay: deg (độ), rev (vòng quay), hoặc raw (đơn vị quay). Một vòng quay bằng 360 độ.

velocity

double

Tốc độ quay từ 0% đến 100% khi sử dụng velocityUnits::pct, từ 0 đến 120 vòng/phút khi sử dụng rpm, hoặc từ 0 đến 720 độ/giây khi sử dụng dps. Nếu không cung cấp tốc độ, robot sẽ quay với tốc độ quay hiện tại.

units_v

velocityUnits

Đơn vị vận tốc: velocityUnits::pct (phần trăm), rpm (vòng quay mỗi phút), hoặc dps (độ mỗi giây).

waitForCompletion

bool

true (mặc định) khiến dự án chờ cho đến khi robot quay xong trước khi dòng mã tiếp theo được thực thi. false khiến dòng mã tiếp theo được thực thi ngay lập tức.

Return Values

Trả về giá trị Boolean cho biết robot đã đạt được góc mục tiêu hay chưa.

  • true - Robot đã đạt được góc mục tiêu.

  • false - Robot không hoàn thành lượt chơi, hoặc hàm trả về trước khi lượt chơi hoàn tất vì waitForCompletion được đặt thành false.

Notes
  • Việc chạy một chức năng chuyển động hệ thống truyền động khác trong khi hàm turnFor đang chạy sẽ làm gián đoạn chuyển động hiện tại.

  • turnFor sử dụng góc mục tiêu, vì vậy isDone và isMoving có thể được sử dụng với nó.

Examples
// Turn right, then left.
myDrivetrain.turnFor(right, 90, degrees);
wait(1, seconds);
myDrivetrain.turnFor(left, 90, degrees);

dừng lại#

stop dừng chuyển động của robot. Nếu chế độ dừng được cung cấp, nó sẽ điều khiển cách robot dừng lại trong lần gọi hàm này.

Available Functions

1 - Dừng hệ thống truyền động bằng chế độ dừng hiện tại.

void stop();

2 - Dừng hệ thống truyền động bằng chế độ dừng được chỉ định.

void stop(
    brakeType mode );

Parameters

Tham số

Kiểu

Sự miêu tả

mode

brakeType

Cách robot dừng lại:

  • brake - Dừng ngay lập tức.
  • coast - Giảm tốc độ đến khi dừng hẳn.
  • hold - Dừng ngay lập tức và giữ nguyên vị trí bánh xe.

Return Values

Hàm này không trả về giá trị nào.

Examples
// Drive forward, then coast to a stop.
myDrivetrain.setDriveVelocity(100, percent);
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.stop(coast);

Biến đổi#

setDriveVelocity#

setDriveVelocity cho robot biết tốc độ di chuyển. Tỷ lệ phần trăm càng cao thì robot càng di chuyển nhanh hơn và tỷ lệ phần trăm càng thấp thì robot càng di chuyển chậm hơn.

Mỗi dự án đều bắt đầu với việc robot di chuyển ở tốc độ mặc định là 50%.

Lưu ý: Vận tốc cao hơn giúp robot di chuyển nhanh hơn, nhưng có thể kém chính xác hơn. Vận tốc thấp hơn giúp robot di chuyển chậm hơn, nhưng có thể chính xác hơn.

Available Functions
void setDriveVelocity(
  double velocity,
  velocityUnits units );

Parameters

Tham số

Kiểu

Sự miêu tả

velocity

double

Tốc độ lái từ 0% đến 100% khi sử dụng velocityUnits::pct, từ 0 đến 120 vòng/phút khi sử dụng rpm, hoặc từ 0 đến 720 độ mỗi giây khi sử dụng dps.

units

velocityUnits

Đơn vị vận tốc: velocityUnits::pct (phần trăm), rpm (vòng quay mỗi phút), hoặc dps (độ mỗi giây).

Return Values

Hàm này không trả về giá trị nào.

Notes
  • Tốc độ truyền động được sử dụng bởi các chức năng chuyển động hệ thống truyền động sau này, trừ khi một tốc độ cụ thể được cung cấp trong lời gọi hàm.

Examples
// Drive forward, then coast to a stop.
myDrivetrain.setDriveVelocity(100, percent);
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.stop(coast);

đặt vận tốc quay#

setTurnVelocity cho robot biết tốc độ quay. Tỷ lệ phần trăm càng cao thì robot càng quay nhanh hơn và tỷ lệ phần trăm càng thấp thì robot càng quay chậm hơn.

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

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

Available Functions
void setTurnVelocity(
  double velocity,
  velocityUnits units );

Parameters

Tham số

Kiểu

Sự miêu tả

velocity

double

Tốc độ quay từ 0% đến 100% khi sử dụng velocityUnits::pct, từ 0 đến 120 vòng/phút khi sử dụng rpm, hoặc từ 0 đến 720 độ/giây khi sử dụng dps.

units

velocityUnits

Đơn vị vận tốc: velocityUnits::pct (phần trăm), rpm (vòng quay mỗi phút), hoặc dps (độ mỗi giây).

Return Values

Hàm này không trả về giá trị nào.

Notes
  • Tốc độ quay được sử dụng bởi các chức năng quay hệ thống truyền động sau này, trừ khi tốc độ cụ thể được cung cấp trong lời gọi hàm.

Examples
// Try default, slow, then fast.
myDrivetrain.turnFor(right, 360, degrees);
wait(1, seconds);
myDrivetrain.setTurnVelocity(20, percent);
myDrivetrain.turnFor(right, 360, degrees);
wait(1, seconds);
myDrivetrain.setTurnVelocity(100, percent);
myDrivetrain.turnFor(right, 360, degrees);

đặt dừng#

setStopping thiết lập cách robot sẽ dừng chuyển động: bằng cách phanh, chạy trượt hoặc giữ nguyên vị trí.

Available Functions
void setStopping(
  brakeType mode );

Parameters

Tham số

Kiểu

Sự miêu tả

mode

brakeType

Cách robot dừng lại:

  • brake - Dừng ngay lập tức.
  • coast - Giảm tốc độ đến khi dừng hẳn.
  • hold - Dừng ngay lập tức và giữ nguyên vị trí bánh xe.

Return Values

Hàm này không trả về giá trị nào.

Notes
  • Chế độ dừng được sử dụng bởi các lệnh gọi stop sau này trừ khi một chế độ dừng cụ thể được cung cấp trong lệnh gọi hàm.

  • Nếu chức năng này không được sử dụng, robot sẽ sử dụng phanh brake khi dừng lại.

đặt thời gian chờ#

setTimeout thiết lập khoảng thời gian robot sẽ cố gắng hoàn thành một chuyển động. Nếu robot 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 robot không bị kẹt ở một chuyển động nào đó.

Available Functions
void setTimeout(
  int32_t time,
  timeUnits units );

Parameters

Tham số

Kiểu

Sự miêu tả

time

int32_t

Khoảng thời gian tối đa mà robot có thể cố gắng hoàn thành một chuyển động. Khoảng thời gian này phải là một số nguyên dương.

units

timeUnits

Đơn vị thời gian: sec (sec) hoặc msec (msec).

Return Values

Hàm này không trả về giá trị nào.

Notes
  • Thời gian chờ chỉ áp dụng cho các chức năng truyền động di chuyển đến mục tiêu, chẳng hạn như driveFor và turnFor.

Examples
// Turn right after driving forward.
myDrivetrain.setTimeout(1, seconds);
myDrivetrain.driveFor(forward, 25, inches);
myDrivetrain.turnFor(right, 90, degrees);

Người nhận#

đã xong#

isDone trả về giá trị Boolean cho biết robot đã di chuyển xong hay chưa. Giá trị này có thể được sử dụng để điều khiển thời gian thực hiện các hành vi khác dựa trên chuyển động của robot.

Available Functions
bool isDone( void );

Parameters

Hàm này không chấp nhận bất kỳ tham số nào.

Return Values
  • true - Robot đã di chuyển xong.

  • false - Robot vẫn đang di chuyển.

Notes
  • isDone hoạt động với các chức năng chuyển động hệ thống truyền động dựa trên mục tiêu, chẳng hạn như driveFor và turnFor.

  • isDone không được sử dụng với drive hoặc turn, vì những chức năng đó không di chuyển đến mục tiêu.

đang di chuyển#

isMoving trả về giá trị Boolean cho biết robot có đang di chuyển hay không. Giá trị này có thể được sử dụng để điều khiển thời gian thực hiện các hành vi khác dựa trên chuyển động của robot.

Available Functions
virtual bool isMoving( void );

Parameters

Hàm này không chấp nhận bất kỳ tham số nào.

Return Values
  • true - Robot đang di chuyển.

  • false - Robot không di chuyển.

Notes
  • isMoving hoạt động với các chức năng di chuyển hệ thống truyền động dựa trên mục tiêu, chẳng hạn như driveFor và turnFor.

  • isMoving không được sử dụng với drive hoặc turn, vì những chức năng đó không di chuyển đến mục tiêu.

vận tốc#

velocity trả về tốc độ di chuyển của robot.

Nó có thể trả về vận tốc dưới dạng phần trăm, rpmhoặc dpsGiá trị dương có nghĩa là robot đang di chuyển về phía trước. Giá trị âm có nghĩa là robot đang di chuyển về phía sau.

Available Functions
double velocity(
  velocityUnits units );

Parameters

Tham số

Kiểu

Sự miêu tả

units

velocityUnits

Đơn vị để trả về vận tốc là: percent, pct, rpm, hoặc dps.

Return Values

Trả về vận tốc hệ thống truyền động dưới dạng số thực double theo đơn vị đã chọn.

Examples
// Show velocity before and during motion.
Brain.Screen.print("Resting: %f", myDrivetrain.velocity(percent));
myDrivetrain.drive(forward, 100, velocityUnits::pct);
wait(1, seconds);
Brain.Screen.newLine();
Brain.Screen.print("Moving: %f", myDrivetrain.velocity(percent));
myDrivetrain.stop();

hiện hành#

Giá trị current cho biết lượng dòng điện mà hệ thống truyền động đang sử dụng. Dòng điện là lượng điện năng chạy qua hệ thống truyền động. Giá trị này có thể được trả về bằng ampe (ampe) hoặc dưới dạng phần trăm, tùy thuộc vào đơn vị.

Giá trị dòng điện cao hơn có nghĩa là hệ thống truyền động đang sử dụng nhiều dòng điện hơn. Điều này có thể xảy ra khi robot đang đẩy vào một 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 hệ thống truyền động 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, hệ thống truyền động có thể bị nóng lên hoặc sử dụng năng lượng kém hiệu quả hơn.

Available Functions

1 - Trả về dòng điện của hệ thống truyền động tính bằng ampe.

double current(
    currentUnits units = currentUnits::amp );

2 - Trả về dòng điện của hệ thống truyền động dưới dạng phần trăm.

double current(
    percentUnits units );

Parameters

Tham số

Kiểu

Sự miêu tả

units

currentUnits

Đơn vị trả dòng điện vào: amp.

units

percentUnits

Đơn vị trả về dòng điện hiện tại: percent hoặc pct.

Return Values

Trả về dòng điện của hệ thống truyền động dưới dạng double trong đơn vị đã chọn.

quyền lực#

power cho biết lượng điện năng mà hệ thống truyền động đang sử dụng, được đo bằng watt. Power cho thấy hệ thống truyền động đang tiêu thụ năng lượng nhanh như thế nào.

Giá trị công suất cao hơn có nghĩa là hệ thống truyền động đang tiêu thụ năng lượng nhanh hơn. Điều này có thể xảy ra khi robot đang đẩy vào một 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 hệ thống truyền động có đang gặp khó khăn hay không. Nếu công suất vẫn cao, hệ thống truyền động có thể bị nóng lên hoặc sử dụng năng lượng kém hiệu quả hơn.

Available Functions
double power(
  powerUnits units = powerUnits::watt );

Parameters

Tham số

Kiểu

Sự miêu tả

units

powerUnits

Công suất: watt.

Return Values

Trả về công suất hệ thống truyền động dưới dạng double đơn vị là watt.

mô-men xoắn#

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

torque trả về lượng mô-men xoắn mà hệ thống truyền động đang sử dụng, được đo bằng Newton-mét (Nm) hoặc inch-pound (InLb).

Giá trị mô-men xoắn cao hơn có nghĩa là hệ thống truyền động đang đẩy hoặc kéo mạnh hơn. Điều này có thể xảy ra khi robot đang đẩy vào một 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 hệ thống truyền động 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.

Available Functions
double torque(
  torqueUnits units = torqueUnits::nm );

Parameters

Tham số

Kiểu

Sự miêu tả

units

torqueUnits

Đơn vị để trả về mô-men xoắn: Nm (newton mét, mặc định) hoặc InLb (inch pound).

Return Values

Trả về mô-men xoắn hệ thống truyền động dưới dạng double đơn vị đã chọn.

hiệu quả#

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

Hiệu suất cho thấy bao nhiêu phần trăm công suất của hệ truyền động được sử dụng cho 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 hệ truyền động được sử dụng để di chuyển. Giá trị hiệu suất thấp có thể xảy ra khi hệ truyền động hoạt động mạnh nhưng không di chuyển nhiều, chẳng hạn như khi robot 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 hệ thống truyền động có đang lãng phí năng lượng thay vì sử dụng nó để chuyển động hay không.

Available Functions
double efficiency(
  percentUnits units = percentUnits::pct );

Parameters

Tham số

Kiểu

Sự miêu tả

units

percentUnits

Đơn vị cần trả về hiệu suất là: percent hoặc pct.

Return Values

Trả về hiệu suất hệ thống truyền động dưới dạng double trong đơn vị đã chọn.

nhiệt độ#

temperature trả về nhiệt độ trung bình của hệ thống truyền động dưới dạng phần trăm từ 0% đến 100%.

Nhiệt độ cho biết động cơ hệ thống truyền động đang nóng lên như thế nào. Nhiệt độ càng cao nghĩa là động cơ càng 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ơ quá nóng, chúng 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 hệ thống truyền động có bị quá nóng trong quá trình chuyển động lặp đi lặp lại, hoạt động đường dài hoặc khi nó tác động lực lên vật thể hay không.

Available Functions
double temperature(
  percentUnits units );

Parameters

Tham số

Kiểu

Sự miêu tả

units

percentUnits

Đơn vị hiển thị nhiệt độ trả về là: percent hoặc pct.

Return Values

Trả về nhiệt độ trung bình của hệ thống truyền động dưới dạng số thực double theo đơn vị đã chọn.

Notes
  • Giá trị trả về là 50% có nghĩa là nhiệt độ trung bình của động cơ khoảng 45°C (113°F).

  • Phạm vi nhiệt độ hoạt động điển hình của hệ thống truyền động là khoảng 20°C (68°F) đến 70°C (158°F).

điện áp#

Điện áp voltage trả về điện áp của hệ thống truyền động.

Điện áp là áp suất điện cung cấp cho các động cơ của hệ thống truyền động. Thông tin này có thể được sử dụng cùng với các giá trị dòng điện và công suất để hiểu cách hệ thống truyền động sử dụng năng lượng điện.

Available Functions
double voltage(
  voltageUnits units = voltageUnits::volt );

Parameters

Tham số

Kiểu

Sự miêu tả

units

voltageUnits

Đơn vị điện áp trả về: volt (mặc định) hoặc voltageUnits::mV. voltageUnits::mV có nghĩa là milivolt.

Return Values

Trả về điện áp hệ thống truyền động dưới dạng double trong đơn vị đã chọn.