«

»

Gen 08

Stampa Articolo

DSO Nano V3 arduino PWM

Eccomi di rientro dalle festività con tantissime nuove idee e progetti per il 2014, il primo che voglio presntarti riguarda il mo autoregalo natalizio il DSO nano v3 arduino PWM

DSO Nano v3 arduino PWM

Il regalo in particolare è il DSO Nano V3 che ho voluto subito collaudare con arduino generando un segnale PWM variabile in funzione di un potenziometro da 10K.

DSO nano V3

Il DSO nano V3 è un oscilloscopio prodotto dalla seeedstudio

DSO nano v3

che mette a tua disposizione un’ottima Wiki in cui descrive non solo le caratteristiche del prodotto ma anche come utilizzarlo.

DSO Nano V3

Nell’immagine presa dalla Wiki del produttore puoi vedere la disposizione e la funzione di ciascun singolo pulsante e connettore per le sonde.

Unboxing DSO Nano V3

Era mia intenzione realizzare un filmato sull’unboxing del DSO Nano V3 prima di utilizzarlo in questo articolo ma cercando su youtube ho trovato questo video davvero ben fatto e farne un duplicato mi è sembrato superfluo:

DSO Nano V3 arduino PWM

Il progetto DSO Nano v3 arduino PWM ha lo scopo di testare il funzionamento del DSO leggendo il segnale PWM generato con Arduino. Qualche mese fa ho pubblicato questo articolo: Frequenza PWM su Arduino e Duty Cycle in cui hai letto come funzionano i Timer arduino e come siano connessi ai pin arduino. In particolare per eseguire il mio primo test ho deciso di utilizzare il pin 3, connesso al Timer2 Regostro B, con prescaler 64 che imposta la frequenza del pin a 488Hz di default. Ricorda che puoi variare la frequenza del segnale PWM ma non il Duty-Cycle agendo sui Timer corrispondenti ed i prescaler; la variazione del Duty-Cycle puoi ottenerla via sketch.

Lo sketch del DSO Nano v3 arduino PWM

Per terstare il funzionamento del mio DSO Nano v3 arduino PWM ho scritto uno sketch in cui leggi il valore di un potenziometro connesso al pin A0 ed in funzione del valore letto moduli il Duty-Cycle da 0% a 100%.

Passa allo sketch:

#define pinOutput 3
#define pinPot A0

void setup() {
  pinMode( pinOutput,OUTPUT );
  pinMode( pinPot,OUTPUT );

  analogWrite( pinOutput,LOW );
}

void loop() {
  int pot = (analogRead( pinPot ) / 4);
  analogWrite( pinOutput,pot );
}

avrai già notato la semplicità di questo sketch, il punto più complesso è nelle linee 12-13:

linea 12: leggi il valore del poteziometro con il comando analogRead( pin ) e lo dividi in 4 per la teoria che puoi leggere le riquadro sopra, assegnando il risultato alla variabile pot di tipo integer;

linea 13: usa il comando analogWrite( pin,val )  per impostare il valore calcolato alla linea 12 come duty cycle del pin 3 PWM.

Come funziona DSO Nano v3 arduino PWM

Ruotando il potenziometro varia il valore PWM generato sul pin 3 e sul DSO Nano visualizzi l’onda quadra con il duty cycle generato.

Quando il valore del potenziometro è 0 vedrai una linea continua a livello basso ( LOW ) o 0v che indica un PWM 0%:

DSO Nano v3 PWM 0%

ruotando il potenziometro a circa 1/4 della sua corsa il PWM arriva pian piano al 25% visualizzando quanto in figura:

DSO Nano v3 PWM 25%

ruotando il potenziometro a circa 1/2 della sua corsa il PWM generato è 50% e l’onda che visualizzi è:

DSO Nano v3 PWM 50%

continua la rotazione fino ai 3/4 della corsa del potenziometro e generi un onda con PWM 75%:

DSO Nano v3 PWM 75%

Nel video puoi osservare anche le variazioni intermedie dei valori PWM visualizzati sul DSO nano v3 arduino PWM al variare del duty cycle:

Buon test !!!


Permalink link a questo articolo: http://www.mauroalfieri.it/elettronica/dso-nano-v3-arduino-pwm.html

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Puoi usare i seguenti tag ed attributi HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>