امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
servo motor
نویسنده پیام
torabi.ieee آفلاین
تازه وارد

ارسال‌ها: 9
موضوع‌ها: 5
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 0
( 2 تشکر در 2 ارسال )
ارسال: #1
servo motor
برای تولید پالس pwm برای سروو با شرایطی که سروو لازم داره چه جوری باید ساخت
۱۷-شهریور-۱۳۸۸, ۱۱:۵۵:۲۲
ارسال‌ها
پاسخ
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #2
RE: servo motor
با چی نرم افزاری می خواین کار کنین !

اینو ببینین :
http://forum.iranled.com/showthread.php?tid=7833
۱۸-شهریور-۱۳۸۸, ۱۳:۳۸:۵۲
ارسال‌ها
پاسخ
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #3
RE: servo motor
از کتاب آقای یه نفر :

سروو موتور:


سروو ها نوعی موتور بسیار پرقدرت است که میتواند حول یک زاویه خاص با دقت بالا بچرخند ، از سروو ها برای بازوی ربات و باز و بسته کردن درب و دریچه و ... استفاده میشود .

سروو ها دارای سه سیم میباشند که دوتای انها تغذیه و دیگری برای کنترل درجه چرخش مورد استفاده قرار میگیرد ( در صورتی که سررو شما دارای 5 سیم است ، دو تا از انها برای تغذیه مدار داخلی سروو و دوتای دیگر برای تغذیه خود سروو و سیم اخر برای کنترل میباشد .( بهتر است دیتا شیت سروو را از فروشنده دریافت کنید )

راه اندازی سروو در بسکام با دستور زیر انجام میشود:

کد php:
Config Servos Servo1 Portx.Servo2 Portx.Servon Portx.Reload Rl 

Config Servos = X : نشان دهنده تعداد سروو های استفاده شده میباشد که بیشترین تعداد میتواند 14 باشد.(به جای x تعداد گذاشته میشود مانند : Config Servos = 3 )

Servo1 = Portx.y :.پایه کنترل سروو به یکی از پین های میکرو که با Portx.y مشخص شده متصل میشود.

Reload : نشان دهنده زمانی است که میکرو دوباره اطلاعات مربوط به سرو ها را روی پین مورد نظر میفرستد(این زمان برحسب میکروثانیه است

نکته:
این دستور از تایمر صفر برای راه اندازی (تولید زمان روشن بودن سروو) استفاده میکن و هنگامی که سروو را پیکربندی کردید دیگر نمیتوانید از تایمر صفر استفاده کنید.

بعد از پیکر بندی سروو نوبت به راه اندازی ان است برای این کار از دستور زیر استفاده میشود:

کد php:
Servo(x) = 

X شماره سروو است که میتواند از 1 تا14 باشد و y ضرب در 10 زمان روشن بودن سروو را نشان میدهد، که میتواند یک متغییر یا عدد صحیح باشد.مانند

کد php:
$regfile "m16def.dat"
$crystal 12000000
Config Servos 
14 Servo1 Portd.0 Servo2 Portd.1 Servo3 Portd.2_
Servo4 Portd.3 Servo5 Portd.4 Servo6 Portd.5 Servo7 Portd.6_
 
Servo8 Portd.7 Servo9 Portc.7 Servo10 Portc.6 Servo11 Portc.5_
 
Servo12 Portc.4 Servo13 Portc.3 Servo14 Portc.2 Reload 100
Config Portd 
Output Portc Output
Enable Interrupts
Dim A 
As Word
A
=10
Do
Servo(1) = Wait 1
Servo
(2) = Wait 1
Servo
(3) = Wait 1
Servo
(4) = 15 Wait 1
Servo
(5) = 20 Wait 1
Servo
(6) = 25 Wait 1
Servo
(7) = 30 Wait 1
Servo
(8) = 35 Wait 1
Servo
(9) = 40 Wait 1
Servo
(10) = 45 Wait 1
Servo
(11) = 50 Wait 1
Servo
(12) = 55 Wait 1
Servo
(13) = 60 Wait 1
Servo
(14) = 65 Wait 1
Loop
End 

در مثال بالا تعداد 14 عدد سروو به میکرو مگا 16 متصل شده است ، مدت زمان روشن بودن سروو ها به ترتیب از سروو 1 به این شرح است:
10 و 50 و100 و150 و 200 و250 و 300 و 350 و 400 و450 و500 و550 و600 و650 میکرو ثانیه است.) یک سروو فقط در یک زاویه خاص میچرخد ، مثلا از 0 تا 270 درجه یا از 0 تا 360 درجه، زمان که در بالا گفته شد ، بیان میکند که چقدر طول میکشد تا سررو به یک زاویه خاص برسد ، برای فهمیدن این زمان باید به دیتاشیت سروو مراجعه کنید ،

مثلا نوعی سررو در هر 10 میکرو ثانیه .1 درجه حرکت میکند و زاویه چرخش ان از 0 تا 10 است، بنابراین برای رسیدن به زاویه 120 درجه باید به جای y عدد 120 را قرار دهیم، در صورتی که به جای y عدد بیشتر از 180قرار دهیم سروو روی 180 قفل میشود.بیشتر مقداری که به جای y میتوانید قرار دهید 255 است.

مدار مثال بالا:
http://forum.iranled.com/attachment.php?aid=2189
۱۸-شهریور-۱۳۸۸, ۱۳:۴۰:۴۹
ارسال‌ها
پاسخ
torabi.ieee آفلاین
تازه وارد

ارسال‌ها: 9
موضوع‌ها: 5
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 0
( 2 تشکر در 2 ارسال )
ارسال: #4
RE: servo motor
مرسی
مثال با کد ویژن ندارید
(آخرین ویرایش در این ارسال: ۲۱-شهریور-۱۳۸۸, ۱۶:۰۷:۳۴، توسط torabi.ieee.)
۲۱-شهریور-۱۳۸۸, ۱۶:۰۶:۲۷
ارسال‌ها
پاسخ
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #5
RE: servo motor
بنده كدويژن كار نيستم و دليل براي استفاده از كدويژن نديدم ولي ديدم دوستان با كدويژن و تايمرها و PWM تونستن سرو رو راه اندازي كنن !
۲۱-شهریور-۱۳۸۸, ۱۶:۱۴:۴۵
ارسال‌ها
پاسخ
modj.ir آفلاین
كاربر دو ستاره
**

ارسال‌ها: 233
موضوع‌ها: 0
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 1
( 547 تشکر در 230 ارسال )
ارسال: #6
RE: servo motor
چند تا سروو رو می خواین راه بندازین ؟ اگر یکی هست، از دستورات وقفه استفاده کنین، اگر بیشتر از یکی هست، باید کمی کار با تایمر ها رو وارد باشین

۰۲-مهر-۱۳۸۸, ۲۳:۵۶:۵۱
وب سایت ارسال‌ها
پاسخ
torabi.ieee آفلاین
تازه وارد

ارسال‌ها: 9
موضوع‌ها: 5
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 0
( 2 تشکر در 2 ارسال )
ارسال: #7
RE: servo motor
من جواب گرفتم اما ی مشکل کچیک دارم
این که وقتی دیتا به راست می دم گام به گام حرکت می کنه اما وقتی به چپ میدم تا 3 بار به راست میره بعدا بر می گرده
کسی میدونه مشکل از کجاست
۱۴-مهر-۱۳۸۸, ۲۲:۴۹:۴۹
ارسال‌ها
پاسخ
modj.ir آفلاین
كاربر دو ستاره
**

ارسال‌ها: 233
موضوع‌ها: 0
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 1
( 547 تشکر در 230 ارسال )
ارسال: #8
RE: servo motor
موتور پله ای نیست که حرکت کنه ! شما زاویه رو می دین، سریع می ره اونجا بایسته، احتمالا پالس ها رو اشتباه می دین

۰۸-آبان-۱۳۸۸, ۱۸:۰۱:۰۵
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  سوال درباره step motor دراکولا 0 1,624 ۱۲-آبان-۱۳۹۲, ۱۶:۱۱:۰۶
آخرین ارسال: دراکولا
  برنامه واسه sERVO MOTOR mohammad_rezaei 8 6,194 ۲۰-آذر-۱۳۸۹, ۰۵:۳۸:۵۲
آخرین ارسال: mkz005
  Motor Driver MRS 3 1,776 ۰۷-بهمن-۱۳۸۶, ۰۲:۰۷:۴۱
آخرین ارسال: newdesign
  dc motor driver misytaz 7 2,615 ۱۵-آبان-۱۳۸۶, ۲۰:۵۹:۵۱
آخرین ارسال: 30yavash
  servo HOPE_GROUP 17 4,628 ۰۲-خرداد-۱۳۸۶, ۰۸:۳۸:۵۷
آخرین ارسال: HOPE_GROUP

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS