İçindekiler:
- Adım 1: Malzemeler
- Adım 2: Tasarımı Anlamak
- 3. Adım: VHDL'yi Kodlama
- Adım 4: Arduino'yu Kodlamak
- Adım 5: Donanımı Kablolama
Video: Yakıt Verimliliği Dedektörü: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Yazan: Danica Fujiwara ve William McGrouther
Arabalar bugün dünyadaki ana ulaşım şeklidir. Spesifik olarak, Kaliforniya'da her gün binlerce arabanın kullandığı sokaklar, otoyollar ve paralı yollarla çevriliyiz. Bununla birlikte, arabalar gaz kullanır ve Kaliforniya, ABD'deki diğer eyaletlerden daha fazla benzin kullanır, günde yaklaşık 4.500 galon. CPE 133 Final projemiz için, bir arabanın hızını takip edebileceği ve en iyi yakıt tüketimi için en verimli hızı aşıp aşmadığını veya yakıt ekonomisini söyleyebileceği bir sistem oluşturmaya karar verdik. Bu proje, sürücülerin yakıt tasarruflarının farkına varmalarına yardımcı olacak ve bu da onların paradan tasarruf etmelerine, daha az gaz kullanmalarına ve havada daha az kirlilik yaratmalarına yardımcı olacaktır.
Adım 1: Malzemeler
Bu proje için gerekli malzemeler:
- Basys 3 FPGA
-Arduino Uno
- Ekmek tahtası
- Adafruit BNO055 Mutlak Yön Sensörü
- Erkek - Erkek Teller
Adım 2: Tasarımı Anlamak
Sonlu Durum Şeması
Bu proje, yukarıda gösterilen sonlu durum diyagramında iki farklı duruma sahiptir. Işık açık ("1" ile temsil edilir) veya kapalı ("0" ile temsil edilir) olabilir. Durum, izleme hız(ts) girişine ve sabit optimal hıza bağlı olarak değişir.
Kara Kutu Şeması
Ayrıca yukarıda, Hız Karşılaştırıcısının ve Yedi Segmentli Ekranın şemasını içeren Yakıt Verimliliği modülünün bir Kara Kutu diyagramı bulunmaktadır ve bunlar aşağıda daha ayrıntılı tartışılmaktadır. Bu VHDL kodu, arduinoya bağlı olan ivmeölçerin ölçümlerinden 8 bitlik bir giriş alır.
3. Adım: VHDL'yi Kodlama
Bu proje için tasarımımızı oluşturan üç VHDL dosyası var, Fuel_Efficency_FinalProject modülü, Speed_Comparator modülü ve sseg_dec modülü, burada Speed_Comparator ve sseg_dec Yakıt Verimliliği modülünü oluşturmak için daha düşük seviyede.
Hız karşılaştırıcı Modülü
Bu modül saatte mil cinsinden 8 bitlik bir hız alır ve bunu en az miktarda gaz tüketimi için en uygun hız ile karşılaştırır. Bir otomobilin en iyi gaz kilometresi için ortalama optimum hız, yaklaşık 55 mil ve altıdır. Ancak bu, modül içinde özelleştirilebilen arabadan arabaya değişebilir. Kişisel optimizasyon için değiştirilebilen kodun 45. satırı aşağıda gösterilmiştir.
if (izleme > "00110111") o zaman
En az yakıt tüketimi için kişisel aracınızın ideal hızı için “00110111” (ikili olarak 55) herhangi bir 8 bitlik sayıya değiştirilebilir.
Hız optimum sayının üzerindeyse, aracın maksimum yakıt verimliliği kullanmadığını bildiren ışık yanacaktır.
Yedi Segment Ekran Modülü
Bu modül saatte mil olarak 8 bitlik bir hız alır ve hızı yedi segmentli ekranda gösterir. Bu, kullanıcının yavaşlaması gerekip gerekmediğini ne kadar hızlı bileceğini bilmesini sağlar. Bu modül bize sınıfımız içinde verildi ve Bryan mealy tarafından yazılmış, bin2bcdconv ikili 8-bit girişi daha kolay çözülebilen BCD formuna ve clk_div'e çevirerek ekranın 3 basamaklı bir sayıyı görsel olarak gösterebilmesini sağlıyor. anot çıkışını yüksek bir saat frekansında değiştirerek. Bu kod, 8 bitlik bir sayıyı kabul eder, sayıyı basys 3 kartında okunabilir bir ekrana dönüştürür.
Yakıt Verimliliği modülü
Bu, yukarıdaki modülleri bileşen olarak kullanan ana dosyadır. Girdileri saat ve izleme hızıdır. Saat, basys 3 kartında yerleşiktir ve izleme hızı, arduino'nun Analog sinyal pmod bağlantı noktasına (XADC) bağlı çıkışı tarafından verilir. 8 bitlik izleme hızının her biti, 4. adımda kablolama bölümünde gösterilen bağlantı noktalarına eşlenir. Diğer Basys 3 kısıtlamaları Basys_3_Master.xdc içinde bulunabilir.
Adım 4: Arduino'yu Kodlamak
Bu proje, bazıları zaten arduino programınızda bulunan ve diğerlerinin bu talimattan veya Adafruit web sitesinden indirilmesi gereken birkaç kitaplığın kullanılmasını gerektiren bir ana arduino dosyası kullanır (aşağıdaki bağlantı).
Kütüphaneler
Adafruit BNO055 sayfasına bağlantı:
Adafruit, BNO055'in kullanımı için 2 adet kütüphane geliştirmiş ve bunların nasıl kullanılacağına dair örnekler verilmiştir. Bu projede, arduino'nun ivmeölçer verilerini çıkarması için.getVector işlevini kullanacağız.
Bu proje aynı zamanda matematik kütüphanesi gibi arduino programında kurulu olan bazı kütüphaneleri de kullanır.
Ana Dosya
Bu dosya,.getVector işlevinden gelen ivmeölçer verilerini kullanır ve bunu saatte mil cinsinden bir hıza dönüştürmek için matematiksel denklemleri kullanır, bu daha sonra 8 bitlik veri olarak Basys 3'e gönderilir (daha fazla bilgi için "Donanımı Kablolama" bölümüne bakın) bilgi).
Adım 5: Donanımı Kablolama
Arduino Kablolama
Arduino, yukarıdaki resimlerde olduğu gibi breadboard'a bağlanmalıdır.
Basys 3 Kablolama
Arduino'nun çıkışları, Analog sinyal pmod JXADC portları aracılığıyla Basys 3'ün girişlerine eşlenir. 8 bitlik izleme hızının her bir biti yukarıdaki resimde gösterilen pinlerden birine bağlanabilir. En az anlamlı bit (dijital pin 7) ts(7)'ye bağlanır ve en anlamlı bit (dijital pin 0) ts(0)'a bağlanır.
Önerilen:
Raspberry Pi - TMD26721 Kızılötesi Dijital Yakınlık Dedektörü Java Eğitimi: 4 Adım
Raspberry Pi - TMD26721 Kızılötesi Dijital Yakınlık Dedektörü Java Eğitimi: TMD26721, tek bir 8 pimli yüzeye montaj modülünde eksiksiz bir yakınlık algılama sistemi ve dijital arayüz mantığı sağlayan bir kızılötesi dijital yakınlık dedektörüdür. Yakınlık algılama, gelişmiş sinyal-gürültü ve kesinlik. Profesyonel
Su Seviye Dedektörü: 7 Adım
Su Seviyesi Dedektörü: Ultrasonik sensör, radar sistemi ile aynı prensipte çalışır. Ultrasonik bir sensör, elektrik enerjisini akustik dalgalara dönüştürebilir ve bunun tersi de mümkündür. Ünlü HC SR04 ultrasonik sensör, 40kHz frekansında ultrasonik dalgalar üretir.Tipik
Arduino İle Yakıt Seviyesini Ölçün: 4 Adım (Resimlerle)
Arduino ile Yakıt Seviyesini Ölçme: Algılama ünitesi, genellikle modern bir otomobilde tipik olarak basılı mürekkep tasarımı olan bir potansiyometreye bağlı bir şamandıra kullanır. Tank boşaldıkça, şamandıra düşer ve direnç boyunca hareketli bir kontağı kaydırarak direncini arttırır.[2] Ek olarak,
Çamur Kullanarak Mikrobiyal Yakıt Pili (MFC) Nasıl Yapılır: 7 Adım (Resimlerle)
Çamur Kullanarak Mikrobiyal Yakıt Hücresi (MFC) Nasıl Yapılır: MudWatt mikrobiyal yakıt hücresi (sevgiyle "Kirli Pil" olarak adlandırılır), çamurda bulunan organik maddeyi elektriğe dönüştürmek için bakterileri kullanan bir cihazdır. Bu Eğitilebilirlik, kendi mikrobiyal yakıt k
Anahtar Kelime Yer İmleriyle Verimliliği Artırın: 4 Adım
Anahtar Kelime Yer İmleri ile Üretkenliği Artırın: Burada size Firefox'ta genellikle ihmal edilen bir işlev olan yer imleri anahtar kelimesini nasıl kullanacağınızı göstereceğim. Doğru kullanıldığında, günlük web'de gezinmenin birçok sıkıntısını ortadan kaldırabilir ve çevrimiçi hizmetleri kullanmayı daha kolay hale getirebilirler