|
@@ -34,8 +34,9 @@
|
|
|
#define ADC_SMPLS 64
|
|
|
// Supply voltage in mili volts
|
|
|
#define ADC_VREF 3335
|
|
|
-// input OA multiplier -- [(3.6/0.68) + 1) * 1000]
|
|
|
-#define ADC_MULT 6294
|
|
|
+// input OA divider resistance in Ohm
|
|
|
+#define ADC_MULT_TOP 3600
|
|
|
+#define ADC_MULT_BOT 680
|
|
|
// shunt resistance in mili Ohms
|
|
|
#define ADC_SHUNT 50
|
|
|
|
|
@@ -193,9 +194,9 @@ void main(void)
|
|
|
tbuf >>= 3; // ïðåäâàðèòåëüíûé äåëèòåëü îâåðñåìïëèíãà
|
|
|
tbuf *= ADC_VREF; // Ìíîæèì íà îïîðíîå íàïðÿæåíèå
|
|
|
tbuf = (tbuf + 4096) / 8191; // get ADC input voltage in mV
|
|
|
- tbuf *= 1000; // êîìïåíñàöèÿ êîýô. óñèëåíèÿ âõîäíîãî ÎÓ
|
|
|
tbuf *= 1000; // êîìïåíñàöèÿ ñîïðîòèâëåíèÿ øóíòà
|
|
|
- tbuf = (tbuf + (ADC_MULT/2)) / ADC_MULT; // get voltage from shunt
|
|
|
+ tbuf *= (ADC_MULT_TOP + ADC_MULT_BOT);
|
|
|
+ tbuf = (tbuf + (ADC_MULT_BOT/2)) / ADC_MULT_BOT; // get voltage from shunt
|
|
|
/* â Current òîê â ìèëèàìïåðàõ */
|
|
|
Current = (tbuf + (ADC_SHUNT/2)) / ADC_SHUNT;
|
|
|
|