جدول المحتويات:

كاشف كفاءة الوقود: 5 خطوات
كاشف كفاءة الوقود: 5 خطوات

فيديو: كاشف كفاءة الوقود: 5 خطوات

فيديو: كاشف كفاءة الوقود: 5 خطوات
فيديو: 6 أمور لتوفير الوقود بسيارتك. 2024, يوليو
Anonim
كاشف كفاءة الوقود
كاشف كفاءة الوقود

بقلم: دانيكا فوجيوارا وويليام ماكجروثر

السيارات هي وسيلة النقل الرئيسية في العالم اليوم. على وجه التحديد ، في كاليفورنيا ، نحن محاطون بالشوارع والطرق السريعة والطرق ذات الرسوم التي تقطعها آلاف السيارات يوميًا. ومع ذلك ، تستخدم السيارات الغاز وتستخدم كاليفورنيا معظم البنزين من أي ولاية أخرى في الولايات المتحدة ، حوالي 4500 جالون يوميًا. بالنسبة لمشروع CPE 133 النهائي الخاص بنا ، قررنا إنشاء نظام يمكنه من خلاله تتبع سرعة السيارة ومعرفة ما إذا كانت تتجاوز السرعة الأكثر فاعلية للحصول على أفضل أميال نقل بنزين أو الاقتصاد في استهلاك الوقود. سيساعد هذا المشروع السائقين على إدراك اقتصادهم في استهلاك الوقود والذي نأمل بدوره أن يساعدهم في توفير المال واستخدام كميات أقل من الغاز وتقليل التلوث في الهواء.

الخطوة 1: المواد

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

المواد اللازمة لهذا المشروع:

- Basys 3 FPGA

- اردوينو أونو

- اللوح

- مستشعر التوجيه المطلق Adafruit BNO055

- ذكر إلى ذكر الأسلاك

الخطوة الثانية: فهم التصميم

فهم التصميم
فهم التصميم
فهم التصميم
فهم التصميم

مخطط الحالة المحدودة

يحتوي هذا المشروع على حالتين مختلفتين داخل مخطط الحالة المحدودة الموضح أعلاه. يمكن أن يكون الضوء مضاءً (يمثله "1") أو مطفأ (يمثله "0"). تتغير الحالة اعتمادًا على إدخال سرعة التتبع (ts) والسرعة المثلى الثابتة.

مخطط الصندوق الأسود

يوجد أعلاه أيضًا مخطط الصندوق الأسود لوحدة كفاءة الوقود التي تحتوي على مخطط مقارنة السرعة وعرض الأجزاء السبعة التي تمت مناقشتها أدناه. يتلقى كود VHDL هذا إدخالًا من 8 بتات من قياسات مقياس التسارع المتصل بـ arduino.

الخطوة 3: تشفير VHDL

بالنسبة لهذا المشروع ، هناك ثلاثة ملفات VHDL التي تبني تصميمنا ، وحدة Fuel_Efficency_FinalProject ، ووحدة Speed_Comparator ، ووحدة sseg_dec حيث يكون Speed_Comparator و sseg_dec في المستوى الأدنى لتشكيل وحدة كفاءة استهلاك الوقود.

وحدة مقارنة السرعة

تأخذ هذه الوحدة سرعة 8 بت بالأميال في الساعة وتقارنها بالسرعة المثلى لأقل قدر من استهلاك الغاز. يبلغ متوسط السرعة المثلى لأفضل أميال نقل بنزين للسيارة حوالي 55 ميلاً في الساعة وأقل. ومع ذلك ، يمكن أن يختلف ذلك من سيارة إلى أخرى والتي يمكن تخصيصها داخل الوحدة. يظهر أدناه السطر 45 من الكود الذي يمكن تغييره من أجل التحسين الشخصي

إذا (تتبع> "00110111") ثم

حيث يمكن تغيير "00110111" (55 في ثنائي) إلى أي رقم 8 بت للسرعة المثالية لسيارتك الشخصية بأقل قدر من استهلاك الوقود.

إذا تجاوزت السرعة الرقم الأمثل ، فسيتم تشغيل الضوء لإعلامك بأن السيارة لا تستخدم أقصى قدر من الكفاءة في استهلاك الوقود.

وحدة عرض الأجزاء السبعة

تأخذ هذه الوحدة سرعة 8 بت بالأميال في الساعة وتعرض السرعة على شاشة العرض السبعة. سيسمح ذلك للمستخدم بمعرفة مدى السرعة التي سيعرفون بها ما إذا كان يحتاج إلى الإبطاء. تم تقديم هذه الوحدة إلينا داخل الفصل وكتبها Bryan mealy التي تحتوي على المكونات bin2bcdconv التي تحول الإدخال الثنائي 8 بت إلى نموذج BCD الذي يسهل فك تشفيره و clk_div بحيث يمكن للشاشة عرض رقم مرئي بثلاثة أرقام عن طريق تغيير خرج الأنود بتردد ساعة مرتفع. يقبل هذا الرمز رقمًا من 8 بتات يحول الرقم إلى شاشة قابلة للقراءة على اللوحة الأساسية 3.

وحدة كفاءة الوقود

هذا هو الملف الرئيسي الذي يستخدم الوحدات المذكورة أعلاه كمكونات. مدخلاته هي الساعة وسرعة التتبع. تم تصميم الساعة داخل اللوحة الأساسية 3 وتعطى سرعة التتبع من خلال إخراج اردوينو المتصل بمنفذ pmod للإشارة التناظرية (XADC). يتم تعيين كل بت من سرعة التتبع 8 بت إلى المنافذ الموضحة داخل قسم الأسلاك في الخطوة 4. يمكن العثور على قيود Basys 3 الأخرى داخل Basys_3_Master.xdc.

الخطوة 4: ترميز Arduino

يستخدم هذا المشروع ملف اردوينو رئيسي واحد يتطلب استخدام العديد من المكتبات ، بعضها موجود بالفعل في برنامج اردوينو الخاص بك والبعض الآخر يجب تنزيله إما من هذا الدليل أو موقع Adafruit (الرابط أدناه).

مكتبات

رابط لصفحة Adafruit BNO055:

طورت Adafruit مكتبتين لاستخدام BNO055 ، وأعطت أمثلة على كيفية استخدامها. في هذا المشروع ، سنستخدم وظيفة.getVector للحصول على إخراج اردوينو لبيانات مقياس التسارع.

يستخدم هذا المشروع أيضًا بعض المكتبات المثبتة بالفعل في برنامج اردوينو ، مثل مكتبة الرياضيات.

الملف الرئيسي

يستخدم هذا الملف بيانات مقياس التسارع من وظيفة.getVector ويستخدم المعادلات الرياضية لتحويلها إلى سرعة بالأميال في الساعة ، والتي يتم إخراجها بعد ذلك في 8 بتات من البيانات إلى Basys 3 (راجع قسم "توصيل الأجهزة" لمزيد من المعلومات. معلومة).

الخطوة 5: توصيل الأجهزة

توصيل الأجهزة
توصيل الأجهزة
توصيل الأجهزة
توصيل الأجهزة
توصيل الأجهزة
توصيل الأجهزة
توصيل الأجهزة
توصيل الأجهزة

الأسلاك اردوينو

يجب توصيل Arduino بلوح التجارب كما في الصور أعلاه.

اسلاك 3 اسلاك

يتم تعيين مخرجات اردوينو لمدخلات Basys 3 من خلال منافذ الإشارة التناظرية pmod JXADC. يمكن توصيل كل بت من سرعة التتبع 8 بت بأحد المسامير الموضحة في الصورة أعلاه. يتم توصيل البتة الأقل أهمية (الرقم الرقمي 7) بـ ts (7) ويتم توصيل البتة الأكثر أهمية (الدبوس الرقمي 0) بـ ts (0).

موصى به: