خانه / پروژه ها / راه اندازی ماژولهای آلتراسونیک توسط Raspberry Pi 3

راه اندازی ماژولهای آلتراسونیک توسط Raspberry Pi 3

معمولا در کاربردهاي صنعتي و غير صنعتي از يک فرستنده التراسونيک و يک گيرنده يا حسگر التراسونيک استفاده مي شود. نحوه عملکرد به اين صورت مي باشد که ابتدا فرستنده موج التراسونيک که موجي در رنج فرکانس التراسونيک است را ارسال مي کند و اين موج پس از برخورد به مانع بازگشت مي کند و گيرنده اين موج بازگشتي را دريافت مي کند. حال با توجه به زمان و طيف فرکانس بازگشتي مي توان به اطلاعاتي از قبيل عمق، نوع، سرعت و … مانع دست يافت. در اين قسمت هدف تشخيص فاصله با سنسور اولتراسنويک است که در ادامه با نحوه ي راه اندازي اين سنسور را با رزبري پاي آشنا خواهيم شد. براي اين کاربرد از رايج ترين ماژول هاي التراسونيک موجود در بازار ماژول SRF04 و SRF05 استفاده شده است.

ماژول

اکثر ماژول هاي التراسونيک(سنجش مسافت) (Ultrasonic Ranging Module) از دو قسمت فرستنده و گيرنده تشکيل شده اند. قسمت فرستنده در کسري از ثانيه امواج التراسونيک را ارسال مي کند، اين امواج پس از برخورد به جسم بازتاب داده مي شوند. وظيفه قسمت گيرنده دريافت امواج بازتابي از جسم است.

گيرنده و فرستنده ماژول هاي SRF04 و SRF05 در کنار يکديگر  قرار دارند و مي توانند جسم هاي در فاصله 2 تا 300 سانتي متر را با دقت قابل قبولي تشخيص دهند. البته ماژول هايي نيز وجود دارند که قسمت گيرنده و فرستنده به صورت جدا از يکديگر طراحي شده اند و مي توان گيرنده و فرستنده را روبروي يکديگر قرار داد و اکثرا براي مقاصدي همچون تشخيص مانع استفاده مي شوند.

ماژول SRF05 نسخه تکامل يافته SRF04 مي باشد. اين نسخه جديد دو مد کاري را پشتيباني مي کند و 5 پايه جهت کار با با ماژول را در اختيار قرار مي دهد. اما ماژول SRF04 داراي 4 پايه مي باشد و تنها يک مد کاري را پشتيباني مي کند. هردوي اين ماژول ها داراي يک مد کاري مشترک هستند اين مد کاري بانام مد1 شناخته ميشود. در اين قسمت تنها از مد کاري 1 استفاده شده .

راه اندازي ماژول:

همان طور که در دياگرام مشخص شده است براي تريگ ماژول ابتدا بايد يک پالس با عرض حداقل 10 ميکرو ثانيه به پايه Trigger اعمال کنيم. ماژول به صورت اتوماتيک 8 عدد پالس با فرکانس 40 کيلو هرتز ارسال ميکند. وقتي که پالس ها ارسال شد پايه ECHO يک می گردد و تا زماني که برگشت پالس ها از جسم را دريافت نکند اين پايه يک باقي ميماند. پس با اندازه گيري مدت زماني که اين پايه در سطح منطقي 1 بوده است ميتوان زمان رفت و برگشت صوت را بدست آورد. براي اندازه گيري پالس روي پايه ECHO بايد از تايمر استفاده کرد. بعد از اطلاع از زمان رفت و برگشت سيگنال اولتراسونيک با استفاده از رابطه زير فاصله سنسور تا مانع به راحتي محاسبه مي شود.

فاصله =زمان/2×340×100

سرعت صوت: سرعت امواج التراسونيک برابر با سرعت صوت و عدد ثابتي برابربا  340متر بر ثانيه است.

زمان: مدت زماني سيگنال روي پايه ي ECHO در وضعيت يک منطقي قرار دارد.اين پارامتر بر حسب میکرو ثانيه است.

فاصله: فاصله ی ماژول تا مانع بر حسب Cm.

hc-sr04-timing-chart

محدوديتها:

اولين وشايد بزرگترين محدوديتي که در راه اندازي  اين سنسور در رزبري پاي وجود دارد مسئله ي سنجش زمان با تايمر است.چون در رزبري تايمري به صورت سخت افزاري وجود ندارد. بايد اين مشکل را به صورت نرم افزاري حل کرد. برای سنجش زمان در زبان سی کتابخانه ای با نام time.h  sys/وجود دارد که دارای مجموعه ای از توابع میباشد که زمان سیستم را باز میگردانند.تابعی که در این پروژه برای سنجش زمان استفاده شده تابع gettimeofday میباشد.

توضیحات برنامه:

در برنامه ی فوق بعد از تریگر کردن ماژول با پایه ی Trig در داخل یک حلقه ی while منتظر high  شدن پایه ی echo ماژول میمانیم. سپس با تابع gettimeofday زمان فعلی سیستم را دریافت میکنیم  و در ساختمانی با نام tv1 قرار میدهیم و دوباره در یک حلقه ی while دیگر منتظر low شدن پایه ی echo میمانیم و یک بار دیگر زمان فعلی سیستم را با تابع gettimeofday دریافت میکنیم  و در ساختمانی با نام tv2 قرار میدهیم .به این ترتیب با تفریق زمان ارسال امواج با زمان دریافت امواج میتوان به فاصله ی جسمی که روبه روی این ماژول قرار دارد با رابطه ای که گفته شد  بدست آورید.

نکته ي مهمي در سيم بندي رزبري با سنسور بايد مورد توجه قرار دهيد استفاده از تقسيم کننده ي ولتاژ مقاومتي به منظور کاهش سطح ولتاژ اعمالي به رزبري توسط سنسور است.مقدار مقاومتها 330Ω  و 470Ω   ميباشد.

wiring-uds

درباره ی Rezair

کارشناسی مهندسی برق الکترونیک ، علاقه مند به برنامه نویسی میکروکنترلرها

همچنین ببینید

4-CHANNEL-RELAY-BOARD

برد رله 4 کاناله

مقدمه: برد رله ی 4 کاناله یک روش ساده و راحت برای اتصال رله به …

پاسخی بگذارید

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

سه × سه =