Tabla de contenido:

Mida el nivel de combustible con Arduino: 4 pasos (con imágenes)
Mida el nivel de combustible con Arduino: 4 pasos (con imágenes)

Video: Mida el nivel de combustible con Arduino: 4 pasos (con imágenes)

Video: Mida el nivel de combustible con Arduino: 4 pasos (con imágenes)
Video: Funcionamiento del marcador de gasolina 2024, Mes de julio
Anonim
Image
Image
Mida el nivel de combustible con Arduino
Mida el nivel de combustible con Arduino

La unidad sensora generalmente usa un flotador conectado a un potenciómetro, típicamente con diseño de tinta impresa en un automóvil moderno. A medida que el tanque se vacía, el flotador cae y desliza un contacto móvil a lo largo de la resistencia, aumentando su resistencia. [2] Además, cuando la resistencia está en cierto punto, también encenderá una luz de "combustible bajo" en algunos vehículos.

Mientras tanto, la unidad indicadora (generalmente montada en el tablero) mide y muestra la cantidad de corriente eléctrica que fluye a través de la unidad emisora. Cuando el nivel del tanque es alto y la corriente máxima fluye, la aguja apunta a "F", lo que indica que el tanque está lleno. Cuando el tanque está vacío y fluye la menor cantidad de corriente, la aguja apunta a "E" que indica un tanque vacío.

El indicador de combustible digital en un Hyundai Elantra 2012 que muestra un tanque lleno junto con una distancia hasta la pantalla vacía.

El sistema puede ser a prueba de fallas. Si se abre una falla eléctrica, el circuito eléctrico hace que el indicador muestre que el tanque está vacío (teóricamente provocando que el conductor vuelva a llenar el tanque) en lugar de lleno (lo que permitiría al conductor quedarse sin combustible sin notificación previa). La corrosión o el desgaste del potenciómetro proporcionarán lecturas erróneas del nivel de combustible. Sin embargo, este sistema tiene un riesgo potencial asociado. Se envía una corriente eléctrica a través de la resistencia variable a la que está conectado un flotador, por lo que el valor de la resistencia depende del nivel de combustible. En la mayoría de los medidores de combustible de automóviles, tales resistencias están en el lado interior del medidor, es decir, dentro del tanque de combustible. Enviar corriente a través de una resistencia de este tipo tiene un riesgo de incendio y un riesgo de explosión asociado. Estos sensores de resistencia también muestran una mayor tasa de fallas con las adiciones incrementales de alcohol en el combustible de gasolina para automóviles. El alcohol aumenta la velocidad de corrosión en el potenciómetro, ya que es capaz de transportar corriente como el agua. Las aplicaciones de potenciómetro para combustible de alcohol utilizan una metodología de pulso y retención, con una señal periódica que se envía para determinar el nivel de combustible y disminuir el potencial de corrosión. Por lo tanto, se desea la demanda de otro método sin contacto más seguro para el nivel de combustible.

Wikypedia

Paso 1: Teoría

Teoría
Teoría
Teoría
Teoría
Teoría
Teoría

Hay dos cosas que debes entender:

Interruptor magnético:

Este sensor tiene muchas resistencias de valores diferentes (Nivel bajo 240 ohmios Nivel alto 30 ohmios), que conmuta a "GND" (No necesariamente).

Ley de Ohm:

si podemos aplicar un voltaje fijo y una resistencia fija, podemos aplicar la ley de Ohm.

y medir el voltaje en cualquier nivel dado, por lo que transformamos los conmutadores digitales en analógicos.

Paso 2: esquemas-materiales

Materiales esquemáticos
Materiales esquemáticos
Materiales esquemáticos
Materiales esquemáticos
Materiales esquemáticos
Materiales esquemáticos

-Arduino Nano

-Pantalla OLED

-Tablero de circuitos

-Sensor de nivel

-2 resistencias de 2.2K

-2 resistencias de 100 ohmios

tuppens.com/kus-wema-fuel-water-tank-level…

Paso 3: Programa

Programa
Programa

El programa toma básicamente un valor medido de 0-1023

primero nos damos cuenta del valor que obtenemos en el nivel bajo y en el nivel alto

tengo

min = 295

máx = 785

luego mapearlo de 0 a 100

Como esto.

TankValue0 = mapa (sensorTankValue0, 295, 785, 0, 100);

Recomendado: