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.