اطلاعیه

Collapse
No announcement yet.

آموزش PWM در بیسیک مگا 32

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    آموزش PWM در بیسیک مگا 32

    سلام دوستان عزیز
    من می خوام یه روبات مسیر یاب بسازم که کنترل موتور هاش با PWM باشه.
    ولی از PWM چیزی نمی دونم ، البته خیلی کم می دونم!
    می خوام ببینم کسی در این رابطه می تونه منو کمک کنه؟
    زبان بیسیک بلدم و آی سی های Avr کار کردم.

    #2
    پاسخ : آموزش PWM در بیسیک مگا 32

    نوشته اصلی توسط mohammadr1371
    سلام دوستان عزیز
    من می خوام یه روبات مسیر یاب بسازم که کنترل موتور هاش با PWM باشه.
    ولی از PWM چیزی نمی دونم ، البته خیلی کم می دونم!
    می خوام ببینم کسی در این رابطه می تونه منو کمک کنه؟
    زبان بیسیک بلدم و آی سی های Avr کار کردم.
    سلام
    کارکردن با کنترل پهنای پالس خیلی آسونه در این روش یک موج مربعی در خروجی داریم که فرکانس اون ثابته ولی پهنای سیگنال اون در دست شما هستش،هرچه قدر پهنای ولتاژ زیاد تر بشه ولتاژ خروجی هم بیشتر می شه وتا جایی ادامه داره که دیگر فرکانس صفر میشه وولتاژ یه حداکثرش میرسه
    اول باید یکی از تایمر هارو راه اندازی کرد و اونو در مدpwmقرار داد و سپس با استفاده از متغیر مربوطه می توان پهنای ولتاژ خروجی رو تغیر داد ببین ابتدا از برنامه زیر استفاده کن:
    Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Prescale = 1
    Enable Timer1
    Start Timer1
    در این مثال ابتدا تایمر 2 در مد pwm قرار داده شده ،pwm به صورت 8 بیتی هستش که میتونی به جاش از 9 یا 10 بیتی هم استفاده کنی،چیزی که مهمه تقسیم کننده یا همون prescalerهستش که هرچه قدر عدد مربوط به اون کمتر باشه فرکانس خروجی بیشتره که میتونی به جای 1 از2،8،64،128،1024 استفاده کنی بعد از این کار یک متغیر از نوع byte تعریف کن مثلا a این متغیر رو برابر با pwm میکنی حالا اگر این عدد 0 باشه ولتاژ خروجی 0 ولته اگر این عدد 255 باشه ولتاژ خروجی حداکثر میشه حالا اگر مثلا این عدد رو 127 انتخاب کنی ولتاژ خروجی 2.5 ولت میشه
    Pwm1a = A
    توجه داشته باش که چندتا نکته هست:
    1:مداراتی که دارایpwm هستند داخل پروتیوس به سختی کار می کنن و cpu رو مشغول میکنه بهتره که در عمل استفاده کنی
    2:حتما در خروجی از یک فیلتر بالا گذر استفاده کن
    3:خروجی pwm ها در avr پایه ی مخصوص به خود داره یعنی نمیشه هر پایه از ورودی / خروجی به عنوان pwm استفاده کنی و پایه خروجی pwm در تایمر 1
    oc1aوoc1b هستش که باید فقط از همین پایه ها استفاده کنی

    دیدگاه

    لطفا صبر کنید...
    X