kWh meter met S0 defect?

Hardware die niet past in bovenstaande onderwerpen
Gebruikers-avatar
Berichten: 72
Geregistreerd: 22 Jan 2013, 16:40

Re: kWh meter met S0 defect?

Berichtdoor zuid » 02 Okt 2019, 16:59

Paul, er is wel een lampje maar dat is altijd uit. Geen bijzonderheden in de meterkast.
Slimme meter, die gaat na mindernacht ook even aan het werk voor het doorgeven van de meterstanden aan netbeheerder (GSM o.i.d.)
KPN experiabox, wellicht wordt die door een PC af en toe aan het werk gezet voor het ophalen van Windows updates en bot netwerken die binnen proberen te komen.

Als het storingspuls zou zijn, is de meeste kans om hety te vinden in de behuizing waar de Wemos in zit.

maar waar??? mvg Nico

Advertisement

Gebruikers-avatar
Berichten: 72
Geregistreerd: 22 Jan 2013, 16:40

Re: kWh meter met S0 defect?

Berichtdoor zuid » 03 Okt 2019, 08:44

O P G E L O S T ???????????

Bij nader onderzoek van de logfiles van mijn project heb ik vastgesteld dat pulsen in de nacht dit jaar wel voorkomen maar niet meerdere per uur.
Ik had wel al maanden een probleem met random restarts van de Wemos en nog vaker een vastlopen van de Wifi verbinding.
De Wemos heeft na ingebruikname maximaal een week of drie zonder random restart gewerkt. Maar ook kwam een restart meerdere keren op een dag voor.
Wegvallen Wifi verbinding had ik inmiddels opgelost door in de software te controleren of er nog verbinding was met de Android.
Zo niet dan kreeg de Wemos een gecontroleerde restart.

Half september heb ik in fora verhalen gelezen met overeenkomstige problemen. Maar met een aanwijzing over de oorzaak.
Een ESP8622 doorloopt naast de LOOP in de schets ook nog een LOOP voor o.a. de Wifi verbinding.
Kennelijk worden beide na elkaar doorlopen zonder prioriteit voor de ESP software.
Als de LOOP van de gebruiker te lang duurt kunnen daardoor Wifi verbindingen verloren raken en andere fouten optreden.
Ook kan ESP8622 ingrijpen via de Software/hardware watchdog dit is dus van buitenaf (zonder Serial monitor) merkbaar als een schijnbaar random restart.
Maar niet alleen werd het probleem besproken maar er bleek ook een oplossing mogelijk.
a. Meest voor de hand liggende: gebruikers LOOP aanpassen zodat doorlooptijd beperkt blijft.
b. Indien dit niet haalbaar blijkt: toepassen van de instructie yield().
Kortgezegd, yield() zou de gebruikers LOOP onderbreken en even wat ESP LOOP zaken aflopen.
Eind september heb ik de yield() oplossing geïmplementeerd.

Ik heb geen moment gedacht dat de kWh meter problemen hier iets mee te maken konden hebben tot van middag toen vond ik wat berichtjes waar problemen met yield() werden genoemd.
Een beetje voor mij onduidelijk gevallen maar soms ook in de richting van een probleem met een sensor.
Een oplossing die daarbij werd aangedragen is i.p.v. yield() een delay(1) te gebruiken.
Ik heb dit nu aangepast en tot nu ruim 12 uur na de installatie geen rare dingen meer gezien. Of alles is opgelost kan ik pas na enkele weken beoordelen.
Koepel en Paul bedankt voor de tijd die jullie er aan besteed hebben.
Ik blijf nog wel wat vraagtekens overhouden van het antwoord van Koepel, ik moet me toch maar eens wat meer verdipen in de weerstanden en condensatoren :)

Gebruikers-avatar
Berichten: 2192
Geregistreerd: 06 Aug 2016, 01:03

Re: kWh meter met S0 defect?

Berichtdoor Koepel » 03 Okt 2019, 20:18

Dat had ik niet verwacht. Ik hoop dat het nu werkt.
Kun je het herstarten naar het log-bestand schrijven ? Als je een NTP tijd opvraagt dan kun je in de setup() misschien schrijven dat de arduino (opnieuw) is gestart met de datum en tijd er bij.

Gebruikers-avatar
Berichten: 72
Geregistreerd: 22 Jan 2013, 16:40

Re: kWh meter met S0 defect?

Berichtdoor zuid » 03 Okt 2019, 20:48

Elke start wordt gelogd zie hieronder de regels met Setup.
Dit deed ik al vanaf februari dit jaar.
Als de software merkt dat er 5 minuten geen vragen meer komen van de Android worden twee extra regels weggeschreven voor dat de software een herstart forceert.
Op 29-09-2019 heb ik op 20:16 uur via OTA nieuwe software geladen (dus een herstart),
Dit was de versie met yield().
Gisteren 02-10-2019 software via OTA met delay(1).
Nog een keer om 21:40 uur om een van de delay() 's op een andere plek te zetten.
Zoals je ziet worden datum , tijd en Unix tijd op elke logregel geschreven.
Ook in de meterstanden logfiles worden die datum tijd gegevens per regel weggeschreven.
Geen random restarts meer gezien en ook de zon schijnt 's nachts niet meer.

Ik was ook zeer verbaast dat de yield() die "bijwerking" had.
Dit lijkt mij een foutje in de ESP8266, software komt waarschijnlijk niet op de juiste plek terug in de LOOP.
Lastig te testen c.q. op te lossen.

m.v.g. Nico


T20190928 1542;1569685357; IO met Android gestopt na :T20190928 1537;1569685056;
T20190928 1542;1569685357; Watch dog restart
T20190928 1543;1569685391; Setup
T20190929 1010;1569751820; IO met Android gestopt na :T20190929 1005;1569751519;
T20190929 1010;1569751820; Watch dog restart
T20190929 1010;1569751854; Setup
T20190929 2016;1569788186; Setup
T20191002 2004;1570046669; Setup
T20191002 2140;1570052416; Setup

Gebruikers-avatar
Berichten: 2192
Geregistreerd: 06 Aug 2016, 01:03

Re: kWh meter met S0 defect?

Berichtdoor Koepel » 03 Okt 2019, 22:40

Voor zover ik begrijp is een yield() of delay() niet echt nodig als de loop() snel doorlopen wordt.
Een extra yield() kan problemen voorkomen als sommige dingen langer duren.
De yield() roept niet zomaar andere functies aan, maar ik heb begrepen dat echt omgeschakeld wordt naar een andere taak.

Nu blijkt de yield() niet goed te werken met sommige libraries: https://github.com/bogde/HX711/issues/73. Daardoor is het mogelijk dat de yield() door de compiler overgeslagen wordt.
De delay() roept ook yield() aan, en de delay() heeft die problemen met andere libraries niet. Dus dat kan betrouwbaarder zijn.

Het blijft een beetje onduidelijk. Hier (https://randomnerdtutorials.com/esp8266-dht11dht22-temperature-and-humidity-web-server-with-arduino-ide/) staat bij het commentaar dat een library een yield() gebruikte, die er beter uitgehaald kan worden.

De ESP32 heeft twee cores. Alle Wifi en andere dingen draait op de ene core, en de Arduino sketch draait op de andere core. Dat is ietsje gemakkelijker.

Gebruikers-avatar
Berichten: 72
Geregistreerd: 22 Jan 2013, 16:40

Re: kWh meter met S0 defect?

Berichtdoor zuid » 04 Okt 2019, 07:12

Het verhaal van de HX711 had ik ook gevonden dat was voor mij de aanleiding om de yield te vervangen door een delay(1).
Met de kennis van nu zou ik mijn programma iets anders hebben opgezet.
Ik weet nu op welke plek de boosdoener zit.
De delay(1) heb ik op drie plaatsen bij een while loop ingezet.
a. lezen data stream slimme meter.
b. lezen inhoud directory SD. (wordt alleen gebruikt als IK via de server om lijst vraag. Dus NIET de boosdoener)
c. wachten op binnenkomst NTP data.
Het meest waarschijnlijk is dat deze laatste het probleem veroorzaakt.
Met een andere programma opzet zou ik de delay(1) hier kunnen voorkomen. (maar het werkt nu :) )
Mijn grootste probleem was dat ik tot eind augustus geen idee had waar ik moest zoeken.
Project gekoppeld aan mijn PC zonder verbinding met slimme meter heeft nooit een crash gegeven.
Met een laptop in de meterkast wachten op de random restart was geen aantrekkelijke optie.
Ook heb ik nog altijd geen oplossing gevonden om op een andere manier test data te verzamelen.
Na het loggen van de restart data hield het voor mij even op.
m.v.g. Nico

Vorige

Terug naar Overige hardware

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 2 gasten