Go Down

Topic: ok , sto impazzendo . Fluttuazione ingressi analogici. (Read 2066 times) previous topic - next topic

magum12

Ho provato a fare la media di 10 letture , ma non ha dato esito positivo... domani vi posto il programma nel caso in cui ho sbagliato qualcosa ^^

Michele Menniti

ma non ti avevamo chiesto di fare delle altre misure/verifiche?
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

astrobeed

Ma quando vi entrerà in testa che un led emittore di luce non è un fotoricettore ?
Tra i due device vi sono delle notevoli differenze costruttive, in particolare un normale led, sebbene può generare tensione quando illuminato, non solo rende disponibili pochi uA quando usato, erroneamente, come fotoricettore, ma in condizioni di scarsa illuminazione è praticamente un circuito aperto che lascia l'ingresso ADC flottante e in grado di captare tutto la "porcheria" emi circostante.
Altro problema è che l'impedenza d'uscita di un normale led usato come fotoricettore è molto più alta dei 10k massimi ammessi dal ADC di Arduino.
Io li metterei tutti in galera quelli che consigliano di usare dei led come fotoricettori  :smiley-mr-green:

pablos


Io li metterei tutti in galera quelli che consigliano di usare dei led come fotoricettori  :smiley-mr-green:

:D :D :D
no comment

lesto

per il pin flottante siamo d'accordo, per l'alta impedenza non so cosa comporta (una spiegazione o un link?), ma CREDO che entrambi i problemi siano risolvibili usando una pull-down.

Poi che un rcevitore sia più adatto siamo d'accordo, ma in pratica ci si arrangia con ciò che si ha in casa :)
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Michele Menniti

Questa diatriba, ma si fa per dire, il senso è unico, ed ha ragione Astro, ci fu all'epoca della presentazione del progetto da parte di Gioblu. Da un lato hai le conoscenze perfette del Professionista che ti dice i motivi per i quali una cosa non si dovrebbe fare o non dovrebbe funzionare, dall'altro qualcuno s'intestardisce sull'idea ed inizia a fare dei tentativi ottenendo qualche risultato sulla base di caratteristiche diciamo secondarie dei componenti. Ma questo non garantisce il buon funzionamento generico dello schema ma solo quello dell'esperimento; infatti ora il nostro nuovo amico cerca di replicarlo ed ha tanti problemi. Ciò conferma le sacrosante ragioni di Astro, ma lascia comunque spazio ad una sperimentazione ludica che non deve avere pretese di arrivare a lla scoperta geniale, ma solo a qualcosa che possa funzionicchiare in ambito domestico, ma a volte Astro è integralista :D
E' un po' come la storia dei mosfet con Vg a 12V che vengono usati da molti (staff Arduino compreso  ;)) pilotati a 5V, funzionano ok, ma solo perché pilotano correnti di qualche ampere, basterebbe raggiungere la metà della Imax per vederlo andare allegramente in fumo. Astro alla fine ha insegnato questa cosa a molti di noi, ma tantio continuano a seguire tutorial (errati) sparsi e poi vengono qui a dire che "funzionano".

L'alta impedenza è uno stato che non influenza in alcun modo l'ingresso del pin per cui qualsiasi micro-schifezza viene letta ed interpretata; la pull-down risolverebbe il problema ma si scontra con le ridicole correnti in gioco dei led usati in tal modo; considera che essi non sono alimentati quindi generano tensione e corrente per reazione fisica, un po' come le celle solari, e già fanno schifo quelle, figurati un led.
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

astrobeed


per l'alta impedenza non so cosa comporta (una spiegazione o un link?), ma CREDO che entrambi i problemi siano risolvibili usando una pull-down.


Lesto del problema impedenza d'ingresso ne abbiamo parlato mille mila volte :)
Leggi qui

astrobeed


  ma a volte Astro è integralista :D


Non sono integralista, sono una fonte attendibile che spiega come stanno le cose in realtà  :D
Premesso che la sperimentazione è sempre una cosa positiva, molte scoperte importanti sono state fatte facendo esperimenti al di fuori dei canoni, però ci sono cose che ormai sono più che straverificate, è inutile perdere tempo in ulteriori verifiche, p.e. la legge di Ohm.
Un conto è fare delle prove a livello personale, violando varie regole/leggi elettroniche/fisiche, ed ottenere dei risultati accettabili, e un conto è "spacciare" questi risultati come delle verità assolute quando sono solo dei casi limite, spesso dovuti alle tolleranze dei componenti, che funzionano solo in determinate condizioni e raramente sono ripetibili con gli stessi risultati.

Michele Menniti

completamente d'accordo, è quello che ho detto io nel mio post precedente citando alcuni esempi famosi  :)
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

magum12

Non voglio interrompere la vostra discussione xD , sono d'accordo che usare un led come "ricevitore" è una cosa che va al di fuori della norma...
però visto che ad altri risultati accettabili , voglio provarci anche io xD niente di più ne di meno :P

Comunque penso se metto una resistenza di pull-down mi muore il segnale  :~
Ho misurato quanto mi riusciva a erogare (in volt) il led :
Rosso : 200mv
Verde: 200mv
Blu : 150mv




astrobeed


Comunque penso se metto una resistenza di pull-down mi muore il segnale  :~


Si perché anche se la tensione ottenibile è relativamente alta la corrente erogabile è pochi uA, se metti una pull dow, anche da 1 Mohom, si prende lei la corrente del sensore e la tensione rimane a 0 o, al massimo, poche decine di mV.
Dovresti mettere un driver tra il led e l'ingresso ADC, p.e. un opamp in modalità voltage follower, meglio ancora se inserisci anche un piccolo guadagno per sfruttare tutta la dinamica del ADC, però a questo punto fai prima, e ti costa meno, usare un vero fotodiodo :)

magum12

:P a casa sono ben fornito :P comunque penso di usare un opamp un semplice tl081 può andar bene no? :)

Michele Menniti

se non sbaglio l'impedenza del TL081 non è molto elevata, quindi anche la modalità VF (che è una sorta di adattatore d'impedenza a guadagno unitario) potrebbe rivelarsi poco utile, ma è meglio aspettare il parere di Astro, nelle more la prova puoi farla; intanto misura le tensioni senza le R di pull-down
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

magum12


Michele Menniti

ah, avevo capito che erano valori CON le R di pull-down, invece sono senza....
Allora decisamente ti conviene, prima di passare alle prove con op amp, ecc. provare ad attivare l'ARef INTERNAL, che corrisponde a circa 1,1V di fondo scala, così almeno arrivi a valori di ADC di circa 140-180, contro gli attuali 30-40 circa.
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

Go Up