Progettiamo un rilevatore di picco per Arduino, ed utilizziamone i valori calcolati per rendere più semplice la sua programmazione.
Un rivelatore di picco è un circuito in grado di misurare l’ampiezza massima (di picco, appunto) di un segnale elettrico, e determinarne in tal modo il massimo livello di tensione da esso raggiunto.
Troviamo l’uso dei rilevatori di picco nei sistemi di elaborazione audio come VU-meter e analizzatori di spettro. Dal momento che il volume dell’audio di un segnale varia con la differenza di potenziale ai suoi capi, un rivelatore di picco è in grado di monitorare il livello massimo di tale segnale, per valutare e reimpostare automaticamente il livello audio del sistema. Ma non solo: dal momento che sensori di vario tipo operano in base alla variazione di tensione (o di resistenza interna, strettamente correlata), il rivelatore di picco potrebbe altresì essere utilizzato per sistemi di illuminazione autoranging, in grado di alzare o abbassare la luminosità di un apparato in relazione all livello di luce ambiente percepito.
Come è fatto
Un semplice rilevatore di picco è costituito da un diodo collegato in serie ad un condensatore.
Quando al circuito viene applicata una tensione positiva, la corrente attraversa il diodo e carica il condensatore sino a tale valore. Quando poi la tensione viene ridotta, la carica immagazzinata nel condensatore non ha più facoltà di spostarsi liberamente lungo il circuito, poiché la corrente non può attraversarte il diodo. Quindi, il condensatore rimane carico e mantiene il potenziale più elevato raccolto in precedenza; tale potenziale è quindi il massimo valoore di tensione raggiunto dal condensatore.
In realtà non è proprio così: La tensione di uscita non sarà mai esattamente la stessa di quella in ingresso. Infatti il circuito perderà approssimativamente 0,6V a causa del forward voltage drop del diodo. In altri termini, per determinare il livello effettivo di tensione di ingresso occorrerà sommare la tensione di forward voltage del diodo alla tensione di uscita del segnale.
Il circuito
Il nostro semplice rilevatore di picco trova posto su di una breadboard. Consta di un diodo di tipo 1N4148 ed un condensatore da 100 microFarad.
È possibile determinare il comportamento del circuito utilizzando un oscilloscopio a doppia traccia e ponendo il segnale in input del circuito e quello in output sui due canali di confronto (rispettivamente A e B). Noteremo come al variare del segnale in ingresso, il segnale in uscita resterà lineare, mantenendo il valore di tensione più elevato che ha nel frattempo attraversato il circuito.
Ovviamente, a causa delle perdite di carica implicite in un componente non ideale come il condensatore, vedremo che nel tempo il livello di picco tenderà a diminuire.
Estensioni possibili
Abbiamo parlato di VU-meter e di analizzatori di spettro audio. Chi come me ha una certa età, ricorderà sicuramente impianti stereo esoterici dotati di misuratori di output a LED, agilissimi e guizzanti.
Una delle caratteristiche che più affascinava noi (allora) giovani audiofili tecnologici era la funzione peak hold, ovvero una funzione che manteneva acceso il LED corrispondente al valore massimo raqggiunto per alcuni decimi di secondo prima di decadere. E il decadimento avveniva veso livelli sempre più bassi, sino a raggiungere il livello minimo attuale tenuto dalla sorgente audio.
Bene, tale funzione è facilmente realizzabile dal nostro rilevatore tramite l’aggiunta di un sempllice resistore in parallelo al condensatore, che scaricherà quest’ultimo a massa. Ma come calcolare il valore del nuovo resistore?
Fortunatamente ci viene in aiuto una formula usatissima nel calcolo dei filtri elettronici, che possiamo press’a poco enunciare in questo modo: “Il tempo (in secondi) necessario a scaricare un condensatore da x Farad posto in parallelo ad un resistore da y ohm è più o meno pari a 5*R*C“. O T = 5RC.
Facciamo un esempio. Vogliamo che il nostro condensatore da 100 microFarad si scarichi in 5 secondi: avremo allora che
1 2 3 4 5 6 7 8 9 10 11 12 13 |
5" = 5 * 100*10^-6 Farad * x Ω ovvero x Ω = (5 * 10^6)/5 * 100 quindi 10^4 Ω e infine 10 kΩ |
Inserendo un resistore da 10.000 ohm in parallelo al condensatore, azzereremo il valore del picco di segnale in circa cinque secondi.
Considerazioni finali
Al termine di questo articolo abbiamo imparato come progettare un rilevatore di picco elettronico che consenta di visualizzare e mantenere nel tempo il valore massimo raggiunto da un segnale elettrico: Tale sistema potrà tornarci utile quando decidessimo di creare con Arduino ad esempio un sistema di monitoraggio delle temperature in tempo reale in grado di mantenere anche la temperatura massima raggiunta. O il massimo livello di pressione sonora. O il grado più elevato di umidità. Il tutto senza dover scrivere una sola riga di codice, ma utilizzando il circuito elettronico come un contatore ed una cella di memoria.
Se avete dubbi o domande al riguardo, o proposte/richieste di circuiti di utilità, scriveteci!
Link utili