Archivi tag: potenziometro

Arduino UNO R4 WiFi – DAC – generazione di onde sinusoidali, quadre e a dente di sega

Una delle nuove caratteristiche presenti in entrambe le schede Arduino Uno R4, Minima e WiFi, è l’inclusione di un singolo DAC a 12 bit. Questo può generare tensioni di uscita discrete da 0 a 5 volt. Poiché questa funzionalità può essere di estremo interesse nelle attività di laboratorio di Elettronica ne indico di seguito il principio di funzionamento per sviluppare future esercitazioni.

Principio di funzionamento

Un DAC, o Convertitore Digitale-Analogico (in inglese: Digital-to-Analog Converter), è un dispositivo che converte un valore digitale (in binario) in un valore analogico (segnali continui che possono assumere un’infinità di valori all’interno di un intervallo).
Si tratta dell’operazione inversa di quella eseguita da un ADC, o Convertitore Analogico-Digitale, che converte un segnale analogico in una rappresentazione digitale.

Il processo di conversione avviene in tre fasi:

  1. lettura in input dei dati digitali,
  2. conversione in analogico
  3. output del segnale analogico

Il DAC riceve in input un segnale digitale, che è rappresentato da una serie di valori binari (0 e 1), l’elettronica del DAC consente successivamente di convertire i valori binari in un segnale di output analogico che può essere utilizzato per pilotare dispositivi analogici come altoparlanti, motori, o altre apparecchiature che necessitano di un ingresso analogico.

Dal punto di vista pratico un DAC può essere utilizzato per creare un’uscita analogica a partire da un valore digitale utile per molte applicazioni, ad esempio per generare forme d’onda audio, per pilotare dispositivi che richiedono un input analogico, o per creare segnali di tensione variabile. Ad esempio nei sistemi audio un DAC converte i segnali audio digitali (come quelli presenti nei file MP3 o nei CD) in segnali analogici che possono essere riprodotti attraverso altoparlanti o cuffie.

Per semplificare ulteriormente nell’utilizzo con Arduino UNO R4, immaginate di avere un valore digitale che varia da 0 a 4095 (rappresentando un range di 12 bit). Un DAC potrebbe convertire questo valore in una tensione che varia, ad esempio, da 0V a 5V. Quindi, se il valore digitale fosse 512 (circa metà del range), l’uscita del DAC potrebbe essere di circa 0,6V.

Vediamo un esempio pratico.

Lo sketch che segue genera una forma d’onda sinusoidale o, meglio, una forma d’onda sinusoidale “simulata”. La frequenza della forma d’onda sinusoidale viene controllata da potenziometro.

Utilizzeremo un oscilloscopio per visualizzare l’onda sinusoidale, il collegamento è piuttosto semplice, abbiamo bisogno di un potenziometro lineare con una resistenza di 5 KOhm o superiore, io ho utilizzato un potenziometro da 10 KOhm.

La sonda dell’oscilloscopio deve essere connessa al pin A0 che viene usata come uscita del DAC. Il potenziometro ha il pin centrale connesso ad A5 (ingresso del DAC), un pin laterale connesso a 5V sulla scheda e l’altro pin laterale connesso a GND sulla scheda.

Se non possedete un oscilloscopio potete inviare l’output ad un amplificatore audio in modo che possiate ascoltare la tonalità generata, ricordate però che se procedete in questo modo bisogna assicurarsi che il controllo del volume sull’amplificatore sia al minimo, dopo di che lentamente aumentate il volume.

Il codice indicato di seguito è tratto dall’esempio di riferimento sul sito Arduino e all’interno degli esempi dell’IDE su cui ho inserito i commenti tradotti in italiano e fatto una piccola correzione.

La spiegazione del funzionamento la trovate nei commenti.

// Prof. Maffucci Michele
// Arduino UNO R4 Digital-to-Analog Converter (DAC)
// Sketch di esempio tratto da: https://docs.arduino.cc/tutorials/uno-r4-wifi/dac/

// libreria per la generazione di forme d'onda analogiche
#include "analogWave.h"

// Crea un'istanza della classe analogWave, usando il pin DAC
analogWave wave(DAC);

int frequenza = 10; // variabile intera che conterrà la frequenza rilevata

void setup() {
Serial.begin(115200);
// pinMode(A5, INPUT); // non necessaria perchè ingresso analogico
wave.sine(frequenza);
}

void loop() {
// legge un valore analogico dal pin A5 e lo mappa nell'intervallo 0 - 10000 Hz
frequenza = map(analogRead(A5), 0, 1024, 0, 10000);

// Stampa l'aggiornmento dell frequenza impostata sulla serial monitor
Serial.println("La frequenza e' " + String(frequenza) + " hz");

// Imposta la frequenza del generatore di forma d'onda sul valore aggiornato
wave.freq(frequenza);

// aspetta un secondo prima di ripetere la successiv rilevazione
delay(1000);
}

Volutamente ho lasciato commentata nel setup() la riga di codice in cui viene impostato il pinMode del pin A5 perché non è necessario inizializzare un pin Analogico, nell’esempio originale invece viene inizializzata.
A tal proposito per chi inizia con Arduino consiglio la lettura della guida: “Errori comuni nell’uso di Arduino – confondere pin analogici con pin digitali“.

Il risultato sarà il seguente:

E’ possibile quindi generare forme d’onda non solo sinusoidali, la funzione wave permette di impostare:

  • sine – onda sinusoidale
  • square – onda quadra
  • saw – onda a dente di sega

sarà sufficiente sostituire wave.sine(frequenza) presente nella sezione setup() rispettivamente con:

  • wave.square(frequenza);
  • wave.saw(frequenza);

Onda quadra:

Onda a dente di sega:

Buon Making a tutti 🙂

5 minuti da maker: supporto per potenziometro e manopola

Durante le sperimentazioni con Arduino per comprendere la gestione di sensori analogici in tensione si fa uso di potenziometri o trimmer e nel medesimo modo si può procede quando si conducono esperimenti con i PLC.

Per rendere più agevole e veloce la realizzazione delle esperienze di laboratorio, ho realizzato un supporto per potenziometro con manopola, il tutto da fissare su una basetta di legno.

I potenziometri utilizzati hanno un albero con diametro da 6 mm.
La manopola è fissata all’albero del potenziometro mediante una vite M3 da 8 mm di lunghezza.

Condivido questo semplice progetto su thingiverse.
In fase di realizzazione una versione da pannello da alloggiare su guida DIN, condividerò nel breve.

Buon Making a tutti 🙂

Lezioni di laboratorio di elettronica – Uso del multimetro: misurare la resistenza elettrica

In questa breve lezione vedremo:

  • cosa vuol dire resistenza
  • cosa è un resistore
  • come si usa un multimetro per misurare la resistenza elettrica

Cosa è la resistenza?

La resistenza è l’opposizione al flusso di corrente e il componente chiamato RESISTORE è progettato per questo scopo. I resistori possono essere di molte forme e dimensioni, alcuni hanno un valore fisso ed altri sono variabili. L’immagine mostra i più comuni resistori che potete trovare in un laboratorio di elettronica.

Unità di misura

L’ohm è l’unità di misura della resistenza e la sua unità di misura è indicata con la lettera greca ? (omega).
Il valore della resistenza di un circuito elettronico può variare da frazioni di ohm a molti milioni di ohm.
Utilizzeremo multipli e sottompultipli per indicare il valore di resistenza e quindi ad esempio:

  • 1 Kilohm = 1000 ohm
  • 1 Megaohm = 1000000 ohm

Ohm, Kilohm, Megaohm sono in genere abbreviati per questioni di praticità e quindi useremo la seguente notazione:

  • ohm = ?
  • Kilohm = K?
  • Megaohm = M?

Alcuni esempi:

  • 15 ohm = 15 ?
  • 2.200 ohm = 2,2 k?
  • 47.000 ohm = 47 K?
  • 30.000 ohm = 30 K?
  • 2.700.000 ohm = 2,7 M?

Codice colore delle resistenze

Sul resistore le bande colorate indicano il valore di resistenza.
Fate riferimento alla seguente schema per identificare il valore della resistenza:


In laboratorio opererete con resistori che possono avere 4 o 5 bande colorate.
L’immagine che segue mostra una resistenza di  1K? con il ±5% di tolleranza.

Cosa indica la tolleranza?

Il quarto o quinto anello, a seconda del tipo di resistenza che stiamo usando, indica il grado di precisione o tolleranza al quale il resistore è stato costruito. L’anello è chiamato genericamente anello di tolleranza e per i resistori a 4 anelli può avere il colore oro o argento e come indicato nel codice colori:

  • oro = ± 5%
  • argento = ± 10%

nel caso in cui tale fascia non fosse presente, la tolleranza è del ± 20%

Esempio:

Supponiamo di avere un resistore con le seguenti fasce colorate:

ARANCIONE, ARANCIONE, MARRONE, ORO

Il suo valore di resistenza sarà:

330 ? con tolleranza ±5%

dire che la tolleranza è del ±5% significa che i valori limiti di resistenza, massimo e minimo potranno essere:

[pmath size=16]R_max (+5%) = 330 + (330*5)/100 = 346,5 Omega [/pmath]
[pmath size=16]R_max (-5%) = 330 – (330*5)/100 = 313,5 Omega [/pmath]

Quindi il valore di resistenza potrà assumere i valori tra 346,5 ? e 313,5 ?.

Ma cosa serve misurare la resistenza?

La misurazione di resistenza può essere utile in moltissimi casi, questi alcuni esempi:

  • Verifica della continuità elettrica, ovvero valutare se un componente consente più o meno il passaggio di corrente.
  • Verificare il valore di resistenza di un resistore quando il codice colori non è ben visibile.
  • Misurare la resistenza di ingresso o uscita di un circuito.
  • Verificare il funzionamento di un sensore o di un potenziometro (vedi più avanti)

IMPORTANTISSIMO! DA NON DIMENTICARE

  • Si può misurare il valore di resistenza solamente se il componente non è alimentato. La misurazione di resistenza viene effettuata applicando, da parte del multimetro,  una piccola tensione, il multimetro valuterà la quantità di corrente che fluisce nel componente e tradurrà il tutto in un valore di resistenza. Se il componente è alimentato il valore di resistenza rilevato sarà errato.
  • La misura di resistenza deve essere fatta prima che il componente venga inserito nel circuito. Se effettuate la misurazione con componente nel circuito, misurerete la resistenza di tutto ciò che è collegato al componente in analisi.
  • Dovete essere sicuri che il vostro strumento funzioni correttamente, dovete avere una resistenza di riferimento. Tipicamente il laboratorio di elettronica è fornito di resistenze di precisione e per verificare la taratura dello strumento può essere sufficiente munirsi di resistenze da 1K? e 10K? con tolleranza di ±1%

Attenzione! La misura di resistenza richiede l’uso della batteria interna del multimetro, se questa batteria è scarica le misure di resistenza risultano errate.
Nella misura di resistenza è indifferente l’ordine con cui vengono inseriti i puntali, la misura sarà sempre la stessa.

Il multimetro digitale è dotato normalmente di un selettore che consente di selezionare la misurazione di resistenza in un determinato intervallo di valori. Altri intervalli sono riservati per la misurazione di altre grandezze elettriche.

Usiamo lo strumento

Cercate il simbolo ? a fianco del selettore circolare, questo identifica l’intervallo in cui potrete spostare il selettore.

Nella zona identificata con ? avete 5 suddivisioni che vanno da 200 ? a 2 M?, ciò vuol dire che a seconda di dove posizionate il selettore potrete misurare un valore massimo (valore di fondoscala) di 200 ?, 2 K?, 20K?, 200K?, 2M?.

Misura di resistenza

Come esercizio prendiamo una resistore lo copriamo e verifichiamo se questo ha un valore di resistenza inferiore a 2 K?

Per far ciò bisognerà porre il selettore su un valore di fondoscala di 2 K?.

Si rileva un valore di 0,978, che significa 0,978 K? (si noti che il selettore è posto su un fondoscala di 2 K?), ovvero un valore commerciale di 1 K?, infatti, come si evince dalla fotografia si possono notare i colori: MARRONE, NERO, ROSSO, ORO.

Ora misuriamo una resistenza di valore diverso e vediamo se siamo al di sopra o al di sotto dei 2 K? di valore.

La visualizzazione di 1 sul display significa che siete fuori scala

bisogna allora spostare il selettore su altro valore, spostiamolo sul fondoscala di 20 K?.
Leggeremo 9,90 che indica 9,90 K?, quindi il resistore ha un valore commerciale di 10 K?:

Misurare il valore di resistenza di un potenziometro

Un potenziometro è un resistore la cui resistenza varia al variare della rotazione di una manopola, nelle lezioni successive saremo più precisi e vi mostrerò che il potenziometro è assimilabile a quello che viene chiamato partitore di tensione resistivo variabile, ma ne parleremo più avanti.

E’ possibile misurare il valore massimo di resistenza del potenziomentro collegando i due terminali del multimetro sul piedino sinistro e destro del componente

Poiché la variazione di resistenza di un potenziometro può essere lineare o logaritmica, potete verificare con il multimetro la tipologia di potenziometro che avete a disposizione. Ponete un puntale su un estremo e l’altro sul centrale, se a metà della rotazione il valore della resistenza sarà la metà del valore massimo, allora il potenziometro sarà di tipo lineare. (In una successiva lezione vedremo la variazione di resistenza di un potenziometro logaritmico)

Esempio pratico
(Per semplicità è stato inserito un foglietto di carta usato come indice per evidenziare l’escursione del potenziometro)

Valore minimo misurato 0 ?

Valore misurato a metà rotazione è di circa 10K?

Valore misurato alla massima escursione è di circa 19,47K?

Quindi il potenziometro ha un valore massimo di resistenza di 10K?

Il video mostra come varia la resistenza al variare della rotazione della manopola del potenziometro. Il potenziometro è di tipo lineare e si nota che a circa metà dell’escursione il suo valore è di circa 10K?.