Სარჩევი:

საწვავის ეფექტურობის დეტექტორი: 5 ნაბიჯი
საწვავის ეფექტურობის დეტექტორი: 5 ნაბიჯი

ვიდეო: საწვავის ეფექტურობის დეტექტორი: 5 ნაბიჯი

ვიდეო: საწვავის ეფექტურობის დეტექტორი: 5 ნაბიჯი
ვიდეო: The TOP 10 Best US trucks in SnowRunner? 2024, ნოემბერი
Anonim
საწვავის ეფექტურობის დეტექტორი
საწვავის ეფექტურობის დეტექტორი

ავტორი: დანიკა ფუჯივარა და უილიამ მაკგრუტერი

მანქანები დღეს მსოფლიოში ტრანსპორტის მთავარი საშუალებაა. კერძოდ, კალიფორნიაში, ჩვენ გარშემორტყმული ვართ ქუჩებით, გზატკეცილებით და ფასიანი გზებით, რომლებითაც ათასობით მანქანა მოძრაობს ყოველდღიურად. თუმცა, მანქანები იყენებენ გაზს და კალიფორნია იყენებს ყველაზე მეტ ბენზინს, ვიდრე აშშ – ს სხვა შტატები, დაახლოებით 4 500 გალონი დღეში. ჩვენი CPE 133 Final პროექტისთვის, ჩვენ გადავწყვიტეთ შევქმნათ სისტემა, რომელშიც მას შეეძლო თვალყური ადევნო მანქანის სიჩქარეს და გითხრათ, აღემატება თუ არა ის ყველაზე ეფექტურ სიჩქარეს საუკეთესო გაზის გარბენისთვის თუ საწვავის ეკონომიისთვის. ეს პროექტი დაეხმარება მძღოლებს გააცნობიერონ თავიანთი საწვავის ეკონომია, რაც, თავის მხრივ, დაეხმარება მათ დაზოგონ ფული, გამოიყენონ ნაკლები გაზი და შექმნან ნაკლები დაბინძურება ჰაერში.

ნაბიჯი 1: მასალები

მასალები
მასალები
მასალები
მასალები
მასალები
მასალები
მასალები
მასალები

ამ პროექტისათვის საჭირო მასალები:

- Basys 3 FPGA

- არდუინო უნო

- პურის დაფა

- ადაფრუტი BNO055 აბსოლუტური ორიენტაციის სენსორი

- მამაკაცი მამაკაცის მავთულები

ნაბიჯი 2: დიზაინის გაგება

დიზაინის გაგება
დიზაინის გაგება
დიზაინის გაგება
დიზაინის გაგება

სასრული მდგომარეობის დიაგრამა

ამ პროექტს აქვს ორი განსხვავებული მდგომარეობა ზემოთ ნაჩვენები სასრული მდგომარეობის დიაგრამაში. შუქი შეიძლება იყოს ჩართული (წარმოდგენილია "1") ან გამორთული (წარმოდგენილია "0"). მდგომარეობა იცვლება თვალთვალის სიჩქარის (ც) შეყვანისა და მუდმივი ოპტიმალური სიჩქარის მიხედვით.

შავი ყუთის დიაგრამა

ასევე ზემოთ არის საწვავის ეფექტურობის მოდულის შავი ყუთი დიაგრამა, რომელიც შეიცავს სიჩქარის შედარების სქემას და შვიდი სეგმენტის ჩვენებას, რომლებიც შემდგომში განიხილება. ეს VHDL კოდი იღებს 8 ბიტიან შეყვანას ამაჩქარებლის გაზომვებიდან, რომელიც დაკავშირებულია არდუინოსთან.

ნაბიჯი 3: კოდირება VHDL

ამ პროექტისთვის არის სამი VHDL ფაილი, რომელიც ქმნის ჩვენს დიზაინს, Fuel_Efficency_FinalProject მოდული, Speed_Comparator მოდული და sseg_dec მოდული, სადაც Speed_Comparator და sseg_dec ქვედა დონეზეა საწვავის ეფექტურობის მოდულის შესაქმნელად.

სიჩქარის შედარების მოდული

ეს მოდული იღებს 8-ბიტიან სიჩქარეს კილომეტრში საათში და ადარებს მას ოპტიმალურ სიჩქარეს გაზის ყველაზე მცირე მოხმარებისთვის. ავტომობილის საუკეთესო გაზის გარბენის საშუალო ოპტიმალური სიჩქარეა 55 კმ / სთ და ქვემოთ. თუმცა, ეს შეიძლება განსხვავდებოდეს ავტომობილისგან, რაც შეიძლება მორგებული იყოს მოდულის ფარგლებში. კოდის 45 ხაზი, რომელიც შეიძლება შეიცვალოს პირადი ოპტიმიზაციისთვის, ნაჩვენებია ქვემოთ

თუ (თვალთვალი> "00110111") მაშინ

სადაც "00110111" (55 ორობითი) შეიძლება შეიცვალოს ნებისმიერი 8 ბიტიანი ნომრით თქვენი პირადი მანქანის იდეალური სიჩქარით საწვავის მინიმალური მოხმარებისთვის.

თუ სიჩქარე გადააჭარბებს ოპტიმალურ რიცხვს, შუქი აანთებს შეტყობინებას, რომ მანქანა არ იყენებს საწვავის მაქსიმალურ ეფექტურობას.

შვიდი სეგმენტის ჩვენების მოდული

ეს მოდული იღებს 8 ბიტიან სიჩქარეს მილში საათში და აჩვენებს სიჩქარეს შვიდი სეგმენტის ჩვენებაზე. ეს საშუალებას მისცემს მომხმარებელს იცოდეს რამდენად სწრაფად აპირებენ გაიგონ სჭირდება თუ არა მას შენელება. ეს მოდული მოგვცა ჩვენს კლასში და დაიწერა ბრაიან მეილიმ, რომელიც შეიცავს კომპონენტებს bin2bcdconv, რომელიც ორობითი 8 ბიტიანი შეყვანის BCD ფორმაში გარდაქმნის, რომლის გაშიფვრა და clk_div უფრო ადვილია, რათა ეკრანს ვიზუალურად აჩვენოს რიცხვი 3 ციფრით ანოდის გამომუშავების შეცვლით საათის მაღალი სიხშირით. ეს კოდი იღებს 8 ბიტიან რიცხვს, რომელიც გარდაქმნის რიცხვს წაკითხვად ეკრანად ბაზის 3 დაფაზე.

საწვავის ეფექტურობის მოდული

ეს არის მთავარი ფაილი, რომელიც იყენებს ზემოთ მოდულებს, როგორც კომპონენტებს. მისი შეყვანაა საათი და თვალთვალის სიჩქარე. საათი აგებულია ბაზის 3 დაფაზე და თვალყურის დევნის სიჩქარე მოცემულია არდუინოს გამომავალით, რომელიც დაკავშირებულია ანალოგური სიგნალის pmod პორტთან (XADC). 8 ბიტიანი თვალთვალის სიჩქარის თითოეული ბიტი არის რუკა პორტებში ნაჩვენები გაყვანილობის განყოფილებაში ნაბიჯი 4. სხვა Basys 3 შეზღუდვები შეგიძლიათ იხილოთ Basys_3_Master.xdc– ში.

ნაბიჯი 4: Arduino– ს კოდირება

ეს პროექტი იყენებს ერთ მთავარ არდუინოს ფაილს, რომელიც მოითხოვს რამდენიმე ბიბლიოთეკის გამოყენებას, რომელთაგან ზოგი უკვე თქვენს არდუინოს პროგრამაშია, ზოგი კი გადმოწერილი უნდა იყოს ამ ინსტრუქციიდან ან ადაფრუტის ვებგვერდიდან (ბმული ქვემოთ).

ბიბლიოთეკები

ბმული Adafruit BNO055 გვერდზე:

ადაფრუტმა შეიმუშავა 2 ბიბლიოთეკა BNO055– ის გამოსაყენებლად და მიეცი მაგალითები მათი გამოყენების შესახებ. ამ პროექტში ჩვენ ვიყენებთ.getVector ფუნქციას, რომ არდუინომ გამოუშვას ამაჩქარებლის მონაცემები.

ეს პროექტი ასევე იყენებს arduino პროგრამაში უკვე დამონტაჟებულ ბიბლიოთეკებს, მათემატიკის ბიბლიოთეკის მსგავსად.

მთავარი ფაილი

ეს ფაილი იყენებს.getVector ფუნქციის აქსელერომეტრის მონაცემებს და იყენებს მათემატიკურ განტოლებებს, რომ გადააქციოს სიჩქარე კილომეტრში საათში, რომელიც შემდგომ 8 ბიტიანი მონაცემებით შეიტანება Basys 3 -ში (იხ. "აპარატურის გაყვანილობა". ინფორმაცია).

ნაბიჯი 5: აპარატურის გაყვანილობა

აპარატურის გაყვანილობა
აპარატურის გაყვანილობა
აპარატურის გაყვანილობა
აპარატურის გაყვანილობა
აპარატურის გაყვანილობა
აპარატურის გაყვანილობა
აპარატურის გაყვანილობა
აპარატურის გაყვანილობა

არდუინოს გაყვანილობა

Arduino უნდა იყოს მიერთებული პურის დაფაზე, როგორც ეს მოცემულია ზემოთ მოცემულ სურათებში.

Basys 3 გაყვანილობა

არდუინოს შედეგები გამოითვლება Basys 3 -ის შესასვლელებში ანალოგური სიგნალის pmod JXADC პორტების საშუალებით. 8 ბიტიანი თვალთვალის სიჩქარის თითოეული ბიტი შეიძლება იყოს დაკავშირებული ერთ სურათზე, რომელიც ნაჩვენებია ზემოთ სურათზე. ყველაზე უმნიშვნელო ბიტი (ციფრული პინ 7) უკავშირდება ts (7) და ყველაზე მნიშვნელოვანი ბიტი (ციფრული პინ 0) უკავშირდება ts (0).

გირჩევთ: