نظرسنجي
نظر شما در مورد سايت چيست؟

عالي
خوب
متوسط
بد

تقويم
<    «  فروردين 1403  »    >
شیدسچپج
 123
45678910
11121314151617
18192021222324
25262728293031
مطلب تصادفی
پست تصادفي:
» آموزش میکروهای AVR به زبان بیسیک
» كتاب آموزش الكترونيك ربات
» آشكار سازي سطح تن صدا
» آموزش سروو موتور ها در ربات (Servo Motors in Robots) ...
» PWM چيست؟ (آموزش كامل PWM در كدويژن)
» الگوريتم ها و مقدماتي براي ربات مين ياب ...
» تشريح مكانيك ربات سه چرخ
» آموزش طراحي مدار چاپي در پروتئوس 7
» پردازش تصویر
» سرخ کردن غذا با یک بازوی رباتیک
رتبه در الكسا

آموزش سروو موتور ها در ربات (Servo Motors in Robots)

  

تاريخ: 19 آذر 1389     نويسنده: admin

موضوع: رباتيك

 

 

  

آموزش سروو موتور ها (Servo motors) :

 


در مباحث قدرتی آنچه که میتواند ممیزی بین مهندسی برق- قدرت و دیگر شاخه ها باشد همان نگاه ویژه این شاخه به سخت افزار های مکانیکیست. آیا تا کنون به چگونگی حرکت ربات ها اندیشیده اید؟ یک ربات چیست؟ در یک تعریف کلی آنچه که توسط دست انسان ساخته شده و توانایی حرکت را داشته باشد می تواند یک ربات باشد. اما هر ربات خود اجزا و قسمتهای پیچیده و یا ساده ای دارد.
قصد داریم که در این بخش شما را با عملکرد جز کوچکی از پیکره یک ربات بپردازیم.
 

Servo motor ها :
هر servo motor یک دستگاه کو چکی ست که بخش اعظم حرکت آن توسط یک shaft خروجی تعیین می شود. چگونگی حرکت و مو قعیت های زاویه ای این خروجی توسط دسته ای از سیگنال های دیکد شده که برای کابل دیتا آن تعریف می شود کنترل میشود. برای طول مدت زمانی که یک سیگنال فعال بوده و یک پالس بر روی خط ورودی آن قرار دارد این shaft خروجی در مو قعیت خاص زاویه ای که مختص آن سیگنال است قرار دارد و با تغییر این ورودی زاویه مد نظر نیز تغییر می کند.

 

مشاهده می کنید که در اینجا یک رابطهای بین نرم افزار و سخت افزار ایجاد شده است. این موتور ها در صنایع رباتیک و تولیدات صنعتی مانند موتور های کنترل کننده هواپیما ها و ... کاربرد وسیعی دارند.
آنچه که قدرت حرکتی این نوع موتور ها راتعیین می کند مقدار بارگیریست که از سوی سیگنال انجام می گیرد بر این اساس برای حرکت با سرعتی سریع جهت طی مسافتی متناسب با سرعت میزان بارگیری مذکور بالاست و عمو ما این میزان توسط سازنده مو تور تعیین خواهد شد.
سه کابل موجود در این موتور ها می توانند 3 ورودی این مو تور باشند.
معمولا سیم اول برای power حدود 5 ولت.
سیم دوم :GND
سیم سوم (معمو لا به رنگ سفید): جهت کنترل وضعیت های حرکتیست.

 

عملکرد مداری :
هر servo از چند مدار الکترونیکی کنترلی – یک مقاومت متغیر(پتانسیو متر) – تعدادی چرخدنده (برای ایجاد امکان حرکت) – یکshaft خروجی تشکیل شده است. در بخشی از این مدار که به آن pot اطلاق می شود امکان دیدن سیگنالی که مو تور تحت تاثیر آن از خود عکس العمل نشان می دهد وجود دارد.
زاویه حرکتی این خانواده از مو تور ها متفاوت است اما یک servo نرمال میتواند مسافتی بین 0 تا 180 درجه را بپیماید. سیستم کنترل کننده معممو لا وظیفه کنترل این چرخش را به عهده دارد. این زاویه حرکتی که نیاز است موتور آن را بپیماید به وسیله پالسی که توسط کابل کنترلی فرستاده می شود تعیین می گردد که به آن Pulse Code Modulation اطلاق می شود.
یک servo تمایل دارد که هر 20 میلی ثانیه با یک پالس جدیدی تحریک شود.
طول این پالس بستگی به مسافتی دارد که نیاز است توسط سرو و طی شود. برای مثال همانطور که در شکل مشاهده می کنید هر پالسی که در ضمن 1.5 میلی ثانیه اعمال می شود امکان چرخش shaft را به اندازه 90 درجه فراهم می سازد.
اگر طول پالس کمتر از مقدار مذکور باشد زاویه حرکتی shaft خروجی به 0 میل میکند و اگر بیش از 1.5 میلی ثانیه باشد به 180 درجه نزدیک می شود.

 

براي بزرگتر شدن شماتيك بر روي آن كليك نماييد:

آموزش سروو موتور ها در ربات (Servo Motors in Robots)

نمونه سورس كد عملي :

 

/******************************************************************************

Program to demonstrate the use servo motors with AVR Microcontrollers.

Servo Motor: Futaba s3003
Servo Control PIN (white): To OC1A PIN
Crystal: 16MHz
LOW Fuse: 0xFF
HIGH Fuse: 0xC9


                             
*******************************************************************************/
#include <avr/io.h>
#include <util/delay.h>

//Simple Wait Function
void Wait()
{
 uint8_t i;
 for(i=0;i<50;i++)
 {
  _delay_loop_2(0);
  _delay_loop_2(0);
  _delay_loop_2(0);
 }

}
void main()
{
 //Configure TIMER1
 TCCR1A|=(1<<COM1A1)|(1<<COM1B1)|(1<<WGM11);    //NON Inverted PWM
 TCCR1B|=(1<<WGM13)|(1<<WGM12)|(1<<CS11)|(1<<CS10); //PRESCALER=64 MODE 14(FAST PWM)

 ICR1=4999; //fPWM=50Hz (Period = 20ms Standard).

 DDRD|=(1<<PD4)|(1<<PD5); //PWM Pins as Out

 while(1)
 {

  OCR1A=97; //0 degree
  Wait();

  OCR1A=316; //90 degree
  Wait();

  OCR1A=425; //135 degree
  Wait();

  OCR1A=535; //180 degree
  Wait();
 }
}

شايد سورس كد مورد نظر شما با سورس ارائه شده مطابقت خوبي نداشته باشد كه در صورتي كه مهارت خوبي در C داشته باشيد به راحتي مي توانيد به زبان كدويژن يا بيسيك نيز پياده سازي كنيد...

به زودي نمونه سورس هاي كدويژن سروو موتور نيز بر روي همين سايت قرار خواهد گرفت...

 

   
 ( امتیازها: 9)
          بازديدها: 20797    نظرات:5
avatar

گروه کاربري: ميهمان

مطالب: 0

نظرات: 0

انتخاب:

مهران چمنی     

تاريخ: 26/11/1390 - 20:16

دمت گرم مهندس

خیلی برام جالب بود

[پاسخ]
avatar

گروه کاربري: عضو سايت

مطالب: 0

نظرات: 2

انتخاب:

sogolam     

تاريخ: 26/05/1391 - 23:54

سلام

چی میشه به زبان بیسیک هم این پروژه رو اماده کنید تا یاد بگیریم

خیلی عالی میشه
[پاسخ]
avatar

گروه کاربري: عضو سايت

مطالب: 0

نظرات: 10

انتخاب:

hamed_sxz     

تاريخ: 15/07/1391 - 12:48

smile-10
[پاسخ]
avatar

گروه کاربري: ميهمان

مطالب: 0

نظرات: 0

انتخاب:

nahid     

تاريخ: 25/09/1393 - 16:54

سلام.
خواهش میکنم اگه امکانش هست برنامه بسکام این مطلب را هم در اختیارمون قرار بدید.
[پاسخ]
avatar

گروه کاربري: عضو سايت

مطالب: 0

نظرات: 1

انتخاب:

jonaid     

تاريخ: 10/05/1394 - 14:13

سلام
برای کنترل سرو موتور در بسکام با دستور servo به هرصورت که عمل می کنیم سرو یک دور کامل می چرخه و به عرض پالس و فرکانسش توجهه نمی کنه لطفا کمک کنید

ضمنا اگه بشه نحوه کنترل سرو dynamixel رو هم توضیح بدین چه به صورت دستی با بسکام و چه از طریق پروتوکل ارتباطی خود این سرو ها با نرم افزار طراحی شده توسط خود همین شرکت
ممنون میشم پاسخ بدید
البته اگه امکانش باشه ایمیل کنید
jonaid73@gmail.com
[پاسخ]
ارسال نظر

 نام شما:  ايميل:
تصوير کد:
بیست و دو به اضافه سه

کد امنيتي:
موضوعات
باز کردن همه شاخه ها | بستن كل شاخه ها

آمار سايت
آمار مطالب:
  يک ساعت پيش: 0
  امروز: 0
  اين ماه: 0
  مجموع مطالب: 95
  کل نظرات: 462



آمار بازديد:
  بازديد امروز: 74
  بازديد ديروز: 132
  مجموع بازديدها: 4682445



آمار کاربران:
  يک ساعت پيش: 0
  امروز: 0
  اين ماه: 0
  مجموع کابران: 11029
  بن شدگان: 4

آخرين عضو مكاترونيك:


pspice16.5

رتبه گوگل
Display Pagerank