Sommario:

Come creare un misuratore di portata dell'acqua: 7 passaggi
Come creare un misuratore di portata dell'acqua: 7 passaggi

Video: Come creare un misuratore di portata dell'acqua: 7 passaggi

Video: Come creare un misuratore di portata dell'acqua: 7 passaggi
Video: Ecco come misurare la portata giusta per il tuo impianto d'irrigazione 2024, Dicembre
Anonim
Come creare un misuratore di portata d'acqua
Come creare un misuratore di portata d'acqua

Un misuratore di portata per liquidi accurato, piccolo ed economico può essere facilmente realizzato utilizzando i componenti GreenPAK™. In questo Instructable presentiamo un misuratore di portata d'acqua che misura continuamente il flusso d'acqua e lo visualizza su tre display a 7 segmenti. Il campo di misura del sensore di flusso va da 1 a 30 litri al minuto. L'uscita del sensore è un segnale PWM digitale con frequenza proporzionale alla portata dell'acqua.

Tre circuiti integrati SLG46533 a matrice di segnale misto programmabili GreenPAK contano il numero di impulsi entro un tempo di base T. Questo tempo di base viene calcolato in modo tale che il numero di impulsi sia uguale alla portata in quel periodo, quindi questo numero calcolato viene visualizzato sul 7 -visualizzazioni di segmenti. La risoluzione è di 0,1 litri/min.

L'uscita del sensore è collegata ad un ingresso digitale con trigger Schmitt di una prima Matrice a segnale misto che conta il numero frazionario. I chip sono collegati in cascata insieme tramite un'uscita digitale, che è collegata a un ingresso digitale di una matrice a segnale misto precedente. Ogni dispositivo è collegato ad un display a catodo comune a 7 segmenti tramite 7 uscite.

L'utilizzo di una matrice di segnale misto programmabile GreenPAK è preferibile a molte altre soluzioni come microcontrollori e componenti discreti. Rispetto a un microcontrollore, un GreenPAK è più economico, più piccolo e più facile da programmare. Rispetto a un progetto di circuiti integrati a logica discreta, è anche più economico, più facile da costruire e più piccolo.

Per rendere commercialmente valida questa soluzione, il sistema deve essere il più piccolo possibile ed essere racchiuso all'interno di un involucro impermeabile e rigido resistente all'acqua, alla polvere, al vapore e ad altri fattori in modo che possa funzionare in varie condizioni.

Per testare il design è stato costruito un semplice PCB. I dispositivi GreenPAK sono collegati a questo PCB utilizzando connettori femmina a 20 pin a doppia fila.

I test vengono effettuati una prima volta utilizzando impulsi generati da un Arduino e in una seconda volta è stata misurata la portata d'acqua di una fonte d'acqua domestica. Il sistema ha mostrato una precisione del 99%.

Scopri tutti i passaggi necessari per capire come è stato programmato il chip GreenPAK per controllare il Water Flow Meter. Tuttavia, se desideri solo ottenere il risultato della programmazione, scarica il software GreenPAK per visualizzare il file di progettazione GreenPAK già completato. Collega il kit di sviluppo GreenPAK al tuo computer e premi il programma per creare l'IC personalizzato per controllare il tuo misuratore di portata d'acqua. Segui i passaggi descritti di seguito se sei interessato a capire come funziona il circuito.

Passaggio 1: descrizione generale del sistema

Descrizione generale del sistema
Descrizione generale del sistema
Descrizione generale del sistema
Descrizione generale del sistema

Uno dei modi più comuni per misurare la portata del liquido è esattamente come il principio della misurazione della velocità del vento con un anemometro: la velocità del vento è proporzionale alla velocità di rotazione dell'anemometro. La parte principale di questo tipo di sensore di flusso è una sorta di girandola, la cui velocità è proporzionale alla portata del liquido che lo attraversa.

Abbiamo utilizzato il sensore di flusso d'acqua YF-S201 della ditta URUK mostrato nella Figura 1. In questo sensore, un sensore ad effetto Hall montato sulla girandola emette un impulso ad ogni giro. La frequenza del segnale di uscita è presentata in Formula 1, dove Q è la portata d'acqua in litri/minuto.

Ad esempio, se la portata misurata è 1 litro/minuto, la frequenza del segnale di uscita è 7,5 Hz. Per visualizzare il valore reale della portata nel formato 1.0 litri/minuto, dobbiamo contare gli impulsi per un tempo di 1.333 secondi. Nell'esempio 1,0 litro/minuto, il risultato conteggiato sarà 10, che verrà visualizzato come 01.0 sui display a sette segmenti. In questa applicazione vengono affrontate due attività: la prima è il conteggio degli impulsi e la seconda è la visualizzazione del numero al termine dell'attività di conteggio. Ogni attività dura 1,333 secondi.

Passaggio 2: implementazione di GreenPAK Designer

SLG46533 ha molte macrocelle con funzioni combinate versatili e possono essere configurate come Look up Tables, contatori o D-Flip-Flop. Questa modularità è ciò che rende GreenPAK adatto all'applicazione.

Il programma ha 3 fasi: la fase (1) genera un segnale digitale periodico per passare tra i 2 compiti del sistema, la fase (2) conta gli impulsi del sensore di flusso e la fase (3) visualizza il numero frazionario.

Passaggio 3: prima fase: commutazione conteggio/visualizzazione

Prima fase: commutazione conteggio/visualizzazione
Prima fase: commutazione conteggio/visualizzazione
Prima fase: commutazione conteggio/visualizzazione
Prima fase: commutazione conteggio/visualizzazione
Prima fase: commutazione conteggio/visualizzazione
Prima fase: commutazione conteggio/visualizzazione

È necessaria un'uscita digitale “COUNT/DISP-OUT” che cambia lo stato tra alto e basso ogni 1,333 secondi. Quando è alto, il sistema conta gli impulsi e quando è basso visualizza il risultato conteggiato. Ciò può essere ottenuto utilizzando DFF0, CNT1 e OSC0 cablati come mostrato nella Figura 2.

La frequenza di OSC0 è 25 kHz. CNT1/DLY1/FSM1 è configurato come contatore e il suo ingresso di clock è collegato a CLK/4 in modo che la frequenza di clock di ingresso di CNT1 sia 6,25 kHz. Per il primo periodo di clock che dura come mostrato nell'Equazione 1, l'uscita CNT1 è alta e dal fronte di salita del segnale di clock successivo, l'uscita del contatore è bassa e CNT1 inizia a decrementare da 8332. Quando i dati CNT1 raggiungono lo 0, viene inviato un nuovo impulso sull'uscita CNT1 generato. Ad ogni fronte di salita dell'uscita CNT1, l'uscita DFF0 cambia stato, se bassa passa ad alta e viceversa.

La polarità dell'uscita di DFF0 deve essere configurata come invertita. CNT1 è impostato su 8332 perché il tempo di conteggio/visualizzazione T è uguale a quello mostrato nell'equazione 2.

Fase 4: Seconda fase: conteggio degli impulsi in ingresso

Seconda fase: conteggio degli impulsi in ingresso
Seconda fase: conteggio degli impulsi in ingresso
Seconda fase: conteggio degli impulsi in ingresso
Seconda fase: conteggio degli impulsi in ingresso
Seconda fase: conteggio degli impulsi in ingresso
Seconda fase: conteggio degli impulsi in ingresso

Un contatore a 4 bit viene realizzato utilizzando DFF3/4/5/6, come mostrato in Figura 4. Questo contatore aumenta ad ogni impulso solo quando "COUNT/DISP-IN", che è il PIN 9, è alto. Gli ingressi della porta AND 2-L2 sono "COUNT/DISP-IN" e l'ingresso PWM. Il contatore viene azzerato quando raggiunge 10 o quando inizia la fase di conteggio. Il contatore a 4 bit viene ripristinato quando i pin RESET DFF, che sono collegati alla stessa rete "RESET", sono bassi.

LUT2 a 4 bit viene utilizzato per azzerare il contatore quando raggiunge 10. Poiché le uscite DFF sono invertite, i numeri vengono definiti invertendo tutti i bit delle loro rappresentazioni binarie: scambiando 0 con 1 e viceversa. Questa rappresentazione è chiamata complemento a 1 del numero binario. Gli ingressi LUT2 a 4 bit IN0, IN1, IN2 e IN3 sono collegati rispettivamente a a0, a1, a2, a3 e a3. La tabella della verità per 4-LUT2 è mostrata nella Tabella 1.

Quando vengono registrati 10 impulsi, l'uscita di 4-LUT0 passa da alta a bassa. A questo punto l'uscita di CNT6/DLY6, configurata per funzionare in modalità one shot, passa a bassa per un periodo di 90 ns poi si riaccende. Allo stesso modo, quando "COUNT/DISP-IN" passa da basso ad alto, cioè. il sistema inizia a contare gli impulsi. L'uscita di CNT5/DLY5, configurata per funzionare in modalità one shot, commuta troppo bassa per un periodo di 90 ns quindi si riaccende. È fondamentale mantenere il pulsante RESET a un livello basso per un po' e riaccenderlo utilizzando CNT5 e CNT6 per dare il tempo di ripristinare tutti i DFF. Un ritardo di 90 ns non ha alcun impatto sulla precisione del sistema poiché la frequenza massima del segnale PWM è di 225 Hz. Le uscite CNT5 e CNT6 sono collegate agli ingressi della porta AND che emette il segnale di RESET.

L'uscita di 4-LUT2 è anche collegata al Pin 4, etichettato "F/10-OUT", che sarà collegato all'ingresso PWM della fase di conteggio del chip successivo. Ad esempio, se "PWM-IN" del dispositivo di conteggio frazionario è collegato all'uscita PWM del sensore e il suo "F/10-OUT" è collegato al "PWM-IN" del dispositivo di conteggio delle unità e il " F/10-OUT" di quest'ultimo è collegato al "PWM-IN" del dispositivo conta decine e così via. "COUNT/DISP-IN" di tutti questi stadi deve essere collegato allo stesso "COUNT/DISP-OUT" di uno qualsiasi dei 3 dispositivi per il dispositivo di conteggio frazionario.

