Loading...
Pages: 1 [2]   Go Down
Author Topic: Limiti di corrente per PIN del ATmega  (Read 694 times)
0 Members and 1 Guest are viewing this topic.
Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 386
Posts: 10235
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bene, è esattamente quanto dicevo io nel mio post, avevo proprio riportato quella frase, in aggiunta alla risposta data a Uwe.
Ma quanto afferma Leo non chiarisce la cosa, lui dice che funziona, ma cosa?
Mi pareva funzionasse regolarmente con input sugli A0..A5. Ma sono passati mesi...  smiley-sweat
ok, rifaccio qualche prova specifica.
Quote
La differenza del limite globale (200mA) é che superandolo daneggi il ATmega; se superi il limite dei gruppi di Pin (nota 3 e 4 della tabella 28.2) rischi un malfunzionamento perché la tensione di uscita H e L non é nei limiti garantiti.
Uhm.. Non credo. Io credo che si debba interpretare proprio come un limite massimo per gruppo di pin. Quindi se io prelevo più di 150 mA o se faccio assorbire più di 100 mA ai pin di una porta, danneggio comunque la circuiteria di alimentazione di quella porta.
+1 se prelevo 70-80mA da un pin a mio avviso danneggio il circuito del pin, non necessariamente il resto smette di funzionare. (test che NON farò smiley-money)
Logged

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

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 386
Posts: 10235
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Allora, ho fatto un test molto semplice, prendendo spunto dallo sketch di esempio "AnalogInput". Ho solo sostituito il pin 13 con il 15 (che corrisponde a A1-PC1), e ad esso ho collegato un LED, Invece al pin A0-PC0 ho collegato il centrale di un potenziometro con estremi sull'alimentazione.
Il mega328 è in configurazione stand-alone a 1MHz, con alimentazione sui pin 7(5v), e 8 e 22(GND), il 20 (AVcc) è libero.
Risultato: al ruotare del potenziometro (lettura analogica) varia il tempo di blink del LED (uscita digitale).
Quindi il pin AVcc NON è l'alimentatore esclusivo dei pin PC0-PC3, alias A0-A3, visto che funzionano lo stesso.
Alcuni test aggiuntivi:
Ho scollegato a turno i due GND: non cambia nulla
Ho misurato sul pin AVcc: 4,36V su 5,2V di alimentazione.
Allora ho provato ad alimentare tramite AVcc, scollegando Vcc: continua a funzionare senza problemi
A questo punto ho abilitato al blink anche il pin 13: funzionano entrambi
Non ho approfondito le operazioni di funzionamento con il solo Avcc, ma mi sembra palese che la tensione applicata a Vcc o AVcc comunque alla fine converga in un punto comune. Ho anche fatto la prova scema: i due GND sono in corto tra loro mentre Vcc e AVcc sono "separati" da circa 12kohm.
Penso sia inutile scervellarsi, non c'è logica e non c'è rispondenza rispetto alle aspettative che genera il datasheet.
Secondo me Astro dovrebbe porre il quesito ad ATMEL, come già fece in occasione della questione della signature cancellata.
Penso possa bastare, come detto NON ho intenzione di fare prove spaccamicro con erograzioni di correnti superiori a quanto chiaramente e ampiamente scritto sul data-sheet.
Logged

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

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 74
Posts: 7348
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Secondo me Astro dovrebbe porre il quesito ad ATMEL, come già fece in occasione della questione della signature cancellata.
Penso possa bastare, come detto NON ho intenzione di fare prove spaccamicro con erograzioni di correnti superiori a quanto chiaramente e ampiamente scritto

Non c'è nulla da chiedere, e ve l'ho già spiegato in diverse occasioni, i vari pin di alimentazione sono tutti elettricamente connessi tra loro, ovviamente per eguaglianza di polarità, però sono fisicamente connessi in punti diversi del chip.
Avcc è diverso dagli altri pin di alimentazione, infatti risulta separato come minimo da un diodo, può essere sia collegato direttamente a Vcc, ma la precisione e stabilità del ADC ne risente, oppure tramite un filtro passa basso per eliminare il rumore sull'alimentazione, in questo modo si ha un sensibile miglioramento sulle letture ottenute dal ADC.
Vi ho anche già detto che tutte le linee di alimentazione presenti su un micro, o altra tipologia di IC, devono sempre essere collegate, non vanno mai lasciate libere, ed è pure buona norma mettere un condensatore di disaccoppiamento su ogni coppia alimentazione positiva/negativa.
Tutti i produttori forniscono Application Note generali che spiegano queste cose e forniscono esempi di come realizzare le alimentazioni, va da se che non si mettono a ripetere su ogni data sheet ciò che sono nozioni di base indispensabili a chi progetta hardware.

edit: Dimenticavo, non ha alcun senso fare prove con condizioni di funzionamento fuori da quelle imposte per il normale funzionamento, salvo il caso accertare cosa succede in caso di avarie e/o simulazione di condizioni critiche, perché trovare un malfunzionamento in questo caso è la norma e non serve a nulla stupirsi o urlare al "bug", siete fuori specifiche quindi è normale che le cose non vadano come atteso.
« Last Edit: May 01, 2012, 02:17:49 pm by astrobeed » Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 386
Posts: 10235
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Comincio dalla fine:
- non ha senso fare prove se l'intento è quello di dimostrare qualcosa di diverso da ciò che viene affermato, ma qui si tenta di provare ciò che viene affermato e cioè se l'AVcc alimenta univocamente i pin PC0-PC3, come sembra apparire dal data-sheet; non le ho certe scritte io le frasi che ho riportato e che mi pare abbia riportato pure tu, o Leo, ora non ricordo. Io oggi NON ho cercato vie di alimentazione e/o uso alternative allo standard, sarei un pazzo, ho cercato risposte ai dubbi che nemmeno tu riesci a dissipare e che personalmente ritengo legittimi; le prove "stravaganti" non le ho fatte per me, ma per dare una qualche indicazione a te e a chi in generale (e sono tanti) ne sa più di me. La seguente affermazione è tua, non mia:
Quote
(...citazione data-sheet...)Ovvero Avcc alimenta l'ADC e fornisce corrente per l'uso digitale dei pin PC3:0 e ADC7:6 (non presenti nella versione pdip28), se non lo colleghi oltre a perdere l'ADC non puoi usare come out digitali i pin interessati, dovrebbero funzionare lo stesso come input digitali, però è da verificare.
A me sembra che contrasti con quanto hai scritto nell'ultimo post e sicuramente contrasta con gli esiti delle prove che oggi ho fatto io; poi si può dire che va bene così, tanto sappiamo come far funzionare il micro. Ma se tu avessi sempre ragionato così non sarebbero mai usciti fuori alcuni Topic che fanno parte della storia di questo Forum (e non credo di esagerare). Potrei scodellare una sfilza di domande su questa cosa e oggi ancora nessuno sarebbe in grado di dare una risposta certa, perché quanto affermi sono principi generali, certamente esatti, ma che non spiegano purtroppo nulla riguardo i dubbi che ho sollevato qui e altrove. Ora questo è un Topic per i limiti di corrente, ed io per dare una risposta ad Uwe ho tirato in ballo anche la storia dell'ADC, quindi forse si divaga, per cui la cosa si può chiudere qui, no problem, però non mi dite che sto sbagliando, altrimenti iniziamo un'altra questione come quella di quei cessi di lock bits smiley-mr-green
Logged

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

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 74
Posts: 7348
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

ma qui si tenta di provare ciò che viene affermato e cioè se l'AVcc alimenta univocamente i pin PC0-PC3, come sembra apparire dal data-sheet;

L'errore di fondo è il voler a tutti i costi cercare un problema, il produttore fornisce delle specifiche che garantiscono il funzionamento del componente in un certo modo, se non ci si attiene a queste regole tutto diventa possibile, sia che apparentemente funziona lo stesso sia i risultati assurdi.
Logged


Pages: 1 [2]   Go Up
Print
 
Jump to: