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

فرکانس متر با استفاده از آردوینو

به نام خدا

فرکانس متر با استفاده از آردوینو

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

 

frequency-counter-using-arduino

 

قطعات مورد نیاز فرکانس متر :

  • آی سی ۵۵۵ و اشمیت تریگر ۷۴LS14 یا گیت NOT
  • دو عدد مقاومت یک کیلو اهم و یک عدد مقاومت ۱۰۰ اهم
  • دو عدد خازن ۱۰۰ نانو فاراد و یک عدد خازن ۱۰۰۰ میکرو فاراد
  • ال سی دی ۱۶*۲
  • پتانسیومتر ۴۷ کیلو اهم
  • بردبورد و تعدادی کانکتور

توضیح مدار :

با استفاده از یک برد آردوینو مدل UNO یک ال سی دی را راه اندازی کرده ایم که فرکانس را بر روی آن نمایش می دهیم . برای اطمینان از این که موج ورودی به آردوینو یک موج مربعی است ، گیت اشمیت تریگر سر راه موج ورودی به آردوینو قرار داده شده است . برای جلوگیری از اثر نویز نیز از دو خازن در تغذیه استفاده کرده ایم .

بیشتر بخوانید...  پروژه ی نمایش دما ، تاریخ و ساعت با آردوینو ، ST7735 TFT و DS3231

این فرکانس متر ، فرکانس را تا یک مگا هرتز می تواند اندازه گیری کند .

 

frequency-counter-using-arduino-circuit-diagram

 

مدار سیگنال ژنراتور :

 

signal-generator-circuit-for-frequency-counter

 

signal-generator-555-for-frequency-counter

 

اندازه فرکانس خروجی از سیگنال ژنراتور به مقاومت RA ، RB و خازن C بستگی دارد . Frequency (F) = 1/ (Time period) = 1.44/ ((RA+RB*2)*C). با قرار دادن مقادیر در این معادله ، فرکانس خروجی به دست می آید .

گیت اشمیت تریگر :

از آن جا که برد آردوینو ما فقط قادر به کار کردن با موج های مربعی و یا مستطیلی است و نیز می دانیم موج ورودی ممکن است مثلثی ، دندانه اره ای ، سینوسی و … باشد ، از یک اشمیت تریگر برای مربعی کردن موج ورودی استفاده می کنیم .

آی سی ۷۴LS14 دارای ۶ عدد گیت اشمیت تریگر می باشد .

IC-74ls14-schmitt-trigger

 

برای اندازه گیری فرکانس از تابع Pulsin استفاده می کنیم . این تابع مدت زمان یک ( High ) بودن و یا صفر (Low ) بودن سیگنال را به ما می دهد .

بیشتر بخوانید...  مانیتورینگ ضربان قلب بر روی اینترنت بوسیله Arduino و ThingSpeak

 

Htime = pulseIn(8,HIGH);
Ltime = pulseIn(8, LOW);

توسط این تابع مقدار زمان یک بودن و صفر بودن پین شماره ۸ برد آردوینو را می فهمیم . با جمع این دو زمام اندازه دوره تناوب سیگنال به دست می آید . فرکانس برابر عکس دوره تناوب است . یعنی به فرض اگر سیگنال ما ۳۰ میلی ثانیه یک بود و ۱۰ میلی ثانیه صفر بود پس دوره تناوب ما ۴۰ میلی ثانیه می باشد . ۱ تقسیم بر ۴۰ میلی ثانیه می شود ۴۰ کیلو هرتز یعنی فرکانس ما ۴۰ کیلو هرتز است . به همین راحتی 🙂

برای دانلود کد های برنامه بر روی لینک زیر کلیک کنید .
دانلود فایل

 

برای دانلود فیلم عملکرد این پروژه در لینک زیر کلیک کنید .

 

دانلود فیلم