pacman42 pacman42 skrev:
Koppla in med ett externt batteri (powerbank) så kan du testa utan att vara beroende av den externa strömmatningen. Jag har en billig powerbank från Biltema bara för detta ändamål, annars fryser min någon gång per kvartal.
Skall prova med powerbank.
Kör du på pico?
 
J Jannet skrev:
Skall prova med powerbank.
Kör du på pico?
ESP8266 kör jag, men den är på håret utifrån vad elmätaren levererar. Jag har gjort ett flertal justeringar, men har fortfarande enstaka strömspiksar som bråkar.

När elmätaren stängt av strömmen så är den i mitt fall avstängd flera minuter, vilket gör det jobbigt att prova sig fram också.

Jag kör med mjukvara istället för hårdvara på serieporten gör att spara ström. Jag har ett antal "delat()" i koden i huvudloopen och även under initieringen för att spara ström.

Har inte satt in en kondensator mellan 3,3V och GND än, men det skall in också...
 
  • Gilla
Jannet
  • Laddar…
pacman42 pacman42 skrev:
Har inte satt in en kondensator mellan 3,3V och GND än, men det skall in också...
1000 uF på matningen gör STOR skillnad!
 
pacman42 pacman42 skrev:
ESP8266 kör jag, men den är på håret utifrån vad elmätaren levererar. Jag har gjort ett flertal justeringar, men har fortfarande enstaka strömspiksar som bråkar.

När elmätaren stängt av strömmen så är den i mitt fall avstängd flera minuter, vilket gör det jobbigt att prova sig fram också.

Jag kör med mjukvara istället för hårdvara på serieporten gör att spara ström. Jag har ett antal "delat()" i koden i huvudloopen och även under initieringen för att spara ström.

Har inte satt in en kondensator mellan 3,3V och GND än, men det skall in också...
Menar du att elmätaren stänger av matningen pin 1 emellanåt?
 
J Jannet skrev:
Menar du att elmätaren stänger av matningen pin 1 emellanåt?
Om man överbelastar matningen från mätaren så kan den stängas av och slås på igen efter ett tag (minuter). Därför är det viktigt att se till att ESP8266 körs med så strömsnål kod som möjligt.
Om man sätter in en delay på 1-2 millis i loop() så gör det stor skillnad. För mig sänkte det med 50%.
Och den stora kondensatorn tar hand om strömspikar vid användning av WiFi (sändning).
 
  • Gilla
pacman42
  • Laddar…
B Bo Berglund skrev:
Om man överbelastar matningen från mätaren så kan den stängas av och slås på igen efter ett tag (minuter). Därför är det viktigt att se till att ESP8266 körs med så strömsnål kod som möjligt.
Om man sätter in en delay på 1-2 millis i loop() så gör det stor skillnad. För mig sänkte det med 50%.
Och den stora kondensatorn tar hand om strömspikar vid användning av WiFi (sändning).
Där har jag nog mitt problem med koden jag använder drar för mycket.
 
B Bo Berglund skrev:
Om man överbelastar matningen från mätaren så kan den stängas av och slås på igen efter ett tag (minuter). Därför är det viktigt att se till att ESP8266 körs med så strömsnål kod som möjligt.
Om man sätter in en delay på 1-2 millis i loop() så gör det stor skillnad. För mig sänkte det med 50%.
Och den stora kondensatorn tar hand om strömspikar vid användning av WiFi (sändning).
Var kopplas kondensatorn in någonstans?
 
J Jannet skrev:
Där har jag nog mitt problem med koden jag använder drar för mycket.
Det som drar mycket är att i drift är det långa pauser när inget händer (typ 10 s mellan datapaketen) och då snurrar den vansinnigt fort runt i loopen. Och där brukar det finnas några funktioner som används tex för att uppdatera firmware via WiFi. De funktionerna anropas flera tiotusentals gånger per sekund och då jobbar de med WiFi-kretsarna som drar extra ström.
Om man lägger in 1 ms delay i loopen så är max frekvens plötsligt nere i 1000 Hz och mycket färre såna anrop görs ==> strömförbrukningen minskar....
 
  • Gilla
karlmb
  • Laddar…
J Jannet skrev:
Var kopplas kondensatorn in någonstans?
Tvärs över 3.3V matningen till ESP8266-modulen.
 
B Bo Berglund skrev:
Tvärs över 3.3V matningen till ESP8266-modulen.
Har jag uppfattat rätt på kondensatorns placering?
Elektriskt kopplingsschema för komponent och Raspberry Pi Pico med kondensator, motstånd och GPIO-pinnar.
Inloggade ser högupplösta bilder
Skapa konto
Gratis och tar endast 30 sekunder
 
Redigerat:
Nej, den skall vara mellan 3V3 och GND
 
pacman42 pacman42 skrev:
Nej, den skall vara mellan 3V3 och GND
Det är väll ritat så (svarta strecken)?
Elektriskt kretsdiagram med motstånd, spänning, jordning och förmodligen en kondensator eller sensor.
Inloggade ser högupplösta bilder
Skapa konto
Gratis och tar endast 30 sekunder
 
3V3 på CPUn. Det framgår inte att de är ihopkopplade.
 
Hej, jag har spenderat kvällen/dagen med att försöka få till en ESP8266-P1 mätare till min Kamstrup Omnia-mätare från göteborgs energi. Jag har använt denna:
https://github.com/UdoK/esp8266_p1meter_sv
Jag har någon D1 klon.

Jag har lött ihop enligt RJ12-instruktuionen med matning från mätaren. Nu när jag kopplar in mätaren så får jag kontakt med Mosquitto MQTT-Broker i home assistant.
jag får livtecknet: p1 meter alive: p1meter

Dock får jag inga andra datapaket, det jag tror jag fastnar på att jag inte får Serial.available().
Någon som har någon ide om vad jag ska testa? Vad jag förstått så är mätarnas p1-port aktiverad från start från gbg-energi?
 
R Ryden skrev:
Dock får jag inga andra datapaket, det jag tror jag fastnar på att jag inte får Serial.available().
Någon som har någon ide om vad jag ska testa? Vad jag förstått så är mätarnas p1-port aktiverad från start från gbg-energi?
När jag fick igång kopplingen till mina två HAN-enablerade mätare, som tillhandahölls av Eon resp Vattenfall, så var man tvungen att "aktivera" porten hos nätägaren.
Aktiveringen medförde två saker:
1) Det kommer ut +5V matning på RJ12 stift 1 medf jord på stift 3 och 6
2) Datautmatningen är aktiverad och styrs nu av ingången på stift 2 (data-REQ)
Dvs i ditt fall får du igång din avläsare eftersom den kontaktar MQTT-servern, alltså har du 5V tillgängligt.

För att få ut data måste du nu koppla ihop RJ-12 stift 2 (REQ) med stift 1 (+5V) annars sänds inga data ut på stift 5.

Du kan antingen koppla ihop 1-2 permanent (har jag gjort) och då får du data i paket var 5:e eller 10:e sekund, eller också kör du databegäran från din ESP8266 så att den lägger stift 2 hög när den vill få ett paket data och tar ner den när paketet mottagits. En filosofi-fråga egentligen.

I det första fallet behövs det någon mjukvarufiltrering om man inte vill sända till MQTT var 5-10:e sekund och i det andra sover läsaren mellan de önskade datatiderna och kommenderar sändning vid behov.

Och glöm inte att mätaren sänder data inverterat mot vad ESP8266 väntar sig, dvs du måste sätta in en inverterare mellan mätaren och ESP8266 (en transistor och ett par motstånd). När du gör detta så se till att spänningen till inverterarens utgång tas från 3.3V och INTE 5V, för ESP8266 klarar inte 5V på ingångarna.
 
Vi vill skicka notiser för ämnen du bevakar och händelser som berör dig.