모터 컨트롤러 55#

소개#

클래스 motor55 은 EXP Brain에 연결된 VEX 모터 컨트롤러 55를 제어하는 ​​데 사용됩니다. 모터 컨트롤러 55는 2선식 DC 모터를 작동하도록 설계된 기존 모터 컨트롤러입니다.

VEX 모터 컨트롤러 55.

클래스 생성자#

1 — 지정된 스마트 포트에 motor55 객체를 생성합니다.

motor55(
  int32_t index );

2 — 지정된 스마트 포트에 motor55 객체를 생성하고 양의 회전 방향을 변경합니다.

motor55(
  int32_t index,
  bool    reverse );

3 — 지정된 스마트 포트에 motor55 객체를 생성하고, 최대 구동 전압을 설정하며, 양의 회전 방향을 변경합니다.

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

클래스 소멸자#

motor55 객체를 파괴하고 관련 리소스를 해제합니다.

~motor55();

매개변수#

매개변수

유형

설명

index

int32_t

모터 컨트롤러 55가 연결된 스마트 포트는 PORTx로 표기되며, 여기서 x 포트 번호입니다(예: PORT1).

reverse

bool

모터의 회전 방향이 반전되는지 여부를 결정합니다.

  • true — 모터의 정방향이 반전됩니다.
  • false — 모터의 정방향은 정상입니다.

maxv

double

모터 컨트롤러 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가 감지되었는지 여부를 반환합니다.

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

매개변수

매개변수

유형

설명

dir

directionType

모터 회전 방향: forward 또는 reverse.

voltage

double

모터에 가해지는 전압 값. 음수 값은 주어진 dir 방향과 반대 방향으로 회전합니다.

units

voltageUnits

전압을 나타내는 단위:

  • volt — 볼트
  • voltageUnits::mV — 밀리볼트

반환 값

이 함수는 값을 반환하지 않습니다.

개의 메모

  • 이 함수는 대기하지 않으며, 함수 호출 후 프로그램이 즉시 계속 실행됩니다.

  • 모터는 stop가 호출되거나 다른 spin 사용될 때까지 계속 회전합니다.

stop#

현재 구성된 브레이크 모드를 사용하여 모터의 회전을 중지합니다.

사용 가능한 기능 개

void stop();

매개변수

이 함수는 매개변수를 받지 않습니다.

반환 값

이 함수는 값을 반환하지 않습니다.

개의 메모

  • setStopping에 의해 설정된 현재 구성된 정지 모드를 사용하여 모터를 정지합니다.

setVelocity#

직류 모터의 회전 속도를 조절하는 값입니다. 백분율이 높을수록 직류 모터는 더 빠르게 회전하고, 백분율이 낮을수록 더 느리게 회전합니다.

모든 프로젝트는 연결된 각 DC 모터가 기본적으로 50% 속도로 회전하는 것으로 시작됩니다.

사용 가능한 기능 개

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

매개변수

매개변수

유형

설명

velocity

double

percent 사용할 때 0%에서 100%까지 회전 속도를 조절합니다.

units

percentUnits

속도 단위: percent 퍼센트 pct 퍼센트.

반환 값

이 함수는 값을 반환하지 않습니다.

개의 메모

  • 지정된 전압 없이 spin에 대한 후속 호출은 이 값을 사용합니다.

setStopping#

모터가 정지했을 때의 동작 방식을 설정합니다.

사용 가능한 기능 개

void setStopping(
    brakeType mode );

매개변수

매개변수

유형

설명

mode

brakeType

stop가 호출될 때 적용되는 정지 모드:

  • coast — 모터가 관성으로 정지
  • brake — 제동을 사용하여 모터가 빠르게 정지

반환 값

이 함수는 값을 반환하지 않습니다.

개의 메모

  • stop에 대한 후속 호출은 이 정지 모드를 사용합니다.

  • 모터 컨트롤러 55는 coast 과 brake 만 지원합니다. hold 는 지원되지 않습니다.

setReversed#

모터의 회전 방향을 반전시킬지 여부를 설정합니다.

사용 가능한 기능 개

void setReversed(
    bool value );

매개변수

매개변수

유형

설명

value

bool

모터 회전 방향 반전 여부:

  • true — 모터 회전 방향을 반전합니다.
  • false — 모터 회전 방향을 기본값으로 되돌립니다.

