سرو موتور SG90
سرو موتور Servo motor، ماژولی با ابعاد کوچک و کم وزن با توان خروجی بالایی است. شافت خروجی سرو موتور Servo motor SG90 توانایی چرخش با زاویه ۱۸۰ درجه در هر مسیر ۹۰ درجه را دارند.خروجی سرو موتور ها به صورت پالس بوده و در حالت “۰” با پالس ۱٫۵ میلی ثانیه در حالت وسط ، در “۹۰” با پالس ۲ میلی ثانیه تنها در جهت راست، در “۹۰-” با پالس ۱ میلی ثانیه تنها در حالت چپ خواهد چرخید. ولتاژ کاری سرو موتور Servo motor SG90 بین ۴٫۸ تا ۵ ولت DC است. سرو موتور دارای سه پایه به ترتیب GND , VCC , Signal میباشد. سیم قهوه ای پایه GND ، سیم قرمز پایه VCC و سیم نارنجی پایه سیگنال (S) میباشد. سروو موتور دارای سه سیم تغذیه ، زمین ، و سیگنال می باشد.سیم تغذیه معمولا قرمز رنگ می باشد و به ۵+ متصل میشود .سیم زمین نیز معمولا قهوه ای یا مشکی رنگ می باشد و به زمین مدار متصل میشود و در اخر سیم سیگنال که معمولا زد ، نارنجی یا سفید می باشد که به یک پین دیجیتال آردوینو متصل میشود. توجه داشته باشید در صورتی که قصد راه اندازی بیش از یک سروو موتور را دارید به هیچ عنوان از تغذیه آردوینو Arduino استفاده نکنید و از یک تغذیه خارجی استفاده کنید.
نمونه برنامه راه اندازی سرو موتو 180 درجه با آردوینو
برای راه اندازی سرو موتور 180 درجه با استفاده از آردوینو میتوانید از کتابخانه Servo استفاده کنید. این کتابخانه در آردوینو به صورت پیشفرض وجود دارد و نیازی به نصب جداگانه ندارد. برای استفاده از این کتابخانه، کافی است در کد خود، ابتدا کتابخانه Servo را اضافه کنید. برای مثال، کد زیر سرو موتور 180 درجه را با استفاده از پین 9 آردوینو کنترل میکند:
#include <Servo.h>
Servo myServo;
void setup() {
myServo.attach(9); // متصل کردن سرو موتور به پین 9
}
void loop() {
myServo.write(0); // تنظیم زاویه سرو موتور به 0 درجه
delay(1000); // تأخیر 1 ثانیه
myServo.write(180); // تنظیم زاویه سرو موتور به 180 درجه
delay(1000); // تأخیر 1 ثانیه
}
کد بالا به سرو موتور این دستورات را میدهد. در حالت اول، سرو موتور به زاویه 0 درجه تنظیم میشود. در حالت دوم، سرو موتور به زاویه 180 درجه تنظیم میشود. توجه داشته باشید که ممکن است برای تنظیم زاویه سرو موتور، به جای عدد 180، عدد دیگری را انتخاب کنید. این بستگی به نوع سرو موتوری دارد که شما دارید و باید دستیابی به دیتاشیت آن داشته باشید.
نمونه برنامه راه اندازی سرو موتور با آردوینو و PCA9685
این نمونه برنامه با استفاده از کتابخانه Adafruit PWM Servo Driver برای راه اندازی سروموتور با PCA9685 و آردوینو طراحی شده است. قبل از اجرای برنامه، کتابخانه را باید در آردوینو نصب کنید.
#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>
// آدرس PCA9685 را از طریق نرم افزار i2c scanner بررسی کنید
Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(0x40);
// تعریف پایهی سرو موتور
#define SERVO_PIN 0
// محدوده پالس به میکروثانیه (μs)
#define SERVO_MIN_PULSE_WIDTH 600
#define SERVO_MAX_PULSE_WIDTH 2400
void setup() {
Serial.begin(9600);
// شروع ارتباط با PCA9685
pwm.begin();
// تنظیم فرکانس PWM برای کنترل سرو موتور
pwm.setPWMFreq(50);
}
void loop() {
// جابجایی سرو موتور به یک زاویه خاص
moveServo(SERVO_PIN, 90); // جابجایی به زاویه 90 درجه
delay(1000);
moveServo(SERVO_PIN, 0); // جابجایی به زاویه 0 درجه
delay(1000);
moveServo(SERVO_PIN, 180); // جابجایی به زاویه 180 درجه
delay(1000);
}
void moveServo(uint8_t pin, uint16_t angle) {
// تبدیل زاویه به محدوده پالس PWM
uint16_t pulse_width = map(angle, 0, 180, SERVO_MIN_PULSE_WIDTH, SERVO_MAX_PULSE_WIDTH);
// ارسال پالس PWM به سرو موتور
pwm.setPWM(pin, 0, pulse_width);
}
مشخصات
- کاربری
- مناسب برای استفاده شخصی
- نوع موتور
- سروو - Servo
- سطح تجربه مورد نیاز
- مبتدی
- ولتاژ مورد نياز
- 3.3 تا 5 ولت DC
- دمای کاری
- 0 تا 50 درجه سانتی گراد
- اقلام همراه محصول
- سه مدل دنده و 3 عدد پیچ مخصوص
- ترتیب پایه ها
- سیم نارنجی برای PWM - سیم قرمز برای تغذیه - سیم قهوهای برای منفی مدار
- معماری پردازنده
- CMOS