Isi kandungan:
- Langkah 1: Bahan
- Langkah 2: Memahami Reka Bentuk
- Langkah 3: Pengekodan VHDL
- Langkah 4: Pengekodan Arduino
- Langkah 5: Pendawaian Perkakasan
Video: Pengesan Kecekapan Bahan Bakar: 5 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:11
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 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
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 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:
Penukar Buck Output 5V Kecekapan Tinggi DIY !: 7 Langkah
DIY High Efficiency 5V Output Buck Converter !: Saya mahukan kaedah yang berkesan untuk menurunkan voltan yang lebih tinggi dari pek LiPo (dan sumber lain) hingga 5V untuk projek elektronik. Pada masa lalu saya telah menggunakan modul buck generik dari eBay, tetapi kawalan kualiti yang dipersoalkan dan tidak ada nama elektrolitik
Dalam Pencarian Kecekapan .: 9 Langkah
Dalam Pencarian Kecekapan: BUCK Converter on " DPAK " Saiz. Biasanya, perancang pemula elektronik atau penggemar kita memerlukan pengatur voltan di papan litar yang dicetak atau papan roti. Sayangnya dengan kesederhanaan, kami menggunakan pengatur voltan linier tetapi tidak ada
Ukur Tahap Bahan Bakar Dengan Arduino: 4 Langkah (dengan Gambar)
Ukur Tahap Bahan Bakar Dengan Arduino: Unit penginderaan biasanya menggunakan pelampung yang disambungkan ke potensiometer, biasanya reka bentuk dakwat dicetak pada kenderaan moden. Semasa tangki mengosongkan, apungan turun dan meluncurkan kenalan bergerak di sepanjang perintang, meningkatkan ketahanannya. [2] Sebagai tambahan
Cara Membuat Sel Bahan Bakar Mikroba (MFC) Menggunakan Lumpur: 7 Langkah (dengan Gambar)
Cara Membuat Sel Bahan Bakar Mikroba (MFC) Menggunakan Lumpur: Sel bahan bakar mikroba MudWatt (digelar dengan mesra " Dirt Battery ") adalah alat yang menggunakan bakteria untuk menukar bahan organik yang terdapat dalam lumpur menjadi elektrik. Instructable ini akan memandu anda membuat bahan bakar mikroba anda sendiri
Pengesan Asap IOT: Kemas kini Pengesan Asap yang Ada Dengan IOT: 6 Langkah (dengan Gambar)
Pengesan Asap IOT: Kemas kini Pengesan Asap yang Ada Dengan IOT: Senarai penyumbang, Pencipta: Tan Siew Chin, Tan Yit Peng, Tan Wee Heng Penyelia: Dr Chia Kim Seng Jabatan Kejuruteraan Mekatronik dan Robotik, Fakulti Kejuruteraan Elektrik dan Elektronik, Universiti Tun Hussein Onn Malaysia. Pengedar