Qoʻllanma · Motorlar · Drayverlar
Besh motor, besh vazifa — toʻgʻri tanlang
Har bir harakatlanuvchi loyiha bitta savoldan boshlanadi: qaysi motor? Halol javob: amalda faqat beshtasini uchratasiz — servo, qadamli, kollektorli DC, TT reduktor va brushless (BLDC), va har biri oʻz vazifasida yutadi. Nima nimani harakatga keltiradi, har biriga qaysi drayver kerak, beshalasiga ishlaydigan kod va platani tirik saqlaydigan qoidalar.
| Motor | Boshqaruv | Drayver | Kuchli tomoni | Tipik qism |
|---|---|---|---|---|
| Servo | burchak 0–180° | kerak emas (ichida) | aniq burchak, 1 sim | SG90 · MG90S · MG996R |
| Qadamli | aniq qadamlar | A4988 / DRV8825 / TMC2208 | enkodersiz pozitsiya | NEMA 17 |
| Kollektorli DC | tezlik + yoʻnalish | L298N / TB6612FNG | tez aylanish, arzon | RS-380/540 |
| TT reduktor | tezlik + yoʻnalish | L298N / TB6612FNG | past aylanishda moment — gʻildirak | sariq TT motor |
| BLDC | ESC orqali gaz | ESC (majburiy) | quvvat + FIK 90–95 % | outrunner + 30 A ESC |
1. Servo — bitta simda burchak
Servo motor, reduktor va yopiq boshqaruvni bitta korpusda saqlaydi: burchak yuboring — u yetib boradi va ushlab turadi. Manipulyatorlar, kamera burilishi, qulf tillari, RC tortqilar. SG90 5 V dan ishlaydi — lekin bittadan koʻpini (yoki kattaroqni) alohida 5 V manbadan quvvatlang, plata pinidan emas, umumiy yer bilan:
#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 2. Qadamli — enkodersiz aniq pozitsiya
Qadamli motor belgilangan qadamlarda harakatlanadi (NEMA 17’da 1.8°), shuning uchun qayerdaligini teskari aloqasiz biladi — 3D printer, ChPU va kamera slayderlari shundan yuradi. Unga doim drayver kerak (A4988/DRV8825; TMC2208 — jim), alohida 8–35 V motor manbasi va plata bilan umumiy yer. Mikroqadam (MS1–MS3) harakatni silliqlaydi:
#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 3 va 4. Kollektorli DC va TT reduktor — bir drayver, har xil uzatma
Yalangʻoch kollektorli motor kam moment bilan tez aylanadi; sariq TT reduktor versiyasi tezlikni momentga almashtiradi (30–300 ayl/min) — bu aynan gʻildiraklarga kerak, shuning uchun barcha arzon robo-mashinalar TT’da yuradi. Ikkalasi H-koʻprik orqali bir xil boshqariladi: ikki pin yoʻnalishni, ENA’dagi PWM tezlikni beradi. L298N — klassika; TB6612FNG buni sovuqroq bajaradi:
// 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 5. BLDC — quvvat darajasi
Brushless’da yeyiladigan va uchqun beradigan choʻtka yoʻq, FIK 90–95 %, quvvat jiddiy — dronlar, elektrosamokatlar, RC samolyotlar. Evaziga: ular uch fazali va albatta ESC orqali ishlashi kerak. Yoqimli syurpriz — kod: ESC servo bilan bir xil 1000–2000 µs impulslarni tinglaydi, va doim minimal gazda armlang:
// 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 tokini va motor KV’sini yuklamaga moslang hamda batareya mosligini tekshiring — 3S LiPo — odatiy boshlangʻich nuqta.
Ularni dashboarddan boshqaring
Beshalasi «UI’dan raqam berish»ga keladi: slayder — servo burchagi yoki DC tezligi, number — qadamli pozitsiyasi, joystick / d-pad — ikki motorli robot — hammasi tayyor RisalDash vidjetlari, plataning oʻz Wi-Fi’si orqali telefondan boshqariladi, har biri — AI-agent uchun MCP-tool. GarageDoor, CNCMachine va Printer3D shablonlari motor UI’larini toʻliq koʻrsatadi.
Platani saqlaydigan qoidalar
Motorni hech qachon 3.3/5 V pindan quvvatlamang — motorning oʻz manbasi, plataning oʻz manbasi, faqat yer umumiy. Yalangʻoch DC motorlarga flyback himoya (drayver platalarida bor). Motor ishga tushganda plata qayta yuklansa — bu brownout; davosi shu yerda.
Motor ulanishini kavsharlashdan oldin chizing — va telefondan boshqaring.