Home / Italian Posts / Pulse Counter basato su PSoC

Pulse Counter basato su PSoC

 

In questo post descriviamo la realizzazione di un contatore di impulsi basato su PSoC. Il microchip PSoC si presta ad essere utilizzato in svariate applicazioni, dato che integra al suo interno sia componenti digitali che componenti analogiche. Il “Pulse Counter” che abbiamo realizzato, oltre a tre pulsanti, un display LCD 4×20 e la scheda di sviluppo PSoC, richiede soltanto un potenziometro/trimmer per regolare la soglia di conteggio degli impulsi.

Il Pulse Counter è stato pensato per essere utilizzato principalmente come “rate-meter” in operazioni di conteggio di impulsi prodotti da particelle e/o radiazioni.

Le tre immagini sotto mostrano l’esterno e l’interno dello strumento. Sul display dello strumento viene mostrato il livello della soglia di conteggio in millivolt, impostata agendo sul potenziomentro multigiro; viene poi mostrato il risultato del conteggio (in CPS o in CPM) con la relativa incertezza statistica, viene inoltre mostrato il tempo di misura in secondi ed il numero di impulsi conteggiati.
I tre pulsanti servono per commutare la misura da CPS a CPM e viceversa, per avviare e fermare il conteggio e per azzerare il contatore. L’accensione di un LED segnala il conteggio di un impulso.

La programmazione del PSoC per realizzare il Pulse Counter è abbastanza semplice. Negli schemi riportati sotto mostriamo le parti più importanti.
Il segnale del potenziometro che regola la soglia di conteggio viene letto ed acquisito mediante un convertitore ADC. Il segnale in ingresso viene inviato ad un comparatore a soglia con isteresi; la soglia viene generata da un componente DAC che utilizza direttamente il valore di tensione prodotto dal potenziometro ed acquisito dal PSoC con il convertitore ADC.
Il comparatore produce un impulso quando il segnale in input supera il valore della soglia, per evitare problemi di “ringing”, al comparatore è stata assegnata una isteresi di circa 10mV. Gli impulsi prodotti dal comparatore vengono utilizzati per comandare l’accensione del LED e vengono inviati ai contatori che effettuano il conteggio vero e proprio.

Nello schema riportato sotto vengono mostrati i componenti che fanno il conteggio degli impulsi (Counter_Pulse) e dei secondi (Counter_Time). I valori dei conteggi vengono poi elaborati dal firmware caricato sul PSoC allo scopo di calcolare il valore dei conteggi-per-secondo (CPS) e dei conteggi-per-minuto (CPM), con i relativi scarti quadratici.
Le formule per il calcolo sono le seguenti

CPS = N/T ± √N/T (T in secondi) 

CPM = N/T ± √N/T (T in minuti)

Il display LCD viene pilotato dal PSoC tramite interfaccia I2C, in modo da “risparmiare” GPIO. I pulsanti, il LED ed il potenziometro sono invece collegati a I/O secondo lo schema mostrato sotto. Per i pulsanti, in particolare, sono stati utilizzati i componenti “debouncer” in modo da evitare comandi non voluti.
Il Pulse Counter è stato testato fino a frequenze di 10KHz, che corrispondono a 10000 CPS. I valori normalmente misurati in applicazioni di radiation counting sono solitamente al di sotto di questi valori.

Il video inserito sotto mostra un esempio di applicazione del Pulse Counter per il conteggio degli impulsi prodotti dal Pocket Geiger messo a contatto con una sorgente campione da 0.1 μCi di Sr90. Il pocket geiger è un detector “tascabile” basato sul fotodiodo X100-7 della First Sensor.

Check Also

Fotodiodo Si-PIN con CSA-SA Micod

Introduzione In questo post descriviamo l’applicazione di un diodo PIN come sensore di radiazioni. Questa …