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:
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
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:
|
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