Котел от солнечной панели
- Войдите на сайт для отправки комментариев
Вс, 13/02/2022 - 17:22
Интересует помощь с проектом для работы котла от солнечных панелей.
Нужно
Замер мощности по 3 фазам. Сколько инвертор дает по каждой фазе в сеть.
Для каждой фазы. При условии для мощности 500 включать реле номер 1, при мощности более 1000 включать дополнительно реле номер 2.
есть оборудование
Mega 2560
3*PZM 004t
6 твердотельных реле.
Пземы старые или новые (у v2 и v3 разные протоколы) ?
должны быть V3
v3
Если реле разорвали цепь, то что будем измерять ???
Реле включают тэн котла и не выключают питание Ардуино
Странный ход мысли ...
\
Если актуально, телеграм @bb773301
Обсудим
1
<a href=
"mailto:vitalinpro@mail.ru"
>vitalinpro@mail.ru</a>
2
Для связи
схема совсем неправильная, измерять ток надо в фазном проводе, я так понимаю инверторы без стабилизации, изначально при появлении напряжения включается один тэн на фазу, если мощность в нагрузке превышает 500 ватт параллельно ему подкидывается еще по одному
схема совсем неправильная, измерять ток надо в фазном проводе, я так понимаю инверторы без стабилизации, изначально при появлении напряжения включается один тэн на фазу, если мощность в нагрузке превышает 500 ватт параллельно ему подкидывается еще по одному
Схема должна быть правильной. Инвертор подключен к сети ONGRID. Реле включается если в конкретной фазе мощность более 500ватт и второе реле если мощность более 1000ватт.
Можно представить, что тены питаются от другой сети но опираясь на данные первой сети с инвертером.
схема совсем неправильная, измерять ток надо в фазном проводе, я так понимаю инверторы без стабилизации, изначально при появлении напряжения включается один тэн на фазу, если мощность в нагрузке превышает 500 ватт параллельно ему подкидывается еще по одному
Схема должна быть правильной. Инвертор подключен к сети ONGRID. Реле включается если в конкретной фазе мощность более 500ватт и второе реле если мощность более 1000ватт.
Можно представить, что тены питаются от другой сети но опираясь на данные первой сети с инвертером.
у вас все три датчика в нулевом проводе, это считаете правильно?
схема совсем неправильная, измерять ток надо в фазном проводе, я так понимаю инверторы без стабилизации, изначально при появлении напряжения включается один тэн на фазу, если мощность в нагрузке превышает 500 ватт параллельно ему подкидывается еще по одному
Схема должна быть правильной. Инвертор подключен к сети ONGRID. Реле включается если в конкретной фазе мощность более 500ватт и второе реле если мощность более 1000ватт.
Можно представить, что тены питаются от другой сети но опираясь на данные первой сети с инвертером.
у вас все три датчика в нулевом проводе, это считаете правильно?
А с принципом работы PZEM 004T Знакомы?
схема совсем неправильная, измерять ток надо в фазном проводе, я так понимаю инверторы без стабилизации, изначально при появлении напряжения включается один тэн на фазу, если мощность в нагрузке превышает 500 ватт параллельно ему подкидывается еще по одному
Схема должна быть правильной. Инвертор подключен к сети ONGRID. Реле включается если в конкретной фазе мощность более 500ватт и второе реле если мощность более 1000ватт.
Можно представить, что тены питаются от другой сети но опираясь на данные первой сети с инвертером.
у вас все три датчика в нулевом проводе, это считаете правильно?
А с принципом работы PZEM 004T Знакомы?
да, но он у вас в общем проводе, а должен быть в проводе нагрузки, по вашей схеме в черном, оранжевом и сером проводах от тэнов к нулевому
схема совсем неправильная, измерять ток надо в фазном проводе, я так понимаю инверторы без стабилизации, изначально при появлении напряжения включается один тэн на фазу, если мощность в нагрузке превышает 500 ватт параллельно ему подкидывается еще по одному
Схема должна быть правильной. Инвертор подключен к сети ONGRID. Реле включается если в конкретной фазе мощность более 500ватт и второе реле если мощность более 1000ватт.
Можно представить, что тены питаются от другой сети но опираясь на данные первой сети с инвертером.
у вас все три датчика в нулевом проводе, это считаете правильно?
А с принципом работы PZEM 004T Знакомы?
да, но он у вас в общем проводе, а должен быть в проводе нагрузки, по вашей схеме в черном, оранжевом и сером проводах от тэнов к нулевому
Система ONGRID- означает что все электричество инвертер отдает в сеть. Следовательно по каждой фазе от инвертера есть мощность в зависимости от солнца. Из этой же сети питается тен котла.
Идея проекта включать на каждой фазе тен в соответствии с производимой мощностью.
Нужен скеч для одновременной работы 3 пземов и исходя из их показаний включение 1 и 2 реле для каждого пзема.
чтобы что-то программировать нужна нормальная электрическая схема и ТЗ, а не эти наскальные рисунки
ЗЫ как мне видится, тут даже одного датчика ZMPT101B в одной из фаз достаточно, если ТЭНы 2.2квт то первые ТРИ включаем при напряжении 50 вольт вторые при напряжении 100вольт, отключать в обратной последовательности и не городить городьбу, ардуино nano за глаза )))
PPS да и весь скетч уместится в 30 строк )))
01
#define pin_gr1 3
02
#define pin_gr2 6
03
#define pin_gr 9
04
#include "EmonLib.h" // Include Emon Library
05
#define VOLT_CAL 258.7 // VALOR DE CALIBRAÇÃO (DEVE SER AJUSTADO EM PARALELO COM UM MULTÍMETRO)**258.7 84%
06
07
EnergyMonitor emon1;
//Create an instance
08
09
void
setup
() {
10
emon1.voltage(1, VOLT_CAL, 1.7);
//Voltage: input pin, calibration, phase_shift
11
12
// Пины D3 -:- D8 настроить на выход
13
for
(
int
i = pin_gr1; i < pin_gr; i++){pinMode(i,OUTPUT); digitalWrite(i,LOW);}
14
}
15
16
void
loop
() {
17
emon1.calcVI(20, 2000);
//Calculate all. No.of half wavelengths (crossings), time-out
18
19
float
Voltage = emon1.Vrms;
//extract Vrms into Variable
20
int
vs = (
int
)Voltage;
21
if
(vs > 50){
22
for
(
int
i = pin_gr1; i < pin_gr2; i++) digitalWrite(i,HIGH);
23
}
else
{
24
for
(
int
i = pin_gr1; i < pin_gr2; i++) digitalWrite(i,LOW);
25
}
26
27
if
(vs > 100){
28
for
(
int
i = pin_gr2; i < pin_gr; i++) digitalWrite(i,HIGH);
29
}
else
{
30
for
(
int
i = pin_gr2; i < pin_gr; i++) digitalWrite(i,LOW);
31
}
32
}
чтобы что-то программировать нужна нормальная электрическая схема и ТЗ, а не эти наскальные рисунки
ЗЫ как мне видится, тут даже одного датчика ZMPT101B в одной из фаз достаточно, если ТЭНы 2.2квт то первые ТРИ включаем при напряжении 50 вольт вторые при напряжении 100вольт, отключать в обратной последовательности и не городить городьбу, ардуино nano за глаза )))
PPS да и весь скетч уместится в 30 строк )))
01
#define pin_gr1 3
02
#define pin_gr2 6
03
#define pin_gr 9
04
#include "EmonLib.h" // Include Emon Library
05
#define VOLT_CAL 258.7 // VALOR DE CALIBRAÇÃO (DEVE SER AJUSTADO EM PARALELO COM UM MULTÍMETRO)**258.7 84%
06
07
EnergyMonitor emon1;
//Create an instance
08
09
void
setup
() {
10
emon1.voltage(1, VOLT_CAL, 1.7);
//Voltage: input pin, calibration, phase_shift
11
12
// Пины D3 -:- D8 настроить на выход
13
for
(
int
i = pin_gr1; i < pin_gr; i++){pinMode(i,OUTPUT); digitalWrite(i,LOW);}
14
}
15
16
void
loop
() {
17
emon1.calcVI(20, 2000);
//Calculate all. No.of half wavelengths (crossings), time-out
18
19
float
Voltage = emon1.Vrms;
//extract Vrms into Variable
20
int
vs = (
int
)Voltage;
21
if
(vs > 50){
22
for
(
int
i = pin_gr1; i < pin_gr2; i++) digitalWrite(i,HIGH);
23
}
else
{
24
for
(
int
i = pin_gr1; i < pin_gr2; i++) digitalWrite(i,LOW);
25
}
26
27
if
(vs > 100){
28
for
(
int
i = pin_gr2; i < pin_gr; i++) digitalWrite(i,HIGH);
29
}
else
{
30
for
(
int
i = pin_gr2; i < pin_gr; i++) digitalWrite(i,LOW);
31
}
32
}
Проблема в том, что инвертер по 3 фазам дает 220 но разной мошности. По одной фазе дает 1кв по второй и третей по 0.5 кв и если ставить только 1-2 пзема то будет включение всех 3 тенов допустим 2 реле не каждом, и 1кв будет из сети, не с панелей.
Да признаю, что далек от этой тематики и не умею тз правильно составлят)
марку инвертера скажите, а то как сказки какие-то слышу про разную мощность по фазам, такое захочешь не сделаешь
марку инвертера скажите, а то как сказки какие-то слышу про разную мощность по фазам, такое захочешь не сделаешь
STP5.0-3AV-40 949
3 фазы по 7 ампер
3 фазы по 7 ампер
Да но когда солнце дигитальное приложение показывает, что мощьность по фазам отличается.
выравнивание нагрузки по фазам забота потребителя, значит ТЭНЫ разные
выравнивание нагрузки по фазам забота потребителя, значит ТЭНЫ разные
А причем тут проблема потребителя. Проблема в том, что мне надо мак получать с панелей. Для этого надо 3 замера иначе часть энергии уидет в сеть почти бесплатно по одной фазе а по второй я за дорого буду покупать ее.
у вас есть одно единственное решение задачи измерять напряжение с солнечных батарей и по его уровню подключать нагрузки, так как пороговое минимальное - 175 вольт а максимальное 800, в этом диапазоне и надо оперировать
у вас есть одно единственное решение задачи измерять напряжение с солнечных батарей и по его уровню подключать нагрузки, так как пороговое минимальное - 175 вольт а максимальное 800, в этом диапазоне и надо оперировать
Задача была конкретно описана. Какой смысл в написании кучи сообщений если они вообще не по теме.
Задача конкретная- замер мощности в 3 фазах, тремя пзмами и включение реле в 2 уровня при достижении определенных значений в каждой фазе.
И не надо доп фантазий о том как регулировать напряжение и тд.
и как вы отделите втекающую от вытекающей?
и как вы отделите втекающую от вытекающей?
Еще раз. Причем тут втекающая и вытекающая. Это не проблема и просто представить, что замер фаз в одной сети а реле в другой сети.
Это не проблема ...
сети инвертора и питающей подстанции связаны, синхронизированы, снять показания можно только со счетчика...
PS опосредованно рассчитать мощность можно зная соляризацию
Это не проблема ...
сети инвертора и питающей подстанции связаны, синхронизированы, снять показания можно только со счетчика...
PS опосредованно рассчитать мощность можно зная соляризацию
При производстве с солнечных панелей мощность по каждой фазе зависит от солнца в конкретный момент. То есть мы можем сделать замер по этим фазам. Если с эти фазы синхронизированы с сетью то все не востребуемое электричество уходит в сеть.
замер фаз с инвертора в сеть днем когда есть солнце как я понимаю должно показать мощность уходящую в сеть. Если мы замеряем фазу с инвертера и подключаем источник потребления, то также покажет максимальную производительность по фазе и не больше.
При производстве 200 ват по фазе и подключении потребителя на 1кв, замер на фазе все равно покажет 200вт.
Или я что то упускаю?
При производстве 200 ват по фазе и подключении потребителя на 1кв, замер на фазе все равно покажет 200вт.
Или я что то упускаю?
покажет 1 квт, у тебя по фазам закорочены выходы, и то покажет, если ты нули разделишь на нагрузках и пропустишь через датчик тока
PS в идеале ток в нулевом проводе при трёхфазной сети должен быть равен 0
При производстве 200 ват по фазе и подключении потребителя на 1кв, замер на фазе все равно покажет 200вт.
Или я что то упускаю?
покажет 1 квт, у тебя по фазам закорочены выходы, и то покажет, если ты нули разделишь на нагрузках и пропустишь через датчик тока
PS в идеале ток в нулевом проводе при трёхфазной сети должен быть равен 0
Можно еще сообщений 20 написать но как вижу результативность нулевая. Как понимаю скеч под условия замера одной сети и включения реле предложить не можете.
А как спалить сеть или убиться током я всегда сам смогу )))))
TC! вы хотите странного приняв неправильное техническое решение за основу, по вашим наскальным рисункам это нереализуемо!!!
TC! вы хотите странного приняв неправильное техническое решение за основу, по вашим наскальным рисункам это нереализуемо!!!
Как можно лучше сформулировать?
Есть 3 фазы по которым разная мощность, учитывая мощность в фазе надо включать одно или 2 реле.
TC! вы хотите странного приняв неправильное техническое решение за основу, по вашим наскальным рисункам это нереализуемо!!!
Как можно лучше сформулировать?
Есть 3 фазы по которым разная мощность, учитывая мощность в фазе надо включать одно или 2 реле.
за 1000 рублей помогу сформулировать ТЗ )))
TC! вы хотите странного приняв неправильное техническое решение за основу, по вашим наскальным рисункам это нереализуемо!!!
Как можно лучше сформулировать?
Есть 3 фазы по которым разная мощность, учитывая мощность в фазе надо включать одно или 2 реле.
за 1000 рублей помогу сформулировать ТЗ )))
За 2000 так уж быть рублей позволю это сделать)))))))))))))))))
понимаешь ТС! Способность исполнителя нарисовать принципиальную схему проектируемого девайса это тот порог входа, на который ориентируется потенциальный исполнитель кода программы...
Sadman41 точно в теме, но посмотрел на тебя и слился
Почему же слился. Я предоставил ТС скетч, но эффекта от этого действия не ощущаю.
Почему же слился. Я предоставил ТС скетч, но эффекта от этого действия не ощущаю.
так он мастер поговорить видимо...
надеешься, что ТС в состоянии подключить датчики по фэншую?
ЗЫ там кода в стандартном скетче - кот наплакал )))
001
/*
002
Copyright (c) 2021 Jakub Mandula
003
004
Example of using multiple PZEM modules together on one ModBUS.
005
================================================================
006
007
First of all, use the PZEMChangeAddress example in order to assign
008
each individual PZEM module a unique custom address. This example
009
requires 2 PZEM modules with addresses 0x10 and 0x11.
010
011
012
Then for each PZEM module create a PZEM004Tv30 instance passing a custom address
013
to the address field.
014
015
The instances can either be stored as individual objects:
016
017
```c
018
PZEM004Tv30 pzem0(&Serial2, 0x10);
019
PZEM004Tv30 pzem1(&Serial2, 0x11);
020
PZEM004Tv30 pzem2(&Serial2, 0x12);
021
022
pzem0.voltage();
023
pzem1.pf();
024
```
025
026
Or in an array and addressed using the array index:
027
028
```c
029
PZEM004Tv30 pzems[] = {
030
PZEM004Tv30(&Serial2, 0x10),
031
PZEM004Tv30(&Serial2, 0x11),
032
PZEM004Tv30(&Serial2, 0x12)};
033
034
pzems[0].voltage();
035
pzems[1].pf();
036
```
037
038
*/
039
040
#include <PZEM004Tv30.h>
041
042
043
#if !defined(PZEM_RX_PIN) && !defined(PZEM_TX_PIN)
044
#define PZEM_RX_PIN 16
045
#define PZEM_TX_PIN 17
046
#endif
047
048
#if !defined(PZEM_SERIAL)
049
#define PZEM_SERIAL Serial2
050
#endif
051
052
#define NUM_PZEMS 2
053
054
PZEM004Tv30 pzems[NUM_PZEMS];
055
056
/* ***************************************************************
057
* Uncomment USE_SOFTWARE_SERIAL in order to enable Softare serial
058
*
059
* Does not work for ESP32
060
*****************************************************************/
061
//#define USE_SOFTWARE_SERIAL
062
063
064
065
#if defined(USE_SOFTWARE_SERIAL) && defined(ESP32)
066
#error "Can not use SoftwareSerial with ESP32"
067
#elif defined(USE_SOFTWARE_SERIAL)
068
069
#include <SoftwareSerial.h>
070
071
SoftwareSerial pzemSWSerial(PZEM_RX_PIN, PZEM_TX_PIN);
072
#endif
073
074
void
setup
() {
075
Serial
.begin(115200);
076
// пины D2 - D7 настроим на выход
077
for
(
int
i = 2; i < 8; i++){
078
pinMode(i, OUTPUT);
079
}
080
081
// For each PZEM, initialize it
082
for
(
int
i = 0; i < NUM_PZEMS; i++)
083
{
084
085
#if defined(USE_SOFTWARE_SERIAL)
086
// Initialize the PZEMs with Software Serial
087
pzems[i] = PZEM004Tv30(pzemSWSerial, 0x10 + i);
088
#elif defined(ESP32)
089
// Initialize the PZEMs with Hardware Serial2 on RX/TX pins 16 and 17
090
pzems[i] = PZEM004Tv30(PZEM_SERIAL, PZEM_RX_PIN, PZEM_TX_PIN, 0x10 + i);
091
#else
092
// Initialize the PZEMs with Hardware Serial2 on the default pins
093
094
/* Hardware Serial2 is only available on certain boards.
095
* For example the Arduino MEGA 2560
096
*/
097
pzems[i] = PZEM004Tv30(PZEM_SERIAL, 0x10 + i);
098
#endif
099
}
100
}
101
102
103
104
void
loop
() {
105
// Print out the measured values from each PZEM module
106
for
(
int
i = 0; i < NUM_PZEMS; i++){
107
// Print the Address of the PZEM
108
Serial
.print(
"PZEM "
);
109
Serial
.print(i);
110
Serial
.print(
" - Address:"
);
111
Serial
.println(pzems[i].getAddress(), HEX);
112
Serial
.println(
"==================="
);
113
114
115
116
// Read the data from the sensor
117
float
voltage = pzems[i].voltage();
118
float
current = pzems[i].current();
119
float
power = pzems[i].power();
120
float
energy = pzems[i].energy();
121
float
frequency = pzems[i].frequency();
122
float
pf = pzems[i].pf();
123
124
125
// Check if the data is valid
126
if
(isnan(voltage)){
127
Serial
.println(
"Error reading voltage"
);
128
}
else
if
(isnan(current)) {
129
Serial
.println(
"Error reading current"
);
130
}
else
if
(isnan(power)) {
131
Serial
.println(
"Error reading power"
);
132
}
else
if
(isnan(energy)) {
133
Serial
.println(
"Error reading energy"
);
134
}
else
if
(isnan(frequency)) {
135
Serial
.println(
"Error reading frequency"
);
136
}
else
if
(isnan(pf)) {
137
Serial
.println(
"Error reading power factor"
);
138
}
else
{
139
// Print the values to the Serial console
140
Serial
.print(
"Voltage: "
);
Serial
.print(voltage);
Serial
.println(
"V"
);
141
Serial
.print(
"Current: "
);
Serial
.print(current);
Serial
.println(
"A"
);
142
Serial
.print(
"Power: "
);
Serial
.print(power);
Serial
.println(
"W"
);
143
Serial
.print(
"Energy: "
);
Serial
.print(energy,3);
Serial
.println(
"kWh"
);
144
Serial
.print(
"Frequency: "
);
Serial
.print(frequency, 1);
Serial
.println(
"Hz"
);
145
Serial
.print(
"PF: "
);
Serial
.println(pf);
146
if
(power >= 500) {digitalWrite(i+2,HIGH);}
else
{ digitalWrite(i+2,LOW);}
147
if
(power >= 1000) {digitalWrite(i+5,HIGH);}
else
{digitalWrite(i+5,LOW);}
148
}
149
150
Serial
.println(
"-------------------"
);
151
Serial
.println();
152
}
153
154
Serial
.println();
155
delay(2000);
156
}
Если рабочий то обязательно вспомню и вышлю за проект. Пока со временем очень напряжно и до конца февраля даже проверить не могу.
1) Подари мне солнечные панели. Я знаю, куда их применить:
https://youtu.be/3K6yjTkktgo?list=PLWPGkgnA_YMZkDnZsAar3UHY7v8HcPFHe
2) Купи себе солнечный коллектор для нагрева воды. Схема соединения:
https://youtu.be/1abWT1N1S3g?list=PLWPGkgnA_YMaTwBM0gq4aywByMRI9SBjY
3) К ним есть смысл изобретать контроллер. :
https://youtu.be/tXy68wDCNlY?list=PLWPGkgnA_YMaTwBM0gq4aywByMRI9SBjY
ТС использует готовое решение "зелёной энергетики"... и его жаба душит гнать в систему излишки по столь низкой цене, хочет утилизировать на свои потребности
Спасибо всем за помощь.
Но к сожалению присланные варианты не заработали. Скорее всего из за моих кривых рук.
Большое спасибо помог Safronov, быстро составил рабочий вариант.
Спасибо всем за помощь.
Но к сожалению присланные варианты не заработали. Скорее всего из за моих кривых рук.
Большое спасибо помог Safronov, быстро составил рабочий вариант.
рабочий вариант возможен только при правильной схеме, которой не было, так что не удивительно