Isi kandungan:

Pengesan Kecekapan Bahan Bakar: 5 Langkah
Pengesan Kecekapan Bahan Bakar: 5 Langkah

Video: Pengesan Kecekapan Bahan Bakar: 5 Langkah

Video: Pengesan Kecekapan Bahan Bakar: 5 Langkah
Video: Silinder 5 Katup | Warisan Para Legenda 2024, November
Anonim
Pengesan Kecekapan Bahan Bakar
Pengesan Kecekapan Bahan Bakar

Oleh: Danica Fujiwara dan William McGrouther

Kereta adalah mod pengangkutan utama di dunia sekarang. Secara khusus, di California, kita dikelilingi oleh jalan-jalan, lebuh raya, dan jalan tol yang ribuan kereta memandu setiap hari. Walau bagaimanapun, kereta menggunakan gas dan california menggunakan petrol paling banyak daripada negeri lain di A. S., kira-kira 4, 500 gelen sehari. Untuk projek Akhir CPE 133 kami, kami memutuskan untuk membuat sistem di mana ia dapat mengesan kelajuan kereta dan memberitahu sama ada ia melebihi kelajuan yang paling efisien untuk jarak tempuh gas terbaik atau ekonomi bahan bakar. Projek ini akan membantu pemandu menyedari ekonomi bahan bakar mereka yang pada gilirannya diharapkan dapat membantu mereka menjimatkan wang, menggunakan lebih sedikit gas, dan mengurangkan pencemaran di udara.

Langkah 1: Bahan

Bahan
Bahan
Bahan
Bahan
Bahan
Bahan
Bahan
Bahan

Bahan yang diperlukan untuk projek ini:

- Basys 3 FPGA

- Arduino Uno

- Papan roti

- Adafruit BNO055 Sensor Orientasi Mutlak

- Kabel Lelaki hingga Lelaki

Langkah 2: Memahami Reka Bentuk

Memahami Reka Bentuk
Memahami Reka Bentuk
Memahami Reka Bentuk
Memahami Reka Bentuk

Diagram Keadaan Terhingga

Projek ini mempunyai dua keadaan berbeza dalam rajah keadaan teratas seperti di atas. Lampu boleh menyala (diwakili oleh ‘1’) atau mati (diwakili oleh ‘0’). Keadaan berubah bergantung pada input kelajuan penjejakan (ts) dan kelajuan optimum berterusan.

Rajah Kotak Hitam

Juga di atas terdapat gambarajah Kotak Hitam modul Efisiensi Bahan Bakar yang mengandungi skema Speed Comparator dan Tampilan Tujuh Segmen yang dibincangkan lebih lanjut di bawah. Kod VHDL ini menerima input 8-bit dari pengukuran pecutan yang disambungkan ke arduino.

Langkah 3: Pengekodan VHDL

Untuk projek ini, terdapat tiga fail VHDL yang membina reka bentuk kami, modul Fuel_Efficency_FinalProject, modul Speed_Comparator, dan modul sseg_dec di mana Speed_Comparator dan sseg_dec berada di tahap yang lebih rendah untuk membentuk modul Efisiensi Bahan Bakar.

Modul pembanding Kelajuan

Modul ini memerlukan kelajuan 8-bit dalam batu per jam dan membandingkannya dengan kelajuan optimum untuk penggunaan gas paling sedikit. Kelajuan optimum purata untuk jarak tempuh gas terbaik kereta adalah sekitar 55 mph ke bawah. Walau bagaimanapun, ini boleh berbeza dari satu kereta ke kereta yang dapat disesuaikan dalam modul. Garis 45 kod yang boleh diubah untuk pengoptimuman peribadi ditunjukkan di bawah

jika (penjejakan> "00110111") maka

Di mana "00110111" (55 dalam binari) boleh ditukar menjadi nombor 8-bit untuk kelajuan ideal kereta peribadi anda untuk jumlah penggunaan bahan api paling sedikit.

Sekiranya kelajuan melebihi bilangan optimum, lampu akan menyala memberitahu bahawa kereta tidak menggunakan kecekapan bahan bakar maksimum.

Modul Paparan Tujuh Segmen

Modul ini memerlukan kelajuan 8-bit dalam batu per jam dan menunjukkan kelajuan pada paparan tujuh segmen. Ini akan membolehkan pengguna mengetahui seberapa cepat mereka akan mengetahui sama ada dia perlu melambatkan. Modul ini diberikan kepada kami dalam kelas kami dan ditulis oleh Bryan mealy yang mengandungi komponen bin2bcdconv yang menukar input 8-bit binari ke bentuk BCD yang lebih mudah untuk menyahkod dan clk_div sehingga paparan dapat menunjukkan angka secara visual dengan 3 digit dengan menukar output anod pada frekuensi jam tinggi. Kod ini menerima nombor 8 bit menukar nombor menjadi paparan yang boleh dibaca di papan dasar 3.

Modul Kecekapan Bahan Bakar

Ini adalah fail utama yang menggunakan modul di atas sebagai komponen. Inputnya adalah jam, dan kelajuan penjejakan. Jam dibina di papan basys 3 dan kelajuan penjejakan diberikan oleh output arduino yang disambungkan ke port pmod isyarat Analog (XADC). Setiap bit dari kelajuan penjejakan 8-bit dipetakan ke port yang ditunjukkan dalam bahagian pendawaian pada langkah 4. Kekangan Basys 3 yang lain boleh didapati di Basys_3_Master.xdc.

Langkah 4: Pengekodan Arduino

Projek ini menggunakan satu fail utama arduino yang memerlukan penggunaan beberapa perpustakaan, ada di antaranya sudah ada dalam program arduino anda dan yang lain mesti dimuat turun dari laman web ini atau laman web Adafruit (pautan di bawah).

Perpustakaan

pautan ke halaman Adafruit BNO055:

Adafruit telah mengembangkan 2 perpustakaan untuk penggunaan BNO055, dan memberikan contoh bagaimana menggunakannya. Dalam projek ini kita akan menggunakan fungsi.getVector untuk mengeluarkan arduino data akselerometer.

Projek ini juga menggunakan beberapa perpustakaan yang sudah dipasang dalam program arduino, seperti perpustakaan matematik.

Fail Utama

Fail ini menggunakan data akselerometer dari fungsi.getVector dan menggunakan persamaan matematik untuk mengubahnya menjadi kelajuan dalam mil per jam, yang kemudian dikeluarkan dalam 8 bit data ke Basys 3 (lihat bahagian "Wiring the Hardware" untuk lebih banyak lagi maklumat).

Langkah 5: Pendawaian Perkakasan

Pendawaian Perkakasan
Pendawaian Perkakasan
Pendawaian Perkakasan
Pendawaian Perkakasan
Pendawaian Perkakasan
Pendawaian Perkakasan
Pendawaian Perkakasan
Pendawaian Perkakasan

Pendawaian Arduino

Arduino harus disambungkan ke papan roti seperti yang terdapat dalam gambar di atas.

Pendawaian Basys 3

Keluaran arduino dipetakan ke input Basys 3 melalui isyarat Analog pmod JXADC port. Setiap bit dari kelajuan penjejakan 8-bit dapat disambungkan ke salah satu pin yang ditunjukkan dalam gambar di atas. Bit yang paling tidak signifikan (pin digital 7) disambungkan ke ts (7) dan bit yang paling ketara (pin digital 0) disambungkan ke ts (0).

Disyorkan: