Índice:

Detector de eficiência de combustível: 5 etapas
Detector de eficiência de combustível: 5 etapas

Vídeo: Detector de eficiência de combustível: 5 etapas

Vídeo: Detector de eficiência de combustível: 5 etapas
Vídeo: Como funciona a EXTRAÇÃO de PETRÓLEO? O que é Refino de PETRÓLEO? 2024, Novembro
Anonim
Detector de eficiência de combustível
Detector de eficiência de combustível

Por: Danica Fujiwara e William McGrouther

Os carros são o principal meio de transporte no mundo hoje. Especificamente, na Califórnia, estamos cercados por ruas, rodovias e estradas com pedágio por onde passam milhares de carros diariamente. No entanto, os carros usam gasolina e a Califórnia usa mais gasolina do que qualquer outro estado dos EUA, aproximadamente 4.500 galões por dia. Para nosso projeto final do CPE 133, decidimos criar um sistema no qual pudesse rastrear a velocidade de um carro e dizer se ela excede a velocidade mais eficiente para a melhor milhagem de gás ou economia de combustível. Este projeto ajudaria os motoristas a se conscientizarem de sua economia de combustível, o que, por sua vez, os ajudaria a economizar dinheiro, usar menos gasolina e criar menos poluição no ar.

Etapa 1: Materiais

Materiais
Materiais
Materiais
Materiais
Materiais
Materiais
Materiais
Materiais

Materiais necessários para este projeto:

- Basys 3 FPGA

- Arduino Uno

- breadboard

- Sensor de orientação absoluta Adafruit BNO055

- Fios macho para macho

Etapa 2: Compreendendo o Design

Compreendendo o Design
Compreendendo o Design
Compreendendo o Design
Compreendendo o Design

Diagrama de Estados Finitos

Este projeto tem dois estados diferentes dentro do diagrama de estado finito mostrado acima. A luz pode estar ligada (representada por '1') ou desligada (representada por '0'). O estado muda dependendo da entrada da velocidade de rastreamento (ts) e da velocidade ótima constante.

Diagrama de caixa preta

Também acima, há um diagrama de caixa preta do módulo de eficiência de combustível que contém o esquema do comparador de velocidade e a tela de sete segmentos que são discutidos abaixo. Este código VHDL recebe uma entrada de 8 bits das medições do acelerômetro que está conectado ao arduino.

Etapa 3: Codificando VHDL

Para este projeto, existem três arquivos VHDL que constroem nosso design, módulo Fuel_Efficency_FinalProject, módulo Speed_Comparator e o módulo sseg_dec onde Speed_Comparator e sseg_dec estão no nível inferior para compor o módulo de eficiência de combustível.

O módulo comparador de velocidade

Este módulo obtém uma velocidade de 8 bits em milhas por hora e a compara com a velocidade ideal para a menor quantidade de consumo de gás. A velocidade média ideal para o melhor consumo de combustível de um carro é de cerca de 55 mph ou menos. No entanto, isso pode variar de carro para carro, que pode ser personalizado dentro do módulo. A linha 45 do código que pode ser alterada para otimização pessoal é mostrada abaixo

if (rastreamento> "00110111") então

Onde "00110111" (55 em binário) pode ser alterado para qualquer número de 8 bits para a velocidade ideal do seu carro pessoal com a menor quantidade de consumo de combustível.

Se a velocidade estiver acima do número ideal, a luz acenderá notificando que o carro não está usando a eficiência máxima de combustível.

O Módulo de Exibição de Sete Segmentos

Este módulo obtém uma velocidade de 8 bits em milhas por hora e exibe a velocidade no display de sete segmentos. Isso permitiria ao usuário saber o quão rápido ele vai saber se ele ou ela precisa diminuir a velocidade. Este módulo foi dado a nós em nossa classe e foi escrito por Bryan mealy que contém os componentes bin2bcdconv que converte a entrada binária de 8 bits para a forma BCD que é mais fácil de decodificar e clk_div para que o display possa mostrar visualmente um número com 3 dígitos alterando a saída do ânodo em uma alta frequência de clock. Este código aceita um número de 8 bits e converte o número em um display legível na placa basys 3.

O módulo de eficiência de combustível

Este é o arquivo principal que usa os módulos acima como componentes. Suas entradas são o relógio e a velocidade de rastreamento. O relógio é construído dentro da placa basys 3 e a velocidade de rastreamento é fornecida pela saída do arduino que está conectada à porta pmod do sinal analógico (XADC). Cada bit da velocidade de rastreamento de 8 bits é mapeado para as portas mostradas na seção de fiação na etapa 4. Outras restrições do Basys 3 podem ser encontradas em Basys_3_Master.xdc.

Etapa 4: codificando o Arduino

Este projeto usa um arquivo arduino principal que requer o uso de várias bibliotecas, algumas das quais já estão em seu programa arduino e outras devem ser baixadas deste instrutível ou do site da Adafruit (link abaixo).

Bibliotecas

link para a página Adafruit BNO055:

A Adafruit desenvolveu 2 bibliotecas para uso do BNO055 e dá exemplos de como usá-las. Neste projeto, usaremos a função.getVector para que o arduino produza os dados do acelerômetro.

Este projeto também utiliza algumas bibliotecas já instaladas no programa arduino, como a biblioteca matemática.

Arquivo Principal

Este arquivo usa os dados do acelerômetro da função.getVector e usa equações matemáticas para transformá-lo em uma velocidade em milhas por hora, que é então enviada em 8 bits de dados para o Basys 3 (consulte a seção "Fiação do Hardware" para mais em formação).

Etapa 5: Fiação do Hardware

Fiação do Hardware
Fiação do Hardware
Fiação do Hardware
Fiação do Hardware
Fiação do Hardware
Fiação do Hardware
Fiação do Hardware
Fiação do Hardware

Fiação Arduino

O Arduino deve ser conectado à placa de ensaio como nas fotos acima.

Fiação Basys 3

As saídas do arduino são mapeadas para as entradas do Basys 3 por meio das portas JXADC do pmod do sinal analógico. Cada bit da velocidade de rastreamento de 8 bits pode ser conectado a um dos pinos mostrados na imagem acima. O bit menos significativo (pino digital 7) é conectado a ts (7) e o bit mais significativo (pino digital 0) é conectado a ts (0).

Recomendado: