Sommario:
- Passaggio 1: materiali
- Passaggio 2: comprensione del design
- Passaggio 3: codifica VHDL
- Passaggio 4: codifica Arduino
- Passaggio 5: cablaggio dell'hardware
Video: Rilevatore di efficienza del carburante: 5 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Di: Danica Fujiwara e William McGrouther
Le automobili sono oggi il principale mezzo di trasporto nel mondo. In particolare, in California, siamo circondati da strade, autostrade e strade a pedaggio che migliaia di auto percorrono ogni giorno. Tuttavia, le auto usano il gas e la California usa la maggior quantità di benzina rispetto a qualsiasi altro stato degli Stati Uniti, circa 4.500 galloni al giorno. Per il nostro progetto CPE 133 Final, abbiamo deciso di creare un sistema in cui potesse tracciare la velocità di un'auto e dire se supera la velocità più efficiente per il miglior chilometraggio del gas o il risparmio di carburante. Questo progetto aiuterebbe i conducenti a prendere coscienza del loro risparmio di carburante, che a sua volta, si spera, li aiuterebbe a risparmiare denaro, utilizzare meno gas e creare meno inquinamento nell'aria.
Passaggio 1: materiali
Materiali necessari per questo progetto:
- Basi 3 FPGA
- Arduino Uno
- Tagliere
- Sensore di orientamento assoluto Adafruit BNO055
- Cavi maschio-maschio
Passaggio 2: comprensione del design
Diagramma a stati finiti
Questo progetto ha due diversi stati all'interno del diagramma degli stati finiti mostrato sopra. La luce può essere accesa (rappresentata da '1') o spenta (rappresentata da '0'). Lo stato cambia a seconda dell'input della velocità di tracciamento (ts) e della velocità ottimale costante.
Diagramma della scatola nera
Anche sopra c'è un diagramma Black Box del modulo Efficienza carburante che contiene lo schema del comparatore di velocità e del display a sette segmenti che sono ulteriormente discussi di seguito. Questo codice VHDL riceve un input a 8 bit dalle misurazioni dell'accelerometro che è collegato all'arduino.
Passaggio 3: codifica VHDL
Per questo progetto, ci sono tre file VHDL che costruiscono il nostro design, il modulo Fuel_Efficient_FinalProject, il modulo Speed_Comparator e il modulo sseg_dec dove Speed_Comparator e sseg_dec sono al livello inferiore per formare il modulo Fuel Efficiency.
Il modulo comparatore di velocità
Questo modulo acquisisce una velocità a 8 bit in miglia orarie e la confronta con la velocità ottimale per il minor consumo di gas. La velocità media ottimale per il miglior chilometraggio del gas di un'auto è di circa 55 mph e meno. Tuttavia, questo può variare da auto a auto che può essere personalizzata all'interno del modulo. La riga 45 del codice che può essere modificata per l'ottimizzazione personale è mostrata di seguito
if (tracking > "00110111") allora
Dove "00110111" (55 in binario) può essere modificato in qualsiasi numero a 8 bit per la velocità ideale della tua auto personale per la minima quantità di consumo di carburante.
Se la velocità supera il numero ottimale, la spia si accenderà avvisando che l'auto non sta utilizzando la massima efficienza del carburante.
Il modulo display a sette segmenti
Questo modulo acquisisce una velocità a 8 bit in miglia orarie e visualizza la velocità sul display a sette segmenti. Ciò consentirebbe all'utente di sapere quanto velocemente saprà se ha bisogno di rallentare. Questo modulo ci è stato dato all'interno della nostra classe ed è stato scritto da Bryan mealy che contiene i componenti bin2bcdconv che converte l'input binario a 8 bit in formato BCD che è più facile da decodificare e clk_div in modo che il display possa visualizzare visivamente un numero con 3 cifre modificando l'uscita anodica ad una frequenza di clock elevata. Questo codice accetta un numero a 8 bit e converte il numero in un display leggibile sulla scheda basys 3.
Il modulo Efficienza del carburante
Questo è il file principale che usa i moduli sopra come componenti. I suoi input sono l'orologio e la velocità di tracciamento. L'orologio è costruito all'interno della scheda basys 3 e la velocità di tracciamento è data dall'uscita dell'arduino che è collegata alla porta pmod del segnale analogico (XADC). Ciascun bit della velocità di tracciamento a 8 bit è mappato alle porte mostrate nella sezione di cablaggio al punto 4. Altri vincoli di Basys 3 possono essere trovati all'interno di Basys_3_Master.xdc.
Passaggio 4: codifica Arduino
Questo progetto utilizza un file arduino principale che richiede l'uso di diverse librerie, alcune delle quali sono già nel tuo programma arduino e altre devono essere scaricate da questo tutorial o dal sito Web di Adafruit (link sotto).
Biblioteche
collegamento alla pagina Adafruit BNO055:
Adafruit ha sviluppato 2 librerie per l'utilizzo del BNO055 e fornisce esempi di come utilizzarle. In questo progetto useremo la funzione.getVector per fare in modo che arduino emetta i dati dell'accelerometro.
Questo progetto utilizza anche alcune librerie già installate nel programma arduino, come la libreria matematica.
File principale
Questo file usa i dati dell'accelerometro dalla funzione.getVector e usa equazioni matematiche per trasformarlo in una velocità in miglia orarie, che viene poi emesso in 8 bit di dati al Basys 3 (vedi la sezione "Cablaggio dell'hardware" per maggiori informazione).
Passaggio 5: cablaggio dell'hardware
Cablaggio Arduino
L'Arduino dovrebbe essere collegato alla breadboard come nelle immagini sopra.
Basi 3 Cablaggio
Le uscite dell'arduino sono mappate agli ingressi del Basys 3 tramite le porte di segnale analogico pmod JXADC. Ciascun bit della velocità di tracciamento a 8 bit può essere collegato a uno dei pin mostrati nell'immagine sopra. Il bit meno significativo (pin digitale 7) viene connesso a ts(7) e il bit più significativo (pin digitale 0) viene connesso a ts(0).
Consigliato:
Convertitore buck di uscita 5V ad alta efficienza fai-da-te!: 7 passaggi
Convertitore buck di uscita da 5 V ad alta efficienza fai-da-te!: Volevo un modo efficiente per ridurre le tensioni più elevate dai pacchetti LiPo (e altre fonti) a 5 V per i progetti di elettronica. In passato ho usato moduli buck generici da eBay, ma il controllo di qualità discutibile e nessun nome capa elettrolitico
PROIETTORE FAI DA TE W/AC LED (+EFFICIENZA VS DC LED): 21 passaggi (con immagini)
PROIETTORE FAI DA TE W/AC LED (+EFFICIENZA VS DC LED): In questo video istruttivo, realizzerò un proiettore con chip LED AC driverless estremamente economici. Vanno bene? O sono spazzatura completa? Per rispondere, farò un confronto completo con tutte le mie luci fai-da-te fatte. Come al solito, a buon mercato
Schema del circuito del rilevatore di tensione CA senza contatto: 6 passaggi
Schema del circuito del rilevatore di tensione CA senza contatto: il circuito di identificazione della tensione CA è un circuito primario basato su transistor totalmente NPN come BC747, BC548. Il circuito dipende da 3 fasi distinte. Dopo di che, il segno fragile è stato dato solido e questo circuito può far funzionare il Drove proprio come la campana. Qui io
Misura il livello del carburante con Arduino: 4 passaggi (con immagini)
Misurare il livello del carburante con Arduino: l'unità di rilevamento di solito utilizza un galleggiante collegato a un potenziometro, in genere un design a inchiostro stampato in un'automobile moderna. Quando il serbatoio si svuota, il galleggiante cade e fa scorrere un contatto mobile lungo il resistore, aumentandone la resistenza.[2] Inoltre
Rilevatore di fumo IOT: aggiorna il rilevatore di fumo esistente con IOT: 6 passaggi (con immagini)
Rilevatore di fumo IOT: aggiorna il rilevatore di fumo esistente con IOT: elenco dei contributori, Inventore: Tan Siew Chin, Tan Yit Peng, Tan Wee Heng Supervisore: Dr Chia Kim Seng Dipartimento di ingegneria meccatronica e robotica, Facoltà di ingegneria elettrica ed elettronica, Universiti Tun Hussein Onn Malaysia.Distribuzione