دليل · محرّكات · مشغّلات
خمسة محرّكات، خمس مهامّ — اختر الصحيح
كلّ مشروع متحرّك يبدأ بالسؤال نفسه: أيّ محرّك؟ الجواب الصادق أنّك ستقابل خمسةً فقط — سيرفو، وستِبر، وDC ذو فُرَش، ومحرّك TT مُعشّق، وعديم الفُرَش (BLDC) — وكلٌّ يفوز في مهمّة. إليك ما يحرّك ماذا، والمشغّل الذي يحتاجه كلٌّ منها، وكود عمليّ للخمسة، والقواعد التي تُبقي لوحتك حيّة.
| المحرّك | التحكّم | المشغّل | يبرع في | قطعة نموذجيّة |
|---|---|---|---|---|
| سيرفو | زاوية 0–180° | لا يلزم (مدمج) | زوايا دقيقة، سلك واحد | SG90 · MG90S · MG996R |
| ستِبر | خطوات دقيقة | A4988 / DRV8825 / TMC2208 | تموضع بلا مشفّر | NEMA 17 |
| DC ذو فُرَش | سرعة + اتجاه | L298N / TB6612FNG | دوران سريع، رخيص | RS-380/540 |
| TT مُعشّق | سرعة + اتجاه | L298N / TB6612FNG | عزم عند دوران منخفض — عجلات | محرّك TT الأصفر |
| BLDC | خانق عبر ESC | ESC (إلزاميّ) | قدرة + كفاءة 90–95 % | outrunner + ESC 30 A |
١. سيرفو — زاوية على سلك واحد
يجمع السيرفو المحرّك وصندوق التروس والتحكّم المغلق في علبة واحدة: ترسل زاوية فيصل إليها ويثبت. أذرع الروبوت، وإدارة الكاميرات، ومزاليج الأقفال، ووصلات RC. يعمل SG90 من 5 فولت — لكن غذِّ أكثر من واحد (أو أيّ أكبر) من مصدر 5 فولت مستقلّ، لا من طرف اللوحة، بأرضيّ مشترك:
#include <ESP32Servo.h> // Arduino UNO: #include <Servo.h>
Servo arm;
arm.attach(5); // one PWM pin is the whole interface
arm.write(90); // go to 90 degrees — that's it ٢. ستِبر — موضع دقيق بلا مشفّر
يتحرّك الستِبر بخطوات ثابتة (1.8° في NEMA 17)، فهو يعرف موضعه بلا تغذية راجعة — لذا تعمل الطابعات ثلاثيّة الأبعاد وCNC ومنزلقات الكاميرا عليه. يحتاج دائمًا مشغّلًا (A4988/DRV8825؛ وTMC2208 الصامت)، ومصدر محرّك مستقلّ 8–35 فولت، وأرضيًّا مشتركًا مع اللوحة. والخطو الدقيق (MS1–MS3) ينعّم الحركة:
#include <AccelStepper.h> // smooth accel/decel — the go-to library
AccelStepper motor(AccelStepper::DRIVER, STEP_PIN, DIR_PIN);
motor.setMaxSpeed(800); // steps/s
motor.setAcceleration(400);
motor.moveTo(2000); // absolute position in steps
// loop(): motor.run(); // call every loop — non-blocking ٣ و٤. الـ DC ذو الفُرَش وTT المُعشّق — مشغّل واحد وتعشيق مختلف
المحرّك ذو الفُرَش العاري يدور بسرعة وعزم قليل؛ ونسخة TT المُعشّقة الصفراء تبادل السرعة بالعزم (30–300 دورة/د) — وهو ما تريده العجلات تمامًا، لذا تسير كلّ سيّارات الروبوت الرخيصة على TT. يُشغَّلان بالطريقة نفسها عبر جسر H: طرفان يختاران الاتجاه، وPWM على ENA يضبط السرعة. L298N الكلاسيكيّ؛ وTB6612FNG يؤدّي المهمّة أبرد:
// Brushed DC / TT gear motor via L298N: direction on IN1/IN2, speed on ENA (PWM).
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW); // swap the two to reverse
analogWrite(ENA, 180); // 0..255 — more duty, more speed ٥. BLDC — طبقة القدرة
عديمة الفُرَش لا فُرَش فيها لتتآكل أو تُشرِر، وتبلغ كفاءة 90–95 %، وقدرتها جادّة — درونات، سكوترات كهربائيّة، طائرات RC. المقابل: ثلاثيّة الطور ويجب أن تعمل عبر ESC. والمفاجأة اللطيفة هي الكود — يسمع ESC نبضات 1000–2000 ميكروثانية نفسها التي يسمعها السيرفو، وسلّح دائمًا عند أدنى خانق أوّلًا:
// A BLDC talks to its ESC with the same 1000-2000 us pulse a servo uses.
#include <ESP32Servo.h>
Servo esc;
esc.attach(9, 1000, 2000); // min/max pulse in microseconds
esc.writeMicroseconds(1000); // ARM at minimum first — always!
delay(3000);
esc.writeMicroseconds(1300); // ~30 % throttle ⚠ طابِق تيّار ESC وKV المحرّك مع الحمل، وتحقّق من توافق جهد البطاريّة — بطاريّة LiPo 3S نقطة البداية المعتادة.
قُدها من لوحة تحكّم
الخمسة تُختصر إلى «اضبط رقمًا من الواجهة»: منزلق لزاوية السيرفو أو سرعة DC، وnumber لموضع الستِبر، وعصا/لوحة اتجاهات لروبوت بمحرّكين — كلّها أدوات RisalDash جاهزة، تُدار من الهاتف عبر Wi-Fi اللوحة نفسها، وكلٌّ منها أداة MCP لوكيل ذكاء اصطناعيّ. وقوالب GarageDoor وCNCMachine وPrinter3D تعرض واجهات المحرّكات كاملةً.
القواعد التي تحمي اللوحات
لا تُغذِّ محرّكًا من طرف 3.3/5 فولت أبدًا — للمحرّك مصدره، وللّوحة مصدرها، والمشترك الأرضيّ فقط. أضِف حماية عكسيّة لمحرّكات DC العارية (لوحات المشغّلات تتضمّنها). وإن أُعيد تشغيل اللوحة عند انطلاق المحرّك فذلك انخفاض جهد؛ إليك الحلّ.
ارسم توصيل المحرّك قبل اللحام — وقُده من الهاتف.