رباتیک و هوافضا

پروژه ی ساخت ژنراتور PWM با استفاده از آردوینو

به نام خدا

پروژه ی ساخت ژنراتور PWM با استفاده از آردوینو

در این پروژه قصد دارم تا با استفاده از آردوینو یک زنراتور سیگنال PWM بسازیم که می توان آن را با استفاده از یک پتانسیومتر تنظیم کرد.

PWM چیست:

PWM مخفف مدولاسیون پهنای پالس  می باشد و به این معنا ست که چه مدت یک پالس HIGH و یا LOW باشد. به این طریق پهنای پالس دیوتی سایکل تغییر می کند. ر اینجا فرکانس نقش بسیار مهمی ایفا می کند که باید به اندازه ی کافی زیاد باشد تا خروجی پایدار ایجاد کند. از PWM در جاهای مختلفی استفاده می شود به عنوان مثال در کار هایی که باید در ولتاژ های پایین صورت گیرد و یا برای اهداف سوئیچ زنی بسیار کاربرد دارد.

با استفاده از آردوینو یونو می توان یک ژنراتور PWM ساده ایجاد کرد که کاربرد های متفاوتی خواهد داشت. برای آردوینو پین های متفاوتی وجو دارد که این به این معناست که از آن ها می توان خروجی PWM دریافت کرد.

بیشتر بخوانید...  ساخت ساعت دقیق با سیستم هشدار دهنده و نمایش دما با آردوینو و DS3231

اکنون دو راه وجود دارد که می توان با آن خروجی PWM دریافت کرد:

  1. با اختصاص دادن یک مقدار آنالوگ بین ۰ تا ۲۵۵ . از آن جایی که ولتاژ پین آردوینو  از ۰ تا ۵ ولت است بنابراین باید آن را به مقدار از ۰ تا ۲۵۵ ولت تبدیل کرد.
  2. با اختصاص دادن مقداری با توجه به ورودی دریافتی از پین های انالوگ آردوینو. این ورودی می تواند با استفاده از قطعاتی مانند سنسور مادون قرمز و یا یک پتانسیومتر دریافت کرد.

توجه شود که ورودی آردوینو یک داده ی آنالوگ بین ۰ تا ۱۰۲۳ دریافت می کند که مقداری بین ۰ تا ۵ ولت است. برای اعمال pwm بر روی یک پین شما باید این مقدار ورودی را به مقداری بین ۰ تا ۲۵۵ تبدیل کنید .

یک مثال ساده pwm و شماتیک آن:

با استفاده از این مدار شما تکنیک ایجاد pwm با استفاده از آردوینو را یاد خواهید گرفت. برای اینکار شما به قطعات زیر نیاز خواهید داشت:

  1. یک عدد پتانسیومتر
  2. دو عدد مقاومت ۱۰۰ اهم
  3. دو عدد ال ای دی
بیشتر بخوانید...  پروژه کنترل موقعیت سروو موتور با آردوینو و سنسور نیرو به همراه کد

 

شماتیک مدار و اتصالات آن ساخت ژنراتور PWM با استفاده از آردوینو :

 

 

کد برنامه ی :

دانلود فایل
int x;// initialise variables
int y;
void setup() {
pinMode(10,OUTPUT);//initialise pin 10 as output
pinMode(9,OUTPUT);//initialise pin 9 as output
pinMode(A0,INPUT);//initialise pin A0 as input from pot.
// put your setup code here, to run once:

}

void loop() {
analogWrite(9,125);// directly assigning value to pin 9 i.e. case1
x=analogRead(A0);// read values from potentiometer in terms of voltage
y= map(x,0,1023,0,255);// map those values from 0 to 255 // put your main code here, to run repeatedly:
analogWrite(10,y);// assigning value based on input from pot at pin A0 i.e. case 2

}

 

دیدگاه‌ها (0)

*
*