Мазмұны:
- 1 -қадам: материалдар
- 2 -қадам: Дизайнды түсіну
- 3 -қадам: VHDL кодтау
- 4 -қадам: Arduino кодтау
- 5 -қадам: Жабдықты сыммен қосу
Бейне: Жанармай үнемдеу детекторы: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Авторы: Даника Фудзивара мен Уильям Макгрутер
Автокөліктер қазіргі әлемдегі негізгі көлік түрі. Нақтырақ айтсақ, Калифорнияда бізді көшелер, магистральдар мен ақылы жолдар қоршап тұр, олар күнделікті мыңдаған көлік жүреді. Алайда, автокөліктер газды пайдаланады, ал Калифорния АҚШ -тағы басқа штаттарға қарағанда ең көп бензинді пайдаланады, күніне шамамен 4 500 галлон. Біздің CPE 133 Final жобасы үшін біз автомобильдің жылдамдығын бақылай алатын және оның ең жақсы газ жүгірісі немесе жанармай үнемдеу үшін ең тиімді жылдамдықтан асатынын анықтай алатын жүйе құруды шештік. Бұл жоба жүргізушілерге жанармай үнемдеуі туралы білуге көмектеседі, бұл өз кезегінде ақшаны үнемдеуге, газды аз пайдалануға және ауаның ластануын азайтуға көмектеседі деп үміттенеміз.
1 -қадам: материалдар
Бұл жобаға қажет материалдар:
- Basys 3 FPGA
- Ардуино Уно
- Нан тақтасы
- Adafruit BNO055 абсолютті бағдар сенсоры
- Еркектен ерге дейінгі сымдар
2 -қадам: Дизайнды түсіну
Ақырғы күй диаграммасы
Бұл жобада жоғарыда көрсетілген соңғы күй диаграммасында екі түрлі күй бар. Жарық қосулы («1» белгісімен) немесе өшірулі («0» белгісімен) болуы мүмкін. Күй қадағалау жылдамдығының кіруіне (ts) және тұрақты оңтайлы жылдамдыққа байланысты өзгереді.
Қара жәшік диаграммасы
Сонымен қатар жоғарыда Жанармай тиімділігі модулінің Қара жәшік диаграммасы бар, онда жылдамдық салыстырғышының схемасы мен жеті сегменттің дисплейі бар, олар төменде талқыланады. Бұл VHDL коды arduino-ға қосылған акселерометрдің өлшемдерінен 8 биттік кірісті алады.
3 -қадам: VHDL кодтау
Бұл жоба үшін біздің дизайнды құратын үш VHDL файлы бар, Fuel_Efficency_FinalProject модулі, Speed_Comparator модулі және sseg_dec модулі, онда Speed_Comparator мен sseg_dec жанармай тиімділігі модулін құрайды.
Жылдамдықты салыстыру модулі
Бұл модуль сағатына 8-биттік жылдамдықты қабылдайды және оны газды тұтынудың ең аз мөлшерінің оңтайлы жылдамдығымен салыстырады. Автокөліктің ең жақсы газ жүгірісінің орташа оңтайлы жылдамдығы шамамен 55 миль және одан төмен. Дегенмен, бұл әр модульде реттелетін автомобильге байланысты өзгеруі мүмкін. Жеке оңтайландыру үшін өзгертуге болатын кодтың 45 жолы төменде көрсетілген
if (tracking> «00110111») онда
Бұл жерде «00110111» (екілік санмен 55) кез келген 8-разрядты нөмірге ауыстырылуы мүмкін, бұл сіздің жеке автокөлігіңіздің ең жақсы жылдамдығы үшін жанармай шығыны аз болады.
Егер жылдамдық оңтайлы саннан асып кетсе, автомобиль жанармайдың максималды үнемделмейтінін білдіретін шамды қосады.
Жеті сегменттің дисплей модулі
Бұл модуль сағатына 8-биттік жылдамдықты алады және жеті сегментті дисплейде жылдамдықты көрсетеді. Бұл пайдаланушыға жылдамдықты төмендету керектігін білуге мүмкіндік береді. Бұл модуль бізге сыныпта берілген және оны Bryan Mealy жазған, оның құрамында bin2bcdconv компоненттері бар, ол екілік 8-биттік енгізуді BCD пішіміне түрлендіреді, оны декодтау және clk_div дисплейде 3 цифры бар санды визуалды түрде көрсету үшін анод шығысын жоғары сағат жиілігінде өзгерту арқылы. Бұл код 8 разрядты санды қабылдайды, бұл санды basys 3 тақтасында оқылатын дисплейге түрлендіреді.
Жанармай үнемдеу модулі
Бұл жоғарыдағы модульдерді компоненттер ретінде қолданатын негізгі файл. Оның кірісі - бұл сағат және бақылау жылдамдығы. Сағат базалық 3 тақтаға салынған және бақылау жылдамдығы The Analog signal pmod портына (XADC) қосылған arduino шығысымен беріледі. 8-разрядты бақылау жылдамдығының әрбір биті 4-қадамда сымдар бөлімінде көрсетілген порттарға карта болып табылады. Басқа Basys 3 шектеулерін Basys_3_Master.xdc ішінде табуға болады.
4 -қадам: Arduino кодтау
Бұл жоба бірнеше кітапхананы пайдалануды қажет ететін бір негізгі arduino файлын пайдаланады, олардың кейбіреулері сіздің arduino бағдарламаңызда бар, ал басқаларын осы нұсқаулықтан немесе Adafruit веб -сайтынан жүктеу керек (төмендегі сілтеме).
Кітапханалар
Adafruit BNO055 бетіне сілтеме:
Adafruit BNO055 пайдалану үшін 2 кітапхана әзірледі және оларды пайдалану мысалдарын келтірді. Бұл жобада біз.getVector функциясын пайдаланып, акселерометрдің мәліметтерін arduino шығарады.
Бұл жоба сонымен қатар математикалық кітапхана сияқты arduino бағдарламасында орнатылған кейбір кітапханаларды пайдаланады.
Негізгі файл
Бұл файл.getVector функциясының акселерометрлік деректерін қолданады және оны сағатына миль жылдамдыққа айналдыру үшін математикалық теңдеулерді қолданады, содан кейін Basys 3 -ке 8 бит деректермен шығарылады (толығырақ «Аппараттық құралдарды қосу» бөлімін қараңыз) ақпарат).
5 -қадам: Жабдықты сыммен қосу
Arduino сымдары
Arduino жоғарыдағы суреттердегідей тақтаға қосылуы керек.
Basys 3 сымдары
Ардуиноның шығысы BasX 3 кірістеріне аналогтық сигнал pmod JXADC порттары арқылы салыстырылады. 8-биттік бақылау жылдамдығының әрбір биті жоғарыдағы суретте көрсетілген түйреуіштердің біріне қосылуы мүмкін. Ең аз бит (цифрлық түйреуіш 7) ts (7) -ге, ал ең маңызды бит (цифрлық түйреуіш 0) ts (0) -ге қосылады.
Ұсынылған:
CO анықтау үшін жанармай құю станциясы: 5 қадам
СО анықтау үшін жанармай құю станциясы: көміртегі тотығы (СО) - өте қауіпті газ, себебі ол иіс сезбейді, дәмі жоқ. Сіз оны көре алмайсыз немесе оны мұрныңызбен анықтай алмайсыз. Менің мақсатым - қарапайым CO детекторын құру. Біріншіден, мен үйдегі газдың аз мөлшерін анықтаймын. Бұл себеп
Ертегідегі батареяны үнемдеу: 8 қадам (суреттермен)
Fairy Light Battery Saver: CR2032 батареялары керемет, бірақ олар жарықдиодты " Fairy Light " Бұл жерде демалыс мезгілінде мен USB қуат банкінен шығу үшін бірнеше 20 жарық жолын өзгертуді шештім. Интернеттен іздедім және
Суды үнемдеу: 4 қадам
Суды үнемдеу!: Мұны істеу керек! Жиынтықтар ешқандай қиындық тудырмайды. Тіркелу, пайдалану және жаңарту … Автоматты түрде жасалынған және жасалынған өнімдер
Батареяны үнемдеу, қорғасын қышқылды автокөлікке немесе липо батареясына арналған ATtiny85 бар разрядтан қорғайтын ажыратқыш: 6 қадам
Батареяны үнемдеу, қорғасын қышқылды автокөлік немесе липо аккумуляторы үшін ATtiny85 бар разрядтан қорғайтын ажыратқыш: Маған автокөліктер мен күн жүйелері үшін аккумуляторлық қорғаныс қажет, себебі мен коммерциялық қорғаныстарды 49 долларға тым қымбатқа таптым. Олар сондай -ақ 6 мА шамасында тым көп қуатты пайдаланады. Мен бұл тақырып бойынша нұсқауларды таба алмадым. Осылайша мен 2мА болатын суретті жасадым
Жанармай деңгейін Arduino көмегімен өлшеңіз: 4 қадам (суреттермен)
Жанармай деңгейін Arduino көмегімен өлшеңіз: Сенсорлық қондырғы әдетте потенциометрге жалғанған қалтаны қолданады, әдетте заманауи автомобильде сияның дизайны. Резервуар босатылған кезде қалтқы резистор бойымен қозғалатын контактіні түсіріп, сырғытады, оның қарсылығын арттырады. [2] Одан басқа