corrente pin output e collegamento buzzer

salve a tutti, oggi pomeriggio stavo collegando un semplice buzzer elettromagnetico (esattamente questo: LD-BZEG-1212/3 LOUDITY - Sound transducer: electromagnetic alarm | 3.1kHz; Ø: 12mm; H: 7.5mm | TME - Electronic components) alla mia scheda arduino uno. Nei vari schemi trovati in giro si parla di buzzer da 8 Ohm e questi vengono normalmente messi in serie ad una resistenza da 100 Ohm (es http://www.moddingstudio.com/content.php?1328-Arduino-Tutorial-Riprodurre-suoni-e-melodie-con-Arduino). Questo mi ha scatenato un po di dubbi (abbiate pietà di me nelle risposte, sono alle prime armi :slight_smile: ). Innanzitutto non so da quanti ohm sia il mio buzzer. Immagino che la resistenza da 100 ohm serva a mantenere la corrente bassa. E qui mi chiedo: i famosi 50 mA che i pin output della scheda Arduino possono fornire sono un limite che devo aver IO cura di non superare per evitare di danneggiare i pin stessi o è la corrente massima che in ogni caso la scheda erogherà?
Supponiamo come caso limite che io imposti un pin come output, lo metta al valore HIGH (5 volt) dopodiché lo colleghi a massa. Faccio danni perché ho creato un evidentissimo corto tre 5 volt e massa o posso star tranquillo perché tanto arduino più di 50 mA non caccia??? Nel secondo caso (che inizio a ritenere poco probabile visto il fiorire di resistenze nei collegamenti con i vari componenti che vedo in giro) non avrei bisogno di preoccuparmi della resistenza da 100 Ohm nel circuito del buzzer, giusto?
Vi faccio queste domande perché senza sapere ne leggere ne scrivere ho preso il buzzer e l'ho attaccato tra il pin d8(che ho impostato su output e portato a HIGH) e massa, senza nessuna resistenza. risultato: il buzzer suona; sto rischiando di danneggiare la scheda? tra l'altro sul data sheet del buzzer porta una operating voltage di 12V, mentre io l'ho fatto funzionare a 5V(valore alto del pin d8; collegandolo direttamente a 12V suona uguale ma un po più forte). Scusate per le troppe domande ma mi sto davvero arrovellando su queste cose che credo siano basilari.

La corrente max che può erogare ogni pin non è 50mA ma 20mA, la corrente max che può erogare il chip è 200mA (la somma delle correnti di uscita) ma solo per breve periodo

Esistono principalmente 2 tipi di buzzer : piezo e magnetici, i magnetici hanno impedenze basse (8 -16 -32-48 ohm)- ma anche 120ohm(quelli da 12v) mentre i piezo alte(infinita in DC),

per suonare devi fornirgli un'onda quadra a 2.4-3,2khz ,

possono essere sia con oscillatore interno che non averlo,

quando invii un oscillazione ad un buzzer magnetico la sua corrente media diminuisce drasticamente, mentre in un buzzer piezo aumenta

per misurare un buzzer magnetico basta un tester su portata resistenza

Non è mai buona cosa mettere dei buzzer magnetici ad un pin di uscita di un micro , finchè da MC esce l'oscillazione la corrente si tiene bassa ma se non esce più ma esce solo DC avresti una corrente 5 / 8 = 625mA ma siccome il pin può buttare a la massimo 20mA (40mA) per brevi periodi il pin potrebbe rompersi, la tensione del pin si abbassa da 5V a circa 0.5V, se invece ha l'oscillatore interno (quindi gli devi fornire solo una DC potrebbe funzionare senza problemi, ma io non lo faccio mai.

in quelli senza oscillatore una resistenza in serie da 100 ohm o anche di più è una buona cosa , ma lo sentirai suonare troppo piano piano

Parliamo dei Arduino con l'ATmaga328
Le uscite del Arduino non hanno nessuna limitazione di corrente. La corrente massima che un Pin puó erogare sono 40mA. I pin di alimentazione reggono 200mA percui la somma delle correnti di tutti i pin é 200mA e inoltre a causa di collegamneti interni certi gruppi di pin possono erogare complessivamente 100 / 150mA Vedi dtasheet ATmega328 pagina 313ff.

Se superi i valori limiti rischi di rompere il controller. Il 328 é abbastnza robusto e spesso non succede niente.

Per l'Arduino DUE questo non vale. Ha dei limiti molto inferiori e si rompe subito.
Per il ATmega 32U4 del Leonardo non so dire niente. Non ho esperienza di racconti di maltrattamenti.

Ciao Uwe

grazie per le risposte, siete stati molto chiari. adesso vedo se riesco capire se questo buzzer ha o meno l'oscillatore all'interno, ma intanto una resistenza ce la inizio a mettere :slight_smile: per vedere che resistenza ha avevo già provato con un tester messo su ohm, ma su tutte le scale (200ohm 2K 20K 200K 2M 20M 200M) non da segni di vita. Ma penso che questo sia un problema del mio tester cinese :slight_smile:

Se vuoi altri esempi di collegamenti puoi guardare questo topic --> http://forum.arduino.cc/index.php/topic,146152.0.html

marfi1up:
... su tutte le scale (200ohm 2K 20K 200K 2M 20M 200M) non da segni di vita. Ma penso che questo sia un problema del mio tester cinese :slight_smile:

Oppure hai un buzzer piezo, che essendo elettricamente equivalente (a riposo) ad un condensatore, sulla portata ohm non ti segna nulla :wink:

Se non hai un'oscillatore, puoi fare una prova empirica ... prendi una pila, anche solo una pilettina da 3V di quelle a bottone va bene, e collegala al buzzer ... se senti un "tic" molto debole, e poi collegandola e scollegandola di nuovo non senti nulla, probabilmente e' piezo ... lo stesso se dopo aver collegato e scollegato la pila, la inverti, altro "tic" e poi piu niente ... ed anche, ma molto piu debole, se dopo aver scollegato la pila cortocircuiti i fili del buzzer e senti un "tic" ...

Se invece collegando e scollegando senti "tic" ripetuti anche senza invertire la polarita', allora e' probabilmente magnetico :wink:

mah, il buzzer in mio possesso è questo LD-BZEG-1212/3 LOUDITY - Sound transducer: electromagnetic alarm | 3.1kHz; Ø: 12mm; H: 7.5mm | TME - Electronic components
Qui dice che è di tipo elettromagnetico con generatore. "Con generatore" in giro ho letto che vuol dire che emette un suono a frequenza fissa, tipicamente 2KHz non appena viene alimentato. E in effetti è così. Questo significherebbe che ho solo la possibilità di emettere o meno un suono, segna sceglierne la frequenza e quindi il "tono". Mi confermate questa cosa?
Il fatto che come tensione operativa sia indicata 12V puo significare automaticamente che il buzzer ha una resistenza di 120Ohm. Io l'ho collegato direttamente (senza resistenza) alla 5V e alla 12V e il risultato è solo che a 12V suona più forte e appena appena più acuto.

Significa che il tuo buzzer e' un cicalino elettromagnetico che incorpora gia un circuito oscillatore (3,1 KHz) che emette solo un tono fisso quando lo alimenti, e che funziona direttamente a 12V (massima tensione, probabilmente emette qualcosa anche alimentandolo a meno di 12V, con livelli acustici piu bassi)

quindi in definitiva mettendo insieme tutto quello che mi avete detto dovrei stare tranquillo anche senza resistenza. grazie mille :slight_smile: