Oscilloscope DSO con PIC16LF1559 e LCD Nokia

1MSps


 


Schema elettrico:

Lo schema è molto semplice, un divisore divide il segnale in ingresso 1/10 e il selettore SW2 divide un ulteriore 1/10 perr un totale di 1/20. E' importante ricordare che le indicazioni del dispaly fanno riferimento al divisore 1/10. SW1 bypassa il condensatore C1 per rilevare la componente continua del segnale.

Il trimmer RV1 regola la massa fittizia a 2,5 Volt per visualizzare la componente negativa, è una strattegia per evitare l'alimentazione doppia (+5/-5 Volt).

Il PGA (U2) controlla l'ampiezza del segnale in ingresso. Il PGA (Programmable Gain Amplifiers) è un amplificatore operazionale il cui guadagno è controllato dal PIC. Il guadagno, cioè il fattore di amplificazione, è configurato in x1, x2, x4, x5, x8, x10, x16, x32.

L'amplificatore operazionale U3 ha il compito di gestire il trigger. All'ingresso non invertente viene applicato il segnale in uscita da U2, mentre all'ingresso invertente è applicata una tensione proveniente dal modulo PWM del PIC e filtrata dalla cellula R5/C7. L'uscita di U3 è collegata al pin RA2 del PIC che fa capo ad un ingresso collegato all'interrupt esterno con la funzione di fare partire il campionamento quando il segnale raggiunge una determinata posizione da noi scelta e dal fronte selezionato.

Il PIC16F1825 è configurato per svolgere molte delle funzioni necessarie per il funzionamento dello strumento. I moduli hardware utilizzati sono:

ADC: doppio convertitore analogico/digitale, hanno il compito di trasformare il segnale in ingresso da analogico a digitale. L'utilizzo dei due ADC in tandem, radoppia la velocità di scansione (1MSps).

PWM: regolare la posizione di partenza del segnale tramite U3.

External Interrupt: per la corretta gestione del trigger.

Concludiamo con i 4 pulsanti per gestire lo stumento e il dispaly Nokia.

 

PULSANTI E DISPLAY

I pulsani UP e DOWN rispettivamente incrementano e decrementano il valore del campo selezionato da SET.

Il pulsante SET cambia campo dalla "base dei tempi" a "livello Trigger" in un loop continuo.

Il pulsante END presenta varie funzioni che vedremo dettagliatamente più avanti.

 

BASE DE TEMPI

La base dei tempi è divisa in 12 tempi:

  • 10 micro secondi: 1 MSps
  • 50 micro secondi: 200 KSps
  • 70 micro secondi: 140 KSps
  • 500 micro secondi: 20 KSps
  • 1 milli secondi: 10 KSps
  • 5 milli secondi: 2 KSps
  • 10 milli secondi: 1 KSps
  • 50 milli secondi: 200 Sps
  • 100 milli secondi: 100 Sps
  • 500 milli secondi: 50 Sps
  • 1 second0: 10 Sps
  • 10 secondi: 1Sps

Ciascuna divisione indica il valore in micro/milli/secondi per quadrato. Ogni quadrato è composto da 10 campioni.

Premere i pulsanti UP e DOWN per cambiare i tempi.

 

AMPIEZZA E CAMBIO FRONTE

L'ampiezza è divisa in 8 valori

  • 6,9 Volt
  • 3,7 Volt
  • 1,8 Volt
  • 1,5 Volt
  • 1 Volt
  • 750 mVolt
  • 460 mVolt
  • 240 mVolt

Ciascuna divisione indica il valore in Volt per quadrato. Ogni quadrato è composto da 10 pixel.

Premere i pulsanti UP e DOWN per cambiare l'ampiezza.

CAMBIO FRONTE: in questo campo è possibile cambiare fronte in modalità "TRIGGER" premendo il pulsante END.

 

TIPO CAMPIONAMENTO

Ci sono 3 tipi di campinamento:

  • RUN: il campionamento parte immediatamente. Molto utile per verificare la presenza del segnale da campionare e la relativa ampiezza.
  • TRIGGER: il camionamento parte quando il segnale si trova al livello scelto e con il fronte desiderato.
  • ONE SHOT: l'ultimo campinamento viene congelato. Utile per misurare i tempi e l'ampiezza.

 

MARKER VERTICALE

Il pulsante END attiva i marker verticali. Alla prima pressione di END appiono i marker con l'attivazione di quello di sinistra.

Premendo i pulsanti UP e DOWN, il marker viene spostato fino al punto desiderato.

Ripremendo il pulsante END, viene attivato quello di destra.

Premere i pulsanti UP e DOWN per posizionarlo nel punto desiderato.

Ripremendo il pulsante END, lo schermo viene pulito dai marker.

Nella figura viene misurato il periodo della sinusoide. 35 micro secondi = 28,57 KHz.

 

MARKER ORIZZONTALE

Il pulsante END attiva i marker orizzontali. Alla prima pressione di END appiono i marker con l'attivazione di quello superiore.

Premendo i pulsanti UP e DOWN, il marker viene spostato fino al punto desiderato.

Ripremendo il pulsante END, viene attivato quello inferiore.

Premere i pulsanti UP e DOWN per posizionarlo nel punto desiderato.

Ripremendo il pulsante END, lo schermo viene pulito dai marker.

Nella figura viene misurato il valore picco/picco (4,1 Volt).

 

SCHERMO INTERO

Quando il cursore viene posto sull'ultimo campo, possiamo visualizzare lo schermo intero.

Per cambiare formato del LCD, premere il pulsante END.

Nel formato "schermo intero" viene tenuto attivo, per òvvi motivi, solo il pulsante END.

 

LIVELLO TRIGGER

In questo campo è possibile impostare il punto di partenza del campinamento.

Nell'ultimo campo viene visualizzato il valore della posizione del trigger.

Attenzione: se il valore del trigger viene posizionato fuori campo, non parte il campionamento. Quando ci si trova in una situazione anomala e non vuole partire il campionamento, è consigliabile testare il segnale in ingresso posizionando il modo in RUN.

Per spostare il cursore del trigger, premere i pulsanti UP e DOWN.

 

Nella prima figura il marker misura 24 micro secondi = 41,66 KHz.

Nella seconda il marker misura 10 micro secondi = 100,00 KHz.


PROGETTO COMPLETO DI FIRMWARE MIKROC

DISEGNO E STAMPATO IN KICAD

RITORNA ALLA MAIN PAGE