وحدة التحكم في المحرك 55#

مقدمة#

تُستخدم الفئة motor55 للتحكم في وحدة تحكم المحرك VEX 55 المتصلة بوحدة التحكم EXP Brain. وحدة تحكم المحرك 55 هي وحدة تحكم قديمة مصممة لتشغيل محركات التيار المستمر ثنائية الأسلاك.

جهاز التحكم بمحرك 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 — يخبر محرك التيار المستمر بمدى سرعة الدوران.

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

يُحدد هذا الإعداد سرعة دوران محرك التيار المستمر. فزيادة النسبة المئوية تجعل المحرك يدور بسرعة أكبر، بينما انخفاضها يجعله يدور بسرعة أقل.

يبدأ كل مشروع بدوران كل محرك تيار مستمر متصل بسرعة 50% بشكل افتراضي.

وظائف متاحة

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

معلمات

المعلمة

يكتب

وصف

velocity

double

سرعة الدوران من 0% إلى 100% عند استخدام percent.

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 في constructor.

current#

يُشير الرقم current ويُظهر مقدار التيار الكهربائي الذي يستهلكه محرك التيار المستمر. التيار هو كمية الكهرباء المتدفقة عبر محرك التيار المستمر. عند إرجاع القيمة بالأمبير، تتراوح قيمة التيار من 0.0 إلى 1.2 أمبير.

تشير قيمة التيار الأعلى إلى أن محرك التيار المستمر يستهلك تيارًا كهربائيًا أكبر. قد يحدث هذا عندما يرفع المحرك شيئًا ثقيلًا، أو يدفع جسمًا ما، أو يحاول التحرك وهو عالق.

يمكن استخدام هذا للتحقق مما إذا كان محرك التيار المستمر يعاني من صعوبة أثناء الحركة. إذا ظل التيار مرتفعًا، فقد يسخن المحرك أو يستهلك الطاقة بكفاءة أقل.

Available Functions

1 — يعيد التيار الكهربائي لمحرك التيار المستمر بالأمبير.

double current(
  currentUnits units = amp );

2 — يعيد التيار الكهربائي لمحرك التيار المستمر كنسبة مئوية من الحد الأقصى للتيار المقنن.

double current(
  percentUnits units );

Parameters

المعلمة

يكتب

وصف

units

currentUnits

الوحدة المستخدمة لتمثيل التيار:amp (افتراضي) — أمبير

units

percentUnits

يمثل التيار كنسبة مئوية من الحد الأقصى للتيار المقنن للمحرك:percent / pct%

Return Values

تُرجع قيمة double تمثل مقدار التيار الكهربائي الذي يستخدمه محرك التيار المستمر بالوحدات المحددة.

voltage#

يعيد الجهد الكهربائي المزوّد للمحرك.

Available Functions
double voltage(
  voltageUnits units = volt );

معلمات

المعلمة

يكتب

وصف

units

voltageUnits

وحدة تمثيل الجهد:

  • volt (افتراضي)
  • voltageUnits::mV — ملي فولت

قيم الإرجاع

يُرجع قيمة double تمثل الجهد الكهربائي للمحرك بالوحدات المحددة.

temperature#

درجة الحرارة temperature تعيد درجة حرارة محرك التيار المستمر.

تُشير درجة حرارة المحرك إلى مدى سخونة محرك التيار المستمر. ارتفاع درجة الحرارة يعني أن المحرك يسخن أثناء تشغيله. يجب أن تبقى درجة حرارة المحرك أقل من 55 درجة مئوية لضمان استمرار عمله بكفاءة كاملة.

إذا ارتفعت درجة حرارة محرك التيار المستمر بشكل مفرط، فإنه سيخفض الحد الأقصى للتيار لحماية نفسه. عند 70 درجة مئوية، سيتوقف المحرك عن العمل حتى يبرد.

يمكن استخدام هذا للتحقق مما إذا كان محرك التيار المستمر يسخن بشكل مفرط أثناء الحركات المتكررة أو التشغيل لفترات طويلة أو عندما يدفع ضد جسم ما.

Available Functions

1 — يعيد درجة حرارة محرك التيار المستمر كنسبة مئوية من درجة حرارة التشغيل القصوى.

double temperature(
  percentUnits units = percent );

2 — يعيد درجة حرارة محرك التيار المستمر بوحدات درجة الحرارة الفعلية.

double temperature(
  temperatureUnits units );

معلمات

المعلمة

يكتب

وصف

units

percentUnits

The unit used to represent DC motor temperature as a percentage:

  • percent / pct (default) — percent

units

temperatureUnits

الوحدة المستخدمة لتمثيل درجة حرارة محرك التيار المستمر بالدرجات:

  • celsius — درجة مئوية
  • fahrenheit — درجة فهرنهايت

قيم الإرجاع

يُرجع قيمة 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 Brain.

Available Functions
bool installed();

معلمات

لا تأخذ هذه الدالة أي معلمات.

قيم الإرجاع

يُرجع قيمة منطقية bool تشير إلى ما إذا كان جهاز التحكم في المحرك 55 متصلاً.

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