Może lepiej, gdybyś mógł potwierdzić (zdecydowanie lepiej by było, gdybyś mógł zanegować ) moje obseracje z tego softu;
viewtopic.php?p=176624#p176624
Może gdzieś robię błąd.
Może lepiej, gdybyś mógł potwierdzić (zdecydowanie lepiej by było, gdybyś mógł zanegować ) moje obseracje z tego softu;
Nie ma potrzeby jak nie działa to się samo nie naprawi.RomanG wrote: ↑Sat Mar 16, 2024 8:09 pmMoże lepiej, gdybyś mógł potwierdzić (zdecydowanie lepiej by było, gdybyś mógł zanegować ) moje obseracje z tego softu;
viewtopic.php?p=176624#p176624
Może gdzieś robię błąd.
RomanG: Co to za "wysokie" numery pinów? I co to znaczy, że w ESP będzie "odwrotnie"?
Mózg PZEM jest zasilany z 230V. 5V+GND włącza nam jedynie optocuplery.Make sure the PZEM device is connected to the 230V AC power! The 5V pin only powers the optocouplers, not the actual chip.
Make sure the 5V and GND are BOTH connected! They are essential for the optocouplers!
Myślałem że już się z tym pogodziłeś. Ktoś by musiał sam skompilować soft i odszukać problem nie mam tego sprzętu więc ja odpadam.iM@rek wrote: ↑Fri Apr 05, 2024 11:53 am Informacyjnie:
Uruchomiłem kolejny licznik PZEM v3, na nowych modułach (z 3-ma transoptorami).
Jak zwykle połączyłem na 4 pinach (od strony Wemos D1 mini):
Wemos..|...PZEM
-------------------------------------
Rx --- D1 | Tx(F1F2F3)
Tx1 - D5 | Rx(F1)
Tx2 - D6 | Rx(F2)
Tx3 - D7 | Rx(F3)
dodatkowo w obudowie licznika jest czujnik DS18b20 na pinie D2.
I teraz:
- FRMW 604 - działa od strzału.
- Wygenerowałem FRMW z Buildera 71424 i wgrałem - nie działa, albo działa tylko 3 faza itp.
Czyściłem Wemosa, wgrywałem od nowa itd. Ciągle nie działa na tym nowym FRMW w trybie 4pin.
Kilka razy wgrywałem na przemian v604 - działa ok.
Rozumiem.
Code: Select all
#include <PZEM004Tv30.h>
#include <SoftwareSerial.h>
#define PZEM_RX_PIN D5
#define PZEM_TX_PIN D6
SoftwareSerial pzemSWSerial(PZEM_RX_PIN, PZEM_TX_PIN);
PZEM004Tv30 pzem(pzemSWSerial);
void setup() {
Serial.begin(9600);
}
uint8_t ustaw_adres = 0x02; // tutaj wpisz adres
void loop() {
pzem.setAddress(ustaw_adres);
Serial.print("Ustawiony adres:");
Serial.println(pzem.getAddress());
Serial.println();
delay(1000);
}
Code: Select all
// inny OLED 1,3" + WWW
#include <ESP8266WiFi.h>
#include <SPI.h>
#include <Wire.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <PZEM004Tv30.h>
#include <SoftwareSerial.h>
//#include <LiquidCrystal_I2C.h>
//#include <Adafruit_GFX.h>
//#include "SSD1306Wire.h"
#include "SH1106Wire.h"
//Encoder myEnc(D6, D7);
const char* ssid = ".........";
const char* password = "...........";
WiFiServer server(80);// Set port to 80
String header; // This storees the HTTP request
#define RX D5
#define TX D6
SoftwareSerial pzemSWSerial(RX, TX);
PZEM004Tv30 pzemL1(pzemSWSerial, 0x01);
PZEM004Tv30 pzemL2(pzemSWSerial, 0x02);
PZEM004Tv30 pzemL3(pzemSWSerial, 0x03);
//LiquidCrystal_I2C lcd(0x27,20,4);
//SSD1306Wire display(0x3c, D2, D1);
SH1106Wire display(0x3c, D2, D1);
OneWire oneWire(D4); //Podłączenie do A5
DallasTemperature sensors(&oneWire); //Przekazania informacji do biblioteki
int maxNapiecie = 244.00;
int temp = 0;
int tempMAX = 80;
int SSR_L1 = D7;
int SSR_L2 = D8;
int SSR_L3 = D0;
int wartosc1 = 0;
float napiecieL1 = 0;
int wartosc2 = 0;
float napiecieL2 = 0;
int wartosc3 = 0;
float napiecieL3 = 0;