La Figura 5 spiega in dettaglio come funziona questa fase mostrando come misurare una portata di 1,5 litri/minuto.

Passaggio 5: terza fase: visualizzazione del valore misurato

Terza fase: visualizzazione del valore misurato
Terza fase: visualizzazione del valore misurato
Terza fase: visualizzazione del valore misurato
Terza fase: visualizzazione del valore misurato
Terza fase: visualizzazione del valore misurato
Terza fase: visualizzazione del valore misurato

Questo stadio ha come ingressi: a0, a1, a2 e a3 (invertiti), e andrà in uscita ai pin collegati al display a 7 segmenti. Ogni segmento ha una funzione logica che deve essere eseguita dalle LUT disponibili. Le LUT a 4 bit possono svolgere il lavoro molto facilmente, ma sfortunatamente solo 1 è disponibile. LUT0 a 4 bit è usato per il segmento G, ma per gli altri segmenti abbiamo usato una coppia di LUT a 3 bit come mostrato nella Figura 6. Le LUT a 3 bit più a sinistra hanno a2/a1/a0 collegati ai loro ingressi, mentre le LUT più a destra Le LUT a 3 bit hanno a3 collegato ai loro ingressi.

Tutte le tabelle di ricerca possono essere dedotte dalla tabella di verità del decodificatore a 7 segmenti mostrata nella Tabella 2. Sono presentate nella Tabella 3, Tabella 4, Tabella 5, Tabella 6, Tabella 7, Tabella 8, Tabella 9.

I pin di controllo dei GPIO che controllano il display a 7 segmenti sono collegati a "COUNT/DISP-IN" tramite un inverter come uscite quando "COUNT/DISP-IN" è basso, il che significa che il display viene modificato solo durante l'attività di visualizzazione. Pertanto, durante il task di conteggio, i display sono OFF e durante il task di visualizzazione visualizzano gli impulsi conteggiati.

Potrebbe essere necessario un indicatore del punto decimale da qualche parte all'interno del display a 7 segmenti. Per questo motivo il PIN5, etichettato "DP-OUT", è collegato alla rete "COUNT/DISP" invertita e lo colleghiamo al DP del display corrispondente. Nella nostra applicazione dobbiamo visualizzare il punto decimale del dispositivo di conteggio delle unità per mostrare i numeri nel formato "xx.x", quindi collegheremo "DP-OUT" del dispositivo di conteggio delle unità all'ingresso DP del 7- dell'unità. display a segmenti e lasciamo gli altri scollegati.

Passaggio 6: implementazione hardware

Implementazione hardware
Implementazione hardware

La Figura 7 mostra l'interconnessione tra i 3 chip GreenPAK e le connessioni di ciascun chip al display corrispondente. L'uscita del punto decimale del GreenPAK è collegata all'ingresso DP del display a 7 segmenti per visualizzare la portata nel suo formato corretto, con una risoluzione di 0,1 litri/minuto. L'ingresso PWM del chip LSB è collegato all'uscita PWM del sensore del flusso d'acqua. Le uscite F/10 dei circuiti sono collegate agli ingressi PWM del chip successivo. Per sensori con portate più elevate e/o maggiore precisione, è possibile collegare in cascata più chip per aggiungere più cifre.

Passaggio 7: risultati

Risultati
Risultati
Risultati
Risultati
Risultati
Risultati

Per testare il sistema, abbiamo costruito un semplice PCB dotato di connettori per collegare le prese GreenPAK utilizzando connettori femmina a doppia fila a 20 pin. Lo schema e il layout di questo PCB e le foto sono presentati nell'appendice.

Il sistema è stato testato prima con un Arduino che simula un sensore di portata e una sorgente d'acqua a portata costante e nota generando impulsi a 225 Hz che corrispondono rispettivamente a una portata di 30 litri/minuto. Il risultato della misurazione è stato pari a 29,7 litri/minuto, l'errore è di circa l'1%.

Il secondo test è stato effettuato con il sensore di portata d'acqua e una fonte d'acqua domestica. Le misurazioni a diverse portate sono state 4,5 e 12,4.

Conclusione

Questo Instructable mostra come costruire un misuratore di portata piccolo, economico e preciso utilizzando un Dialog SLG46533. Grazie a GreenPAK, questo design è più piccolo, più semplice e più facile da creare rispetto a soluzioni comparabili.

Il nostro sistema può misurare una portata fino a 30 litri/minuto con una risoluzione di 0,1 litri, ma possiamo utilizzare più GreenPAK per misurare portate maggiori con maggiore precisione a seconda del sensore di flusso. Un sistema basato su Dialog GreenPAK può funzionare con un'ampia gamma di misuratori di portata a turbina.

La soluzione suggerita è stata progettata per misurare la portata dell'acqua, ma può essere adattata per essere utilizzata con qualsiasi sensore che emette un segnale PWM, come un sensore di portata del gas.

Consigliato: