خانه / آردوینو ( Arduino ) / پروژه ی کنترل موتور براشلس دی سی بدون سنسور با آردوینو و IR2101 به همراه کد

پروژه ی کنترل موتور براشلس دی سی بدون سنسور با آردوینو و IR2101 به همراه کد

به نام خدا

پروژه ی کنترل موتور براشلس دی سی بدون سنسور با آردوینو و IR2101 به همراه کد

 

کنترل موتور براشلس دی سی با آردوینو و IR2101

در این مقاله قصد داریم تا با استفاده از آردوینو و آی سی IR2101 موتور براشلس بدون سنسور را راه اندازی کنیم .

قطعات مورد نیاز کنترل موتور براشلس دی سی بدون سنسور با آردوینو و IR2101:

  •  بردآردوینو UNO
  • موتور براشلس  مستقیم (BLDC)
  • ۶ قطعه ترانزیستور ماسفت نوع N مدل ۰۶N03LA
  • ۳قطعه آی سی (IR2101 (IR2101S
  • ۶ قطعه مقاومت ۳۳k
  • ۳ قطعه مقاومت ۱۰K
  • ۶ قطعه مقاومت ۱۰ اهم
  • ۳ قطعه دیود IN4148
  • ۳ قطعه خازن ۱۰uF
  • ۳ قطعه خازن ۲٫۲uF
  • ۲ قطعه میکروسوییچ
  • منبع تغذیه ۱۲V
  • برد برد
  • سیم برد بردی

کنترل موتور براشلس دی سی بدون سنسور با آردوینو :

شماتیک مدار در تصویر بالا نشان داده شده است .

 

در این مدار ۲ میکروسوییچ وجود دارد ، یکی برای افزایش سرعت موتور براشلس دی سی و دیگری برای کاهش سرعت آن است.

۳ مقاومت ۳۳ کیلو اهمی (متصل به سر های موتور) و ۳ مقاومت ۱۰ کیلو اهمی بعنوان تقسیم کننده ولتاژ استفاده شده اند. از آنجا که نمی توانیم آردوینو را با ۱۲ ولت تغذیه کنیم مجبور به استفاده از این مقسم شده ایم. علاوه بر این مقاومت ۳۳ کیلو اهمی برای ایجاد کردن نقطه بی طرف مجازی می باشد. این نقطه به پین ۶ آردوینو متصل می شود.

برد آردوینو UNO بر اساس میکروکنترلر ATmega328P که دارای یک مقایسه کننده می باشد. پایه مثبت مقایسه کننده به پین ۶ آردوینو و پایه منفی به هر کدام از پین های pin 7 (AIN1), A0 (ADC0), A1 (ADC1), A2 (ADC2), A3 (ADC3), A4 (ADC4) , A5  (ADC5 متصل شود. پس نقطه بی طرف مجازی به پایه مثبت مقایسه کننده آنالوگ (پین ۶) ، فاز A موتور به پین ۷ ، فاز B به پین A2 و فاز C به پین A3 متصل می شود.برنامه باید طوری نوشته شود که هر دفعه فقط BEMF یکی از فاز ها با نقطه بی طرف مجازی مقایسه می شود.

تراشه های IR2101 برای کنترل MOSFET های جانبی یک و صفر هر فاز استفاده می شود. سوئیچینگ بین یک و صفر بر اساس خطوط کنترل HIN و LIN انجام می شود. شکل زیر نمودار زمان ورود و خروجی را نشان می دهد:

 

کنترل موتور براشلس دی سی با آردوینو و IR2101

خط های HIN  هر سه آی سی IR2101 به ترتیب برای فاز های A و B  وC   به  پین های ۱۱ ، ۱۰ و ۹ متصل شده اند . آردوینو می تواند سیگنال PWM تولید کند .

کد های کنترل موتور براشلس دی سی بدون سنسور با آردوینو و IR2101 :

 

در کد هایی که در پایین برای دانلود و مشاهده آورده شده اند از هیچ کتابخانه ی موتور براشلس استفاده نشده است .
همانطور که در بالا ذکر شد پین های ۹ و ۱۰ و ۱۱ آردوینو می توانند سیگنال PWM تولید کنند که پین های ۹ و ۱۰ مربوط به تایمر ۱ هستند  (OC1A و OC1B) و پین ۱۱ مربوط به تایمر ۲  (OC2A)  داخلی  میکروکنترلر هستند . هر دو ماژول تایمر  برای تولید یک سیگنال PWM با فرکانس حدود ۳۱KHz و رزولوشن ۸ بیت پیکربندی شده اند . دیوتی سایکل سیگنال های PWM زمانی که یک دکمه فشار داده می شود (سرعت بخشیدن یا کاهش سرعت) با نوشتن مقدار جدید در  رجیستر خود (OCR1A، OCR1B و OCR1A) به روز می شوند.

مقایسه کننده آنالوگ ، ورودی مثبت آردوینو (پین ۶) را با ورودی منفی مقایسه می کند (که می تواند AIN1 (پین ۷)، ADC2 (پین A2) یا ADC3 (پین A3) باشد). هنگامی که ولتاژ پین مثبت بالاتر از ولتاژ پین منفی باشد، خروجی آنالوگ (ACO) یک می شود و بلعکس.در این پروژه برای شناسایی تغییر علامت ولتاژ (zero crossing) از وقفه مقایسه کننده آنالوگ استفاده شده است.
 برای درک بهتر کد ، دیتاشیت ATmega328p را بخوانید.

دانلود کد برنامه کنترل موتور براشلس دی سی بدون سنسور با آردوینو و IR2101 :

دانلود فایل 

بیشتر بخوانید...  پروژه ی شمارش افراد داخل اطاق با آردوینو

درباره‌ی mjavad

همچنین بخوانید...

کنترل موتور براشلس دی سی با آردوینو

کنترل موتور براشلس دی سی دارای سنسور با آردوینو

به نام خدا کنترل موتور براشلس دی سی دارای سنسور با آردوینو   دو نوع …

کنترل موتور براشلس دی سی بدون سنسور

کنترل موتور براشلس دی سی بدون سنسور با آردوینو به همراه کد

به نام خدا کنترل موتور براشلس دی سی بدون سنسور با آردوینو به همراه کد …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

سلام ،خوش آمدید
آیا می خواهید آموزش ها و پروژه های جدید برای شما ارسال شود؟
مشخصات خود را وارد نمایید
متشکرم
منتظر فایل های ما باشید