Chiarimenti elettrici arduino I/O ed alimentazione

Salve a tutti.
Sono nuovo in questo mondo di Arduino, acquistato settimana scorsa ho letto già molte guide, il libro fornito nel kit per i vari esercizi ed anche i datasheet ecc... Però ci sono moltissimi aspetti sulla parte elettronica che non riesco davvero a capire, prima di esporrei miei dubbi, ho un Arduino Uno Rev 3.

Allora arduino da usb viene alimentato a 5V e fin qui tutto bene, dai vari pin in Output escono 5V di tensione e 40 mA di corrente ed ancora una volta tutto bene.

Prima domanda, se io utilizzo 6 pin da tutti e 6 i pin usciranno 5V di tensione ed i 40mA di corrente? Quindi complessivamente 30V e 240 mA?

Questi dubbi mi sono venuti costruendo un circuito a 6 led, ovvero:

pin output: 2,3,4,5,6 e 7
a questi collegate le resistenze da 220 ohm sugli anodi dei led rossi mentre i catodi nel GND (fatto su breadboard praticamente tutti i catodi nella linea che li connette tutti assieme ed un cavo che torna al GND su arduino).

Praticamente dato che arduino viene alimentata a soli 5V come fa a fornire 5V a tutte queste uscite, ovvero 6?

Poi su una guida ho letto che il massimo di corrente che può circolare su arduino è di 200mA, cosa significa di preciso? perchè in questo caso come detto sopra io ne sto utilizzando 240mA, rischio di rovinarlo?

Davvero ho letto e riletto, cercato guide, videoguide, tutorial ecc... ma non riesco davvero a comprendere queta cosa :blush:

Ringrazio per l'attenzione e spero che qualcuno abbia pazienza a spiegarmi questi concetti.

http://forum.arduino.cc//index.php?topic=191513.msg1423067#msg1423067

Prima di tutto, i normali led (quelli da 5mm, per intenderci), possono reggere in continuazione al massimo 20mA, farli funzionare a 40 li pone a rischio di bruciarli, alla lunga ... se li alimenti dai pin di Arduino (anche se sarebbe meglio non farlo, per un led nc sono problemi), con 220 ohm ci fai passare circa 15mA, il che va bene ...

Poi, da ogni uscita escono 5V (come la tensione di alimentazione), e ci puoi prelevare al massimo 40mA con sicurezza (non ti "da" 40mA, li prelevi tu in base alla resistenza del carico che colleghi ai singoli pin) ... ed ovviamente sono 5V per ogni uscita, non 5V suddivisi fra 6 uscite ... mi sa che come basi di elettronica non ci siamo molto, vero ? :wink:

I 200mA complessivi sono la massima corrente che tutto il micro puo erogare, divisa fra le varie uscite ... se da 6 uscite richiedi 15 mA l'una, sei a 90, e te ne avanzano ancora un po ...

Etemenanki:
...
Poi, da ogni uscita escono 5V (come la tensione di alimentazione), e ci puoi prelevare al massimo 40mA con sicurezza (non ti "da" 40mA, li prelevi tu in base alla resistenza del carico che colleghi ai singoli pin) ...
...
I 200mA complessivi sono la massima corrente che tutto il micro puo erogare, divisa fra le varie uscite ...
...

Etem,
NO, con sicurezza NON puoi prelevare ne i 40 mA, né i 200 mA ... questi sono gli "Absolute Maximum Ratings" e, a pagina 313 del Datasheet del ATmega328p è molto ben specificato che :

"Stresses beyond those listed under “Absolute Maximum Ratings” may cause permanent dam- age to the device. This is a stress rating only and functional operation of the device at these or other conditions beyond those indicated in the operational sections of this specification is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability."

Quindi, quelli sono veramente i valori massimi di stress, se uno vuole stare tranquillo è bene che ... non ti dico si limiti al 50% ma poco di più :wink:

Guglielmo

Ringrazio tutti per le risposte, adesso piano piano sto cominciando a capire qualcosa in più, prima veramente non riuscivo davvero a dargli un senso :slight_smile:

Etemenanki:
mi sa che come basi di elettronica non ci siamo molto, vero ? :wink:

ahahaha esatto di elettronica sono messo veramente malissimo, ce la sto mettendo tutta ma davvero sto faticando un pochino, non avendo le basi dei concetti in se per se semplici a me sembrano complessissimi.
Anche piccoli errori di apprendimento confondono moltissimo, come mi hai fatto notare tu, il pin non ti "da" 40mA, quello è il suo massimo poi sta a te prelevarne quanti bastano. Quel "da" mi confondeva davvero le idee perchè adesso che mi hai spiegato come funziona mi fila meglio il concetto dei 200mA massimi utilizzati ecc..

Grazie davvero, gentilissimi XD

Akuma: sono le basi dell'elettronica, servono per forza se si vuol realizzare qualcosa con un po di sicurezza ... se non segui corsi o scuole di elettronica, ti consiglio almeno il volume "imparare l'elettronica partendo da zero" di nuova elettronica, o qualche testo simile, per avere almeno i concetti di base (e non rischiare di friggere qualche povera, innocente MCU :wink: XD)

gbp01: lo so, hai ragione ... intendevo anch'io valori limite, ma mi sono dimenticato di specificarlo, scusa ..

C'è anche "Primi passi in elettronica" (Elettronica In - Mensile di progettazione elettronica - Attualità scientifica - Novità tecnologiche) di Elettronica In.

Ciao, dato che tu stesso dici di non avere delle basi di elettronica mi permetto di consigliarti di concentrare l'attenzione su una elle leggi fondamentali dell'elettrotecnica. Anzi LA legge fondamentale.
La legge di Ohm. Ovvero V=R*I
E' per questo che Etemenanki ti ha scritto

con 220 ohm ci fai passare circa 15mA, il che va bene ...

Perchè se V=R*I allora I=V/R. Tu sai di avere 5v dal pin di arduino e sai che da schema ti viene chiesta una R da 220ohm. Se vuoi sapere quanti ampere eroga arduino (magari proprio per controllare che non superi i limiti massimi) applichi la legge di ohm e scopri che 5v/220ohm=0,023A quindi 23mA ben lontani dai 40mA massimi erogabili

Memorizzala che è veramente alla base di tutto

Un altra cosa. Chiedevi...

Prima domanda, se io utilizzo 6 pin da tutti e 6 i pin usciranno 5V di tensione ed i 40mA di corrente? Quindi complessivamente 30V e 240 mA?

La tensione e la corrente non si comportano nello stesso modo. Sarebbe troppo lungo spiegarlo adesso ma ti basti sapere che i 5v che trovi su un piedino di arduino sono gli stessi che trovi sul piedino successivo.
C'è il classico esempio dell'acqua. Considera che la tensione è la spinta che riceve la corrente. Così come la pressione è la spinta che riceve l'acqua in un tubo. Puoi considerare un alimentatore (arduino nel tuo caso) come un rubinetto a 5v di pressione. Se colleghi 10 tubi allo stesso rubinetto avrai sempre 5v di pressione su ogni tubo. Però devi considerare che questa pressione rimane costante fino a quando i tubi sono tappati. Se prelevi troppa acqua la pressione scende e lo stesso succede con la corrente e la tensione. Per questo usiamo le resistenze per ogni led. Sono come delle strozzature nei tubi (i circuiti nel nostro caso) che fanno in modo che passi solamente il quantitativo di acqua (corrente nel nostro caso) necessario per fare il lavoro di cui abbiamo bisogno (accendere il led senza bruciarlo)

Punkrazio:
... 5v/220ohm=0,023A...

Corretto, se usi solo la resistenza ... ma ricorda che quando c'e' un led (che ha una sua caduta di tensione interna) dalla tensione di alimentazione devi prima sottrarre la caduta del led (o le cadute, se fossero piu led in serie).

Supponendo che stesse usando un normale led rosso (caduta circa 1,5V) , diventa (5-1,5) / 220 = 0.0159A ... se fosse stato un led blu o bianco, che hanno cadute di circa 3.3V, verrebbe (5-3.3) / 220 = 0.0077A, quindi per avere i 15mA con un led blu o bianco servirebbero (5-3.3) / 0.015 = 113 ohm circa ... e cosi via ...

Certo ma volevo tenere il discorso ad un livello piuttosto elementare. Mi premeva evidenziare l'utilizzo e l'importanza di ohm.

Grazie mille ancora XD

Farò tesoro di tutto quello che mi avete detto ed ora sicuramente sarà anche più facile comprendere libri e guide ora che ho tutto più chiaro...
Una piccola parentesi per vedere se ho capito, prendiamo ad esempio mettere su un pin due led rossi in serie (caduta di tensione 1,5V a 15mA di corrente), per scegliere la resistenza devo fare: 5-3/15= 0,133Kohm ovvero dovrò utilizzare una resistenza di 133ohm

Sempre se non ho capito male se un led blu ha una caduta di tensione di 3,3V non posso metterli in serie su un solo pin giusto?
EDIT: perchè se non ho letto male arduino non supporta valori negativi rispetto al GND ovvero a 0V ed in questo caso andrei sotto di 1,6V.

Primo esempio corretto.

Secondo esempio, no, e' perche' per farli funzionare ti servirebbero piu di 6,6V, ed arduino al massimo ne puo dare 5 ... non e' che vai in negativo (i led non producono tensione, la caduta di tensione e' il valore minimo che serve dargli per farli funzionare), e' solo che non ne hai a sufficenza :wink:

Quelli che non sopportano valori negativi sono gli ingressi, se gli applichi un valore piu alto dei 5V, o minore del GND (negativo rispetto a massa) li danneggi.