ваттметр на резисторах

vivatgm

✩✩✩✩✩✩✩
26 Янв 2021
23
0
Доброго времени суток. Имеется: гараж с солнечной панелью и аккумуляторами, ардуинка нано в гараже. С целью выяснения полезности солнечной панели и наличия свободных ресурсов на ардуино, решил сделать ваттметр, который будет измерять количество сэкономленных ватт электроэнергии, а так же наконец на цифрах определиться стоит ли мне дальше расширять мою "экологическую электростанцию". Мастерить было решено из этого самого и палок, так как в наличии на алишке нормальных недорогих ваттметров с возможностью передать данные на ардуино не нашел. Из просторов интернета была собрана бюджетнейшая схема на основе резисторовсхема.jpg, с помощью вот этого видео попытался рассчитать шунт, для измерения токов до 100 А вышло 1,29м медного провода сечением 2,5. для ардуино был написан следующий скетч на основе статьи

C++:
#include <microDS3231.h>
MicroDS3231 rtc;
#define OLED_SOFT_BUFFER_64   // Буфер на стороне МК
#include <GyverOLED.h>        // Библиотека дисплея
#include <GyverBME280.h>      // библиотека датчика BME280
#include <GyverButton.h>      // библиотека кнопок
GyverOLED oled;
GyverBME280 bme;
GButton up(4, HIGH_PULL);     // Кнопки
GButton down(5, HIGH_PULL);
GButton ok(3, HIGH_PULL);


uint32_t chaswata=millis(); 
uint32_t t=0;
uint32_t disp=0;
const float AmpRx = 0.027;                  //сопротивление шунта
const float VoltMult = 30;                 
const float Erif = 5.1*30/1024;
float wattchass=0;
void setup() {
  oled.init(OLED128x64); // Инциализация дисплея
  oled.setContrast(cont);      // Макс. яркость

}

void loop() {
 t=millis()-chaswata;
 chaswata=millis();
 float Volt = analogRead(A1)*Erif;
 float Amp = (Volt-(analogRead(A0)* Erif)) / AmpRx/100  ;
 if(Amp>0) wattchass+=Volt*Amp*t/3600000;
 if (millis()-disp>1000){
  disp=millis();
  oled.clear();           // Очищаем буфер
  oled.home();
  oled.print(F("Напряжение1: "));                             //напряжение сети
  oled.print(analogRead(A1)* 0.0146627565982405, 3);
  oled.print(F("V"));
  oled.setCursor(0,1);
  oled.print(F("Напряжение2: "));                             //напряжение сети
  oled.print(analogRead(A0)* 0.0146627565982405, 3);
  oled.setCursor(0,2);
  oled.print(F("amp: "));                             
  oled.print(Amp);
  oled.setCursor(0,3);
  oled.print(F("Watt/h: "));                             
  oled.print(wattchass);
  oled.update();
 }
}
по итогу: данный агрегат стал что то считать. При подачи нагрузки (подключения ИПБ используемого как инвертор) показания ампер начинают жутко прыгать от минусовых значений к плюсовым, но в состоянии покоя показывает силу тока -0,11, -0,16 и -0,22, чаще всего -0,16. Три вот этих значения с шагом -0,05 А. Для уменьшения прыгучести показаний было принято решение подцепить по конденсатору 16V100UF на каждый делитель, но улучшающего эффекта мною обнаружено не было. В 31 строке кода поставил делить на 100 так как значения показались ну сильно завышенными (примерно в 100 раз) к тому же вроде как установлен шунт на 100 А. В схеме указано напряжение 12В, но по факту напряжение аккумуляторов достигает 14,4 в полностью заряженном состоянии (далее ШИМ панели отрубает панель от аккумуляторов чтобы не спалить их) поэтому схема рассчитывалась на напряжение 15В, что бы не спалить ардуинку.
Прошу дать экспертное мнение полетит ли данный паровоз? высокоточные расчеты потребления мне не важны, но остается непреодолимое чувство, что я сделал что то не так. На что обратить внимание и что поправить?
 

poty

★★★★★★✩
19 Фев 2020
3,237
942
Как Ардуино подключена ко всему этому хозяйству? Обычным мультиметром пытались измерить напряжение на шунте и проверить то, что считаете в Ардуино?
 

Геннадий П

★★★★★★✩
14 Апр 2021
1,974
633
45
для измерения токов до 100 А вышло 1,29м медного провода сечением 2,5
Вы уверены, что хотите ставить такой "шунт" на 100 А нагрузку? Потому как все нормальные шунты на 100 А имеют сопротивление на два порядка меньше чем у вас. Соответственно и падение напряжения на них измеряется в милливольтах, без операционного усилителя нет смысла их подключать.
 
Изменено:

poty

★★★★★★✩
19 Фев 2020
3,237
942
@Геннадий П, во многом согласен. На 100А падение напряжения на этом кусочке кабеля будет всего 0,9В, однако мощность - 90Вт. Думаю, он просто не выдержит такого издевательства.
Если это, к тому же, напрямую подключено к Ардуино с её 1024 уровнями, то минимальное напряжение, которое Ардуино в принципе "засечёт", без изменения AREF - около 5мВ, что соответствует минимальному детектируемому току 0,5А примерно. Т.е. значений 0,11, 0,16... быть просто не может.
 

Bruzzer

★★★✩✩✩✩
23 Май 2020
475
137
Я бы не стал измерять потребление по 12 В, а измерил потребление полезной нагрузки 220 В на выходе инвертора. (К тому же у меня есть и ваттметр в розетку и старый счетчик на выбор). Ведь в конечном счете интересует, сколько пользы дает аккумулятор.
 
Изменено:

Эдуард Анисимов

★★★★★★✩
23 Сен 2019
2,416
976
58
Марий-Эл
стоит ли мне дальше расширять мою "экологическую электростанцию"
Сразу скажу, если панели не на халяву, смысла нет. Не окупают они себя.
Не могу найти этот материал, где это было сказано в примерах и цифрах.

А по поводу измерения, возьмите старый трёхфазный счётчик. Исправный. Сейчас их много выкидывают, Т.К. идёт замена на счётчики со "стукачком". Там есть токовые трансформаторы и микросхема. На их базе можно построить хоть ваттметр, хоть амперметр.
 

vivatgm

✩✩✩✩✩✩✩
26 Янв 2021
23
0
всем спасибо за ответы, извиняюсь за задержку в отклике. @poty, пробовал, разнятся, разнятся в том плане, что с мультиметра цифры более стабильны. @Геннадий П, как и указывал ссылку откуда брались расчеты шунта, не берусь утверждать что мои правильны. @Bruzzer, тестировалось на инверторе, так как нагрузка на ней серьезная по сравнению с другими потребителями. там и светодиодная лента (несколько кусков) и всякие 12в насосы. поэтому в моей схеме принципиально измерять в 12в среде, чтобы в дальнейшем считать вообще все потребление. @Эдуард Анисимов, я звининяюсь, но это из разряда рецептов "возьмите перо пуэрториканской ласточки"... по поводу не эффективности панели тут по самым простым и грубым расчетам видно, мое домовое потребление с нашими тарифами на электроэнергию если заменить ее на панели окупится не менее чем через 50 лет... фан одним словом, но у каждого есть свой фан, у меня в гараже панель и я хочу прикрутить к ней ардуино.
как итог ваших сообщений я пришел к выводу что дешевле взять за килорубль счетчик на алишке, но он не передает сведения в ардуинку, а мне бы хотелось, так как ардуинка ведет статистику на серваке и передает сведения в телегу. а вот с этим операционным усилителем все очень сложно, самому без проф навыков собрать реально?
 

Геннадий П

★★★★★★✩
14 Апр 2021
1,974
633
45
а вот с этим операционным усилителем все очень сложно, самому без проф навыков собрать реально?
Например:
Берем стандартный шунт, например: 75ШИП1-100-0.5, Шунт 100А 75мВ, ЭНМАКСО | купить в розницу и оптом (chipdip.ru)
Смотрим, при номинальном токе падение напряжения на нем 0.075 В.
Чтобы усилить его до примерно 3 В нам нужно его усилить в 3 / 0.075 = 40 раз
Т.к. шунт будем использовать в нижнем плече, то берем стандартную схему неинвертирующего усилителя на операционнике и смотрим формулу: K=1+(R2/R1)
Получается примерно так:
1628895011261.png
Для примерного определения тока сойдет.
На самом деле там есть куча тонкостей, но они нужны в основном если требуется точное определение тока.
 

Геннадий П

★★★★★★✩
14 Апр 2021
1,974
633
45
@vivatgm, Это операционный усилитель.
Понятно, вам проще готовое решение найти. Ну или подкопить знаний, на ютубе например или еще где.