A proposito delle prime letture dell'ADC...

Ciao a tutti

Leggendo il programma per un GPSDO ho trovato questo:

// read ADC1 and 2 - temperature 
  int dummyreadADC = analogRead(A1); //without this ADC1 is influenced by ADC0
  tempADC1 = analogRead(A1);
  dummyreadADC = analogRead(A2); //without this ADC2 is influenced by ADC1
  tempADC2 = analogRead(A2);
  dummyreadADC = analogRead(A0); //without this TIC_Value (ADC0) is influenced by ADC2

https://www.eevblog.com/forum/projects/lars-diy-gpsdo-with-arduino-and-1ns-resolution-tic/

Uhmm... Che ne pensate?

Ciao, Premetto che non sono esperto, ma da quello che vedo e ricordo di aver letto qualcosa, si riferisce a qualche metodo di filtraggio del primo valore restituito dal convertitore ADC che se non erro e unico e quindi multiplexato canale per canale, quindi nel passaggio da un canale ADC ad un'altro potrebbe dare delle false letture. Non ricordo come, ma ricordo di aver letto che vi è una procedura per evitare questo usando ovviamente la manipolazione dei registri direttamente, e per ora, questo va oltre le mie possibilità, per ora a mala pena riesco a capire "superficialmente" ->DDRx, PORTx e qualche altra cosetta, Sto ancora studiando! Comunque, come tecnica, mi pare interesante per evitare quelle strane letture "al volo" tra diversi canali ADC.

Saluti
Antonio

>Datman: … la solita vecchia discussione, su quando si cambia canale ADC, di fare delle letture e scartarle … una frescaccia inutile se sono rispettati i limiti imposti da Atmel sull’impedenza di ciò che colleghi sui pin ADC (<= 10KΩ), se invece NON rispetti i limiti, allora piuttosto che quello, la cosa migliore è un piccolo condensatorino sull’ingresso … ovvio che devi però poi rallentare il ritmo delle letture.

Il problema è causato dal tempo che impiega il condensatore di S/H dell’ADC … se però cercavi qui sul forum è argomento di cui si è parlato decine di volte.

Guglielmo

hiperformance71:
... Non ricordo come, ma ricordo di aver letto che vi è una procedura per evitare questo usando ovviamente la manipolazione dei registri direttamente, e per ora, questo va oltre le mie possibilità ...

Ricordi male e non c'entra nulla.

Guglielmo