-Poprawiłem algorytm wyliczania dla mocy pozornej zrobiłem go wg algorytmy @elmaya, dzięki za podpowiedź
-Dodatkowo dodałem obsługę dla OLEDa "SSD1306 - 0,66'' WEMOS OLED shield" - robiłem trochę w ciemno nie mam tego wyświetlacza.
Bo nie ma potrzeby tego zapamiętywać te wartości są tylko do kalibracji. Nie wnikałem jak działa kalibracja.Patryk wrote: Sun Dec 27, 2020 10:21 pm 1. Strony konfiguracyjne teraz zmieniają się szybko ( płynnie ).![]()
2. Żarówka "starego" typu - 60W.
3. Co bym nie wprowadził podczas kalibracji (np: 200W oraz 400V) to moduł zawsze pokazuje te same wartości ( NIE zapamiętuje wprowadzanego napięcia (V) i mocy (W) ).![]()
A w tym sofcie co podesłales jest ten sam efekt?Patryk wrote: Sun Dec 27, 2020 10:29 pm No właśnie.
Wprowadziłem 200W i 400V podczas kalibracji żarówki 60W.
Po prostu kalibracja nie działa.
Inicjujesz czujnk przed kalibracją?krycha88 wrote: Sun Dec 27, 2020 10:51 pm Wpisałem 400V podczas kalibracji i umnie się taką wartość wyświetla w aplikacji![]()
Uff.Budek wrote: Sun Dec 27, 2020 10:55 pm To tak.
1.1.3
Robie kalibracje. Data saved... Nie restartuje. Wchodzę w apke. Jest 100w 230v...
Robie restart... i po restarcie mam: 219V 64W....
/Budek
@krycha88
Code: Select all
I have added "myCSE7766.handle ();" to "calibrate_CSE7766 ()" to take the readings.
Code: Select all
void calibrate_CSE7766() {
int ex_volt = atoi(Volt);
int ex_pow = atoi(Wats);
double ex_amps = ((float)ex_pow / (float)ex_volt);
digitalWrite(relay_pin,HIGH);
myCSE7766.handle();
unsigned long timeout1 = millis();
while ((millis() - timeout1) < 10000) { delay(10);}
myCSE7766.handle();
myCSE7766.expectedPower(ex_pow);
myCSE7766.expectedVoltage(ex_volt);
myCSE7766.expectedCurrent(ex_amps);
unsigned long timeout2 = millis();
while ((millis() - timeout2) < 2000) {delay(10);}
double current_multi = myCSE7766.getCurrentRatio();
double voltage_multi = myCSE7766.getVoltageRatio();
double power_multi = myCSE7766.getPowerRatio();
EEPROM.put(400, current_multi);
EEPROM.put(410, voltage_multi);
EEPROM.put(420, power_multi);
EEPROM.write(430, 60);
EEPROM.commit();
yield();
}