Ingresso analogico - conversione ADC

Una tensione continua, facilmente misurabile con un tester analogico provvisto di uno strumento ad ago, per essere rappresentato su di un display numerico, deve essere convertito in binario.

 I sensori di temperatura, umidità, di luce o un microfono, forniscono un’uscita analogica pertanto per essere gestiti da un computer, deve essere trasformato in codice binario.

I circuiti necessari per questa conversione si chiamano ADC (Analog-to-Digital Converter).

Esistono convertitori ADC a 8, 10,12,16,24,… bit; aumentando il numero di bit, aumenta la risoluzione della rappresentazione del dato, avvicinando la conversione al reale valore analogico.

Anche la frequenza di campionamento è importante, la regola è che per convertire (campionare) un segnale analogico di frequenza X, è necessario che la frequenza di campionamento si almeno 2X .

esempio di conversione  ADC a 8 bit

https://en.wikipedia.org/wiki/Nyquist–Shannon_sampling_theorem

https://en.wikipedia.org/wiki/Analog-to-digital_converter

Quando un segnale analogico è trasformato in formato binario, 00 rappresenta la tensione di zero Volt, 255 rappresenta il valore massimo della tensione campionabile.

La maggior parte dei microcontrollori in commercio ha al loro interno un ADC, il chip ATMEGA328 di Arduino ha la risoluzione di 10 bit ( 1024 livelli discreti) e 6 ingressi analogici contrassegnati con la lettera A.

Se il segnale da convertire e superiore alla massima tensione applicabile all’ingresso analogico, è necessario utilizzare un partitore resistivo.

Il partitore resistivo è un circuito elettronico composto di due resistenze che trasformano il segnale analogico in un segnale più piccolo.

Questa è l’equazione che regola questa trasformazione:

Vout = Vin  * R 2 / R 1 + R 2

partitore

Collegando un segnale analogico a un ingresso digitale, purché sia nei limiti della tensione massima applicabile al pin, quello che può succedere è che il valore sarà letto zero o uno, in funzione di quanto la tensione analogica sia vicina allo zero logico o  all’uno logico.

Analogico sensore

dopo aver inserito un sensore nella DashBoard, si ha la possibilità di accedere alle librerie del sensore richiamando “Properties Macro”.

Flowcode permette di visualizzare il risultato di questa conversione con il programma ”Analogue Input Windows”, che permette di visualizzare il risultato in diversi formati.

dal menu View, seleziono Analog inputs, che apre la finestra Analog Windows.

analogico AnalogIn

il riquadro  Analog Windows, mostra quello che avviene ai segnali analogici applicati alle porte An= / An5.

il risultato della conversione Analogico/Digitale, può essere rappresentato i quattro formati.

  • Raw : rappresentato da numeri compresi tra lo zero e 1023.
  • Byte : rappresentato da numeri cmresi tra  zero e 255.
  • Percentage : rappresentato da valori percentuali da 0% a 100%
  • Unit : rappresentato da numeri compresi tra 0,000 e 1,000

Properties Reference

Channel: seleziona il pin da utilizzare come ingresso analogico.

VRef voltage: Imposta la tensione di riferimento per il convertitore analogico/Digitale interno; si riferisce alla variabile vrefvol utilizzata con il “component Macro” getVoltage o GetString, che converte la lettura ADC in Voltage (tensione)

+VRef voltage x 10mV: Il valore impostato è moltiplicato per 10 mV; Il valore predefinito è 500 = 5.0V .

VRef option: questa proprietà si riferisce alla variabile vrefop; Definisce il valore di riferimento massimo della conversioneADC; compreso tra zero e Vref.  ( ADC Range = GND to VRef Voltage)

VDD: Definisce la tensione di alimentazione del microprocessore come valore di riferimento Max.

VREF+ Pin: è il pin del microprocessore dedicato alla tensione di riferimento.

Conversion speed: È la velocità di conversione ADC contenuto nella variabile convspd; dipende dalla frequenza di lavoro del microprocessore (Clock setting).

FRC setting: base dei tempi (RC time base, dipende dalla temperature e dalla pressione)

Gli altri parametri dipendono dalla divisione della frequenza di funzionamento del microprocessore.

Acquisition cycles: Contenuto nella variabile actime; corrisponde ai micro secondi di attesa necessari per la conversione ADC, prima di iniziare il campionamento della tensione presente sul pin d’ingresso analogico.

Bit Depth: Contenuto nella variabile bits.

Numero di bit che l’ADC può campionare

              • 8 bit = ADC range 0 - 255
              • 10 bit = ADC range 0 - 1023
              • 12 bit = ADC range 0 - 4095
IN Analogico proprietà

Channel

Acquisition Cycles

Conversion speed

Vref

Riccardo Monti