Mục lục:

Máy dò hiệu quả nhiên liệu: 5 bước
Máy dò hiệu quả nhiên liệu: 5 bước

Video: Máy dò hiệu quả nhiên liệu: 5 bước

Video: Máy dò hiệu quả nhiên liệu: 5 bước
Video: 6 bước đo SpO2 tại nhà cho kết quả chính xác nhất | BS Nguyễn Ngọc Bách, BV Vinmec Times City 2024, Tháng bảy
Anonim
Máy dò hiệu quả nhiên liệu
Máy dò hiệu quả nhiên liệu

Bởi: Danica Fujiwara và William McGrouther

Ô tô là phương tiện giao thông chính trên thế giới ngày nay. Cụ thể, ở California, chúng ta được bao quanh bởi các đường phố, đường cao tốc và đường thu phí mà hàng nghìn xe ô tô chạy hàng ngày. Tuy nhiên, ô tô sử dụng khí đốt và California sử dụng nhiều xăng nhất so với bất kỳ bang nào khác ở Hoa Kỳ, khoảng 4, 500 gallon mỗi ngày. Đối với dự án CPE 133 Final, chúng tôi quyết định tạo ra một hệ thống trong đó nó có thể theo dõi tốc độ của ô tô và cho biết liệu nó có vượt quá tốc độ hiệu quả nhất để tiết kiệm xăng hoặc tiết kiệm nhiên liệu tốt nhất hay không. Dự án này sẽ giúp người lái xe nhận thức được việc tiết kiệm nhiên liệu của họ, từ đó hy vọng sẽ giúp họ tiết kiệm tiền, sử dụng ít xăng hơn và ít ô nhiễm hơn trong không khí.

Bước 1: Vật liệu

Vật liệu
Vật liệu
Vật liệu
Vật liệu
Vật liệu
Vật liệu
Vật liệu
Vật liệu

Vật liệu cần thiết cho dự án này:

- Basys 3 FPGA

- Arduino Uno

- Bảng bánh mì

- Cảm biến định hướng tuyệt đối Adafruit BNO055

- Dây đực đến đực

Bước 2: Tìm hiểu thiết kế

Hiểu thiết kế
Hiểu thiết kế
Hiểu thiết kế
Hiểu thiết kế

Sơ đồ trạng thái hữu hạn

Dự án này có hai trạng thái khác nhau trong biểu đồ trạng thái hữu hạn được hiển thị ở trên. Đèn có thể bật (được biểu thị bằng ‘1’) hoặc tắt (được biểu thị bằng ‘0’). Trạng thái thay đổi tùy thuộc vào đầu vào của tốc độ theo dõi (ts) và tốc độ tối ưu không đổi.

Sơ đồ hộp đen

Ngoài ra ở trên còn có sơ đồ Hộp đen của mô-đun Hiệu suất nhiên liệu có chứa sơ đồ của Bộ so sánh tốc độ và Màn hình hiển thị bảy đoạn được thảo luận thêm bên dưới. Mã VHDL này nhận đầu vào 8 bit từ các phép đo của gia tốc kế được kết nối với arduino.

Bước 3: Mã hóa VHDL

Đối với dự án này, có ba tệp VHDL xây dựng thiết kế của chúng tôi, mô-đun Fuel_Efficency_FinalProject, mô-đun Speed_Comparator và mô-đun sseg_dec trong đó Speed_Comparator và sseg_dec ở cấp thấp hơn để tạo nên mô-đun Hiệu quả nhiên liệu.

Mô-đun so sánh tốc độ

Mô-đun này lấy tốc độ 8 bit tính bằng dặm / giờ và so sánh nó với tốc độ tối ưu để tiêu thụ ít khí nhất. Tốc độ tối ưu trung bình để tiết kiệm xăng tốt nhất của một chiếc ô tô là khoảng từ 55 dặm / giờ trở xuống. Tuy nhiên, điều này có thể khác nhau giữa các xe hơi và có thể được tùy chỉnh trong mô-đun. Dòng 45 của mã có thể được thay đổi để tối ưu hóa cá nhân được hiển thị bên dưới

if (theo dõi> "00110111") thì

Trong đó “00110111” (55 trong hệ nhị phân) có thể được thay đổi thành bất kỳ số 8 bit nào cho tốc độ lý tưởng của ô tô cá nhân của bạn với mức tiêu thụ nhiên liệu ít nhất.

Nếu tốc độ vượt quá con số tối ưu, đèn sẽ bật sáng để thông báo rằng xe đang không sử dụng hiệu quả nhiên liệu tối đa.

Mô hình hiển thị bảy phân đoạn

Mô-đun này có tốc độ 8 bit tính bằng dặm / giờ và hiển thị tốc độ trên màn hình bảy đoạn. Điều này sẽ cho phép người dùng biết họ sẽ nhanh như thế nào để biết liệu họ có cần giảm tốc độ hay không. Mô-đun này đã được trao cho chúng tôi trong lớp của chúng tôi và được viết bởi Bryan mealy có chứa các thành phần bin2bcdconv chuyển đổi đầu vào 8 bit nhị phân thành dạng BCD dễ giải mã hơn và clk_div để màn hình có thể hiển thị trực quan một số có 3 chữ số bằng cách thay đổi đầu ra cực dương ở tần số xung nhịp cao. Mã này chấp nhận một số 8 bit chuyển đổi số thành một màn hình hiển thị có thể đọc được trên bảng basys 3.

Mô-đun Tiết kiệm nhiên liệu

Đây là tệp chính sử dụng các mô-đun ở trên làm thành phần. Đầu vào của nó là đồng hồ và tốc độ theo dõi. Đồng hồ được xây dựng bên trong bo mạch basys 3 và tốc độ theo dõi được cung cấp bởi đầu ra của arduino được kết nối với Cổng pmod tín hiệu tương tự (XADC). Mỗi bit của tốc độ theo dõi 8 bit được ánh xạ tới các cổng được hiển thị trong phần đi dây ở bước 4. Các ràng buộc Basys 3 khác có thể được tìm thấy trong Basys_3_Master.xdc.

Bước 4: Mã hóa Arduino

Dự án này sử dụng một tệp arduino chính yêu cầu sử dụng một số thư viện, một số trong số đó đã có trong chương trình arduino của bạn và những tệp khác phải được tải xuống từ hướng dẫn này hoặc trang web Adafruit (liên kết bên dưới).

Thư viện

liên kết đến trang BNO055 của Adafruit:

Adafruit đã phát triển 2 thư viện để sử dụng BNO055 và đưa ra các ví dụ về cách sử dụng chúng. Trong dự án này, chúng tôi sẽ sử dụng hàm.getVector để arduino xuất ra dữ liệu của gia tốc kế.

Dự án này cũng sử dụng một số thư viện đã được cài đặt trong chương trình arduino, như thư viện toán học.

Tập tin chính

Tệp này sử dụng dữ liệu gia tốc kế từ hàm.getVector và sử dụng các phương trình toán học để biến nó thành tốc độ tính bằng dặm / giờ, sau đó được xuất dưới dạng 8 bit dữ liệu tới Basys 3 (xem phần "Nối phần cứng" để biết thêm thông tin).

Bước 5: Nối dây phần cứng

Đấu dây phần cứng
Đấu dây phần cứng
Đấu dây phần cứng
Đấu dây phần cứng
Đấu dây phần cứng
Đấu dây phần cứng
Đấu dây phần cứng
Đấu dây phần cứng

Hệ thống dây Arduino

Arduino phải được kết nối với breadboard giống như trong các hình trên.

Hệ thống dây điện Basys 3

Các đầu ra của arduino được ánh xạ tới các đầu vào của Basys 3 thông qua các cổng JXADC pmod tín hiệu Analog. Mỗi bit của tốc độ theo dõi 8 bit có thể được kết nối với một trong các chân hiển thị trong hình trên. Bit quan trọng nhất (chân kỹ thuật số 7) được kết nối với ts (7) và bit quan trọng nhất (chân kỹ thuật số 0) được kết nối với ts (0).

Đề xuất: