🔄 سروو پیوسته (۳۶۰ درجه) (Continuous Rotation Servo)

اسم انگلیسیContinuous Rotation Servo
در ووکوی (Wokwi)نسخه‌ی آماده‌ای سراغ نداریم
دسته⚙️ موتور و حرکت
در شبیه‌ساز فارسیمود ساده (بدون کد) و مود آردوینو · رایگان

سروو پیوسته یا ۳۶۰ درجه (Continuous Rotation Servo) از بیرون شبیه سروو معمولی است، ولی به‌جای رفتن به یک زاویه مثل موتور مدام می‌چرخد و تو فقط سرعت و جهت را تعیین می‌کنی. چون گیربکس و راه‌انداز داخل خودش است، بدون درایور جدا چرخ ربات کوچک، تسمه‌نقاله‌ی اسباب‌بازی یا میز گردان می‌سازی؛ فقط سه سیم و کتابخانه‌ی Servo.

سروو پیوسته در ووکوی (Wokwi)

تا جایی که می‌دانیم ووکوی نسخه‌ی آماده‌ی این قطعه را ندارد. نزدیک‌ترین قطعه، wokwi-servo، یک سروو معمولی ۰ تا ۱۸۰ درجه است؛ اگر کد پایین را رویش اجرا کنی، بازو به‌جای چرخیدن به یک زاویه می‌رود و می‌ایستد. سیم‌کشی‌اش با همان پایه‌های GND، V+ و PWM یکی است، پس برای تمرین سیم‌کشی و ساختار کد به کار می‌آید، نه برای دیدن چرخش.

منطق سرعت و جهت را در تینکرکد فارسی امتحان کن که سروو پیوسته را با پایه‌های V، G و S هم در حالت ساده (2D) و هم در حالت آردوینو (3D) رایگان شبیه‌سازی می‌کند. فرق دو نوع سروو و موتور DC را در سروو یا موتور DC بخوان.

سیم‌کشی با آردوینو

پایه‌ی قطعهوصل به
سیم قهوه‌ای یا مشکیGND
سیم قرمز5V (برای دو سروو یا بیشتر، منبع ۵ تا ۶ ولت جدا با زمین مشترک)
سیم نارنجی یا زردپین 9

در ربات دوچرخ، دو سروو پیوسته آینه‌ای نصب می‌شوند؛ پس برای جلو رفتن یکی باید با عدد مثبت و دیگری با عدد منفی بچرخد.

کد نمونه

به‌جای write از writeMicroseconds استفاده کردیم که دقیق‌تر است: ۱۵۰۰ میکروثانیه توقف، ۱۰۰۰ تمام سرعت به یک سمت و ۲۰۰۰ تمام سرعت به سمت دیگر. تابع drive عددی از منفی ۱۰۰ تا ۱۰۰ می‌گیرد:

// Continuous-rotation servo: speed and direction from -100..100.
// Wiring: brown/black -> GND, red -> 5V, orange/yellow -> pin 9
#include <Servo.h>

Servo wheel;
const int STOP_US = 1500;    // tune this until the servo really stops
const int RANGE_US = 500;    // 1000..2000 us is full speed both ways

void drive(int percent) {
  percent = constrain(percent, -100, 100);
  wheel.writeMicroseconds(STOP_US + (long)percent * RANGE_US / 100);
}

void setup() {
  wheel.attach(9);
  drive(0);
}

void loop() {
  drive(60);   delay(2000);   // forward, medium
  drive(0);    delay(1000);   // stop
  drive(-100); delay(2000);   // reverse, full
  drive(0);    delay(1000);
}

برای پیدا کردن نقطه‌ی توقف، فقط drive(0) را اجرا کن و STOP_US را چند واحد چند واحد کم و زیاد کن تا محور کاملاً بایستد. این عدد برای هر سروو کمی فرق دارد.

اشتباه‌های رایج

آموزش‌های مرتبط

سؤال‌های رایج

فرق سروو پیوسته با سروو معمولی در کد چیست؟

کتابخانه همان Servo است، ولی معنی عدد فرق دارد. در سروو معمولی write(90) یعنی برو به ۹۰ درجه؛ در سروو پیوسته یعنی بایست. عددهای کمتر یا بیشتر از ۹۰ سرعت و جهت چرخش را تعیین می‌کنند.

چرا سروو پیوسته‌ی من وقتی باید بایستد آرام می‌چرخد؟

نقطه‌ی توقف واقعی‌اش دقیقاً ۱۵۰۰ میکروثانیه (همان write(90)) نیست. یا پیچ تنظیم کنار سروو را بچرخان، یا در کد عدد توقف را پیدا کن و جایگزین کن، یا هنگام توقف detach بزن.

در ووکوی سروو پیوسته هست؟

تا جایی که می‌دانیم نه. wokwi-servo یک سروو موقعیتی ۰ تا ۱۸۰ درجه است و با همین کد فقط به یک زاویه می‌رود و می‌ایستد. سروو پیوسته در تینکرکد فارسی رایگان شبیه‌سازی می‌شود.

📖 طرز کار، مشخصات فنی و نکته‌های خرید این قطعه در دانشنامه‌ی تینکرکد فارسی: سروو پیوسته (۳۶۰ درجه) آمده است.

آموزش‌هایی که از این قطعه استفاده می‌کنند

🦾

سروو موتور با میکروپایتون روی رزبری پای پیکو: PWM پنجاه هرتز و کنترل زاویه

قطعه‌های دیگرِ موتور و حرکت

📳

موتور لرزشی استوانه‌ای

Cylindrical Vibration Motor

⚙️

موتور DC

DC Motor

🦾

سروو موتور

Servo Motor (SG90)

📳

موتور لرزشی سکه‌ای (ویبره)

Coin Vibration Motor

🔩

موتور پله‌ای 28BYJ-48 (استپر)

Stepper Motor 28BYJ-48

🖨️

موتور استپر NEMA 17

NEMA 17 Stepper Motor

همه‌ی ۱۰۵ قطعه ← · آموزش مدار

سروو پیوسته (۳۶۰ درجه) را در شبیه‌ساز امتحان کن 🚀