به نظر می رسد که شما عضو سایت نیستید و یا وارد نشده اید, امکان ارسال مطلب و دانلود فایل و همچنین دسترسی به انجمن هایی که فقط اعضا ثبت نام شده امکان دسترسی به آن را دارند از امتیازات ثبت نام در سایت میباشد.

لطفا از طریق این لینک برای ثبت نام اقدام نمایید.

    
You have (1) Unread PM; Click The Icon To Read It You have a new PM
جدیدترین موضوعات انجمنها


بازگشت   متارو > قطعات > مافوق‌صوت (UltraSonic)

Srf08

مافوق‌صوت (UltraSonic)

پاسخ
 
LinkBack ابزارهای موضوع نحوه نمایش
قدیمی 03-26-2009, 07:42 PM   #1
پیش فرض Srf08

براي ارتباط با srf08 بايد از پروتكل ارتباطي I2C استفاده كرد.اين پروتكل ارتباطي در بسياري از ميكرو كنترلر ها موجود مي باشد. پروگرام كردن اين فاصله ياب مانند IC هاي حا فظه ي عمومي مي باشد با اين تفاوت كه آدرس آن متفاوت است.آدرس اين ماژ‍ول به طور پيش فرض 0X0E مي باشد و مي تواند به وسيله ي كاربر آدر س ان به يكي از 16 آدرس: 0XE0,0XE2,0XE4,0XE6,0XE8,0XEA.0XEC,0XEE.0XF0,0XF2, 0XF4,0XF6,0XF8,0XFA,0XFC,0XFE
تغيير يابد.بنا بر اين در يك باس مي توان از 16 ماژول SRF08 استفاده كرد.علاوه بر آدرس هاي فوق در يك باس تمامي ماژول هاي SRF08 به آدرس فراخواني عمومي كه 00 مي باشد پاسخ مي دهند.يان بدان معني است كه هنگام نوشتن دستور اندازه گيري فاصله بر روي آدرس 00 (0x00)تمامي ماژول ها به طور هم زمان شروع به اندازگيري فاصله مي كنند.نتايج بايد از هر ما‍ژول به طور مجزا و با آدرس اختصاصي خودش خوانده شود.
نحوه اتصال:
پايه بدون اتصال در حقيقت مربوط به برنامه ريزي اوليه اين ماژول مي باشد كه در هنگام ساخت مورد استفاده قرار گرفته است و به وسيله آن ميكرو كنترلر اين ماژول كه PIC16f872 مي باشد برنامه ريزي شده است.در حال حاضر اين پايه بوسيله يك مقاوت داخلي به 5ولت متصل مي باشد.در حال حاضر از اين پايه استفاده نمي گردد.پايه هاي SDA,SCLبراي اتصال ماژول به ميكروكترلر استفاده مي گردد.براي اتصال اين پايه ها به ميكرو و قرار دادن آنها در يك با سI2C بايد اين با س را با دو مقاومت به 5ولت متصل كرد.(اصطلاحا آنها را پول آپ(pull up)كرد)البته اين پول آپ كردن به ازاي هر باس انجام مي گيرد نه به ازاي هر ماژول. البته ممكن است اين مقاومت ها توسط سخت افزار ميكروكنترلر مستر (master)تامين شده باشددر اين صورت ديگر احتياجي به مقاومت خارجي نيست.مقاومت پيشنهادي براي اين كار يك مقاومت 1.8kمي باشد.توجه به اين نكته ضروري است كه اين ماژول فقط در حالت slaveبكار مي رود.و نمي توان آن را در حالت master بكار برد.پايه هاي +5و 0v Groundهم به ترتيب به ولتاژ 5ولت و زمين مدار متصل مي گردد.
رجيستر ها:
SRF08داراي 16 رجيستر مي باشد كه در زير توضيح داده مي شود.بعضي از اين رجيستر ها هم خواندني هستند و هم نوشتني و بعضي ديگر فقط خواندني اند.
Location Read Write
0 Software Revision Command Register
1 Light Sensor Max Gain Register (default 31)
2 1st Echo High Byte Range Register (default 255)
3 1st Echo Low Byte N/A
~~~~ ~~~~ ~~~~
34 17th Echo High Byte N/A
35 17th Echo Low Byte n/a N/A

فقط رجيسترهاي 0و1و2 قابل نوشتن هستند.رجيستر 0،رجيستر دستور مي باشد.و دستور شروع اندازه گيري در اين رجيستر نوشته مي شود.اگر اين رجيستر را بخوانيم ورژن برنامه ماژول را مي دهد.به طور پيش فرض زمان اندازه گيري توسط اين ماژول 65 ميلي ثانيه است.اما اين زمان مي تواند توسط كاربر و با نوشتن در رجيستر 2 تغيير كند.اگر شما اين تغيير را ايجاد كنيد بايد متناسب با آن رجيستر 1 را هم كه دقت اندازه گيري را مشخص مي كند تغيير دهيد.اين كار را در اطلاعات تكميلي توضيح مي دهيم
رجيستر يك در حالت خواندن اطلاعات سنسور نوري متصل به ماژول را مي دهد.اين اطلاعات در هر بار اندازه گيري فاصله updateمي شود و از رجيستر يك قابل خواندن است.
دو رجيستر بعدي يعني دو وسه در مجموع اطلاعات 16 بيتي حاصل از آخرين فاصله سنجي را مشخص مي كنند.كه بايت با ارزش بالاتر در رجيستر دو،و بايت با ارزش كمتر در رجيستر سه قرار مي گيرد.اين دو رجيستر يك عدد را مي دهد كه معناي آن بستگي به دستوري كه قبلا داديم دارد و مي تواند به صورت اينچ،سانتي متر يا ميلي ثانيه باشد.وقتي در اين رجيستر ها عدد صفر قرار داشته باشد يعني فاصله بيش از حد توانايي ماژول دور است.
نحوه ي خواندن از يك ماژول متصل به پروتكل I2Cدر توضيحات CMPS03بيان شده است.
بقيه رجيستر ها هم تا 16 نتيجه حاصل از انعكاس موج هاي مافوق صوت را در خود ذخيره مي كنند.
دستورها:
سه دستور براي شروع اندازه گيري وجود دارد كه در جدول زير توضيح داده مي شود.در اين ماژول يك مد براي استفاده در شبكه هاي عصبي مصنوعي وجود دارد كه بعدا توضيح داده خواهد شد و از امتيازات بالاي اين ماژول مي باشد.
سه دستور آخر هم براي تغيير آدرس ماژول استفاده مي كردد
Command Action
Decimal Hex
80 0x50 Ranging Mode - Result in inches
81 0x51 Ranging Mode - Result in centimeters
82 0x52 Ranging Mode - Result in micro-seconds

83 0x53 ANN Mode - Result in inches
84 0x54 ANN Mode - Result in centimeters
85 0x55 ANN Mode - Result in micro-seconds

160 0xA0 1st in sequence to change I2C address
165 0xA5 3rd in sequence to change I2C address
170 0xAA 2nd in sequence to change I2C address
نحوه تغيير آدرس ماژول:
براي تغيير آدرس ماژول شما بايد آن را به صورت تنها در يك باس قرار دهيد.سه دستور فوق را به همراه يكي از آدرس هاي مجاز در رجيستر دستور بنويسيد تا ماژول به آدرس مورد نظر تغيير كند.
به عنوان مثال مي خواهيم آدر س پيش فرض يك ماژول را كه 0xE0مي باشد به آدرس0xF2تغير دهيم.در آدرس 0xE0مي نويسيم(0xA0,0xAA,0xA5,0xF2)اين دستورها دقيقا بايد با همين ترتيب نوشته شوند و در بيت آنها دستور ديگري ننويسيد ويا رجيستري را نخوانيد.اين دستورها را بايد در رجيستر 0بنويسيد.پس از پايان اين كار شما بايد به نحوي آدرس اين ماژول را مشخص كنيد تا با ديگر وسايل اشتباه نشود.ولي در هر حال اگر آدرس يكي از اين ماژول ها را فراموش كرديد.اين ماژول را خاموش و روشن كنيد.در هنگام روشن شدن ledنصب شده بر روي اين ماژول متناسب با آدرسي كه دارد به صورت جدول زير چشمك مي زند.
بايد توجه داشته باشيد كه هيچگاه دو ماژول با آدرس يكسان را در يك باس قرار ندهيد.اين كار نتايج پيش بيني نشده اي بوجود مي آورد
Address Long Flash Short flashes
Decimal Hex
224 E0 1 0
226 E2 1 1
228 E4 1 2
230 E6 1 3
232 E8 1 4
234 EA 1 5
236 EC 1 6
238 EE 1 7
240 F0 1 8
242 F2 1 9
244 F4 1 10
246 F6 1 11
248 F8 1 12
250 FA 1 13
252 FC 1 14
254 FE 1 15
اطلاعات كامل تر در مورد اين ماژول در اختيار اعضاي باشگاه قرار مي گيرد.



__________________
معشوق من چنان لطیف است که خود را به بودن نیالوده است...
emami آنلاین نیست.   پاسخ با نقل قول
2 کاربر از emami به خاطر این مطلب مفید تشکر کرده اند
قدیمی 04-07-2010, 08:52 AM   #2
Post پاسخ : Srf08

با سلام
ما داریم یه روبات مین یاب می سازیم که توی اون از srf08 استفاده می کنیم .
می خواستیم که اون را با یه میکروکنترلر avr atmega16 راه اندازی کنیم می خواستیم ببینیم که اگر از اون نقشه ای دارید بذارید تا ما هم استفاده کنیم .
اگر برنامش هم بود جه بهتر
فقط عجله داریم
sasan آنلاین نیست.   پاسخ با نقل قول
قدیمی 04-30-2010, 10:29 AM   #3
پیش فرض پاسخ : Srf08

سلام.
با بسکام یه کد ویژن؟؟؟؟
__________________
We fight through the hurt ... And we live and we learn ...
And we Try and Try And Try


saeebrobotic.blogfa.com
________________________
We Are OpenSource
mohamad.nasr آنلاین نیست.   پاسخ با نقل قول
اين کاربران از mohamad.nasr به خاطر این مطلب مفید تشکر کرده اند
قدیمی 05-04-2010, 10:27 PM   #4
پیش فرض پاسخ : Srf08

سلام من با کد ویژن برنامه می نویسم
یه سوال دیگه وقتی srf08 رو راه انداختم تو فاصله های تا 60 سانتی مشکل نبود و لی تو فاصله های مثلاً 2 متر اعداد هی عوض می شن و یه عدد ثابت نمی ده می تونید تو این زمینه کمک کنید

با تشکر
sasan آنلاین نیست.   پاسخ با نقل قول
قدیمی 06-28-2010, 05:09 PM   #5
پیش فرض پاسخ : Srf08

سلام دوست عزیز...
علت این مشکل شما برخورد اکو های سنسور شما به دیواره های کنار و عدم دریافت اکوها توسط گیرنده است...
باید طبق شرایتتون از اکو متفاوتی استفاده کنید!
البته حتما وقفه ی 65 میلی ثانیه ای را برای ارسال تا دریافت لحاظ کنید(حتی کمی بیشتر!!!)

در کل پیشنهاد من اینه که یا از مدی که فاصله را در قالب رنج مشخصی ارائه می کند استفاده کنید یا اینکه از ماژول srf02 استفاده کنید که حتی زمان وقفه ی 65 میلی ثانیه را می توانید کمتر کنید!!
من خودم معمولا از 02 استفاده می کنم می برای حذف بازی 16 سانتیمتری اون اون را 16 سنت داخل مسیله قرار میدم!
موفق باشید!
__________________
We fight through the hurt ... And we live and we learn ...
And we Try and Try And Try


saeebrobotic.blogfa.com
________________________
We Are OpenSource
mohamad.nasr آنلاین نیست.   پاسخ با نقل قول
قدیمی 08-29-2010, 03:53 PM   #6
پیش فرض پاسخ : Srf08

يكي نمي خواد آموزش كامل اين سري srfxx رو به طور كامل بذاره!؟
بذارين ديگه.
reza..m آنلاین نیست.   پاسخ با نقل قول
اين کاربران از reza..m به خاطر این مطلب مفید تشکر کرده اند
پاسخ

علاقه مندی ها (Bookmarks)

برچسب ها
srf08

« موضوع قبلی | موضوع بعدی »
ابزارهای موضوع
نحوه نمایش

انتخاب سریع یک انجمن


اکنون ساعت 05:02 AM برپایه ساعت جهانی (GMT - گرینویچ) +4.5 می باشد.


تمامي حقوق مادي و معنوي اين مجموعه متعلق به شركت ربات گستران آپادانا مي‌باشد Persian Skin By : Vbskin