Sommario:

Misura il livello del carburante con Arduino: 4 passaggi (con immagini)
Misura il livello del carburante con Arduino: 4 passaggi (con immagini)

Video: Misura il livello del carburante con Arduino: 4 passaggi (con immagini)

Video: Misura il livello del carburante con Arduino: 4 passaggi (con immagini)
Video: PROGETTO Arduino: Stazione qualità dell'aria 2024, Novembre
Anonim
Image
Image
Misura il livello del carburante con Arduino
Misura il livello del carburante con Arduino

L'unità di rilevamento di solito utilizza un galleggiante collegato a un potenziometro, in genere un design a inchiostro stampato in un'automobile moderna. Quando il serbatoio si svuota, il galleggiante cade e fa scorrere un contatto mobile lungo il resistore, aumentandone la resistenza.[2] Inoltre, quando la resistenza è ad un certo punto, su alcuni veicoli si accenderà anche una spia di "basso livello di carburante".

Nel frattempo, l'unità indicatore (solitamente montata sul cruscotto) misura e visualizza la quantità di corrente elettrica che scorre attraverso l'unità di invio. Quando il livello del serbatoio è alto e scorre la corrente massima, l'ago punta su "F" che indica un serbatoio pieno. Quando il serbatoio è vuoto e scorre la minima corrente, l'ago indica "E" che indica un serbatoio vuoto.

L'indicatore del carburante digitale in una Hyundai Elantra del 2012 che mostra un serbatoio pieno insieme a una distanza dal display vuoto.

Il sistema può essere a prova di guasto. Se si apre un guasto elettrico, il circuito elettrico fa sì che l'indicatore mostri il serbatoio vuoto (in teoria inducendo il conducente a riempire il serbatoio) anziché pieno (il che consentirebbe al conducente di rimanere senza carburante senza preavviso). La corrosione o l'usura del potenziometro forniranno letture errate del livello del carburante. Tuttavia, questo sistema ha un potenziale rischio ad esso associato. Una corrente elettrica viene inviata attraverso il resistore variabile a cui è collegato un galleggiante, in modo che il valore della resistenza dipenda dal livello del carburante. Nella maggior parte degli indicatori di carburante per autoveicoli tali resistori si trovano sul lato interno dell'indicatore, cioè all'interno del serbatoio del carburante. L'invio di corrente attraverso un tale resistore comporta un rischio di incendio e un rischio di esplosione ad esso associato. Questi sensori di resistenza mostrano anche un aumento del tasso di guasto con le aggiunte incrementali di alcol nel carburante per autotrazione. L'alcol aumenta la velocità di corrosione al potenziometro, poiché è in grado di trasportare corrente come l'acqua. Le applicazioni del potenziometro per il carburante alcolico utilizzano una metodologia a impulsi e trattenuti, con l'invio di un segnale periodico per determinare il livello del carburante riducendo il potenziale di corrosione. Pertanto, si desidera richiedere un altro metodo più sicuro e senza contatto per il livello del carburante.

Wikipedia

Fase 1: Teoria

Teoria
Teoria
Teoria
Teoria
Teoria
Teoria

Ci sono due cose che devi capire:

Interruttore magnetico:

Questo sensore ha molti resistori di diverso valore (livello basso 240 ohm livello alto 30 ohm), che commuta a "GND" (non necessariamente).

Legge di Ohm:

se possiamo applicare una tensione fissa e un resistore fisso possiamo applicare la legge di Ohm.

e misuriamo la tensione in un dato livello, quindi trasformiamo la commutazione digitale in analogico.

Fase 2: Schemi-materiali

Schemi-materiali
Schemi-materiali
Schemi-materiali
Schemi-materiali
Schemi-materiali
Schemi-materiali

-Arduino Nano

-Display Oled

-tagliere

-Sensore di livello

-2 resistori da 2.2K

-2 resistori da 100ohm

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

Passaggio 3: programma

Programma
Programma

Il programma prende fondamentalmente un valore misurato da 0-1023

per prima cosa prendiamo nota del valore che otteniamo al livello basso e al livello alto

ho ottenuto

minimo = 295

massimo = 785

quindi mappalo da 0 a 100

Come questo.

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

Consigliato: