ultimo aggiornamento 28 settembre 2013


 

Quello presentato in questa pagina è una nuova versione delle shield che collegato ad una scheda Arduino permette l'utilizzo del modulo sonoro LPM11162 con cui è possibile la memorizzazione e la riproduzione di file audio in formato wave,
Rispetto alla predente versione permette il collegamento di un sensore di temperatura tipo LM35 all'ingresso Analogico A0, e di un potenziometro per variare la tensione in ingresso al'ingresso Analogico A4.   E' inoltre presente un pulsante connesso all'ingresso digitale D7, e un led connesso al pin digitale D6.   La scheda misura 43x59mm
Nello Shield è presenti uno stadio alimentatore, uno di interfaccia per adattamento delle tensioni, tra il processore Arduino e il modulo LPM11162, uno stadio amplificatore, una sezione sensori e I/O.
Nei prossimi aggiornamenti saranno inseriti i programmi che daranno la possibilità ad Arduino di parlare, pronunciando il valore della temperatura o della tensione misurata

NOTA: Se montate il circuito vi prego di leggere anche quanto riportato in questa pagina.
Modello precedente Nuova versione

 

Perché leggere un valore di tensione o una temperatura su un display quando possiamo conoscere il valore misurato grazie alla voce della nostra scheda? Vedremo insieme, con questo articolo, come dare una voce ad Arduino.

homotix

 

Foto della nuova versione dello Shield per LPM11162

Shield per LPM11162 installato su un Arduino UNO

Alcuni dettagli della Shield per LPM11162

Vista totale dello shield visto dal lato interfaccia verso Arduino

Altra vista dello shield

Vista totale dello shield visto dal lato alimentazione e ingresso sensore.

Dettaglio zona amplificatore

Dettaglio interfaccia verso Arduino

Dettaglio zona pulsante e led

 Stadio di alimentazione

Stadio necessario per fornire la tensione di 3.3V per l'alimentazione del modulo LPM11162.    La tensione è derivata da quella di +5V fornita dalla scheda Arduino
E' utilizzato il regolatore LM317LZ, la tensione d'uscita è dimensionata a 3.3V tramite le due resistenze da 240Ω e 390Ω.
LM317LZ Regolatore di tensione regolabile

Piedinatura Datasheet Foto dell'integrato

L'integrato LM317L fornisce una tensione di riferimento interna 1.25V tra l'uscita e regolazioni terminali. Questa tensione è utilizzata per impostare un flusso di corrente costante attraverso un partitore di resistenze esterno dando una tensione di uscita VO di:
VO = VREF (1 + R2/R1) + IADJ R2
Il dispositivo è progettato per minimizzare il termine  IADJ  (100mA max) e di mantenerlo molto costante con la linea e di carico. Solitamente, l'errore del termine IADJ × R2 può essere trascurato. Per cui il valore della tensione di uscita nel nostro caso sarà:
VO = VREF (1 + R2/R1)  → 1.25 (1 + 390/240) = 3,28 V

Stadio adattatore di livelli

Il modulo LPM11162 funziona con una tensione di alimentazione di +3.3V, e anche le comunicazioni seriale e i segnali di reset e busy sono e devono essere a questa tensione, il processore Arduino ha una logica a +5V.
Per questo motivo è necessario adattare i livelli uscenti ed entranti dal modulo.
Per quelli entranti (RX - Reset) è sufficiente un partitore realizzato con due resistenze che abbassano la tensione.
Per quelli uscenti si sono utilizzati due transistor BC337 che "trasferiscono" il segnale dalla tensione di +3.3V a +5V.
Transistor BC337  (NPN Switching and Amplifier Applications )

Piedinatura Datasheet Foto del transistor (contenitore plastico)

Amplificatore

