mercoledì 30 giugno 2021

Arduino N° 101 - Resistor Meter

< Arduino N° 100

 Achille De Santis

Arduino N°  102





Questo è uno strumento didattico ma può anche essere utilizzato in campo semiprofessionale.

Fig. 1: Misuratore di resistenze;
Il dispositivo realizza un misuratore di resistenza elettrica.

Valgono le solite raccomandazioni per ottenere uno strumento funzionante ed affidabile: filtrare l'alimentazione, montaggio ordinato e corretto, uso di capacità di fuga ecc...

Al prossimo post vi proporrò un capacimetro. I due strumenti potrebbero essere integrati in un unico dispositivo, dal momento che hanno molti elementi in comune.

Buona sperimentazione!

mercoledì 23 giugno 2021

Arduino N° 100 - Comando seriale remoto per LED RGB

< Arduino N° 99

 Achille De Santis

Arduino N°  101


Fig 1: schema pratico di montaggio;
Questo esempio mostra come sia possibile inviare comandi sulla porta seriale di comunicazione.


Con due moduli Arduino (Uno, Nano) è possibile realizzare un dispositivo TX-RX di gestione seriale per LED RGB.

Il circuito può essere anche modificato per adattarlo alle proprie esigenze.

Il primo modulo (a sinistra, nella figura 1) viene usato come "Trasmettitore", il secondo (a destra, in figura) come ricevitore.

Tre ingressi analogici del modulo trasmettitore leggono i valori di tensione impostati in ingresso sui tre potenziometri, associati ai tre colori RGB.

I valori analogici vengono, poi, inviati sulla seriale e ricevuti dal secondo modulo, quello ricevitore, che li riconosce ed attua le tre uscite relative, formando il colore composito generato dai tre coefficienti primari utilizzati. Per fare questo, le tre uscite devono essere di tipo PWM; in particolare ho scelto le uscite PWM D3, ,D4, D5.

Le alimentazioni vanno separate ed associate ai rispettivi moduli; sul modulo TX verranno associati i potenziometri mentre su quello RX verrà associato il LED RGB.


Nel caso voleste alimentare più diodi LED il circuito di pilotaggio andrebbe modificato con un opportuno stadio driver/separatore, utilizzando tre BJT o MOSFET come amplificatori in configurazione "lineare".


La pagina di simulazione può essere molto esplicativa del funzionamento.

Le tre resistenze collegate in serie al rispettivo potenziometro servono per avere sul potenziometro tutta l'escursione della tensione per l'accensione del LED. Usando potenziometri rotativi da 300° l'accensione avviene entro una rotazione di circa 60-70°, lasciando altri 230° per la modulazione dei coefficienti tricromatici.

Fig. 2: Alimentazione separata per i due moduli;
Attenzione! Il firmware è diviso in due parti: una per il TX, l'altra per l'RX.

Inoltre, le due alimentazioni devono essere assolutamente separate! 
Del resto, se i due dispositivi sono sufficientemente lontani non può che essere così! In figura sono collegate insieme a puro titolo di prova. Quello che deve essere comune è soltanto la massa.

Il dispositivo si modifica come in figura 2:


Fig. 3: polarizzazione separata dei tre led RGB;


In figura 3 è riportato lo schema con una polarizzazione indipendente delle tre componenti RGB del LED.



Grazie a Gualtiero Piazzi per il costruttivo commento.

mercoledì 16 giugno 2021

Arduino N° 99 - Uso del BUZZER attivo e passivo

< Arduino N° 98

 Achille De Santis

Arduino N°  100


Mi sono deciso a scrivere queste note dal momento che su vari gruppi di Internet si leggono cose abbastanza fantasiose ed approssimative, che denotano la scarsa conoscenza degli argomenti dell'Elettronica di base.

Parliamo dei cosiddetti BUZZER cioè dei cicalini o "ronzatori".

Intanto, il termine viene già usato in modo improprio e si confondono i cicalini con gli altoparlanti. 

Dobbiamo infatti distinguere:

  • Buzzer passivi;
  • Buzzer attivi.

Il buzzer passivo non è altro che un piccolo altoparlante:  per generare il tono bisogna fornirglielo! La generazione del tono va fatta a monte. Il segnale immesso nell'altoparlante dovrebbe essere a valore medio nullo (senza la componente continua). Il circuito equivalente si può schematizzare con una induttanza, in serie ad una resistenza di bassissimo valore. La componente a tensione continua verrebbe corto-circuitata dalla bassa reattanza induttiva. Per l'accoppiamento interstadio è necessario utilizzare una "capacità di accoppiamento", per separare la componente continua che altrimenti andrebbe a scorrere nella bobina dell'altoparlante. Possiamo cambiare la frequenza del tono con ampio margine, agendo, a monte, sul generatore di tono.
Con Arduino si utilizzano le funzioni predefinite tone() e noTone, rispettivamente, per attivare e disattivare il tono. 


Fig. 1: inserimento della capacità di accoppiamento su buzzer passivo;


Fig 2: buzzer passivo, completo di circuito di pilotaggio a transistore; notate che è necessario pilotarlo con un segnale esterno ad onda quadra;


Il buzzer attivo, invece, è il vero "ronzatore"; basta alimentarlo con la giusta tensione ed il circuito interno genererà il tono. Non è possibile cambiare la frequenza del tono dall'esterno, poiché ne è prevista soltanto l'alimentazione; piccole variazioni si potrebbero ottenere soltanto cambiando la tensione di alimentazione, che ne renderebbe instabile il funzionamento. Il buzzer attivo NON ha bisogno del condensatore di accoppiamento, anzi, non va inserito altrimenti il circuito non può essere alimentato dalla necessaria tensione continua.

Con Arduino si utilizza l'istruzione digitalWrite() con argomento HIGH o LOW, per attivare l'alimentazione del buzzer. 

In entrambi i casi è opportuno l'uso di uno stadio separatore a transistore (BJT o MOSFET che sia). 

A questo punto qualcuno dirà, come è già capitato: "Se non inserisco il condensatore sull'altoparlante  (passivo) funziona ugualmente!". 

La risposta per il meccanico è: 
"Stai procedendo con una vettura senza olio: prima o poi il motore fonderà!".

La risposta per l'elettronico (o apprendista tale!) è: 
"Stai usando un diodo LED senza la resistenza di polarizzazione: prima o poi il led brucerà!"


Intelligenti pauca!
Fig. 3: cicalino piezoelettrico (piezo);


In ultimo, ci sono anche i cicalini "piezoelettrici", assimilabili ad un buzzer passivo. Invito il lettore a documentarsi in merito. Il cicalino piezo è un dispositivo passivo che sfrutta l'effetto piezoelettrico. Anche qui è necessario fornire il segnale di comando sotto forma di oscillazione alla frequenza audio voluta.
Il cicalino piezo lavora ad alta impedenza e come tale non necessita della capacità di accoppiamento.


A questo punto, spero di aver chiarito qualcosa su questo argomento. 
Provate ed usate quello che vi fa più comodo!

Le applicazioni sono tante: monitor acustico per comandi ed attuazioni, segnalazione di eventi, segnalazione di allarmi, intermittenze, modulazione della nota di avviso per segnalare eventi diversi, sirene varie, note musicali ecc...



Nota: non pretendiate potenze assurde! Per ottenere potenze maggiori in uscita è obbligatorio l'uso di uno stadio amplificatore in bassa frequenza!


Simulazione: 



Argomenti correlati: 

mercoledì 9 giugno 2021

Arduino N° 98 - Comando proporzionale Ventola

< Arduino N° 97

 Achille De Santis

Arduino N°  99


Controllo di velocità per ventola, comandata con telecomando ad infrarosso.


Fig. 1: Layout dei componenti; driver a MOSFET;

Due coppie di codici permettono l'avanzamento UP/DOWN con passo LOW e FAST  attraverso i quattro pulsanti di avanzamento lento (< >) e veloce (<< >>).

i condensatori sulla linea di alimentazione servono per non avere brutte sorprese di malfunzionamenti.

Il diodo di "libera circolazione" è molto utile per la salvaguardia del MOSFET.

Il LED fornisce una indicazione visiva dell'attuazione dei comandi, peraltro visibili aprendo il monitor seriale.

Il MOSFET, nella configurazione a Source Comune, pilota la tensione da fornire alla ventola  e la relativa corrente.

Dalla disposizione dei componenti ricavate lo schema elettrico; vi aiuterà molto nella comprensione del circuito. 


In alternativa, è possibile pilotare il motore con un circuito driver a BJT, come in fig. 2. Il firmware resta lo stesso ma bisogna modificare l'interfaccia di comando motore per avere un pilotaggio in corrente.

Fig. 2: Comando ventola con infrarosso e driver a BJT;




Varianti: 

E' possibile collegare la ventola a tensione di 12 volt, scollegando il filo rosso che la alimenta e collegando ad una tensione di 12 Vcc, massa comune con il circuito.

Nota 1: 

Se avete un telecomando diverso è possibile cambiare facilmente i codici di attivazione leggendoli direttamente a monitor ed inserendoli nelle righe dei comandi.


Nota 2:

Il circuito è SOLO dimostrativo. L'uscita va ASSOLUTAMENTE collegata ad una sorgente di alimentazione separata. La figura la riporta collegata alla alimentazione di Arduino a puro titolo di esempio.


Simulazione: 

Comando proporzionale ventola con MOSFET_V5.3


Argomenti correlati: 

mercoledì 2 giugno 2021

Arduino N° 97 - Accelerazione motore in DC_V3

< Arduino N° 96

 Achille De Santis

Arduino N°  98




In questo post propongo un dispositivo per il comando progressivo di un .motore in corrente continua, che ne determina l'accelerazione/decelerazione.


Aprendo il monitor seriale è possibile controllare il valore PWM impostato, di volta in volta; L'aggiornamento del valore, da zero a 255, viene effettuato soltanto quando c'è un comando di variazione di velocità, altrimenti resta memorizzato il valore precedente. In questo modo, si aumenta la leggibilità a monitor e si evita lo scorrimento continuo dei valori.



I due condensatori posti sulla linea di alimentazione servono a filtrare l'alimentazione ed a prevenire fenomeni di interferenza. Il diodo di "libera circolazione protegge il transistore da sovratensioni."


Il motore è predisposto per ruotare in un solo verso.
Se è necessario, si può cambiare il verso di rotazione invertendo la polarità sul motore agendo sui morsetti.

Attenzione al verso del diodo di libera circolazione!

Nel caso fosse necessario un doppio verso di rotazione il circuito andrebbe modificato con l'uso di un driver L293 o L298 o, in alternativa, facendo uso di un relay 2vie/2posizioni configurato come invertitore di polarità. 

Nota:

Il circuito è SOLO dimostrativo. L'uscita va ASSOLUTAMENTE collegata ad una sorgente di alimentazione separata. La figura la riporta collegata alla alimentazione di Arduino a puro titolo di esempio.


Simulazione: 

Accelerazione motore in DC_V3


Argomenti correlati: