|
@@ -230,16 +230,6 @@ uint16_t * ADC_GetValues(void) {
|
|
|
curr += CurrentFastBuffer[i];
|
|
|
}
|
|
|
|
|
|
- /* Попытка оверсемплинга, чтобы сделать шаг ~1мВ
|
|
|
- делим на 8, умножаем на опорное напряжение, умножаем на входной делитель
|
|
|
- и делим на (12 бит АЦП * 8). */
|
|
|
- volt += 4; // для округления
|
|
|
- volt /= 8; // усредняем
|
|
|
- volt *= ADC_REF;
|
|
|
- volt *= ADC_VOLT_K;
|
|
|
- volt += ADC_ORES_H;
|
|
|
- volt /= ADC_ORES;
|
|
|
-
|
|
|
curr += 4;
|
|
|
curr /= 8;
|
|
|
// компенсация смещения нуля ОУ
|
|
@@ -255,13 +245,24 @@ uint16_t * ADC_GetValues(void) {
|
|
|
компенсируем падение напряжения на нём. */
|
|
|
shunt_volt += (ADC_OU_MUL/2);
|
|
|
shunt_volt /= ADC_OU_MUL;
|
|
|
- shunt_volt += ADC_ORES_H;
|
|
|
- shunt_volt /= ADC_ORES; // мВ на входе ОУ
|
|
|
- volt -= shunt_volt; // получили напряжение на клемах
|
|
|
+// shunt_volt += ADC_ORES_H;
|
|
|
+// shunt_volt /= ADC_ORES; // мВ на входе ОУ
|
|
|
+// volt -= shunt_volt; // получили напряжение на клемах
|
|
|
} else {
|
|
|
curr = 0;
|
|
|
}
|
|
|
|
|
|
+ /* Попытка оверсемплинга, чтобы сделать шаг ~1мВ
|
|
|
+ делим на 8, умножаем на опорное напряжение, умножаем на входной делитель
|
|
|
+ и делим на (12 бит АЦП * 8). */
|
|
|
+ volt += 4; // для округления
|
|
|
+ volt /= 8; // усредняем
|
|
|
+ volt *= ADC_REF;
|
|
|
+ volt *= ADC_VOLT_K;
|
|
|
+ volt -= shunt_volt;
|
|
|
+ volt += ADC_ORES_H;
|
|
|
+ volt /= ADC_ORES;
|
|
|
+
|
|
|
avgVal[0] = (uint16_t)volt;
|
|
|
avgVal[1] = (uint16_t)curr;
|
|
|
|