۲-۲ ایجاد تاخیر زمانی با استفاده از دستور delay و ساخت LED چشمک زن
۲۷ آذر ۱۳۹۷تفاوت بین گشتاور ضامن (Detent Torque) و گشتاور نگهدارنده (Holding Torque)
۲۷ آذر ۱۳۹۷موتورهای الکتریکی انواع و اقسام متفاوتی دارند و در تمام صنایع و وسایل روزمرهی زندگی انسانها به یکی از ضروریترین نیازها تبدیل شدهاند. موتورهای الکتریکی به دلیل راهاندازی آسان تر نسبت به سایر موتورهای دیگر و قابلیتهای بالاتر کنترلی در وسایل با دقت بالا بیشترین استفاده را نسبت به سایر موتورها دارند. اما با توجه به تنوع در نوع این موتورها روشهای کنترلی برای این موتورها نیز بسیار متنوع است.
میکروکنترلرها یکی از رایجترین قطعات الکترونیکی ای هستند که مهندسان به وسیلهی آنها موتورهای الکتریکی را کنترل میکنند. اما از آنجایی که یک موتور الکتریکی بعضاً به جریان و ولتاژ به مراتب بالاتری نسبت به آنچه که در توان میکروکنترلر است نیاز دارد، میکروکنترلرها خود به تنهایی برای کنترل یک موتور الکتریکی به کار نمیروند، بلکه همراه با یک قطعهی الکترونیکی دیگر که به آن در اصطلاح راهانداز (Driver) میگویند، برای کنترل موتور به کار گرفته میشوند.
درایورها نیز باز هم انواع و اقسام متفاوتی دارند و بسته به توانی که ما نیاز داریم نوع آنها نیز متفاوت میشود. اما چند نوع درایور که از معروفترین و پرکاربردترین نوع درایورهای موتورهای الکتریکی هستند در زیر معرفی و راهاندازی خواهند شد. اما قبل از راهاندازی این موتورها کمی راجع به سه نوع موتور الکتریکی خاص صحبت کرده و سپس کار راهاندازی را شروع میکنیم.
موتورهای DC :
موتورهای DC به موتورهایی گفته میشود که با جریان مستقیم (Direct Current) کار میکنند. این نوع از موتورها از پرکاربردترین نوع در بین سایر موتورهای الکتریکی هستند. موتورهای DC خود نیز دارای انواع متفاوتی هستند که در این جا مورد بحث ما نیست. در شکل زیر یک نوع موتور DC میبینید.
همواره در موتورهای DC این مساله جالب بوده است که این موتورها در عین حال که از نظر راهاندازی بسیار ساده بوده و تنها کافی است یک ولتاژ با جریان مناسب در دو سر این نوع موتورها فراهم کنیم تا به چرخش خود شروع کنند ولی مسائل کنترلی در مورد این موتورها همواره از چالشهای الکترونیک بوده است. چرا که این موتورها به تنهایی و بدون استفاده از هیچ وسیلهی خارجی از قابلیتهای کنترلی ایده آلی برخوردار نیستند.
منظور از جملهی بالا این است که اگر شما نیاز داشته باشید که موتور DC شما مثلا 10 درجه با سرعت مشخصی بچرخد چیزی نیست که از عهدهی موتور به تنهایی و بدون استفاده از کنترل کنندههای خارجی امکان پذیر باشد. حال برای اینکه یک موتور DC را بتوانیم با یک میکروکنترلر راهاندازی کنیم، نیاز به درایورهایی مثل L298 یا L293 یا BA6219 و … داریم.
هریک از درایورهای بالا با توجه به مشخصات ولتاژی و جریانی خود که در برگهی اطلاعات آنها میآید میتوانند برای راهاندازی رنج خاصی از موتورهای DC مناسب باشند. شکل زیر، شکل یک درایور L298 است.
این درایور در شرایطی که پایهی En که پایهی راهانداز این IC است فعال باشد و منبع ولتاژ ما محدودیت جریان نداشته باشد میتواند تا ۲ آمپر جریان از خود عبور داده و یک موتور DC را تا ولتاژی در حدود ۴۲ ولت راهاندازی کند. ولتاژ اعمالی به پایهی en در بالا باید در حدود ۵ ولت و دمای محیط باید در حدود ۲۵ درجهی سانتی گراد باشد. نمایی از اطلاعات پایههای این درایور را در شکل ۸ میبینید.
درایور L298 خود شامل ۲ درایور موتور است، که میتواند حداکثر تا دو موتور DC را هم زمان راهاندازی کند. نحوهی کارکرد این درایور به این شکل است که ابتدا با دادن ولتاژ ۵ ولت به پایههای 6 یا 11 که با نامهای EnableA و EnableB مشخص شدهاند که اولی مربوط به راهانداز درایور اول و دومی مربوط به راهانداز درایور دومی است، شروع بهکار میکنیم.
این در حالی است که پایهی 9 که با اسم Vss مشخص شده است را نیز به 5+ ولت و پایهی 4 که همان Vs است را به منبع ولتاژ با ولتاژی که میخواهیم موتور با آن کار کند، وصل کردهایم.حال درایور ما آماده به دریافت دستورات از میکرو کنترلر است. اگر به پایههای 5 و 7 نگاه بیندازید مشاهده میکنید که این پایهها با عنوان Input مشخص شدهاند. با استفاده از این دو پایه که مربوط به درایور اول این IC هستند، و قرار دادن 0 یا 1 توسط میکرو بر روی هریک از این پایهها میتوانیم جهت حرکت موتوری که هریک از دو سر آن به پایههای 2 و 3 (Output) متصل هستند را کنترل کنیم.
به خاطر داشته باشید که Output1 مربوط به Input1 و Output2 مربوط به Input2 است یعنی این طور در نظر بگیرید که با قرار دادن 1 بر روی Input1 یک جریان و ولتاژ مناسب در Output1 فراهم میشود و اگر روی این پایه 0 قرار دهید Output1 در حالت قطع قرار میگیرد. مثلا فرض کنید اگر روی Input1 مقدار 1 و روی Input2 مقدار 0 قرار دهیم در حالی که Output1 ،Output2 به موتور متصل شدهاند و موتور ساعتگرد بچرخد حال با قرار دادن صفر روی Input1 و 1 روی Input2 موتور پادساعتگرد میچرخد. با قرار دادن مقدار صفر بر روی هردو ورودی موتور حرکتی نخواهد داشت و با قرار دادن هردو ورودی در حالت 1 موتور قفل خواهد کرد. در زیر نحوهی اتصال این درایور به میکروکنترلر و همچنین موتور آمده است.
به ولتاژهای نوشته شده روی شکل دقت کنید.
با بستن مداری به شکل بالا و نوشتن چند خط کد ساده به راحتی میتوانید دو موتور متصل به L298 را راهاندازی کنید. برای این کار پس از این که مدار را بستید کد زیر را در کدویژن بنویسید. دقت کنید که قبل از نوشتن کد پینهای صفرم تا سوم از پورت A باید در حالت خروجی تنظیم شده باشند.
[php] while (1) { PORTA.0=1; PORTA.1=0; PORTA.2=1; PORTA.3=0; } [/php]
قطعه کد بالا موتور اول و دوم را در یک جهت خاص به چرخش وا میدارد.حال با عوض کردن صفرها به یک و بر عکس، جهت حرکت موتورها برعکس خواهد شد.
در ضمن همواره به یاد داشته باشید که در هنگام استفاده از L298 از دیودهای یکسوکننده با آرایشی که در شکل صفحهی قبل آورده شدهاند استفاده کنید.
این دیودها نقش حفاظتی دارند و برای جلوگیری از آسیب دیدن IC به هنگام راهاندازی موتورها و قطع و وصلهای متوالی جریان، توصیه میشوند. L293 همانند L298 یک درایور موتور با قابلیت راهاندازی دو موتور به صورت همزمان میباشد ولی توان کمتری نسبت به L298 دارد. در واقع یک L293 در دمای ۲۵ درجهی سانتیگراد و در حالی که پایهی VCC1 آن به 5+ ولت و پایهی VCC2 آن به 24+ ولت وصل شده باشد حداکثر جریانی که میتواند در خروجی خود حاضر کند بین ۶۰۰ میلی آمپر تا ۱ آمپر است. عملکرد و راهاندازی این IC دقیقا همانند L298 میباشد. این IC از بستهبندی PDIP برخوردار است.
موتورهای Stepper :
این نوع موتورها همانطور که از نامشان پیداست به صورت پلهای حرکت میکنند.به این نحو که در هر بار حرکت به اندازهی یک پله که میتواند مثلا ۶۰ درجه باشد، حرکت کنند. در واقع این موتورها برخلاف موتورهای DC در یک پلهی خود نسبتی از ۳۶۰ درجه میچرخند. این موتورها به دلیل داشتن همین قابلیت از ویژگی کنترلی بسیار مناسبتری نسبت به موتورهای DC برخوردارند، چراکه شما در هر لحظه هم میتوانید بدانید که موتور در کجا قرار دارد و هم میتوانید آن را به اندازهی مناسبی جابجا کنید. شکل ۱۰ حاوی انواعی از موتورهای پلهای است.
این موتورها معمولا بیش از ۴ سیم خروجی دارند که مرتبط با خواص کنترلی این موتورها و میزان هر پله تعداد این سیمها متفاوت است. مثلا برای یک استپر موتور چهار سیمه جهت و نحوهی حرکت در صورت دادن ورودیهای نوشته شده در جدول به صورت زیر است.
step | L1 | L2 | L3 | L4 |
0 | 1 | 1 | 0 | 0 |
1 | 0 | 1 | 1 | 0 |
2 | 0 | 0 | 1 | 1 |
3 | 1 | 0 | 0 | 1 |
4 | 1 | 1 | 0 | 0 |
حال در نظر بگیرید که یک استپر چهار سیمه داریم که میخواهیم آن را راهاندازی کنیم. با بستن مدار یک L298 که آن را قبلا آموختید و وصل کردن هر ۴ سیم خروجی به یک موتور استپر مدار راهاندازی کامل میشود. (به جای دو موتور DC یک موتور استپر بگذارید) حال با دادن خروجیهای جدول بالا روی پایههای استپر آن را در هر مرحله، یک پله به جلو میبریم. معمولا برای شبیه سازی بهتر میتوانید بین هر پله و مقداردهی پینها از یک تاخیر چند میلی ثانیهایی استفاده کنید.
19 Comments
سلام ،من دارم یه دستگاهدجوجه کشی میسازم،موتور گیربکسی که خریدم ۱۲ ولته برای اینکه چپگرد راستگرد بشه میخوام درایو l298n بگیرم ،آیا احتیاج به برنامه داره برای اینکه شانه ها را تو زاویه مناسب نگه داره باید ازمیکروسوییچ استفاده کنم این میکروسوییچها با درایو چه جوری سری میشه؟راهنمایی لطفا
سلام برای راه اندازی درایور L298 در ساده ترین حالت ممکن نیازی به میکروکنترلر و نتیجتا برنامه نویسی ندارین و می تونین به سادگی با اتصال پین های IN1 تا IN 4 به ولتاژ ۰ یا ۵ ولت جهت چرخش موتور رو تعیین کنین. در واقع اگر به IN1 و IN2 به ترتیب ۰ ولت (Ground) و ۵ ولت رو متصل کنین در خروجی OUT1 و OUT2 به ترتیب ۰ , ۱۲ ولت رو خواهین داشت ( به شرط اینکه (U2(VS در شکل به ۱۲ ولت وصل باشه). برای مشکل شما می تونین میکرو سوییچ رو به پایه EN1 و EN2 وصل کنین به طوری که میکروسوییچ یک سرش Ground باشه و سر دیگر EN1 یا EN2. در این صورت هر بار که سوییچ متصل بشه موتور ها استاپ می شن و علت هم این هست که پایه EN باعث فعال کردن و یا غیر فعال کردن درایو می شه. ( EN1 برای پایه های out1 و out2 و EN2 برای out3 و out4 ).
توصیه نهایی اینکه اگر می خواهین از L298 برای یک محصول یا کار به غیر از مصارف تست استفاده کنین اکیدا طبق تجربه چندین ساله کار با درایو ها توصیه می کنم این کار رو نکنین چرا که IC خیلی اتکا پذیری نیست و عمر کاری بسیار کمی داره. برای تست مشکلی نیست. نکته نهایی اینکه جریان کاری این درایو ها بر خلاف ادعای Datasheet حدود ۵۰۰ میلی آمپر هست.
با عرض سلام و خسته نباشید
با تشکر از مطالب خوبتون می خواستم ببینم نقش پایه های Current Sensing تو آی سی L298 چیه و مدار حفاظت از آی سی رو چرا میبندیم یعنی موقع قطع و وصل ورودی چه اتفاقی میفته که باید کنترل بشه؟
سلام دوست عزیز.
نقش پایه های Current Sensing در درایور L298 اندازه گیری جریان خروجی از درایو و نتیجتا ورودی به موتور هستش. نحوه ی عملکرد این پایه هم به این شکل هست که با قرار دادن یک مقاومت بسیار ضعیف با توان بالا (مثلا ۰.۵ اهم با توان ۴ یا ۵ وات) و اندازه گیری ولتاژ دو سر مقاومت با استفاده از واحد ADC در هر میکروکنترلر مقدار جریان خروجی درایو قابل تخمین زدن هست. متاسفانه در دیتا شیت L298 رابطه بین ولتاژ دو سر مقاومت و جریان خروجی به وضوح بیان نشده ولی با توجه به مشخصات نامی درایور برای رنج بین ۰ تا ۳ آمپر به عنوان خروجی درایو ولتاژ دو سر مقاومت بین -۱ تا ۲.۳ ولت تغییر می کند. به نظر با یک تقریب خطی بین ولتاژ دو سر مقاومت و جریان بتوان به نتایج مقبولی رسید. روش مورد توصیه برای اندازه گیری جریان موتور قرار دادن IC های اندازه گیر جریان همانند ACS712 به صورت سری با موتور در خروجی درایو می باشد.
علت قرار دادن مدار حفاظتی جلوگیری از ورود جریان برگشتی (Fly back Current ) از موتور به درایو و مدارات کنترلی است. این خاصیت به علت وجود اندکتانس داخلی مدار موتور است . برگشت جریان از موتور باعث آسیب رساندن به درایو در دراز مدت می شود.
با سلام
شما چه درایوری رو برای راه اندازی موتور dc( مصارف غیر تست) توصیه می کنین؟
حداقل عمر کاری ۱۲ ماه.
قابلیت اعتماد ۹۹ درصد.
سپاس گذارم.
سلام دوست عزیز، سئوال شما رو ترجیح می دم با یک مقدمه پاسخ بدم، اولین و مهمترین بحث در انتخاب درایور برای یک موتور الکتریکی نگاه به خود موتور هست. در واقع شما باید نیاز خودتون رو خوب بشناسین. نکته ی دوم قبول یک واقعیت در دنیای الکترونیک هست! و اون واقعیت اینه که هیچ گاه شما با پرداخت پول کمتر نمی تونین محصول با کیفیت بیشتر رو داشته باشین. علت این ادعا هم رقابت بسیار شدید تو این بازار هست که اجازه اعلام قیمت های غیر واقعی برای محصولات از طرف شرکتهای الکترونیکی رو می گیره. بنابراین بازار الکترونیک بازاری بسیار خشن و رو راست هست. اما در جواب سئوال شما که سئوال بسیار سختی هم هست باید بگم متاسفانه در ایران کلا رو بحث درایو های موتور های مختلف خوب کار نشده و به غیر از یکی دو شرکت تا اونجا که من یادم میاد کس دیگه ای مبتکرانه و خلاقانه روی این مبحث کار نکرده. بنده قصد تبلیغ در این کامنت رو نداشتم ولی به عنوان کسی که ۴ سال هست روی درایورهای موتورهای مختلف کار کردم می تونم به شما ۲ محصول MDC20 و MD5 محصول شرکت ربات سازان رو معرفی کنم. انتخاب نهایی با شماست ولی با یک مقایسه ساده این درایورها با درایورهای موجود در بازار به راحتی و وضوح متوجه تفاوت خواهید شد. در هر صورت انتخاب درایور برای موتورهای الکتریکی بسیار مبحث مهم و حساسی هست که باید به خوبی به اون توجه کنین.
با سلام،
مهندس سید میلاد محمدی، بنده یک میکرو موتور را میخواهم راه اندازی کنم، و از l298 استفاده کردم.
موتور من دیتاشیت ندارد و فقط میدانم که با ۶ ولت کار میکند و در ۶ ولت کارایی که میخواهم را دارد.
در l298 پایه Vs ، که ولتاژ موتور را تغذیه میکند به آداپتور متغیر(۰- ۱۸ولت ) وصل کردم و رنج های متفاوتی را تست کردم،
و در حالت ۱۸ ولت آداپتور ، ولتاژ دو سر موتور ۳ ولت و آمپر آن ۶ میلی آمپر میشود و بنده میخواهم دو سر موتور ۶ ولت باشد.
(لازم است بگویم که در حالت روشن بودن، ولتاژ آداپتور کاهش پیدا میکند و در این حالت ۷.۵ ولت را، با اندازه گیری دو سر آداپتور، به ما نشان میدهد و با جریان ۷ میلی ولت.)
بنده با ماسفت(IRF510) و bjt هم امتحان کردم ولی بهترین نتیجه l298 بوده است.
لطفا کمکم کنید.
با سپاس
با سلام
سوال شما در forum ربات سازان در اینجا پاسخ داده شد.
سلام.
من ميخوام ١٥عدد استپ موتور را در مصارف غير تست استفاده كنم.
ايا با يك ميكرو و چند درايو ميشه؟!
از درايو mdc20 كه فرموديد استفاده كنم بهتر هست به نظر شما؟!
ممنون
با سلام
سوال شما در اینجا پاسخ داده شد.
موفق باشید
سلام
من دانشجوی رشته مکانیک هستم و قصد دارم روی پرینتر سه بعدی کار کنم و برای کنترل محورها باید از استپ موتور استفاده کنم ولی اشنایی زیادی با طرز راه اندازیشون ندارم.اگه میشه در مورد اینکه به چه چیز های (مثل درایور و برد)نیاز دارم تا بتونم موتور هارو کنترل کنم راهنمایی کنید.خیلی ممنون
سلام مهندس جان، لطفا اگر سوالی دارید در انجمن ما بپرسید تا مجموعه سوالات مدون تر باشد. شما برای ساخت پرینتر سه بعدی بایستی یک کنترل کننده داشته باشید تا درایورهای موتورهای استپر شما را تحت کنترل داشته باشد و حرکت هایی که شما نازل خواهید داد را زمانبندی و نظارت داشته باشد. موتورهای استپر نیازمند یک درایور برای حرکت هستند که این درایور توسط سیگنال کنترلی که از یک کنترل کننده دریافت می کند، موتور را به اندازه لازمه حرکت می دهد. برای شروع می توانید از بوردهای آردوینو و درایورهای استپر در ابعاد کوچک استفاده کنید. موفق باشید.
سلام من یه طرحی دارم که این طرح من حدودا ۴۰ کیلوگرم است آیا می شه از استپ موتور استفاده کرد کنترل سرعت برام خیلی مهم است. با تشکر
با سلام
بستگی به نوع موتور و مکانیزم حرکتتون داره، در ضمن لطفا بفرمایید سرعت مد نظرتون چقدر هست؟
سلام. یک مدار دارم شامل atmega32 و یک موتور پله ای و درایور l298 که می خوام موتور رو بچرخونم. توی شبیه ساز جواب می گیرم ولی روی مدارم جواب نمی ده چه کار کنم؟
چه جوری l298 تست کنم؟ آیا مشکل از درایور هست؟؟؟
سلام
فازهای موتور استپر رو به درستی به خروجی های L298 وصل کردین؟ اگه فازها به درستی فصل نشه موتور پله ای حرکت نمیکنه و فقط درجا رزونانس میکنه. همچنین اگه فرکانس پالسهایی که از طرف میکرو دارین به L298 میدین اگه بالا باشه موتور حرکت نمیکنه! توی شبیه سازی با فرکانس بالا جواب میده ولی در عمل اگه فرکانس پالسهای اعمالی از یه حدی بیشتر بشه گشتاور موتور پله ای به حدی کوچیک میشه که دیگه قادر نیست حرکت کنه.
با تشکر
[…] آشنایی با چند نوع موتور الکتریکی و روش های راه اندازی آ… […]
[…] آشنایی با چند نوع موتور الکتریکی و روش های راه اندازی آ… […]
[…] آشنایی با چند نوع موتور الکتریکی و روش های راه اندازی آ… […]