Índice:
- Etapa 1: Materiais
- Etapa 2: Compreendendo o Design
- Etapa 3: Codificando VHDL
- Etapa 4: codificando o Arduino
- Etapa 5: Fiação do Hardware
Vídeo: Detector de eficiência de combustível: 5 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:39
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 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
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 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:
Conversor de Buck de saída de 5V de alta eficiência DIY !: 7 etapas
DIY High Efficiency 5V Output Buck Converter !: Eu queria uma maneira eficiente de reduzir tensões mais altas de pacotes LiPo (e outras fontes) para 5V para projetos eletrônicos. No passado, usei módulos de buck genéricos do eBay, mas o controle de qualidade questionável e nenhum nome de capa eletrolítica
Placa de driver de motor com eficiência energética: 5 etapas
Placa de driver de motor com eficiência energética: O projeto apresentado é uma placa de circuito de motor de passo / driver de motor com IC de driver de motor SN754410 incluindo alguns recursos de economia de energia. A placa pode acionar 2 motores CC ou um motor de passo com a ajuda de um circuito de ponte H duplo no IC. SN754410 IC
Sistema De Suporte a Eficiência Energética Para Refrigeradores: 14 etapas
Sistema De Suporte a Eficiência Energética Para Refrigeradores: Olá a todos, tudo bem. Neste projeto apresento as etapas para o desenvolvimento de um sistema de apoio para o consumo e eficiência energética em refrigeradores.Mas primeiro, vamos contextualizar você do problema existente: Em tempos de cr
Medir o nível de combustível com Arduino: 4 etapas (com imagens)
Medir o nível de combustível com o Arduino: A unidade de detecção geralmente usa um flutuador conectado a um potenciômetro, normalmente com design de tinta impressa em um automóvel moderno. À medida que o tanque se esvazia, o flutuador cai e desliza um contato móvel ao longo do resistor, aumentando sua resistência. [2] Além disso
Como fazer uma célula de combustível microbiana (MFC) usando lama: 7 etapas (com fotos)
Como fazer uma célula de combustível microbiana (MFC) usando lama: A célula de combustível microbiana MudWatt (carinhosamente apelidada de "Bateria de sujeira") é um dispositivo que usa bactérias para converter a matéria orgânica encontrada na lama em eletricidade. Este Instructable irá guiá-lo como fazer seu próprio combustível microbiano c