Πίνακας περιεχομένων:

Ανιχνευτής απόδοσης καυσίμου: 5 βήματα
Ανιχνευτής απόδοσης καυσίμου: 5 βήματα

Βίντεο: Ανιχνευτής απόδοσης καυσίμου: 5 βήματα

Βίντεο: Ανιχνευτής απόδοσης καυσίμου: 5 βήματα
Βίντεο: 7 tips για μείωση κατανάλωσης καυσίμου έως και 30% 2024, Νοέμβριος
Anonim
Ανιχνευτής απόδοσης καυσίμου
Ανιχνευτής απόδοσης καυσίμου

Από: Danica Fujiwara και William McGrouther

Τα αυτοκίνητα είναι ο κύριος τρόπος μεταφοράς στον κόσμο σήμερα. Συγκεκριμένα, στην Καλιφόρνια, περιτριγυριζόμαστε από δρόμους, αυτοκινητόδρομους και δρόμους με διόδια στους οποίους κινούνται χιλιάδες αυτοκίνητα καθημερινά. Ωστόσο, τα αυτοκίνητα χρησιμοποιούν φυσικό αέριο και η Καλιφόρνια χρησιμοποιεί τη μεγαλύτερη βενζίνη από οποιαδήποτε άλλη πολιτεία των ΗΠΑ, περίπου 4,500 γαλόνια την ημέρα. Για το τελικό έργο CPE 133, αποφασίσαμε να δημιουργήσουμε σύστημα στο οποίο θα μπορούσε να παρακολουθεί την ταχύτητα ενός αυτοκινήτου και να λέει εάν υπερβαίνει την πιο αποδοτική ταχύτητα για την καλύτερη απόσταση σε μίλια αερίου ή οικονομία καυσίμου. Αυτό το έργο θα βοηθήσει τους οδηγούς να συνειδητοποιήσουν την οικονομία καυσίμου τους, η οποία με τη σειρά τους θα τους βοηθήσει να εξοικονομήσουν χρήματα, να χρησιμοποιήσουν λιγότερο αέριο και να δημιουργήσουν λιγότερη ρύπανση στον αέρα.

Βήμα 1: Υλικά

Υλικά
Υλικά
Υλικά
Υλικά
Υλικά
Υλικά
Υλικά
Υλικά

Υλικά που απαιτούνται για αυτό το έργο:

- Basys 3 FPGA

- Arduino Uno

- Breadboard

- Αισθητήρας Απόλυτου Προσανατολισμού Adafruit BNO055

- Από αρσενικά σε αρσενικά καλώδια

Βήμα 2: Κατανόηση του σχεδίου

Κατανόηση του Σχεδιασμού
Κατανόηση του Σχεδιασμού
Κατανόηση του Σχεδιασμού
Κατανόηση του Σχεδιασμού

Διάγραμμα Πεπερασμένης Κατάστασης

Αυτό το έργο έχει δύο διαφορετικές καταστάσεις στο διάγραμμα πεπερασμένης κατάστασης που φαίνεται παραπάνω. Το φως μπορεί να είναι αναμμένο (αντιπροσωπεύεται με «1») ή σβηστό (αντιπροσωπεύεται με «0»). Η κατάσταση αλλάζει ανάλογα με την είσοδο της ταχύτητας παρακολούθησης (ts) και τη σταθερή βέλτιστη ταχύτητα.

Διάγραμμα μαύρου κουτιού

Επίσης παραπάνω υπάρχει ένα διάγραμμα Black Box της μονάδας Fuel Efficiency που περιέχει το σχηματικό σχήμα του Speed Comparator και της Seven Segment Display που συζητούνται παρακάτω παρακάτω. Αυτός ο κώδικας VHDL λαμβάνει μια είσοδο 8 bit από τις μετρήσεις του επιταχυνσιόμετρου που είναι συνδεδεμένο στο arduino.

Βήμα 3: Κωδικοποίηση VHDL

Για αυτό το έργο, υπάρχουν τρία αρχεία VHDL που κατασκευάζουν το σχεδιασμό μας, η μονάδα Fuel_Efficency_FinalProject, η ενότητα Speed_Comparator και η ενότητα sseg_dec όπου το Speed_Comparator και το sseg_dec βρίσκονται στο χαμηλότερο επίπεδο για να συνθέσουν τη μονάδα Fuel Efficiency.

Η μονάδα σύγκρισης ταχύτητας

Αυτή η μονάδα λαμβάνει ταχύτητα 8 bit σε μίλια ανά ώρα και τη συγκρίνει με τη βέλτιστη ταχύτητα για τη μικρότερη κατανάλωση αερίου. Η μέση βέλτιστη ταχύτητα για τα καλύτερα χιλιόμετρα αερίου ενός αυτοκινήτου είναι περίπου 55 μίλια / ώρα και κάτω. Ωστόσο, αυτό μπορεί να διαφέρει από αυτοκίνητο σε αυτοκίνητο, το οποίο μπορεί να προσαρμοστεί εντός της μονάδας. Η γραμμή 45 του κώδικα που μπορεί να αλλάξει για προσωπική βελτιστοποίηση εμφανίζεται παρακάτω

εάν (παρακολούθηση> "00110111") τότε

Όπου το "00110111" (55 σε δυαδικό) μπορεί να αλλάξει σε οποιονδήποτε αριθμό 8-bit για την ιδανική ταχύτητα του προσωπικού σας αυτοκινήτου για ελάχιστη κατανάλωση καυσίμου.

Εάν η ταχύτητα είναι πάνω από τον βέλτιστο αριθμό, η λυχνία ανάβει και ειδοποιεί ότι το αυτοκίνητο δεν χρησιμοποιεί τη μέγιστη απόδοση καυσίμου.

Το Seven Segment DisplayModule

Αυτή η μονάδα λαμβάνει ταχύτητα 8 bit σε μίλια την ώρα και εμφανίζει την ταχύτητα στην οθόνη των επτά τμημάτων. Αυτό θα επιτρέψει στον χρήστη να γνωρίζει πόσο γρήγορα πρόκειται να μάθει εάν πρέπει να επιβραδύνει. Αυτή η ενότητα μας δόθηκε μέσα στην τάξη μας και γράφτηκε από τον Bryan mealy που περιέχει τα στοιχεία bin2bcdconv που μετατρέπει την δυαδική είσοδο 8-bit σε μορφή BCD που αποκωδικοποιείται ευκολότερα και clk_div έτσι ώστε η οθόνη να εμφανίζει οπτικά έναν αριθμό με 3 ψηφία αλλάζοντας την έξοδο ανόδου σε υψηλή συχνότητα ρολογιού. Αυτός ο κωδικός δέχεται έναν αριθμό 8 bit μετατρέπει τον αριθμό σε αναγνώσιμη οθόνη στον πίνακα basys 3.

Η μονάδα απόδοσης καυσίμου

Αυτό είναι το κύριο αρχείο που χρησιμοποιεί τις παραπάνω ενότητες ως συστατικά. Οι είσοδοί του είναι το ρολόι και η ταχύτητα παρακολούθησης. Το ρολόι είναι χτισμένο μέσα στον πίνακα basys 3 και η ταχύτητα παρακολούθησης δίνεται από την έξοδο του arduino που συνδέεται με τη θύρα αναλογικού σήματος pmod (XADC). Κάθε κομμάτι της ταχύτητας παρακολούθησης 8-bit απεικονίζεται στις θύρες που εμφανίζονται στην ενότητα καλωδίωσης στο βήμα 4. Άλλοι περιορισμοί Basys 3 μπορούν να βρεθούν στο Basys_3_Master.xdc.

Βήμα 4: Κωδικοποίηση Arduino

Αυτό το έργο χρησιμοποιεί ένα κύριο αρχείο arduino που απαιτεί τη χρήση πολλών βιβλιοθηκών, μερικές από τις οποίες βρίσκονται ήδη στο πρόγραμμα arduino σας και άλλες πρέπει να ληφθούν είτε από αυτόν τον οδηγό ή από τον ιστότοπο Adafruit (παρακάτω σύνδεσμος).

Βιβλιοθήκες

σύνδεσμος προς τη σελίδα Adafruit BNO055:

Η Adafruit έχει αναπτύξει 2 βιβλιοθήκες για τη χρήση του BNO055 και δίνει παραδείγματα για τον τρόπο χρήσης τους. Σε αυτό το έργο θα χρησιμοποιήσουμε τη συνάρτηση.getVector για να έχουμε το arduino να εξάγει τα δεδομένα του επιταχυνσιόμετρου.

Αυτό το έργο χρησιμοποιεί επίσης ορισμένες βιβλιοθήκες που έχουν ήδη εγκατασταθεί στο πρόγραμμα arduino, όπως η βιβλιοθήκη μαθηματικών.

Κύριο αρχείο

Αυτό το αρχείο χρησιμοποιεί τα δεδομένα του επιταχυνσιόμετρου από τη συνάρτηση.getVector και χρησιμοποιεί μαθηματικές εξισώσεις για να το μετατρέψει σε ταχύτητα σε μίλια την ώρα, η οποία στη συνέχεια εξάγεται σε 8 bits δεδομένων στο Basys 3 (ανατρέξτε στην ενότητα "Καλωδίωση του υλικού" για περισσότερα πληροφορίες).

Βήμα 5: Καλωδίωση του υλικού

Καλωδίωση του υλικού
Καλωδίωση του υλικού
Καλωδίωση του υλικού
Καλωδίωση του υλικού
Καλωδίωση του υλικού
Καλωδίωση του υλικού
Καλωδίωση του υλικού
Καλωδίωση του υλικού

Καλωδίωση Arduino

Το Arduino πρέπει να είναι συνδεδεμένο με το breadboard όπως είναι στις παραπάνω εικόνες.

Basys 3 Καλωδίωση

Οι έξοδοι του arduino αντιστοιχίζονται στις εισόδους του Basys 3 μέσω των αναλογικών σημάτων pmod JXADC. Κάθε κομμάτι της ταχύτητας παρακολούθησης 8-bit μπορεί να συνδεθεί με έναν από τους ακροδέκτες που φαίνονται στην παραπάνω εικόνα. Το λιγότερο σημαντικό bit (ψηφιακός ακροδέκτης 7) συνδέεται με το ts (7) και το πιο σημαντικό bit (ψηφιακός ακροδέκτης 0) συνδέεται με το ts (0).

Συνιστάται: