NEWS
Ferraris Zähler mit TCRT5000 und esp8266
-
@so ok, da fehlt tatsächlich der Webserver. Da hat das npm ci nicht funktioniert. Ich teste das morgen mal bei mir. Hab bisher nur auf Windows compiliert.
-
@so Also ich habe das gleiche Phänomen. Scheinbar compiliert er die Webseite mit den Configuration und dashboard items nicht. Das "sudo npm ci" läuft bei mir durch. Kannst du diesbezüglich ein issue aufmachen? https://github.com/maakbaas/esp8266-iot-framework/issues
Gruß Lars -
@eisbaeeer
Okay, hab ein Issue aufgesetzt. -
Hallo zusammen,
ich habe jetzt echt mal eine Frage : Wie zum Geier funktioniert dieses Ding ?
Ich habe zuerst versucht, das ganze mit der Lichtschranke in Gang zu bekommen. Leider funktioniert das bei meinem Zähler überhaupt nicht und ich werde wohl ohnehin einen Digitalen bekommen.Jetzt habe ich noch einen weiteren Zähler, der hat einen Potenzialfreien S0 Kontakt per Optokoppler. Nun hätte ich versucht, statt des Digital Pins der Lichtschranke das Signal des S0 Kontaktes zu verwenden. Ich Schickte 3,3V zum S0 Eingang vom ESP und gehe vom S0 Ausgang auf den D1 Pin. Aber die Impulse werden nicht erkannt. Auch bringt ein Pulldown nix. Der Pulse Graph macht was er will.
Von der Lichtschranke kommt doch auch nur ein 3,3V Signal oder ein 0V per Pulldown (auf der Lichtschranke)Oder liege ich da falsch.
Lg Chris
-
@chr2002 Hallo Chris. Die Eingänge werden auf Ground gezogen. Versuche mal die Eingänge auf GND zu Brücken, dann solltest du einen Impuls bekommen. Den S0 kannst du mit der Schaltung auch verwenden.
Gruß Lars -
@eisbaeeer Das habe ich auch probiert. Also erst per Pullup gegen 3,3V und GND auf D1.
Dann auch mal ohne PullUP. Der Impuls geht mal auf Low, mal nicht. Und manchmal bleibt er auch auf Low, obwohl die Brücke zu gnd raus ist und der 10k Ohm Pullup gegen 3,3V drin ist. -
Oder ist da irgendein check drin, der eine Wartezeit zwischen den Impulsen vorraussetzt. Ich wenn ich eine ganze weile Warte, gibts einen Flankenwechsel. Wenn ich zu kurz hintereinander die Brücke gegen GND mache, passiert nichts. Danach geht aber iwie erstmal gar nichts mehr, auch wenn ich viel später wieder die Brücke setze.
-
Ich bekomme den Graphen nichtmal zuverlässig auf LOW oder High, wenn ich eine Brücke setze. Da wird irgendwas wohl noch mit einbezogen. Hiermit geht also kein S0.
-
@chr2002 Ähm ja, die Entprellzeit. Stell die mal niedriger, dann sollte das klappen.
-
@eisbaeeer Auch schon probiert Leider ohne Erfolg. Der Graph macht immernoch was er will.
-
Ich gebs auf. Hier ist was faul. ESPeasy zählt aber vernünftig. Keine Ahnung, am ESP liegt es nicht. Mit der Lichtschranke kommen auch keine anständigen Impulse zustande. Sehr seltsam. Vllt ist die 0.92 verbuggt ? Kann das sein ?
Ich lasse das sein. Und werde eine anständige Wandlermessung hinter den Zähler packen Von dort per Modbus weiter.
-
@Eisbaeeer
Hallo Lars,
ich bin mal ein bisschen durch deinen Code gegangen.Ich baue gerade einen Ferraris Zähler mit Analogauswertung via Maxim MAX127 ADC mit 12Bit mit "programmierbarer" Hysterese auf der Basis deines Codes. Ich bin auch bei 80% des Projekts
Grund:
Ich hatte in der Vergangenheit das Problem das sich zwei ESP Wemos D1 nach 3-4 Monaten nicht mehr gemeldet haben. Nach neu flashen ging es immer so ein paar Wochen und später meldete sich der ganz Kram auch nach Neustart nicht.Wenn ich das ja soweit verstanden habe wir ja quasi in den "EEPROM" geschrieben den der ESP aber nicht hat und das durch den Flash emuliert wird.
Die macht der ja über die beiden JSON "Strukturen" dash und configuration .
Soweit ich das jetzt Überblicke wird bei jedem Impuls und neuem kW und bei der MQTT übertragen daten in den Flash geschrieben.
Somit haben wir ja nach 2-3 Monaten die sicheren Schreibzyklen von (100.000) mal erreicht und haben das Risiko eines Speicherschädigung.
Bei einer Schreibzeit alle 30s wären es 720 Zyklen am Tag. 100.000/720 = 138,8 Tage.
Oder liege ich mit den häufigen Schreibzyklen auf dem falschem Weg?Ich habe die Quellen bzw die Beschreibung der Libs für des Dashboard.h und configuaration.h leider nicht auf Anhieb gefunden.
Aber vielleicht liebe ich da auf dem Holzweg.Ich habe den Sinn der ProcInput1-4() Routinen nicht ganz verstanden mit array und modulo. Wozu hast du die mit im Programm?
Gruß
DerDani -
@dan-master sagte in Ferraris Zähler mit TCRT5000 und esp8266:
@Eisbaeeer
Hallo Lars,
ich bin mal ein bisschen durch deinen Code gegangen.Wenn ich das ja soweit verstanden habe wir ja quasi in den "EEPROM" geschrieben den der ESP aber nicht hat und das durch den Flash emuliert wird.
Die macht der ja über die beiden JSON "Strukturen" dash und configuration .
Soweit ich das jetzt Überblicke wird bei jedem Impuls und neuem kW und bei der MQTT übertragen daten in den Flash geschrieben.
Somit haben wir ja nach 2-3 Monaten die sicheren Schreibzyklen von (100.000) mal erreicht und haben das Risiko eines Speicherschädigung.
Bei einer Schreibzeit alle 30s wären es 720 Zyklen am Tag. 100.000/720 = 138,8 Tage.
Oder liege ich mit den häufigen Schreibzyklen auf dem falschem Weg?Ja, das EEPROM wird emuliert und im flash gespeichert. ABER ich speichere nur bei vollen KWh ab. Ich habe dir mal die Stellen markiert:
Schau mal im Code nach "saveconfig", nur dann wird gespeichert.
Gruß Lars -
@dan-master sagte in Ferraris Zähler mit TCRT5000 und esp8266:
Grund:
Ich hatte in der Vergangenheit das Problem das sich zwei ESP Wemos D1 nach 3-4 Monaten nicht mehr gemeldet haben. Nach neu flashen ging es immer so ein paar Wochen und später meldete sich der ganz Kram auch nach Neustart nicht.
Gruß
DerDaniWie macht man das denn?
btw....Ich nutze aber eine eigens compillierte und abgespeckte ESPeasy Version für den Counter.....mit 160 MHz Tacktung
Von 9 D1 Mini und 2 NodeMCU ist mir bis Dato noch keiner abgeraucht.
Alle mit Tasmota und ESPeasy geflasht....einer ist noch im Testmode mit ESPhome.Irgendwas muss ich wohl falsch machen......
-
Wemos D1 Mini, Beispiel mit selbstgefrickeltem Programm:
Betriebszeit: 1241 17:01:49 (Tage Std:Min:Sek)
Man bekommt viele Clones mit unterschiedlicher Qualität.
Also erst mal die Lötvebindungen zwischen Modul und Platine inspizieren und oft einfach alle nachlöten.
Dann IMMER noch einen 1000µF Kondensator parallel zu den 3.3V und meist auch einen parallel zu den 5V. Im Notfall noch einen 10µF Cerco dirakt an die 3.3V am Modul zum Gehäuse.
Dann laufen die jahrelang stabil.
Was manchmal vorkommt: Wenn die Funkverbindung schlecht wird, gibt es bei manchen Programmen Neustarts.
Einen ESP32 habe ich tatsächlich verloren. Der war immer nach einigen Stunden weg.
Ansonsten laufen die 8266 D1 Mini recht rund. Mit selbstgefrickelter SW, ESPEasy, ESPHome, Tasmota. -
@klassisch , ich bestelle auch immer beim Händler des Vertrauens....hier in DE.
....auch mein China Mann schickt kostenlosen Ersatz. Das hatte ich mal bei einem CC1001....der schickte mir dann gleich drei Stück nach.
Da habe ich bei ihm eine glückliche Hand gehabt..... -
Inzwischen habe ich eine -43 dBm Verbindung zum Zählerschrank.....
Da brauche ich mir keine Sorgen machen.....
-
@menne Sauber! Da ist mein Zählerschrank spartanisch. Altes Metallgehäuse ohne Platzreserven.
Und nur noch dee Lesekopf für die "moderne Meßeinrichtung" mit einer Ethernet Flachband-Fensterdurchführung durch den Spalt an der Metalltür und dann via RS485 durchs Haus bis zum RS485 <-> Ethernet-Wandler. -
@klassisch , ich hatte vorher den Counter im Metall Zählerschrank eingebaut....die magnetischen Wechsel Felder wirkten sich aber negativ auf das Zählverhalten aus.
Nun habe ich neben dem Schrank eine Aufputzunterverteilung installiert.
Seither ist Ruhe.....auch habe ich mich jetzt soweit mit der Debounce Time heran getastet, das ich im Monat noch ca. 1KWh Abweichung habe...ich stelle nur noch einstellige Werte nach.....das dauert halt.
Das Problem habe ist nur bei dem geforderten Zähler. Der andere dümpelt vor sich hin und habe ihn derzeit nur einmal um 3 Ticks geändert seit dem Frühjahr.... -
@klassisch
Jahrelange Betriebszeit sind auch mit den Chinaböllern kein Problem
Ich habe insgesamt schon einige ESP8266 und 32 er im Einsatz. Mache den Kram auch schon einige Zeit die zusätzliche Beschaltung habe ich nicht ganz so fett mit 100µ oder 220µ.
Das verhalten aber bei meinen beiden sieht aber ganz nach kaputt geschriebenem Flash aus. Klar kann das hier an der miesen Qualität liegen. Ich war nur in der Überlegung ob es eben halt durch das evtl häufige schreiben in den Flash durch die ESP -IOT Framework kommen kann. Ich habe den Code aber noch nicht soweit durch.