RisalDash RisalDash

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.

QoʻllanmaMotorlarServoQadamliBLDCESP32
Arduino va ESP32 uchun besh tur motor: servo, qadamli, DC, TT reduktor va BLDC
MotorBoshqaruvDrayverKuchli tomoniTipik qism
Servoburchak 0–180°kerak emas (ichida)aniq burchak, 1 simSG90 · MG90S · MG996R
Qadamlianiq qadamlarA4988 / DRV8825 / TMC2208enkodersiz pozitsiyaNEMA 17
Kollektorli DCtezlik + yoʻnalishL298N / TB6612FNGtez aylanish, arzonRS-380/540
TT reduktortezlik + yoʻnalishL298N / TB6612FNGpast aylanishda moment — gʻildiraksariq TT motor
BLDCESC orqali gazESC (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:

SG90 servo ESP32’ga ulangan: 5V, GND va PWM pin
Uch sim — butun interfeys bitta PWM pin. BoardLab’da yigʻilgan.
#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.