نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه
محرم
مهدی دمیرچیلو

پروژه و آموزش کار با ماژول فاصله سنج SRF05

انجمن های تخصصی برق و الکترونیک ECA

به نام خدا : پروژه و آموزش کار با ماژول فاصله سنج SRF05 ؛ تو این پروژه avr میخوام در مورد ماژول های التراسونیک ، سری SRF05 توضیح بدم و یه پروژه + فیلم پروژه هم براتون ته مطلب میزارم؛ پروژه در عمل هم تست شده و شکلی نداره…..فیلم پروژه گویای همه چیز هستش!!!

پروژه و آموزش کار با ماژول فاصله سنج SRF05

مشخصات ماژول SRF05

رنج اندازه گیری :  حداقل  cm4 و حداکثر ۴ متر
ولتاژ مورد نیاز و جریان مصرفی : ۵ ولت – ۴ میلی آمپر
پایه ها : GND – VCC – Trig – Echo – Out

توجه : با توجه به این که دو نوع ماژول SRF05 تو بازار
موجود هستش برای این که مشکلی پیش نیاد…
ماژولی که میخرید حتما باید مثل این شکل باشه…

نمیخوام بگم مشکلی پیش میاد ولی دیدی یه وقت…

 

 

نحوه کار ماژول SRF05

در زیر توضیحات دیتاشیت ماژول srf05 رو قرار میدم…..دیتاشیتش رو هم در ته مطلب ، تو فایل دانلود میزارم.
Vcc : به ۵ ولت وصل میشود.
GND : به زمین وصل میشود.
اما سه پایه دیگه بسته به این که تو کدوم مد باشیم کارشون متفاوت هستش.

مد ۱ :

  1. در این حالت ما ابتدا یه پالس با زمان ۲۰ میکرو ثانیه به پایه Trig میدهیم.
  2. بعد ماژول srf05، 8 پالس به سمت محیط ارسال میکند.
  3. بعدش ما پالسی از پایه Echo دریافت میکنیم و با محاسبه طول این پالس و ضرب کردن در مقادیری….فاصله ماژول srf05  رو تا مانع پیدا میکنیم.

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

نحوه کار ماژول SRF05

مد ۲ :

  1. پایه Out  به زمین وصل میشه.
  2. پایه Echo بدون اتصال میمونه.
  3. تو مد ۱ ما به پایه Trig  یه پالسی میدادیم و یه پالسی از پایه Echo  میگرفتیم…..اما تو این مد پایه Echo رو بدون اتصال میزاریم بمونه…..و پالسمون رو به Trig  میدیم و پالس رو هم از Trig  دریافت میکنیم.

نحوه کار ماژول SRF05

سوال۱ : پالس چیه ؟
جواب۱ : لپ کلوم رو بگم و زیاد سر این اصتلاحات گیجتون نکنم…….ما یه پایه میکرو رو خروجی تعریف میکنیم و یکش میکنیم و ۲۰ میکرو ثانیه صبر میکنیم و بعد پایه مورد نظر رو صفر میکنیم….>>>> با این کار ما یه پالس به طول ۲۰ میکرو ثانیه ایجاد کردیم.>>>ok???

سوال۲ : ما چطور زمان پالس دریافتی رو محاسبه میکنیم؟؟؟
جواب۲ : باید بگم که ما از تایمر ۰ استفاده میکنیم (اگه در مورد تایمر/کانتر چیزی نمیدونید مطلب زیر رو بخونید.)
آموزش جمع avr  جلسه۹
بعد این که ما پالس ها رو ارسال کردیم….یه کد قرار میدیم تا ببینیم کی پایه مورد نظر ما (پایه ای که قرار هستش پالس رو ازش دریافت کنیم….که بسته به مدی که ماژول درش قرار داره متفاوت هستش…..ولی ما فرض میکنیم که ماژول در مود یک قرار داره….البته پروژه این مطلب هم در مد یک قرار داره) یک میشه(دو عکس بالا رو ببینید که مربوط هستن به نحوه عملکرد ماژول در دو مد توضیح داده شده ) …..حالا ما کد زیر رو قرار میدیم و منتظر میشیم تا پایه Echo یک بشه (یعنی دریاغت پالس شروع بشه)

وقتی پایه Echo یک شد از حلقه بالا خارج میشود و بعدش میگیم تایمر شروع به کار کنه(زمانی رو که پایه Echo یک هستش رو میخوایم محاسبه کنیم.) تا زمانی که پایه Echo یک هستش و این کار توسط کد زیر انجام میشه…(یه حلقه درست میکنیم و میگیم تا زمانی که پایه Echo یک هستش از حلقه خارج نشو)

بعد میایم با یه ضرب و تقسیم فاصله ماژول تا مانع رو پیدا میکنیم.

نحوه ضرب و تقسیم بالا رو در شکل زیر میتونید ببینید.
علت تقسیم بر 2 : این تعداد پالس های محاسبه شده برای رفتن و برگشتن موج هستش و ما برای محاسبه فاطه تنها به زمان رفت(برگشت) نیاز داریم و نه زمان رفت و برگشت.
توجه : سرعت صوت در هوا 343.2 متر بر ثانیه هستش.(که در زیر برای سادگی من 340 قرار دادم ولی برای دقت بیشتر شما عدد اصلی رو قرار بدید.)
توجه : عکس زیر رو در کامپیوتر ذخیره کنید و  بعد نگاه کنید…اینجا اندازش رو کوچیک کردم تا تو صفحه جا بشه
SRF05

 

فرق ماژول SRF05 با SRF04

باید بگم که ماژول SRF05  نسخه جدید ماژول SRF04  هستش  و دقیقا مثل هم کار میکنن >>> فقط ماژول SRF04   پایه Out  رو نداره >>> یعنی ۴ تا پایه داره >>> لذا تو ماژول srf04  فقط یه مد داریم ( مثل مد ۱ ماژول srf05   هستش) و از مد دوم خبری نیست. >>> لذا این پروژه که من تو این مطلب گزاشتم هم برا srf05   کار میکنه و هم برا srf04
اون طوری که من خوندم تو سایتا انگار این srf05   یکم دقیق تر هستش.

ماژول SRF04

ماژول SRF05

ماژول SRF04ماژول SRF05

 

پروژه التراسونیک با ماژول SRF05

همون طور که گفتم این پروژه برا ماژول های SRF05 و  SRF04 کار میکنه.

مدار پروژه
اینو باید بگم که پروژه تو پروتئوس کار نمیکنه و پروتئوس نمیتونه این ماژول رو شبیه سازی و اجرا کنه…..من این مدار رو تو پروتئوس درست کردم تا شما دوستان بهتر با نحوه اتصلات آشنا بشید و راحت تر مدارتون رو ببندید.
توجه توجه : اتصالات مدار همانند شکل زیر هستش…..در فایل پروتئوس(که ته مطلب گزاشتم) اتصالات اشتباه هستش……البته کد های پروژه مشکلی ندارن….
UntitledSDCSDC-117

کد های پروژه

 اینم یه عکس از پروژم که در عمل بستمش!!!
 پروژه و آموزش کار با ماژول فاصله سنج SRF05

 اینم فیلم پروژه>>فقط بازم شرمنده که چپولکی فیلم گرفتم>>> و این که در آخر فیلم (برای این که نشون بدم اگه جسمی تا فاصله ۴ متری جلوی ماژول نباشه>>>تو lcd چی نشون میده) مجبور شدم فقط از پروژم فیلم بگیرم و از محیط فیلم نگرفتم(آخه داشتم تو خونمون فیلم میگرفتم…..اگه میخواستم محیط رو حم نشون بدم باید کل خونه رو هم نشون میدادم.)

6.2MB پروژه ماژول فاصله سنج SRF05
0%
00:00  /  00:56

 

شبیه سازی ماژول التراسونیک SRF05 و SRF04 در پروتئوس

شبیه سازی ماژول التراسونیک SRF05 و SRF04 در پروتئوسشبیه سازی ماژول التراسونیک SRF05 و SRF04 در پروتئوس
این کتابخانه ماژول التراسونیک SRF05 و SRF04 برا پروتئوس رو میتونید از لینک زیر دانلود کنید و از حالت فشرده خارج کنید و بعد فایل BLOGEMBARCADO.LIB رو باید در مسیر زیر کپی کنید :
به محل نصب پروتوس برید و بعد به پوشه library برید و بعد فایل مد نظر رو در این جا کپی کنید، این مسیر برای سیستم من به صورت زیر هستش که حالا ممکن هستش با سیستم شما فرق داشته باشه یا یکسان باشه :
C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\LIBRARY
در ضمن همون طور که در عکس بالا میبینید بعد از قرار دادن ماژول Srf05 در صفحه شماتیک باید مقاومت متغییر POT-HG رو هم به این ماژول وصل کنید و به وسیله این مقاومت میتونید فاصله جسم تا ماژول رو تعیین کنید.
و بعد میرید تو پروتئوس و روی این ماژول دوباره کلیک کرده و آدرس فایل UltraSonicSensor.HEX رو بهش میدیم، عینا مثل همون دادن آدرس فایل HEX کدویژن به میکروکنترلرها.(طبق عکس زیر)
شبیه سازی ماژول در پروتئوس

شبیه سازی ماژول التراسونیک در پروتئوس

با تشکر از داش “Payam Jafary” که این کتابخونه رو برامون فرستاد. good در ضمن داخل فایل زیر یه پروژه با قابلیت شبیه سازی هم این داشمون قرار داده که اونم میتونید استفاده کنید و ببنیدش.






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

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

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

 

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

تعداد مطالب : 339 تا
مهدی دمیرچیلو جنگ ما فتح قدس را به همراه خواهد داشت. [ امام خمینی (ره) ]
بقیه جلسات : ???
این مطلب هیچ طبقه بندی یی ندارد!
ارسال دیدگاه

1) نظرات غیر فارسی به صورت خودکار حذف میشوند ( حداقل 5 حرف فارسی وارد کنید ).

2) به موارد درخواست پروژه/کد آماده و سوالاتی که بلد نباشم پاسخ داده نمیشه.

3) پسورد فایل های سایت : www.dmf313.ir

4) نظرات حاوی کد برنامه نویسی تایید نمیشوند ( قالب سایت بهم میریزه )

  1. Avatar

    مهمان

    Aramesh

    سلام
    شرح ساده مسئلم به این صورته که یک سیم داخل یک لوله پلاستیکی قرار گرفته و من میخوام سیم رو جابه جا کنم یعنی چه به سمت جلو و چه عقب
    و میخوام بدونم هربار که من مکانشو تغییر میدم این سیم دقیقا در کجا قرار داره
    سیم و لوله پلاستیکی در نهایت در یک محفظه بسته قرار میگیرند و کاربر فقط از یک سوراخی که روی بدنه محفظه هست این سیم و لوله رو به داخل هدایت میکنه یا به عقب میکشه
    و ما روی سیم نمیتونیم هیچی نصب کنیم

  2. Avatar

    مهمان

    علیرضا

    سلام کاربرد پایه out چیه پس ؟
    مقاله ای در موردش میشناسید؟

    • مهدی دمیرچیلو

      نویسنده این مطلب

      مهدی دمیرچیلو

      سلام، دقیقا یادم نی ولی فک کنم این ماژول 2 مد راه اندازی داشت، شاید این پایه out مال روش دوم راه اندازی ماژول باشه شاید هم نه، دیتاشیت ماژول رو بخونی توش نوشته.

  3. Avatar

    مهمان

    sobhan

    سلام من اصلا متوجه نشدم وقتی بعد از 20 میکرو پالس ارسال می کنی چرا از while(pinc=0 استفاده میشه؟آخه اینطور اگر مانعی جلو نباشه چطور باید از حلقه خارج بشه؟

  4. Avatar

    مهمان

    Rohollah

    سلام
    timer*256.0+TCNT0
    عبارت بالا مگه نباید ضرب در مدت زمان شمارش یه بیت تایمر کانتر بشه؟ یعنی ضرب در 0.125 میکرو ثانیه
    چون فرکانس میکرو ۸ مگ هست و فرکانس تایمر هم همون ۸ مگ هستش
    کامنتای قبلیو دیدم ولی چیز خاصی پیدا نکردم که اینو پرسیپده باشن

  5. Avatar

    مهمان

    Ferneerose

    Hello my friend.
    Our employees wrote to you yesterday maybe…
    Can I offer paid advertising on your site?

1 9 10 11