رفتن به نوشته‌ها

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

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

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

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

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

hy-srf05-top

hy-srf05-%d8%a7%d9%84%da%a9%d8%aa%d8%b1%d9%88%d9%84%d8%a8

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

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

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

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

%d8%b1%d8%a7%d9%87-%d8%a7%d9%86%d8%af%d8%a7%d8%b2%db%8c-%d9%85%d8%a7%da%98%d9%88%d9%84-%d8%a2%d9%84%d8%aa%d8%b1%d8%a7%d8%b3%d9%88%d9%86%db%8c%da%a9-srf05-%d9%88-sr04-%d8%a8%d8%a7-avr

۱-ابتدا باید یک پالس با طول حداقل ۱۰ میکرو ثانیه به پایه TRIG اعمال شود.

ماژول به صورت اتوماتیک ۸ عدد پالس با فرکانس ۴۰ کیلو هرتز ارسال میکند.

۲-وقتی که پالس ها ارسال شد پایه ECHO یک میشه و تا زمانی که برگشت پالس ها از جسم را دریافت نکند این پایه یک باقی میماند.

پس با اندازه گیری مدت زمانی که این پایه در سطح منطقی ۱ بوده است میتوان زمان رفت و برگشت صوت را بدست آورد. برای اندازه گیری پالس روی پایه ECHO باید از تایمر استفاده کرد.

۳-بعد از اطلاع از زمان رفت و برگشت سیگنال اولتراسونیک با استفاده از رابطه زیر فاصله سنسور تا مانع به راحتی محاسبه می شود.

فرمول محاسبه طول امواج التراسونیک
فرمول محاسبه طول امواج التراسونیک

اتصال به آردینو:

Vcc به منبع توان و GND به زمین متصل می شود.

آردوینو از پین Trig برای فرستادن دستور شروع ارسال پالس مافوق صوت استفاده می کند.

پین Echo  نیز برای ارسال اطلاعاتی از ماژول به آردوینو که مربوط به زمان ارسال و دریافت سیگنال آلتراسونیک است، استفاده می شود.

برای شروع اندازه گیری فاصله لازم است که یک سیگنال high 5V به مدت ۱۰ میکرو ثانیه به پین Trig ارسال شود. زمانی که ماژول این سیگنال را دریافت کرد، ۸ پالس مافوق صوت با فرکانس ۴۰ کیلوهرتز از طریق ترانسدویسر فرستنده ارسال می کند. بعد از آن ماژول منتظر دریافت سیگنال بازگشتی از ترانسدویسر دریافتی می ماند. اگر شی در مسیر وجود داشته باشد، هر ۸ پالس به سنسور بازخواهند گشت. زمانی که ترانسدویسر گیرنده پالس ها را دریافت کرد، از طریق پین Echo یک سیگنال high ارسال خواهد شد. طول این سیگنال برابر است با مدت زمانی که طول می کشد تا ۸ پالس از ماژول ارسال شده، به شی برخورد کرده و دوباره به ماژول بازگشت کنند. چون باید فاصله تا شی حساب شود، لذا از نصف این زمان در رابطه گفته شده، استفاده می شود.

منبع

ما یه پایه میکرو رو خروجی تعریف میکنیم و یکش میکنیم و ۱۰ میکرو ثانیه صبر میکنیم و بعد پایه مورد نظر رو صفر میکنیم….>>>> با این کار ما یه پالس به طول ۱۰ میکرو ثانیه ایجاد کردیم.

 

توجه مهم : اگه طول پالسی که دریافت کردیم از ۳۰ میلی ثانیه بیشتر شد یعنی مانعی جلوی ماژول نیست.(تو برنامه نویسی تون بهتره لحاظش کنید.)
توجه :  طول پالسی که دریافت میکنیم بین ۱۰۰ میکرو ثانیه تا ۲۰ میلی ثانیه هستش.( برا اطلاعات عمومی گفتم.^_^ )
تا یادم نرفته اینم بگم : پایه Out  هم به جایی وصل نیست……به جایی وصلش نکنید یه وقت…..بزارید بدون اتصال بمونه.

منبع

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

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

srf

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

منبع

سرعت صوت:

با دانستن زمان انتقال و بازتاب پالس صدا از ماژول به شی و همچنین سرعت صوت، امکان محاسبه فاصله شی وجود دارد. رابطه ای که سرعت صوت، فاصله و زمان را به هم مرتبط می کند به این صورت است:

زمان / فاصله = سرعت صوت

زمان * سرعت صوت = فاصله          d = s * t

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

به منظور کاهش کد نویسی میتوانیم زمان بدست امده از تابع PulsIN را در عدد ۰.۰۱۷۱۵ ضرب کرد. مقدار بدست امده فاصله تا جسم بر حسب سانتی متر خواهد بود.

با توجه به شکل زیر متوجه میشویم که مدت زمانی که طول میکشد تا پالس از جسمی در فاصله ۱۰ سانتی متری به ماژول برسد برابر ۲۹۴ میکروثانیه خواهد بود. از این جهت مقداری که تابع pulsin بر میگرداند احتمالا برابر ۰.۲۹۴ میلی ثانیه خواهد بود.

راه اندازی مازول التراسونیک
راه اندازی ماژول التراسونیک

و یا اینکه از فرمول زیر استفاده کرد:

distance = (duration*.0343)/2; 

با استفاده از فرمول زیر میتوانیم فاصله را بر حسب سانتی متر بدست اوریم:

distanceCm = duration / 29.1 / 2 ;

340m/1s = 34000cm/1000ms = 34cm/1ms = 340mm/1000us =0.34mm/1us = 0.034cm/1us

سرعت صوت در هوا با توجه به میزان رطوبت و دما تغییر خواهد کرد. بنابراین برای محاسبه دقیق تر فاصله لازم است که میزان رطوبت و دما در محیط محلی حساب کنید. فرمول مربوط به سرعت صوت در هوا که به رطوبت ودما وابسته است به این صورت است:

C = 331.4 + (0.606 * T) + (0.0124 *H)

C  = سرعت صوت برحسب متر بر ثانیه

۳۳۱.۴ = سرعت صوت بر حسب متر بر ثانیه در دمای صفر درجه سانتی گراد و رطوبت صفر درصد

T = دما برحسب درجه سانتی گراد

H = رطوبت %

برای مثال در دمای ۲۰ درجه سانتی گراد و رطوبت ۵۰ درصد، سرعت صوت برابر است با:

C = 331.4 + (0.606 * 20) + (0.0124 * 50)

C = 334.02   m/s

در رابطه بیان شده، دما نسبت به رطوبت تاثیر بیشتری بر روی سرعت صوت در هوا دارد.

منبع

شبیه سازی ماژول فاصله سنج در پروتئوس – قطعه ی دوم

توجه : در پروتئوس نسخه ۸.۲ به بالا در کتابخونه Transducers یه قطعه با نام srf04 هستش که میتونید از این قطعه برای شبیه سازی ماژول های Srf04 و srf05 استفاده کنید که این قطعه کارش خیلی خیلی ساده تر و راحت تر از قطعه بالا هستش، در زیر عکس این قطعه در کتابخونه قطعات پروتئوس رو براتون قرار میدم.
توجه : عکس زیر رو در کامپیوتر ذخیره کنید و در اندازه اصلیش ببنیید(الان اندازش رو کوچیک ردم تا تو صفحه جا بشه)
شبیه سازی ماژول فاصله سنج در پروتئوس

در زیر لینک دانلود پروژه شبیه سازی این ماژول با هر دو ماژول فوق + شبیه سازی که در بالا (اول پروژه) عکسش رو گزاشتم + کد های پروژه + دیتاشیت این ماژول رو براتون قرار میدم :

http://up.dmf313.ir/ULTRASONIC.rar

pulseIn : این تابع برای محاسبه زمان پالس اعمال شده به پایه pin (که ما در کد زیر مقدار دهی میکنیم) هستش(زمانی که بر میگردونه بر حسب میکرو ثانیه هستش) و این که حالا این شمارش پالس کی شروع بشه موقع HIGH اون پایه یا LOW شدن ، که این هم در کد زیر توسط قسمت value تعیین میشه.

منتشر شده در آردوینو

اولین باشید که نظر می دهید

دیدگاهتان را بنویسید

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