Home / میکروکنترلر / آموزش میکروکنترلر AVR / راه اندازی ماژول آلتراسونیک SRF05 و SR04 با AVR

راه اندازی ماژول آلتراسونیک SRF05 و SR04 با AVR

در این آموزش از وبسایت الکترولب به مقایسه دو ماژول آلتراسونیک SRF05 و SR04 می پردازیم و نحوه ی راه اندازی این دو ماژول رو با هم بررسی می کنیم.

اساس کار ماژول های آلتراسونیک:

این ماژول امواج صوتی با فرکانس بالا ایجاد می‌کنند و موج بازتاب شده را دریافت و تحلیل می‌کنند. این ماژول با محاسبهٔ زمان بین فرستادن سیگنال و گرفتن بازتاب، فاصلهٔ جسم را محاسبه می‌کنند.

تفاوت ماژول آلتراسونیک SRF05 و SR04:

این دو ماژول در بسیاری از ویژگی ها مشابه هم هستند ماژول SRF05 در واقع تکمیل شده و اصلاح شده ماژول SR04 می باشد. پایه ها و نوع طراحی این ماژول ها به طوری است که می توان با یک برنامه از هر دو ماژول استفاده کرد در زیر تصویر هر دو ماژول را می بینید.

hc-sr04-hg-الکترولب

HY-SRF05-الکترولب

همان طور که در تصویر هم مشخص است پایه ی out به ماژول SRF05 اضافه شده که این پایه در ماژول دیگر موجود نیست از این پایه برای تعیین عملکرد ماژول اشتفاده می شود. در ادامه بیشتر در مورد این پایه بحث می کنیم.

راه اندازی ماژول با Trigger و Echo جداگانه (سازگار با ماژول SR04):

در این حالت از پایه های جداگانه برای Trigger و Echo استفاده می شود و ساده ترین حالت استفاده از این ماژول می باشد. در ابن حالت تمام کد های موجود برای SR04 با SRF05 نیز کار می کند. برای استفاده از این مد کافی است این پایه OUT را به جایی وصل نکنید در ماژول SRF05 این پایه با مقاومت به صورت داخلی pull up شده است.

عملکرد این ماژول در این حالت :

راه اندازی ماژول آلتراسونیک SRF05 و SR04 با AVR

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

راه اندازی ماژول با پایه ی مشترک برای Trigger و Echo :

در این حالت از یک پایه برای تریگر و اکو استفاده می شود این حالت برای صرفه جویی در پایه های I/O ی میکروکنترلر یا هر سیستم دیگری طراحی شده است. برای استفاده از این باید پایه ی OUT به زمین وصل شود. و از پایه ی Echo برای تریگر و گرفتن پالس اکو استفاده می شود. نمودار برای استفاده از این حالت در عکس زیر مشخص است.SRF

من در ادامه از روش اول برای راه اندازی ماژول استفاده می کنم تا برای هر دونوع ماژول قابل استفاده باشد.

شماتیک لازم برای راه اندازی ماژول آلتراسونیک SRF05 و SR04 با AVR:

Screenshot (32)

برنامه راه اندازی ماژول آلتراسونیک SRF05:

توضیح برنامه ی ماژول آلتراسونیک SRF05:

عملکرد این برنامه به این صورت است که اگر جسمی فاصله ای کمتر از 75 میلی متر داشته باشد کل پورت A یک می شود و اگر بیشتر از 75 سانت بود کل پورت A صفر می شود.

علاوه بر این عملکرد فاصله اندازه گیری شده و مدت زمان رفت و برگشت صوت با ارتباط سریال فرستاده می شود اگر با ماژول usb به سریال میکروکنترلر را به کامپیوتر تون وصل کنید می توانید به وسیله ترمینال سریال مثل هایپر ترمینال فاصله اندازه گیری شده و مدت زمان رفت و برگشت را مشاهده کنید.

نکاتی در مورد برنامه:

  • در سطر 14 متغییر به صورت volatile تعریف شده که در پست قبلی در مورد ایم موضوع بحث کردیم.
  • سطر 18 برنامه وقفه ی تایمر است به این خاطر تعریف شده تا تعداد سر ریز تایمر تا رفت و برگشت صوت مشخص شود برای اندازه گیری زمان لازم است.
  • سطر 52 تا 56 تنظیمات مورد نیاز ارتباط سریال است.
  • سطر 60 وقفه را به طور سراسری رو شن می کند.
  • سطر 72 تا 79 برای اندازه گیری زمان رفت و برگشت استفاده می شود به این صورت که از زمانی که پایه ی Echo صفر است تایمر شروع به شمارش می کند و تا زمانی که پایه ی Echo دوباره صفر نشده شمارش ادامه پیدا می کند با صفر شدن دوباره ی تایمر شمارش قطع می شود.
  • در سطر 84 زمان رفت برگشت محاسبه می شود.
  • در سطر 85 زمان رفت و برگشت تقسیم بر 2 شده و در سرعت صوت ضرب می شود.
  • و در سطر 86 اطلاعات مورد نظر از تریق ارتباط سریال فرستاده می شود.
  • این برنامه رو از فروم وبسایت eca گرفتم و کمی تغییرش دادم.

 

 

About علی عزتی

علی عزتی هستم. رشته ی مهندسی برق الکترونیک رو خوندم. علاقه ی من به یادگیری و به اشتراک گذاشتن چیز هایی که یاد گرفتم. باعث شد تا الکترولب ایجاد بشه. علاقه ی زیادی به الکترونیک دارم. و دوست دارم چیزهای جدید یادبگیرم و بسازم ... :))

Check Also

راه اندازی ماژول SIM800L با آردوینو

ارتباط از راه دور، يكي از قابليت هاي کلیدی و کاربردی براي طراحان الكترونيك به ...

9 comments

  1. سلام اقای عزتی
    بنده با srf05 تست کردم فاصله های سه و نیم متر ب بالا رو نوسان داره تو نمایش
    مثلن تو چهار متری عدد یهو صفر میشه بعد یک میشه بعد چهار
    البته من رو السیدی نمایش میدم که بعدن میخام با nrf بفرستم جای دیگه
    ماژول های اصلی این پرش و بی دقتی رو ندارن ؟

    • اگه srf05 رو توی گوگل سرچ کنید دو نوع ماژول میاد ماژول اصلی و ماژول چینی که در بازار ایران هم هستش . srf05 ای هم که من امتحان کردم همین عملکرد رو داشت بشتر از 3 متر رو تشخیص نمیداد با ماژول sr04 هم این نتیجه رو گرفتم که شما گفتید . با ماژول دیگه ای به غیر از این ها کار نکردم تا بیبنم چه طور هست کارایشون

  2. متسفانه هیچکی کار نکرده ،برام مهمه که بدونم دقیق هستن که برم هزینه کنم
    بهرحال ممنونم بابت پاسخگویی

  3. یه مسئله ای پیش اومد
    فک کنم یه لحظه vcc به زمین میکرو وصل شد بعدش کار نکرد ، دوباره پروگرمش کردم اما فاصله رو دوبرابر نشون داد!! یعنی دو متر رو چهار متر نشون میده
    و ابنکه پرش عدد هم خیلی کمتر شد
    گیجم کرده اصلن

  4. سلام
    من توی این کار تازه واردم
    به دنبال نحوه فعال سازی SRF8 یا SRF10 هسنم
    میتونید کمکی بهم بکنید؟؟

پاسخ دهید

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