ارسال پاسخ 
[you]
تبلیغات
معرفی،راه اندازی و تست سنسورMPU6050 با AVR+کتابخانه+فیلم آموزشی
ارسال: #1
01-20-2014, 06:06 AM
معرفی،راه اندازی و تست سنسورMPU6050 با AVR+کتابخانه+فیلم آموزشی
با سلام.
همان طور که قبلا وعده ی نمونه کد راه اندازی MPU6050 رو داده بودم، بالاخره یک وقت خالی گیرم اومد و کتابخانه ای برای MPU6050 آماده کردم و فیلمی هم تهیه کردم که در بلاگ ECA هم قرار گرفت و در اینجا هم لینکش رو می زارم.
با توجه به حجم زیاد مطالب ، تا جای ممکن سعی بر خلاصه گویی شد ولی با این حال کلیپ آموزشی حدود 32 دقیقه زمان برد.

فیلم را می توانید از بخش زیر در ویدئوسنتر ما مشاهده نمایید:
[تصویر:  MPU-Aparat.jpg]
_________________________________________
برای خرید ماژول GY-521 می توانید به این بخش از فروشگاه مراجعه نمایید:
http://eshop.roboticngo.com/products/%D9...%87-gy521/
برای خرید ماژول GY-87 می توانید به این بخش از فروشگاه مراجعه نمایید:
http://eshop.roboticngo.com/products/%D9...%B4%D8%A7/
_________________________________________

دانلود پروژه راه اندازی شده به همراه فایل های کتابخانه MPU6050:
http://dl.roboticngo.com/uploads/TF-4MPU...O-com-.rar
(هرگونه کپي برداري فقط با ذکر منبع مجاز است!)
این کتابخانه ی مقدماتي ولي کاربردي براي راه اندازي MPU6050 که در ماژول های GY87 و یا GY521 و ... بکار برده شده، توسط خودم آماده شده است، که بر اساس زبان C و در کامپايلر کدويژن پياده سازي شده است!
اين کتابخانه در حال تکميل است، و نسخه هاي پيشرفته تر آن در آينده به روز رساني خواهد شد.
نکته: تسلط بر AVR و بخصوص یادگیری I2C و USART از پیش نیازات کار با این کتابخانه است!

دانلود دیتاشیت های MPU6050:
http://dl.roboticngo.com/uploads/MPU6050...O-com-.rar
_________________________________________
لطفاً از پست هاي غير ضروري اجتناب فرماييد.
هر گونه سوال و يا راهنمايي پيرامون اين ماژول را در اين تالار عنوان نماييد.

با تشکر S_Ahmad

همواره يادتان باشد:
1- مردان بزرگ اراده مي کنند و مردان کوچک آرزو
2- افراد بزرگ، هميشه به دنبال ايده هاي بزرگند و افراد کوچک به دنبال افراد بزرگ
3-هميشه سعي کن آنقدر کامل باشي که بزرگترين تنبيه تو براي ديگران گرفتن خودت از آنها باشد.
مشاهده وب‌سایت کاربر یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
ارسال: #2
01-25-2014, 02:55 AM
RE: معرفی،راه اندازی و تست سنسورMPU6050 با AVR+کتابخانه+فیلم آموزشی
بعضي از دوستان پيغام مي دهند و ضمن تشکر ، مشکلات خود را بيان مي کنند.
ببينيد در فيلم امکان آموزش USART و کتابخانه نويسي نيست و اينها جز مباحث حاشيه اي هست!
ولي مهم ترين نکته اين هست که مختصراً اشاره اي مي کنم:

اگر پروژه اي جديد تعريف کرده ايد(توجه به پيکربندي صحيح USART و I2C بکنيد)، براي اضافه کردن کتابخانه کافي است مراحل زير را دنبال کنيد:
1- فايل هاي کتابخانه را در محلي مناسب قرار دهيد(مثلاً مثل فايلي که دانلود کرديد ، درون مسير اصلي پروژه در يک پوشه)
2- در پروژه اصلي در ابتداي برنامه MPU6050.h را include کنيد.
3-اگر کامپايلر شما کدويژن هست، از منوي Project گزينه ي Configure باز کنيد.در زبانه ي Input File فايل MPU6050.c را Add کنيد.
4- برنامه را کامپايل کنيد.
_________________
گاهي اوقات در تنظيمات نرم افزار کدويژن نکاتي را رعايت نمي کنيد و بعد در هنگام نمايش اطلاعات در نرم افزار هايپرترمينال هيچ چيزي نمي بينيد.
اين بخاطر اين هست که تنظيمات کامپايلر در توليد کد رو رعايت نکرديد.
جنس متغيرهايي که در سريال منتقل مي شوند، Float است، لذا بايد در پنجره ي Configure (که از منوي Project باز ميشه) زبانه ي C Compiler رو انتخاب و سپس زبانه ي Code Generation رو انتخاب و براي قسمت (s)printf Fearures گزينه ي float,width,precision رو انتخاب کنيد.سپس Ok بزنيد.
_________________
نکته اي که در فيلم از قلم افتاد، و به نوعي بد گفته شد و شايد موجب برداشت اشتباه شود:
اين هست که رجيستر RA_SMPLRT_DIV مقداري بين 0 تا 255 مي تونه داشته باشه.
ولي در فيلم به نوعي بهترين بازه ي SampleRateDiv بين 0 تا 7 رو اشاره کرديم، لذا اين رو بخاطر داشته باشيد که SampleRateDivمي تونه مقداري بين 0 تا 255 داشته باشه ولي به خاطر اين نوع راه اندازي و طبق تجربه ي بنده اين بهترين محدوده براي SampleRateDiv هست.

با تشکر از همه!

همواره يادتان باشد:
1- مردان بزرگ اراده مي کنند و مردان کوچک آرزو
2- افراد بزرگ، هميشه به دنبال ايده هاي بزرگند و افراد کوچک به دنبال افراد بزرگ
3-هميشه سعي کن آنقدر کامل باشي که بزرگترين تنبيه تو براي ديگران گرفتن خودت از آنها باشد.
مشاهده وب‌سایت کاربر یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
ارسال: #3
02-09-2014, 11:21 AM (آخرین ویرایش در این ارسال: 02-09-2014 11:23 AM، توسط saeed1992.)
معرفی،راه اندازی و تست سنسورMPU6050 با AVR+کتابخانه+فیلم آموزشی
سلام
من برنامه شما رو با همین تنظیماتی که گفتین با استفاده از همون فایل project که داخل پروژه بود تو میکرو atmega32a پروگرام کردم و هیچ تغییری هم ندادمش اینم بگم که از برد خاصی استفاده نمیکنم و روی برد بورد مدارو بستم تمام اتصالات رو هم چک کردم مدار max232 هم مشکلی نداره اما تو هایپرترمینال گاهی اوقات اونم زمانی که Vcc رو قطع یا وصل میکنم یه کاراکتر نامفهوم میاد و در اکثر مواقع هیچ کاراکتری نمیاد. یه مسئله دیگه هم اینکه تو دیتاشیت نوشته تغذیه 3.3V باید باشه اما شما 5v استفاده کردین , این مشکلی ایجاد نمیکنه؟
لطف میکنین اگه کمکم کنین خیلی خیلی نیاز دارم
ممنون
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
ارسال: #4
02-09-2014, 07:15 PM
RE: معرفی،راه اندازی و تست سنسورMPU6050 با AVR+کتابخانه+فیلم آموزشی
(02-09-2014 11:21 AM)saeed1992 نوشته شده توسط:  سلام
من برنامه شما رو با همین تنظیماتی که گفتین با استفاده از همون فایل project که داخل پروژه بود تو میکرو atmega32a پروگرام کردم و هیچ تغییری هم ندادمش اینم بگم که از برد خاصی استفاده نمیکنم و روی برد بورد مدارو بستم تمام اتصالات رو هم چک کردم مدار max232 هم مشکلی نداره اما تو هایپرترمینال گاهی اوقات اونم زمانی که Vcc رو قطع یا وصل میکنم یه کاراکتر نامفهوم میاد و در اکثر مواقع هیچ کاراکتری نمیاد. یه مسئله دیگه هم اینکه تو دیتاشیت نوشته تغذیه 3.3V باید باشه اما شما 5v استفاده کردین , این مشکلی ایجاد نمیکنه؟
لطف میکنین اگه کمکم کنین خیلی خیلی نیاز دارم
ممنون

اینکه شما می گویید مدار سریال شما هیچ مشکلی نداره با اینکه می گویید گاهی اوقات یک کارکتر نامفهوم می آید و یا اینکه هیچ چیزی در صفحه مشاهده نمی شود.===> در تناقض است. حتماً یک اشکالی دارد.

ولی حالا فرض کنیم که همه چیز سالمه هست!
اول که میکرو روشن می شود اسم سایت ها و ... را چاپ می کند.
بعد میکرو وارد تابعی می شود که در سریال منتظر دریافت یک کارکتر می شود.

لذا تا زمانی که یک کارکتر وارد نکنید هیچ اطلاعاتی چاپ نمی شود و در واقع به ادامه ی برنامه نمی پردازد.
پیشنهاد می شود همان طور که در فیلم دیدید از Space استفاده کنید، بهتر است.

دقت:این روند چاپ یک مجموعه اطلاعات و توقف تا به هنگام فشردن مجدد یک کلید برای سایر قسمت های برنامه ی میکرو ادامه دارد.
______________

اگر منظور شما تغذیه سنسور هست، باید گفت که بله سنسور در محدوده ی 3.3 ولت روشن می شود.
لذا در ماژول هایی که ما استفاده می کنیم در کنار سنسور یک رگولاتور هم وجود دارد. تا ولتاژ 5 ولت را به 3.3 تبدیل نماید.

همواره يادتان باشد:
1- مردان بزرگ اراده مي کنند و مردان کوچک آرزو
2- افراد بزرگ، هميشه به دنبال ايده هاي بزرگند و افراد کوچک به دنبال افراد بزرگ
3-هميشه سعي کن آنقدر کامل باشي که بزرگترين تنبيه تو براي ديگران گرفتن خودت از آنها باشد.
مشاهده وب‌سایت کاربر یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
ارسال: #5
02-11-2014, 03:06 AM
معرفی،راه اندازی و تست سنسورMPU6050 با AVR+کتابخانه+فیلم آموزشی
دقیقا مسئله همین جاست که وقتی میکرو روشن میشه هیچ چیزی در هایپرترمینال نمیاد یعنی همون اسم سایت و ... نمیاد. من چندین بار هم اتصالات و هم مدار ارتباط سریال رو چک کردم به نظر نمیاد مشکلی داشته باشه همشو براساس دیتاشیت بستم .
منظورتون اینه که در خود ماژول GY521 رگولاتور 3.3 وجود داره و نیازی به رگولاتور خارجی نیست؟ چون تو فیلم که چیزی ندیدم و خودتونم میگین از Vcc سوکت درایور که 5 ولت استفاده میکنین؟
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
ارسال: #6
02-26-2014, 11:18 PM
معرفی،راه اندازی و تست سنسورMPU6050 با AVR+کتابخانه+فیلم آموزشی
جواب سوال قبلمو که ندادین . حداقل بگین آیا غیر از تنظیمات باود ریت و پریتی و ... در هایپرترمینال تنظیمات خاص دیگه ای نیاز هست ؟
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
ارسال: #7
02-27-2014, 09:09 PM
RE: معرفی،راه اندازی و تست سنسورMPU6050 با AVR+کتابخانه+فیلم آموزشی
(02-11-2014 03:06 AM)saeed1992 نوشته شده توسط:  دقیقا مسئله همین جاست که وقتی میکرو روشن میشه هیچ چیزی در هایپرترمینال نمیاد یعنی همون اسم سایت و ... نمیاد. من چندین بار هم اتصالات و هم مدار ارتباط سریال رو چک کردم به نظر نمیاد مشکلی داشته باشه همشو براساس دیتاشیت بستم .
منظورتون اینه که در خود ماژول GY521 رگولاتور 3.3 وجود داره و نیازی به رگولاتور خارجی نیست؟ چون تو فیلم که چیزی ندیدم و خودتونم میگین از Vcc سوکت درایور که 5 ولت استفاده میکنین؟
خب شما اگه با هایپر مشکل دارید پروژه رو با LCD راه اندازی کنید و متغییرهایی کلیدی رو با اون نمایش بدید!؟
بله روی خود ماژول GY521 یک عدد رگولاتور وجود دارد!

(02-26-2014 11:18 PM)saeed1992 نوشته شده توسط:  جواب سوال قبلمو که ندادین . حداقل بگین آیا غیر از تنظیمات باود ریت و پریتی و ... در هایپرترمینال تنظیمات خاص دیگه ای نیاز هست ؟

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

همواره يادتان باشد:
1- مردان بزرگ اراده مي کنند و مردان کوچک آرزو
2- افراد بزرگ، هميشه به دنبال ايده هاي بزرگند و افراد کوچک به دنبال افراد بزرگ
3-هميشه سعي کن آنقدر کامل باشي که بزرگترين تنبيه تو براي ديگران گرفتن خودت از آنها باشد.
مشاهده وب‌سایت کاربر یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
ارسال: #8
03-16-2014, 06:04 PM
معرفی،راه اندازی و تست سنسورMPU6050 با AVR+کتابخانه+فیلم آموزشی
سلام سید جان
من میخوام سنسور MPU6000 رو با همین روش راه اندازی کنم البته با پرتوکل SPI
این کتابخانه ای که شما تدارک دید بسیار عالی هستش اما همه I2C تعریف شده اگه بخوام با SPI کار کنم باید چه تغییراتی اعمال کنم؟؟؟
خیلی ممنون میشم اگه کمکم کنید بد جور گیر کردم
یه دنیا ممنون :smile:
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
ارسال: #9
04-19-2014, 01:11 PM
معرفی،راه اندازی و تست سنسورMPU6050 با AVR+کتابخانه+فیلم آموزشی
سلام وقت بخیر راجع به این دو تابع یه توضیحی میدین ؟؟؟ میخوام بدونم چه جوری زاویه رو بر حسب شتاب حساب میکنه؟؟
// If you want be averaged of accelerometer data, write (on),else write (off)
#define GetAvrg on

#if GetAvrg == on
Get_AvrgAccel_Val();
// Calculate The Angle Of Each Axis
Accel_Angle[X] = 57.295*atan((float) AvrgAccel_Raw_Val[X] / sqrt(pow((float)AvrgAccel_Raw_Val[Z],2)+pow((float)AvrgAccel_Raw_Val[Y],2)));
Accel_Angle[Y] = 57.295*atan((float) AvrgAccel_Raw_Val[Y] / sqrt(pow((float)AvrgAccel_Raw_Val[Z],2)+pow((float)AvrgAccel_Raw_Val[X],2)));
Accel_Angle[Z] = 57.295*atan((float) sqrt(pow((float)AvrgAccel_Raw_Val[X],2)+pow((float)AvrgAccel_Raw_Val[Y],2))/ AvrgAccel_Raw_Val[Z] );
#else
Get_Accel_Val();
// Calculate The Angle Of Each Axis
Accel_Angle[X] = 57.295*atan((float) Accel_Raw_Val[X] / sqrt(pow((float)Accel_Raw_Val[Z],2)+pow((float)Accel_Raw_Val[Y],2)));
Accel_Angle[Y] = 57.295*atan((float) Accel_Raw_Val[Y] / sqrt(pow((float)Accel_Raw_Val[Z],2)+pow((float)Accel_Raw_Val[X],2)));
Accel_Angle[Z] = 57.295*atan((float) sqrt(pow((float)Accel_Raw_Val[X],2)+pow((float)Accel_Raw_Val[Y],2))/ Accel_Raw_Val[Z] );
#endif
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
ارسال: #10
04-24-2014, 01:00 PM
معرفی،راه اندازی و تست سنسورMPU6050 با AVR+کتابخانه+فیلم آموزشی
سلام. اگر همه فیلم های آموزشی رو ملاحظه می کردید، و جواب سوالهایتان را دریافت می کردید.

ولی دوباره عرض می کنم:

فرمولهای فوق بر اساس این دو شکل که برگرفته از اطلاعات فنی سایت سازنده است،نوشته شده اند:
http://dl.roboticngo.com/uploads/AngleADXL.jpg
http://dl.roboticngo.com/uploads/FAngel.jpg

همواره يادتان باشد:
1- مردان بزرگ اراده مي کنند و مردان کوچک آرزو
2- افراد بزرگ، هميشه به دنبال ايده هاي بزرگند و افراد کوچک به دنبال افراد بزرگ
3-هميشه سعي کن آنقدر کامل باشي که بزرگترين تنبيه تو براي ديگران گرفتن خودت از آنها باشد.
مشاهده وب‌سایت کاربر یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
ارسال پاسخ 


پرش به انجمن:


Persian Translation by MyBBIran.com - Ver: 3.9
Powered by MyBB, © 2002-2017 MyBB Group
Theme by MyBBIran.com
تبلیغات