반환 값

이 함수는 값을 반환하지 않습니다.

개의 메모

  • setReversed 호출하는 것은 생성자에서 reverse 매개변수를 변경하는 것과 같습니다.

current#

current DC 모터를 통해 흐르는 전기의 양으로 나타냅니다. 전류는 암페어(A) 단위로 표시되며, 0.0에서 1.2A 사이의 값을 가집니다.

전류값이 높다는 것은 DC 모터가 더 많은 전류를 사용하고 있다는 의미입니다. 이는 DC 모터가 무거운 물체를 들어 올리거나, 물체를 밀거나, 또는 멈춰 섰을 때 움직이려고 할 때 발생할 수 있습니다.

이 기능은 DC 모터가 작동 중에 어려움을 겪는지 확인하는 데 사용할 수 있습니다. 전류가 높은 상태로 유지되면 모터가 과열되거나 전력 효율이 떨어질 수 있습니다.

Available Functions

1 — DC 모터의 전류를 암페어 단위로 반환합니다.

double current(
  currentUnits units = amp );

2 — DC 모터의 전류를 최대 정격 전류 대비 백분율로 반환합니다.

double current(
  percentUnits units );

Parameters

매개변수

유형

설명

units

currentUnits

전류를 나타내는 단위:amp (기본값) — 암페어

units

percentUnits

모터의 최대 정격 전류 대비 현재 전류의 백분율을 나타냅니다:percent 퍼센트 pct 퍼센트

Return Values

지정된 단위로 DC 모터가 사용하는 전류량을 나타내는 double 의 double 값을 반환합니다.

voltage#

모터에 공급된 전압을 반환합니다.

Available Functions
double voltage(
  voltageUnits units = volt );

매개변수

매개변수

유형

설명

units

voltageUnits

전압을 나타내는 단위:

  • volt (기본값)
  • voltageUnits::mV — 밀리볼트

반환 값

지정된 단위로 모터의 전기 전압을 나타내는 double 의 double 값을 반환합니다.

temperature#

temperature DC 모터의 온도를 반환합니다.

모터 온도는 DC 모터의 작동 온도를 나타냅니다. 온도가 높을수록 DC 모터가 작동 중에 뜨거워지고 있다는 의미입니다. 모터는 최적의 성능을 유지하며 작동하려면 온도가 55°C 이하로 유지되어야 합니다.

직류 모터가 과열되면 자체 보호를 위해 최대 전류를 낮춥니다. 모터 온도가 70°C에 도달하면 냉각될 때까지 작동을 멈춥니다.

이 기능은 DC 모터가 반복적인 움직임, 장시간 작동 또는 물체를 밀어내는 동안 과열되는지 여부를 확인하는 데 사용할 수 있습니다.

Available Functions

1 — DC 모터 온도를 최대 작동 온도 대비 백분율로 반환합니다.

double temperature(
  percentUnits units = percent );

2 — DC 모터의 온도를 물리적 온도 단위로 반환합니다.

double temperature(
  temperatureUnits units );

매개변수

매개변수

유형

설명

units

percentUnits

직류 모터 온도를 백분율로 나타내는 데 사용되는 단위:

  • percent / pct (기본값) — 퍼센트

units

temperatureUnits

직류 모터 온도를 나타내는 단위는 다음과 같습니다.

  • celsius — 섭씨
  • fahrenheit — 화씨

반환 값

지정된 단위로 DC 모터의 온도를 나타내는 double 값을 반환합니다.

개의 메모

  • 모터의 작동 온도 범위는 대략 20°C(68°F 70°C(~158°F 입니다.

getMotorType#

감지된 모터/컨트롤러 유형을 반환합니다.

사용 가능한 기능 개

int32_t getMotorType();

매개변수

이 함수는 매개변수를 받지 않습니다.

반환 값

감지된 모터/컨트롤러 유형을 나타내는 int32_t 을 반환합니다.

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

installed#

모터 컨트롤러 55가 EXP 브레인에 연결되어 있는지 여부를 반환합니다.

Available Functions
bool installed();

매개변수

이 함수는 매개변수를 받지 않습니다.

반환 값

모터 컨트롤러 55가 연결되었는지 여부를 나타내는 부울 값 bool 을 반환합니다.

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