Il segnale audio analogico in uscita dal pin 9 del modulo LPM11162  è connesso ad un amplificatore con LM386. Questo circuito integrato è molto diffuso perché con pochi componenti esterni è in grado di pilotare direttamente un piccolo altoparlante, il package è un piccolo DIP8 e si tratta di un componente economico.
Lo schema utilizzato nello shield è il più semplice realizzabile.      I pin 1 ed 8 sono previsti per una regolazione del guadagno dell'amplificatore nel range 20÷200.
Se lasciati aperti il guadagno è quello minimo, quindi l'ampiezza del segnale sull'altoparlante sarà 20 volte quella di ingresso sul pin 3, mentre inserendo come indicato nello schema un condensatore elettrolitico da 10 µF l'amplificazione sarà pari a 200.
Al pin di ingresso arriva il segnale audio proveniente dal modulo opportunamente attenuato dal trimmer RV1 da 10K.
Questa attenuazione è necessaria per limitare il valore massimo del segnale ingresso all'LM386 in modo da non far saturare l'uscita. Tramite il trimmer possiamo poi effettuare una regolazione del volume quando necessario.
l condensatore da 47nF e la resistenza da 10Ω in serie sull'uscita dell'amplificatore sono necessari per rendere stabile l'amplificatore come indicato nel datasheet.
C'è poi un condensatore di disaccoppiamento in serie all'altoparlante che costituisce un blocco in corrente continua.

LM 386  Low Voltage Audio Power Amplifier

Piedinatura Datasheet Foto dell'integrato
 

Modulo LPM1162

Il modulo audio LPM11162 è un piccolo componente con una memoria flash interna progettato per memorizzare e riprodurre file wave grazie a pochi semplici comandi seriali.
Le quattro linee RX, TX, Busy, Reset sono connesse al processore Arduino tramite uno stadio adattatore di livelli.
L'uscita analogica è collegata all'amplificatore audio di potenza che pilota un altoparlante.
Per la programmazione del modulo si deve collegare un PC e scaricare all'interno del modulo audio i file wave che saranno riprodotti come sintesi vocale.
Una volta che tramite il PC avremo programmato i messaggi all'interno del modulo audio il microcontrollore dovrà soltanto inviare il comando di Play (indicando il nome del file wave da riprodurre) per iniziare la riproduzione del file.

LPM11162 Modulo audio/voce
lpm11162_pin.jpg

lpm11162_foto.jpg
Piedinatura Datasheet Foto dell'integrato

Sezione sensori e I/O.

 

Per la sezione sensori e dispositivi di I/O sono disponibili:

  • un pulsante connesso alla porta digitale D7 del processore Arduino

  • un led connesso alla porta digitale D6 del processore Arduino, il led è connesso ad una resistenza limitatrice.

  • Possibilità di collegare un sensore di temperatura LM35 alla porta Analogica A6 del processore Arduino.

  • Possibilità di collegare un potenziometro porta Analogica A4 del processore Arduino.

Per la lettura della porta Analogica si userà Il comando analogRead () che converte la tensione di ingresso, 0 a 5 volt, in un valore digitale tra 0 e 1023. Ciò viene fatto da un circuito all’interno del Arduino chiamato analogico-a-digitale o ADC .

Funzionamento del sensore di temperatura.

l sensore LM35 si presenta con 3 terminali: uno per l’alimentazione, uno di massa e uno per l’uscita della tensione proporzionale alla temperatura rilevata che è pari a 10 mV per ogni grado centigrado, ed è calibrato in gradi Cesius.
Per trasformare la tensione letta si può utilizzare la formula

temp = (5.0 * analogRead(tempPin) * 100.0) / 1024;

Si consideri che con un campionamento a 10 bit, Arduino ha una risoluzione in tensione di circa 5 mV, e considerando che LM35 fornisce 10 mV per ogni grado centigrado la massima precisione che si può ottenere è di mezzo grado

LM 35 Sensore di temperatura di precisione


Codice RS  533-5907

Piedinatura Datasheet

Funzionamento del potenziometro.

Ruotando l’albero del potenziometro, si cambia la quantità di resistenza su entrambi i lati del pin centrale del potenziometro. Questo cambia le resistenze relative tra il pin centrale e dei pin  esterni, dando una tensione diversa all’ingresso analogico.
Quando l’albero viene girato completamente in una direzione, non vi è resistenza tra il pin centrale e il pin collegato a GND. La tensione al pin centrale è quindi 0 volt, e analogRead () restituisce 0.
Quando l’albero viene girato tutto nella direzione opposta, non vi è resistenza tra il pin centrale e il pin collegato a +5 volt. La tensione al pin centrale è quindi di 5 volt, e analogRead () restituisce 1023. Per cui analogRead () restituirà un numero tra 0 e 1023 che è proporzionale alla quantità di tensione applicata al pin A4.

 

Schema elettrico

Elenco componenti

C1,2,4,6,7,9

10 µF 35V elettrolitico verticale

C3,5

100 nF multistrato

C10

47 nF ceramico

C8

100 µF 35V elettrolitico verticale

R1,4,6,7,8,9

10 kΏ 1/4W 5%

R2

240 Ώ 1/4W 5%

R3

390 Ώ 1/4W 5%

R5

15 kΏ 1/4W 5%

R10

470 Ώ 1/4W 5%

R11

820 Ώ 1/4W 5%

R12

220 Ώ 1/4W 5%

R14

10 Ώ 1/4W 5%

P1

10kΏ trimmer orizzontale

IC1

LM317L

IC2

LPM11162 + 2 pin strip femmina 1x6

IC3

LM386 + zoccolo SIL 8 pin

IC4

LM35

LED

Led rosso 3mm

T1,T2

BC337 o BC 547

JP1

Pinhead maschio-1x08

JP3,4

Pinhead maschio -1x06

SV1

FE03-1

AP

Pin head polarizzato 2x1

S1

Pulsante da CS


Files formato EAGLE

Per chi usa il programma EAGLE per disegnare i propri circuiti, ho creato il simbolo con il modello 3d, per ulteriori informazioni vedere la pagina di istruzioni.

Realizzazione pratica.

Per la costruzione della scheda si procederà iniziando dalla realizzazione del circuito stampato il cui lato rame in scala 1:1 è riportato sotto, Per la sua realizzazione si utilizzerà una basetta in vetronite (monofaccia) di dimensioni 43x59 mm, il metodo potrà essere quello della fotoincisione o del trasferimento termico utilizzando i cosiddetti fogli blu (PRESS-N-PELL), in questo caso ricordo che l’immagine delle tracce del circuito dovrà essere speculare.

Circuito stampato dopo il processo di erosione con acido

Circuito stampato dopo la foratura e il rifilo dei bordi

Circuito stampato.

Una volta inciso il rame, si verificherà in controluce o mediante l’utilizzo di un multimetro che non vi siano cortocircuiti soprattutto tra le piste più vicine. Si passerà quindi alla foratura della stessa, utilizzando principalmente una punta da 0,8 mm, mentre si utilizzeranno una da 1mm per le pin strip. In seguito si potrà passare al posizionamento e alla saldatura dei componenti seguendo lo schema visibile sotto.

Disposizione dei componenti.

Per la saldatura si utilizzerà un piccolo saldatore a punta fine, della potenza di circa 25 – 30 W.
S’inizierà dai vari ponticelli continuando con le resistenze, si potrà quindi, procedere con il pulsante, lo zoccolo dell' integrato, i condensatori.   Si concluderà con le pin strip e i connettori.
Terminato la saldatura si potrà inserire l'integrato IC2 (Modulo LPM1162) e IC3 (LM386) nell' apposito zoccolo facendo attenzione alla tacca di riferimento.

Fasi di montaggio dello Shield per LPM11162

Saldatura dei ponticelli

Saldatura delle resistenze

Saldatura dello zoccolo dell'integrato amplificatore, il trimmer e il pulsante

Saldatura delle resistenze montate in verticale

Saldatura dei transistor, dei condensatori elettrolitici, del led, e del regolatore di tensione

Saldatura delle pin-strip

Saldatura delle pin-strip di collegamento con Arduino

Posizionamento dell'integrato amplificatore e del modulo LPM11162

Montaggio terminato

Elenco revisioni
28/09/2013 Inserito collegamento all'articolo Costruiamo un Voice Shield per far parlare Arduino sul sito ELETTRONICA OPEN SOURCE
01/08/2013 Inserito filmato
17/06/2013 Inserito descrizione del circuito
29/03/2013 Emissione preliminare
Private Policy Cookie Policy