فهرست مطالب:

آشکارساز مصرف سوخت: 5 مرحله
آشکارساز مصرف سوخت: 5 مرحله

تصویری: آشکارساز مصرف سوخت: 5 مرحله

تصویری: آشکارساز مصرف سوخت: 5 مرحله
تصویری: این ۵ کار را در ماشین دنده اتوماتیک هرگز انجام ندهید 2024, نوامبر
Anonim
آشکارساز بهره وری سوخت
آشکارساز بهره وری سوخت

نویسنده: Danica Fujiwara و William McGrouther

خودروها امروزه اصلی ترین وسیله حمل و نقل در جهان هستند. به طور خاص ، در کالیفرنیا ، ما توسط خیابان ها ، بزرگراه ها و جاده های عوارضی احاطه شده ایم که روزانه هزاران خودرو در آن تردد می کنند. با این حال ، خودروها از گاز استفاده می کنند و کالیفرنیا بیشترین بنزین را نسبت به سایر ایالت های ایالات متحده ، تقریباً 4،500 گالن در روز مصرف می کند. برای پروژه نهایی CPE 133 ، ما تصمیم گرفتیم سیستمی را ایجاد کنیم که در آن بتواند سرعت خودرو را ردیابی کند و بگوید آیا این خودرو از بهترین کارآمدترین سرعت برای بهترین مسافت پیموده شده گاز یا صرفه جویی در مصرف سوخت بیشتر است یا خیر. این پروژه به رانندگان کمک می کند تا از مصرف سوخت خود آگاه شوند که به نوبه خود به آنها کمک می کند در هزینه ها صرفه جویی کنند ، گاز کمتری مصرف کنند و آلودگی کمتری در هوا ایجاد کنند.

مرحله 1: مواد

مواد
مواد
مواد
مواد
مواد
مواد
مواد
مواد

مواد مورد نیاز این پروژه:

- Basys 3 FPGA

- آردوینو اونو

- تخته نان

- سنسور جهت گیری مطلق Adafruit BNO055

- سیم های نر به نر

مرحله 2: درک طراحی

درک طرح
درک طرح
درک طرح
درک طرح

نمودار حالت محدود

این پروژه دارای دو حالت متفاوت در نمودار حالت محدود بالا است. چراغ می تواند روشن (نشان داده شده با "1") یا خاموش (نشان داده شده با "0") باشد. وضعیت بسته به ورودی سرعت ردیابی (ts) و سرعت مطلوب ثابت تغییر می کند.

نمودار جعبه سیاه

همچنین در بالا یک نمودار جعبه سیاه از ماژول بهره وری سوخت وجود دارد که شامل طرحواره مقایسه سرعت و نمایش هفت بخش است که در ادامه بیشتر مورد بحث قرار می گیرد. این کد VHDL یک ورودی 8 بیتی از اندازه گیری های شتاب سنج متصل به آردوینو دریافت می کند.

مرحله 3: کدگذاری VHDL

برای این پروژه ، سه فایل VHDL وجود دارد که طراحی ما را می سازند ، ماژول Fuel_Efficency_FinalProject ، ماژول Speed_Comparator و ماژول sseg_dec که Speed_Comparator و sseg_dec در سطح پایین تری قرار دارند تا ماژول مصرف سوخت را تشکیل دهند.

ماژول مقایسه سرعت

این ماژول سرعت 8 بیتی را در مایل بر ساعت می گیرد و آن را با سرعت بهینه برای کمترین میزان مصرف گاز مقایسه می کند. متوسط سرعت مطلوب برای بهترین مسافت پیموده شده گاز خودرو حدود 55 مایل در ساعت و کمتر است. با این حال ، این می تواند از ماشین به ماشین دیگر متفاوت باشد که می تواند در ماژول سفارشی شود. خط 45 کد قابل تغییر برای بهینه سازی شخصی در زیر نشان داده شده است

if (ردیابی> "00110111") سپس

جایی که "00110111" (55 به صورت باینری) می تواند به هر شماره 8 بیتی برای سرعت ایده آل خودرو شخصی شما برای حداقل میزان مصرف سوخت تغییر کند.

اگر سرعت بیش از عدد مطلوب باشد ، چراغ روشن می شود و اعلام می کند که خودرو از حداکثر مصرف سوخت استفاده نمی کند.

هفت بخش DisplayModule

این ماژول سرعت 8 بیتی را در مایل بر ساعت می گیرد و سرعت را در صفحه هفت قسمت نمایش می دهد. این به کاربر این امکان را می دهد که بداند با چه سرعتی می داند که آیا نیاز به کاهش سرعت دارد یا خیر. این ماژول در کلاس ما به ما داده شد و توسط Bryan mealy نوشته شده است که شامل اجزای bin2bcdconv است که ورودی دودویی 8 بیتی را به شکل BCD تبدیل می کند که رمزگشایی آن آسان تر و clk_div است به طوری که صفحه نمایش می تواند عددی را با 3 رقم به صورت بصری نشان دهد. با تغییر خروجی آند در فرکانس ساعت بالا. این کد می پذیرد که یک عدد 8 بیتی عدد را به صفحه نمایش خواندنی در برد 3 basys تبدیل می کند.

ماژول بهره وری سوخت

این فایل اصلی است که از ماژول های بالا به عنوان اجزا استفاده می کند. ورودی های آن ساعت و سرعت ردیابی است. ساعت در برد 3 پایه قرار دارد و سرعت ردیابی با خروجی آردوینو که به پورت Analog signal pmod (XADC) متصل است ، داده می شود. هر بیت از سرعت ردیابی 8 بیتی به پورتهای نشان داده شده در بخش سیم کشی در مرحله 4 نقشه می شود. سایر محدودیت های Basys 3 را می توان در Basys_3_Master.xdc یافت.

مرحله 4: کدنویسی آردوینو

این پروژه از یک فایل اصلی آردوینو استفاده می کند که نیاز به استفاده از چندین کتابخانه دارد ، برخی از آنها قبلاً در برنامه arduino شما وجود دارد و برخی دیگر باید از این سایت قابل آموزش یا وب سایت Adafruit (پیوند زیر) بارگیری شوند.

کتابخانه ها

پیوند به صفحه Adafruit BNO055:

Adafruit 2 کتابخانه برای استفاده از BNO055 ایجاد کرده است و نمونه هایی از نحوه استفاده از آنها را ارائه می دهد. در این پروژه ما از تابع.getVector استفاده می کنیم تا آردوینو داده های شتاب سنج را خروجی دهد.

این پروژه همچنین از کتابخانه هایی که قبلاً در برنامه arduino نصب شده اند ، مانند کتابخانه ریاضی استفاده می کند.

فایل اصلی

این فایل از داده های شتاب سنج تابع.getVector استفاده می کند و از معادلات ریاضی برای تبدیل سرعت به مایل در ساعت استفاده می کند ، سپس در 8 بیت داده به Basys 3 ارسال می شود (برای اطلاعات بیشتر به بخش "سیم کشی سخت افزار" مراجعه کنید اطلاعات)

مرحله 5: سیم کشی سخت افزار

سیم کشی سخت افزار
سیم کشی سخت افزار
سیم کشی سخت افزار
سیم کشی سخت افزار
سیم کشی سخت افزار
سیم کشی سخت افزار
سیم کشی سخت افزار
سیم کشی سخت افزار

سیم کشی آردوینو

آردوینو باید همانطور که در تصاویر بالا نشان داده شده است به تخته نان متصل شود.

سیم کشی Basys 3

خروجی های آردوینو از طریق پورت های آنالوگ سیگنال pmod JXADC به ورودی های Basys 3 نقشه برداری می شود. هر بیت از سرعت ردیابی 8 بیتی را می توان به یکی از پین های نشان داده شده در تصویر بالا متصل کرد. کمترین بیت (پین دیجیتال 7) به ts (7) و مهمترین بیت (پین دیجیتال 0) به ts (0) متصل می شود.

توصیه شده: