So assuming :-
Amps ADC value
-100 0000
0 0511
+100 1023
Equates to 201 amp values against 1024 a2d values gives us 1024/201 =5.094 a2d's per amp. By multiplying up we lose less in the division.
If using LONG variables you can get even more accuracy.
ADC_VALUE VAR WORD
AMPS VAR BYTE
AMPS_SIGN VAR BYTE
AMPS_CHAR VAR BYTE
ADCIN x,ADC_VALUE 'collect a2d
ADC_VALUE = ADC_VALUE *64 'multiply up by 64 (assuming a WORD variable)
AMPS = ADC_VALUE / 326 'divide down by 64 * 5.094
IF AMPS <100 THEN 'negative amps
AMPS_SIGN ="-"
AMPS_CHAR =100 -AMPS
ELSE 'positive amps
AMPS_SIGN ="+"
AMPS_CHAR =AMPS -100
ENDIF
LCDOUT $FE,128,AMPS_SIGN, DEC3 AMPS
Ok.
Timmers.
Bookmarks