Sommario:
Video: Sensore di livello del liquido (utilizzando gli ultrasuoni): 5 passaggi
2025 Autore: John Day | [email protected]. Ultima modifica: 2025-01-13 06:57
Il sensore di livello del liquido rileva il livello del liquido da un livello del suolo. Accende il motore (richiede un amplificatore del driver del motore) al di sotto di un determinato valore e lo spegne al di sopra di un determinato valore dopo aver riempito il liquido
Caratteristiche di questo sistema:
- Funziona con qualsiasi liquido (acqua, olio, ecc.).
- Portata fino a 250 cm di distanza dal suolo (anche altezza del serbatoio).
- Misurazione precisa (errore fino a 2 cm) con HC-SR04, Ping ecc.
- Uscita di controllo del motore.
-
Calibrazione (in runtime) disponibile per:
- Livello del suolo: può essere calibrato per qualsiasi serbatoio (fino a 250 cm di altezza) mentre il sistema è in funzione, con un pulsante.
- Livelli di accensione e spegnimento del motore: i livelli di accensione e spegnimento possono essere impostati con i preset forniti e un pulsante di cambio modalità.
- Indicazione fuori limite con '0 cm'.
- Funziona a 5V CC.
Parti necessarie per costruire:
- Arduino (o ATMega 328 con programmatore).
- HC-SR04 o qualsiasi modulo sensore a ultrasuoni comune.
- Preimpostazioni (20K o 10K) - 2 Pz
- Testata maschio - 6 pin
- Testata femmina 16 Pin
- Spingere il microinterruttore a clic
- Spingere il microinterruttore a levetta
- Resistore 10K 1/4 watt
- Diodo 1N4007
- Presa di alimentazione CC
- Resistenza 220E
- Veroboard (o Breadboard se preferisci)
- Cavi di collegamento
- Schermo LCD 16 * 2 con connettori maschio pin collegati
- Motor Driver e motore (se vuoi)
- Conoscenza base know how di elettronica e Arduino
Passaggio 1: Schema del circuito
Passaggio 2: lavoro
Nella nostra scheda sensori abbiamo parti Tx e Rx ad ultrasuoni. Il sensore legge la distanza dal livello della superficie del liquido. Il Tx è fondamentalmente un altoparlante da 40 KHz, che invia impulsi di suono ultrasonico a 40 KHz. Il tempo di invio dell'impulso e il tempo di ricezione dell'impulso viene annotato per ogni impulso. Questi impulsi vengono rilevati nell'MCU.
L'MCU rileva la differenza di tempo tra e quindi utilizza la velocità del suono per calcolare la distanza. L'MCU deve essere precalibrato per registrare la distanza dal livello del suolo, ovvero quando il serbatoio/contenitore è vuoto. Si calcola la differenza e si ottiene così il livello del liquido.
Il livello è mostrato nel display LCD 16x2. Anche altri dettagli sono mostrati sullo schermo.
Sono disponibili due preimpostazioni per il limite di valore massimo e minimo del generatore di segnale della pompa. Il viene generato quando il livello del liquido supera il limite massimo impostato dal preset. Il segnale torna nuovamente basso quando raggiunge il limite minimo impostato da altri preset.
La calibrazione della distanza dal suolo viene eseguita da un interruttore, che invia un segnale al chip atmega328 e registra la distanza corrente e la imposta come massa di riferimento.
Passaggio 3: programma - Arduino
Il programma è realizzato in Arduino. Usa questo per masterizzare su Atmega328 (o qualsiasi cosa di tuo gradimento).
Il programma è disponibile su git sotto GPL-3.0.
Un file esadecimale compilato è già fornito per un facile caricamento utilizzando arduino-builder.
Dipendenze:
Libreria Newping.
Passaggio 4: calibrazione e dati
Lo schermo LCD mostra il livello attuale (differenza) dal livello calibrato.
I due preset decidono il livello superiore (livello massimo) dopo il quale il carico si spegne e quello inferiore (livello minimo) dopo il quale il carico si accende. Il carico inteso qui è la pompa, poiché questo sistema è applicabile nel sistema di pompaggio automatizzato. Quattro intestazioni sono per il sensore sonico (ping). Ho usato HC-SR04. Una coppia di connettori per motore (pin digitale 9). Richiede un driver della pompa esterno. Ha usato EEPROM per memorizzare i dati di calibrazione.
Sono previste due calibrazioni:
- LEVEL_CAL
- MOTOR_TRIGGER_CAL
Passaggio 5: controllo della pompa
La scheda dispone di 2 pin dedicati per il segnale della pompa
Uno emette un segnale di 5V quando la pompa deve essere accesa (quando il livello del liquido scende al di sotto del valore limite inferiore preimpostato) e fornisce un segnale di 0V quando la pompa deve essere tenuta spenta (il livello supera il limite superiore).
Il segnale viene inviato a una scheda relè per controllare una pompa CA.