Page 1 of 1

Come leggere 4-20mA con ADC di un mega8

PostPosted: 04 Jun 2012, 20:32
by filosofo
Salve a tutti,
c'รจ un modo per leggere un segnale 4-20mA proveniente da un sensore attraverso l'ingresso ADC di un Atmega8 ?

grazie

Re: Come leggere 4-20mA con ADC di un mega8

PostPosted: 04 Jun 2012, 20:36
by flz47655
Se devi leggere una corrente potresti mettere una resistenza e leggere la caduta di tensione e in base alla legge di ohm calcolare la corrente

Ciao

Re: Come leggere 4-20mA con ADC di un mega8

PostPosted: 05 Jun 2012, 11:37
by deluca
Puoi usare l'ADC chn(0) con una resistenza di 250 ohm.
Il valore deriva da 5Volt/250=0.02 A, ovvio che se cambia la V di riferimento dell'ADC (es: 3.3V, o 1.2V) devi ricalcolare la R (legge di Ohm).
In questo caso abbiamo (250ohm x 0.02 A = 5Volt)

Per la conversione prova con il listato seguente:

Code: Select all
$regfile = "M8DEF.DAT"
$crystal = 4000000

Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
Config Serialin = Buffered , Size = 20
$baud = 9600

Config Adc = Single , Prescaler = Auto , Reference = Avcc

Dim C As Word

Start Adc

Do
  C = Getadc(0)
  Print " ADC VALUE : " ; C
  C = C / 51.15
  Print "mA: " ; C
  Waitms 20
Loop
End


Per proteggere l'ingresso da sovratensioni ti consiglio di proteggere l'ingresso con un diodo zener da 5.1V ed
eventualmente bufferizzare il segnale con un operazionale prima dell'ingresso del micro.

Re: Come leggere 4-20mA con ADC di un mega8

PostPosted: 06 Jun 2012, 10:26
by filosofo
grazie deluca
il tuo consiglio e il tuo listato funzionano alla perfezione :)