Go Down

Topic: [RISOLTO] Collegare altoparlante senza creare un carico troppo elevato. (Read 5116 times) previous topic - next topic

Sep 13, 2012, 06:21 pm Last Edit: Sep 14, 2012, 04:14 pm by lorenzotomba Reason: 1
Buonasera a tutti! Ho ordinato oggi un Arduino Uno e sto iniziando fin d'ora a predisporre i primi esperimenti che intendo portare a termine. Ho una domanda molto semplice.

Volendo realizzare questo semplice progetto con i relativi componenti esterni, mi sono chiesto se l'uscita digitale possa essere in pericolo.

L'impedenza dell'altoparlante è di 8 Ohm, che sommata ai 100 Ohm della resistenza costituiscono un carico di circa 108 Ohm. Ora, l'uscita della porta è di 5 V, il che porta ad avere una corrente di 5/108=0,046 A=46 mA. Leggendo le carattestiche generali di Arduino Uno, ho visto che il carico massimo sopportato è di soli 40 mA. Posso lostesso tentare di realizzare il circuito?

Inoltre il progetto indica che l'altoparlante deve essere piccolo, io invece ho recuperato un vecchio altoparlante (sempre da 8 Ohm) da una vecchia radio ed è piuttosto grande (4 W).

Grazie a tutti dell'aiuto. Mi scuso per la probabile "stupidità" della domanda.

Michele Menniti

Ma nell'altoparlante non farai scorrere una corrente continua, comunque credo che  l'impedenza di 8 ohm non sia perfettamente equivalente ad una resistenza da 8 ohm.
Comunque sia io ho preferito usare una R da 1kohm per pilotare un transistor npn, in tal modo il pin di arduino è al sicuro anche da eventuali cortocircuiti dell'altoparlante.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

leo72

Ma 4W ad 8 ohm non sono 0.7A? Correggetemi se mi sbaglio.
Se così fosse, non puoi pilotarlo da un pin di Arduino, troppa corrente. Ti serve un transistor di potenza, tipo un Mosfet. Ed un buon alimentatore esterno.


cyclone

#4
Sep 13, 2012, 09:33 pm Last Edit: Sep 13, 2012, 09:46 pm by cyclone Reason: 1
potrebbe funzionare....
il problema sta nel volume udibile che sarà bassissimo....sull'ap scorrerà una corrente molto bassa.... a stento dovrebbe sentirsi qualche suono come se in lontananza, ma non ti consiglio questo metodo, potresti bruciare il pin dell'atmega... la R risultante è troppo bassa.
se invece aggiungi un transistorino o un mosfettino e colleghi l'ap tra il collettore e il positivo +5V (come se collegassi un relè) magari sentirai un pò più forte.
di sicuro sentirai un suono metallico poichè le note vengono generate digitalmente e non analogicamente.....
ciao

leo72

Se assorbi 40 mA dal pin, bruci il GPIO. Questo è il valore massimo di corrente erogabile da 1 pin.
Se poi il tuo è un altoparlante con la bobina magnetica, è meglio non collegarlo direttamente al pin dell'Arduino. Le tensioni indotte possono rovinare il circuito GPIO sul pin. Meglio pilotarlo con transistor e diodo in antiparallelo.

Ma allora scusate... Perchè quel circuito si trova tra gli esempi ufficiali su questo stesso sito?

leo72

Non è detto che tutto quello che c'è sulla rete sia esente da errori.
Anche se presente sul sito ufficiale.

E se attaccassi una normale "cuffietta" da iPod? Oppure un piccolo altoparlantino piezo? Tutti e due dovrebbero avere altissima impedenza.

leo72

Più che l'impedenza fregano le correnti indotte generate dall'avvolgimento delle bobine degli altoparlanti. Sono quelle che rovinano i GPIO. Se hai un piezo è la scelta migliore dato che non hai di questi problemi.

astrobeed


Non è detto che tutto quello che c'è sulla rete sia esente da errori.
Anche se presente sul sito ufficiale.


+1 :)

Regola prima, mai e poi mai collegare un carico induttivo direttamente ad un pin di un micro.

Michele Menniti


se invece aggiungi un transistorino o un mosfettino e colleghi l'ap tra il collettore e il positivo +5V (come se collegassi un relè) magari sentirai un pò più forte.

questo è lo schema (col transistor) che sto usando io per pilotare un altoparlantino tipo buzzer/cicalino (passivo), tra 5V e + del buzzer ho messo una piccola R + un trimmer come una sorta di regolatore di volume, e funziona.
Approfitto per chiedere a voi Guru dell'elettronica un chiarimento, legato ad uno scambio di idee che non molto tempo fa abbiamo avuto con Leo; infatti leggo che lui continua a proporre il diodo in antiparallelo all'altoparlante, come si fa con un relé.
A me risulta che un relé abbia un'impedenza decisamente più elevata di un altoparlante o di un buzzer/cicalino, e quindi possa generare il problema della corrente di ritorno che fa saltare il transistor; ma non ricordo mai di aver visto un diodo usato allo stesso modo su un altoparlante. Come stanno le cose? (sono ancora in tempo ad aggiungere il diodo.....)
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

flz47655

Su un altoparlante di grandi dimensioni magari è meglio metterlo in via preventiva. Bisognerebbe misurare l'induttanza dello specifico altoparlante però per sapere se va messo sicuramente.
Su un piccolo cicalino probabilmente non serve anche se male non fa.
I pin di IO hanno dei diodi per limitare le tensioni sopra VCC e sotto GND, ma reggono correnti abbastanza basse quindi è meglio non abusarne e mettere dei diodi esterni

Ciao

Michele Menniti

Non te la prendere, ma a me serve una risposta certa, col male non fa si fa tutto e non si sbaglia mai, ma non è questo il senso della mia domanda; oltretutto io non sono collegato direttamente al pin, quindi il diodo proteggerebbe il transistor, ma lo metto se gli fa bene e non perché non gli fa male, che sono due cose totalmente diverse :)
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

cyclone

#14
Sep 14, 2012, 02:31 pm Last Edit: Sep 14, 2012, 02:47 pm by cyclone Reason: 1
Michele e tutti, ma ancora co sto altoparlante?
Allora, un problema di cui solitamente non si tiene conto è che la bobina dell' altoparlante è proprio una bobina, quindi un carico essenzialmente induttivo.
Un azionamento con un' onda quadra genera sulle commutazioni il solito effetto di sovratensione che si ha commutando un carico induttivo.
Per quanto possano essere poco elevate, queste sovra tensioni possono dimostrarsi pericolose per la giunzione del transistor.
Occorre inserire dei diodi di protezione.
La cosa è più sensibile se, per migliorare l' efficienza,  si utilizzano altoparlanti di grande diametro e/o si alimenta il collettore con una tensione più alta della Vdd, ad esempio 12V o la tensione non stabilizzata prima del regolatore che alimenta il microcontroller.

Come in tutti i casi di carichi induttivi, il diodo D1 di protezione è indispensabile.
Si tratterà del solito 1N41418/1N4150 oppure 1N400x. Per gli altri componenti:
Q1 = BC517/BD675 e simili
R1 = 10 k, R2 =68 k
D1, D2 = 1N4001
R3 = 33-68 ohm
SP1 = altoparlante 8 ohm, 0.25-0.5W

Dal valore di  R3 dipende il volume sonoro, ma non è opportuno scendere sotto i 33 ohm, così come non è opportuno aumentare la tensione Vcc per aumentare il volume.  

Comunque io consiglio lo schema 2 che risulta essere più adatto poichè, in relazione al pilotaggio diretto con un semplice transistor  va anche considerato come è costruito un altoparlante a cono. La membrana solidale con l' avvolgimento è pensata per essere alimentata in alternata, così che essa possa muoversi, rispetto al punto di riposo, in avanti in una semionda del segnale e indietro nella semionda opposta.
Se alimentiamo la bobina con un' onda quadra riferita alla massa, come quella disponibile sul collettore del transistor, ci troveremmo ad azionare la membrana in una sola direzione, riducendone  l' efficienza.
questi i componenti per lo schema 2:
Q1=BC547
C2= 10-470 uF
R2 = 220-470 ohm
R1 =47k , C1=1-47 nF
SP1= altoparlante 8 ohm, 0.25-0.5W

e aggiungo... dicendo che
la resa acustica dipende molto dalle caratteristiche dell' altoparlante usato e la scelta  R2 e C2 va fatta per ottenere la migliore prestazione sonora.
l gruppo R1-C1  sulla base del transistor ha una funzione di filtro passa basso con lo scopo di smorzare i rapidi fronti dell' onda quadra ed ottenere un suono più gradevole e può essere omesso, se non necessario, o sostituito con una rete differente.
R1-C1  dipendono dal taglio che si vuole dare all' onda quadra applicata.
Trattandosi di un emettitore comune, la tensione di alimentazione dovrà essere quella della logica di comando.
Con collegamenti come quelli appena visti, la potenza acustica è relativamente bassa. Dove è richiesta una elevata udibilità, non ha particolare senso aumentare la corrente nell' altoparlante o la sua tensione di alimentazione, sopratutto se si cerca di ottenere un suoni di minima qualità.
Volevo ricordarvi comunque che, dotando l' altoparlante di qualche forma di cassa acustica, anche solo inserendolo in una piccola scatola di legno o plastica, si migliorano decisamente le prestazioni sonore.

PS. poi sappiamo benissimo che se vogliamo un suono potente e di qualità ragionevole,  sarà molto meglio dotare l' altoparlante di un amplificatore...
ce ne stanno una miriade.... ma questa è un'altra storia...
con questo spero di aver [risolto]

ciao...

Go Up