هدف از این پروژه طراحی یک مدار برای تشخیص میزان شیب جاده و از همین طریق تشخیص میزان مصرف سوخت به تناسب میزان شیب جاده است.در واقع خودرو بر اساس میزان شتاب متوسط افزایش مصرف سوخت خواهد داشت که این شتاب در واقع با میزان شیب جاده جمع برداری خواهد شد و یک شتاب جدید ایجاد خواهد کرد. خودرو در حالت عادی با توجه به میزان RPM موتور یک مصرف متوسط ثابت را دارد که در صورت افزایش سرعت موتور افزایش مصرف سوخت را به همراه خواد داشت و در کل میتوان گفت که مصرف سوخت تابعی از چند تابع دیگر به شکل زیر خواهد بود:
که در روابط بالا a شتاب خودرو و θ زاویه شیبی که خوردرو در آن قرار دارد و rpm نیز سرعت دور موتور خودرو است.در رابطه ی بالا شیب و شتاب را میتوان از طریق سنسورهای mems خازنی محاسبه کرد و rpm نیز از طریق سنسور های خودرو قابل دسترسی است ولی در این پروژه فقط برای شبیه سازی مقدار rpm را از طریق کلیدها کم و زیاد کردیم.
در شتاب سنج های خازنی مانند adxl335 که ما استتفاده کرده ایم بر اساس روابط فصل 4 کاملا با شتاب متناسب است و با داشتن ولتاژ خروجی با یک رابطه ی خطی در واقع مقدار شتاب را با داشتن شیب خط با راحتی به دست می آوریم و ما در این پروژه برای به دست آوردن شیب خط با استفاده از روشهای کالیبره سازی مقدار شتاب را در بهترین و دقیق ترین حالت به دست آورده ایم.حال که مقدار شتاب را داریم کافی است که مقدار نیروی وارده بر خودرو را داشته باشیم که برابر است با:
توضیحات کلی برنامه:
در برنامه ی نوشته شده در ابتدای راه اندازی دستگاه با یک منوی اصلی رو به روه خواهیم بود که به شکل زیر است این منو شامل چندین زیر منو است که اصلی ترین آن Calibration است که میتوان با استفاده از آن دستگاه را در حالت عادی کالیبره کرد و سیستم را در بهترین حالت کانفیگ نمود.در اولین راه اندازی باید ابتدا دستگاه را کالیبره کنید ولی در راه اندازی های بعدی فقط هنگامی که تنظیمات دستگاه به هم ریخت از نو کانفیگ نمایید. باقی منو ها را در زیر برنامه های خودشان توضیح میدهیم.
در برنامه ی نوشته شده چندین زیر برنامه ی اصلی موجود است :
void Graphic_Cube(void);
void Ramp_meters(void);
void Accelerometer(void);
void readkey(void);
void Calibration(void);
void START_MENU(void);
void moment(void);
void READ_X_Y_X(void);
void gravity(void);
در زیر برنامه ی Graphic_Cube یک مکعب در صفحه ی نمایش کشیده میشود که به خوبی گردش در 3 محور را به نمایش در می آورد و اگر در محور z دستگاه را حرکت دهیم مکعب کوچک و بزرگ خواهد شد.این مکعب برای نمایش در محورها مفید است:
- زیر برنامه ی Ramp_meters در واقع مقدار مصرف خودرو را نمایش میدهد.
- زیر برنامه ی Accelerometer میزان شتاب محاسبه شده بر اساس kg بر نیوتن را نمایش میدهد.
- زیر برنامه ی readkey یک زیر برنامه برای خواند کلیدها است.
- زیر برنامه ی Calibration اصلی ترین زیر برنامه در محاسبات اولیه برای محاسبه ی شیب خطوط میباشد و باقی زیر برنامه ها به این زیر برنامه وابسته هستند.
- زیر برنامه ی START_MENU برای نمایش ماشین در حال حرکت در ابتدا ی راه اندازی است.
- زیر برنامه ی moment یک زیر برنامه برای نمایش کالیبره بودن یا نبودن سیتم است و باید نقطه در وسط مربع باشد وگرنه سیتم نیاز به کالیبره سازی مجدد دارد.
- زیر برنامه ی READ_X_Y_X برای خواندن مقادیر adc برای هر سه محور xyz است.
- محاسبه ی مقدار شتاب گرانش نیز در زبر برنامه ی gravity صورت میپذیرد.
توضیحات بیشتر | قیمت : 30000 تومان |