به نام خدا : آموزش ساده راه اندازی سرو موتور SG92R با AVR ؛ تو این مطلب انشاالله قراره یه پروژه سروو موتور با AVR قرار بدم و به صورت تئوری و عملی تستش کنم.تو این پروژه سعی ام بر این بوده که ساده ترین چیز رو درست کنم(من الان دانشگاه هستم و امکانات زیر صفر هستش) انشاالله در مطالب آینده پروژه کنترل سروو موتور با PC رو قرار میدم. سرو موتور چیست ؟
آموزش ساده راه اندازی سرو موتور SG92R با AVR
سرو موتور چیست
حال نوشتن ندارم….یکی از دوستان قشتگ توضیح داده…
سرو موتور چیست
فرق موتور DC با سرو موتور
- میشه سرعت موتور رو کم و زیاد کرد(با PWM)
- میشه جهت چرخش موتور رو تعیین کرد (با تغییر پاریته)
- موتور میتونه به صورت 360 درجه بچرخه.
- نمیشه تعیین کرد که موتور چند درجه بچرخه.
- نمیشه فهمید که الان موتور در درجه چند (نسبت به مبدا مورد نظر) هستش.
در سروو موتور
- موتور نمیتونه دور کامل بزنه(حداکثر حدودا 180 درجه)
- بحث سرعت و جهت چرخش آنچنان تو سرو موتور مطرح نیست بر خلاف موتور DC
- سروو موتور از 0 درجه میتونه بچرخه تا 180 درجه…..در واقع ما در هر لحظه میتونیم بهش بگیم که در درجه چند قرار بگیره.
- در هر لحظه ما میدونیم موتور در درجه چند قرار دارد.
فرق موتور پله ای با سرو موتور
دو مطلب زیر رو بخونید :
1) راه اندازی موتور پله ای با درایور L298N
2) آموزش راه اندازی سروو SG 5010 با Atmel Studio
فیلم آشنایی با ساختمان سرو موتور
توضیح پایه های سرو موتور
سروو موتور 3 تا سیم داره(شکل زیر) که یکی GND ، یکی VCC و اون یکی برا کنترل سرعت هستش.(اصلا در شکل زیر کاملا ترتیب پایه ها تابلو هستش)
پایه نارنچی = به میکرو وصل میشه
پایه قرمز = VCC
پایه مشکلی = GND
پروژه سرو موتور SG92R با AVR
اینم از کد های پروژه
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
#include <mega16.h> #include <delay.h> void main(void) { DDRD=0x20; TCCR1A=0xA0; TCCR1B=0x12;// CLK/8 TCNT1H=0x00;TCNT1L=0x00; //محتوای تایمر کانتر 1 در این دو ریجستر قرار میگیرد ICR1H=0x27;ICR1L=0x0F; OCR1AH=0x00;OCR1AL=0x00;//مربوط به مقایسه هستش OCR1BH=0x00;OCR1BL=0x00;//مربوط به مقایسه هستش TIMSK=0X00;TIFR=0X00; while(1) { OCR1A=300; delay_ms(800); OCR1A = 1200; delay_ms(800); OCR1A= 300; delay_ms(800); OCR1A= 1200; delay_ms(800); } } |
توضیح کد های پروژه در لینک مقابل : آموزش راه اندازی سروو SG 5010 با Atmel Studio
دانلود پروژه راه اندازی سرو موتور SG92R با AVR
اینم یه عکس از پروژه سرو موتور در عمل
اینم از فیلم پروژه سرو موتور در عمل :
والا فک کنم همه چیز رو گفته باشم به هر حال اگه جیزی رو جا انداختم و نگفتم لطفا اعلام کنید….امیدوارم از این مطلب خوشتون اومده باشه و براتون مفید بوده باشه…….در ضمن الان ساعت2.5 شب هستش و منم فردا کلی کلاس دارم تو دانشگاه که باس برم
مهمان
ای سی چی بود
مهمان
ببخشید من کامپایلر CCS برای PIC استفاده می کنم که زمین تا آسمون با کدویژن فرق داره . فقط میخوام بدونم فرکانس کاری میکرو و فرکانس PWM باید چند هرتز باشه. Duty و بقیش رو خودم می تونم
مهمان
سلام با تشکر از آموزشتون
یعنی اگه کنترل سرعت سروو موتورم بگید عالییه عالیی میشه
سروو موتور من سرعتش زیاده چکار کنم کم بشه؟
دمتون گرم
نویسنده این مطلب
سلام
یه تابع تعریف کن با 2 تا ورودی ( مقدار قبلی سرو موتور، مقدار جدید سرو موتور )، کارش این باشه که به جای این که یهو مقدار جدید رو بده به سرو موتور، بیاد به کمک تایمر مثلا طی 100ms از مقدار قبلی به مقدار جدید تغییر پیدا کنه.
مهمان
ببین اینکار رو کردم ولی جواب نداد
میتونی کدش رو بفرستی؟
دستت درد نکنه
مهمان
همین serco motor اگر بخوایم با key pad زاویشو تعیین کنیم چطوری میشه؟؟؟
مهمان
داداش شما خیلی سخت میگیری – اول برو کیپد رو به صورت جداگانه راه اندازی کن و سروو رو هم به صورت جداگانه
وقتی که هر دورو یاد گرفتی بیا و برو مقادیری که خودت توی سروو قرار میدادی رو از مقادیر کیپد استفاده کن.خیلی راحت
مهمان
ایا سروو موتورSG90 باروشن شدن پایه میکرو حرکت میکنه یا خاموش شدن پایه ممنون
مهمان
سلام.
مدل سرو موتور من sg90 هستش آیا کد ها در این مدل هم جواب گو هست؟
من امتحان کردم فقط یبار می چرخید و مثل فیلمی ک شنا گزاشته بودید بر نمی گشت از اول بچرخه
مهمان
سلام.
این کد هایی ک شما نوشتید بر سرو موتور sg90 هم کار می کنه؟؟؟
من نوشتم فقط 180 درجه می چرخید ولی بر نمی گشت از اول دوباره بچرخه مثل آون فیلمی ک شما گزاشتید
(
نویسنده این مطلب
سلام-خب این موتورا با pwm راه اندازی میشه – که خب در زوایای چرخش متفاوتی هم تولید میشه – این sg90 هم یه چیز سادس که میشه مستقیم به میکرو هم زد و از این کد پروزه استفاده میتونی بکنی و فوقش مقداری کدو تغییر باید بدی – عندش همینه.
مهمان
سلام.ممنون .چجوری رو السی دی زاویه ای که چرخیده در بیارم
نویسنده این مطلب
سلام-یعنی چی؟ متوجه نشدم.
مهمان
میخوام به این پروژه ک شما زحمتشو کشیدید ال سی دی گرافیکی اضافه کنم که زاویشو نشونم بده.ممنون
مهمان
سلام من همین برنامه رو به موتور دادم تا صدو هشتاد درجه که می چر خه دیگه نمیاد از اول بچرخه
مهمان
سلام من این سروو موتور هم راه اندازی کردم ام داره درست نمی چرخه موتور صدا می ده ولی نمی چرخه مشکل چیه بعضی موقعه ها یبارگی می چرخه
یعنی موتور خرابه
مهمان
سلام،خیلی ممنون از آموزشتون
ببخشید ما با استفاده از یه زبان برنامه نویسی خاص و با ATMEGA 16 میخوایم از سروو موتور برای چرخای مکانوم استفاده کنیم ، متاسفانه این زبان برنامه نویسی خیلی محدوده و ما نمتونیم بهش کمتر از ۱ میلی ثانیه صبر بدیم، راهکاری به ذهنتون میرسه برا راه اندازی سروو موتور؟
نویسنده این مطلب
سلام-نه متاسفانه.
مهمان
سلام
دستگاهی دارم که با سروو موتور کار میکنه
چند وقتیه که وسط کار ارر میده وبه نظرم ایراد از کنترلر یا اینکدر میباشد، نیاز به یه متخصص دارم اگر میتونید کمکم کنید
مهمان
سلام.
من دانشجوی IT هستم و میخوام ی پروژه ای رو شروع کنم ولی به خاطر وقت کم نمی تونم همه جیز رو درباره ای سروو موتور یاد بگیرم!من اگه بخوام در حد راه اندازی سروو یاد بگیرم از کجا شروع کنم؟
نویسنده این مطلب
سلام-برو سراغ آردوینو.
مهمان
سلم مهندس جان ی برنامه نویسی یک نوع خاص سروو را قرار بدید که مثلا 20 درجه میتواند بچرخدددددددددددددددد. که بتونیم از روی اون برنامه پایه برنمه نویسی سروو را شروع کنیم
مهمان
البته مهندس جان با توضیحت کامل علت و نحوه ی ویزارد نویسی برای تولید رجیستر ها و تنظیم تایمر و … . همچنین اگه لطف کنید در قالب یک ویدیو قرار بدید که دیگ عالی میشه
مهمان
با سلام
آیا میتوان سروو موتور ESTUN را با استفاده از درایور خودش بصورت موتور با قابلیت کنترل دور استفاده نمود
متشکرم
مهمان
سلام
ممنون از آموزش خوبتون
ببخشید میشه با استفاده از سرو موتور موج های سینوسی با فرکانس های مختلف درست کرد؟
نویسنده این مطلب
سلام
سرو موتور چه ربطی به این چیزی گه میخوای داره حالا؟ متوجه منظورتون من نشدم دقیقا
مهمان
من چه جوری به کنترل وصل کنم
نویسنده این مطلب
متوجه نشدم.
مهمان
سلام و نور…
اگه یخام یک کلید برای زیاد کردن سرعت و یکی برای کم کردن سرعت سروو موتور اضافه کنم چه تغییری باید در کدها بدم ؟
پیشاپیش تشکر
مهمان
سلام علیکم ممنون از آموزشتون بزرگوار شما کجا تشریف دارید؟ من مکانیک ساخت و تولید خوندم و یک پروژه بازوی رباتیک صنعتی دارم ولی متأسفانه اطلاعات الکترونیکی بسیار ضعیفی دارم امکان داره زیارتتون بکنم؟ اگر مقدوره به بنده ایمیل بزنید. متشکرم ،عبدالحمید باقری.
مهمان
سرووهای بزرگم اگه ممکنه توضیح بدین
نویسنده این مطلب
ندارمشون! امکان داره یکی برام تهیه کن تا یه پروژه باهاش ببندم و بزارم تو سایت آموزش و پروژش رو.
مهمان
استفاده کردم خیلی مممنون
فقط تغییر سرعت این سروو موتورای کوچیک چطور ممکنه
و اینکه سرووهای کوچیکم تگه ممکنه توضیح بدین
مهمان
ببخشید میشه تنظیمات تایمر در کد ویژن رو توضیح بدید.
تنظیم کردن تایمر یک روی مد پی ام دبلیو.
چون من از کدهای خط۹تا۱۶که مربوط به تنظیمات تایمر کانتر هست چیزی نمیفهمم?
نویسنده این مطلب
از کدویزارد استفاده نمیشه….مطلب اموزش تایمر تو سایته
مهمان
سلام خساه نباشید مدل سروو حتما باید همین باشه؟
تو کد ویژن نیاز به تنظیمات دیگری نیست؟
نویسنده این مطلب
سلام
سرو موتور حتما نباید این باشه ولی مشخصاتش نزدید این باشه.
کدویژن هم فرکانس رو اون مقداری تنظیم کن تو کدویزاردش که میخوای میکرو رو اون فرکانس باشه و فیوز بیت ها رو …
مهمان
دست شما درد نکنه
مهمان
انشاالله غلط است ان شاء الله درست هست
با با جون من پس کی میخواهید عربی یاد بگیرید تو اینترنت جستجو کنید متوجه معنی جمله اول میشوید
لطفا به دیگران هم بگوئید درست بنویسند
نویسنده این مطلب
اوووووووف عجب معنی بدی داره به عرفی انشاالله، خب خدا رو شکر ما فارسی مینوشتیم، تو فارسی هم معنی خوبی داره.
خب چطور یاد بگیرم؟
ممنون از شما.
مهمان
ممنون ازشما
مهمان
ممنون.
عالی بووود.بیداار شدیم !!
مهمان
دمت ولرم ، دمت جوش
مهمان
سلام، من این برنامه را روی SG 5010 آزمایش کردم اما کار نکرد ، به نظر شما چه مشکلی داره؟
مهمان
دمت گرم
مهمان
فوق العاده . . .
دمت گرم داداش
مهمان
سلام.امکانش هست درجه ی دلخواه را با یک پتانسیومتر هر لحظه تغییر داد؟
نویسنده این مطلب
سلام
آره میشه
با میکرو باید از adc آستفاده کنی تا ولتاژ پتانسیومتر رو بخونی
برا حالت بدون میکرو هم باید از ic 555 استفاده کنی که مطلبش توی سایت هستش
مهمان
مرسی
مهمان
سلام چطوری میشه ۱۲ تا سروو موتور رو با آردوینو راه اندازی کرد؟
نویسنده این مطلب
سلام
)
خب سرو موتور که الان دیدم با pwm کار میکنه(امان از حافظه خراب
۱) انتخاب میکرویی که ۱۲ تا pwm داشته باشه
۲) انتخاب یه ic که ۱۲ تا pwm داشته باشه یا همون dac…آی سی هاش تو بازار هستن با بیت های متفاوت….۲۴ بیت به بالا رو نمیدونم تو ایران هستش یا نه باید بسرچی(بهترین گزینه به نظرم….البته بسته بستگی به کارت داره)
۳) پایه های دیگه رو به pwm تبدیل کنی…..
۴) چیز دیگه فعلا به ذهنم نمیرسه………..
در مورد هر کدوم سرچ کنی مطلبی گیرت میاد.
مهمان
سلام.
استفاده ازمد CTC
مهمان
ممنون بابت مطلبتون
مهمان
سلام،دوست عزیز من تازه با سایت شما آشنا شدم .از بچگی خیلی به الکترونیک علاقمند بودم ،ولی نتونستم درسشوبخونم .مکانیک خوندم وخدا رو شکر تو کارم موفقم .اما هنوز خیلی خیلی دوست دارم الکترونیک رو یاد بگیرم ولی بخاطر کار زیاد، وقت تحصیل تو دانشگاه رو ندارم و دوست دارم تو کلاسهای آموزشی آزاد شرکت کنم میشه لطف کنید منو راهنمایی کنید ممنون میشم .در ضمن وقتم آزاده و دست خودمه.ممنون میشم از راهنماییتون
نویسنده این مطلب
سلام
والا شما دوس داری دیجیتال کار کنی یا آنالوگ؟
اگه آنالوگ که باید بگم من آنالوگ به اون سطح کار نمیکینم و اطلاعی ندارم و اگه دیجیتال میخوای اول ببین کارت چیه و در چه سطحی میخوای پروژه انجام بدی تا بهت بگم
مهمان
سلام من انالوگ کار می کنم ولی با دیجیتال مشکل پیدا کردم وقتی راه اندازی میشه بعداز زیر فشار بار رفتن فشار بهش میاد و به حالت تشنج در میاد البته از پروژه رئ با اردوینو زدم و اینکه وزن کار ۱۰ کیلو گرم بر سانتی متر مربع هست و سروو ۲۰ کیلویی هست
نویسنده این مطلب
سلام
تا جایی که من یادم میاد اگه مثلا هی بخواد درجه رو موتور تغییر بده و نتونه این مشکل پیش میاد
و برا حل کردنش چیزی نمیدونم فعلا
مگه این که کد پروژه رو طوری تنظیم کنی تا وقتی نمیتونه زاویه رو تغیر بده، دیگه ولش کنه مثلا…
والا چیزی الان به ذهنم نمیرسه
مهمان
سلام لطفا کد ویزارد تایمر رو رو هم بگید
باتشکر
نویسنده این مطلب
سلام
طی این هفته مطلب تایمر رو انشاالله کامل میکنم
مهمان
من این سرو رو خریدم ولی نتونستم راه اندازی کنم.
وقتی تغذیه بهش وصل میشه ( بدون اتصال پایه کنترل) شروع میکنه به چرخیدن . ولی از اونجایی که گشتاور این موتور خیلی بالاس وقتی هم میچرخه احتمال اسیب زدن به خودش هم وجود داره . واسه من بعد دو سه بار این طور شدن از داخل شکست ولی بازش کردم و به سختی بهش چسب قطره ای زدم و تقریبا درست شد.
اما هنوز هم که هنوزه نتونستم راه اندازیش کنم.
نویسنده این مطلب
والا چی بگم … بهتره بری دیتاشیتش رو بخونید…
نمیدونم چرا اینطور هستش
مهمان
گشتاور این موتور خیلی پایینه نه بالا
مهمان
سلام
این هم لینکش
http://www.xq-power.com/XQ-S50/show_90.html
نویسنده این مطلب
سلام
یا باس با ۶ یا با ۷٫۲ ولت راش بندازیم….
فقط تغزیش فرق داره…که فک کنم با LM315 بشه این ولتاژ رو درست کرد….
سه تا سیم خروجی هم داره….که بعید میدونم فرق داشته باشه….
میگم شما خریدی اینو؟
مهمان
سلام خیلی ممنون از آموزشتون
من این پروژه رو راه اندازی کردم ، حالا می خوام توی یه کاری ازش استفاده کنم ولی گشتاور سرو کمه به همین خاطر رفتم یه سرو با گشتاور بالا خریدم حالا آوردم خونه می بینم روش نوشته digital servo .
می خواستم ببینم در مورد راه اندازی این نوع سرو ها میتونید منو راهنمایی کنید.
راه اندازیش با سروهای معمولی فرق داره.
ممنون
نویسنده این مطلب
سلام
یه لینکی ازش بده…
مهمان
سلام
خوشمان آمد…
خسته نباشی
مهمان
سلام عالییه
فقط یه سوال …
جایی خواندم چون سرعت استپ موتورها کمه میان از سروو موتورها استفاده میکنن ؟!!این موتورها که توضیح دادین که چند درجه می چرخند , با اونا چه فرقی داره؟ اگه ممکنه در مورد سرووموتورهایی که بجای استپ موتورها در ربات ها یا دستگاههای cnc استفاده میشه مطلبی بزارید.با تشکر
نویسنده این مطلب
سلام
بسته به مدلش درجه چرخش متفاوته…فک کنم…
سروو دقیق تره—-در هر لحظه مکانش رو میدونی کجاس و نسبت به محور مورد نظر چه اختلاف درجه ای داره
در مورد سرعت هم فک کنم سرو سریعتر باشه…..بازم تو نت سرچ کن
مهمان
خیلی قشنگه
مهمان
سلام.
برنامه ای بنویسید که با هر بار فشار s1 موتور 720درجه به صورت نیم پله و در جهت حرکت عقربه های ساعت بچرخد و با فشار ذاذن s2 موتور 5دور به صورت تمام پله و در جهت خلاف عقربه های ساعت بچرخد.
#include
#include
int i;
void main(void)
{
DDRB=0x00;
PORTB=0xFf;
DDRD=0xFF;
while(1){
if(PINB.0==0){
for(i=0;i<=100;i++){
PORTD=0b1001;
delay_ms(5);
PORTD=0b1000;
delay_ms(5);
PORTD=0b1100;
delay_ms(5);
PORTD=0b0100;
delay_ms(5);
PORTD=0b0110;
delay_ms(5);
PORTD=0b0010;
delay_ms(5);
PORTD=0b0011;
delay_ms(5);
PORTD=0b0001;
delay_ms(5);
}
}
if(PINB.1==0){
for(i=0;i<=250;i++){
PORTD=0b0001;
delay_ms(5);
PORTD=0b0010;
delay_ms(5);
PORTD=0b0100;
delay_ms(5);
PORTD=0b1000;
delay_ms(5);
}
ایا این برنامه درست کار میکنه .میشه تو پروتیوس شبیه سازیش کنی جواب رو بهم بدبید ممنون میشم اگه میشه جواب رو برام ایمیل کنید
ممنون
نویسنده این مطلب
نه شرمنده….اگه نتونی یه شبیه سازی ساده رو درست کنی باید
مهمان
سلام
ضمن تشکر از آموزش بسیار مفیدتان، در رابطه با مد تایمر سوال داشتم.
به نظر میرسه از مد CTC استفاده شده که در این مد مقدار TOP توسط OCR تعیین می شود بنابراین آیا تعیین TOP و ICR الزامی است؟