P1-monitor Rpi HAT

P1-monitor Rpi HAT

Een van de gebruikers van de P1 monitor wil een Rpi HAT maken die het aansluiten van een watermeter, kWh en andere sensors eenvoudiger maakt. Deze pagina is bedoeld om vragen te stellen en suggesties te doen over de Rpi HAT.

SPECIFICATIES

Realisatie:
– 2x aansluiting voor een watermeter met NPN detector.
– 4x S0 aansluiting voor NPN detector (met 5V pullup)
– 2x 24V sourcing digitale uitgang.

LINKS

https://a360.co/3bpihCs

https://a360.co/3ogHR1u

https://imgur.com/a/aCmOVa7

ROADMAP

Versie met reguliere niet SMD onderdelen (verzoeken 1).

0-10V voor een verwarmingselement (verzoeken 1).

Een temperatuursensor (verzoeken 1).

een led op de PI HAT die ook op de sensor zit (verzoeken 1).

Koeling fan (verzoeken 1)

Extra GND aansluitingen (verzoeken 1).


Een BMP180 Barometric Pressure/Temperature/Altitude Sensor en die waarden dan in p1mon software ( verzoeken 1)

Stroomstoten via een stroomklem mogelijk maken (verzoeken 2).

42 Replies to “P1-monitor Rpi HAT”

  1. Geachte,
    Dit ziet er zeer mooi uit, ik verkrijg volgende week mijn digitale meter.
    Ik heb al een USB kabel besteld voor het uitlezen van de P1 poort, echter ik heb ook nog een watermeter die me via een relay een gesloten contact geeft bij een puls.

    Kan ik deze print ergens bestellen ? ik heb een soldeerbout maar het zou mss handiger zijn dat deze volledig klaar is.

    Waar kan ik de 3D bestanden vinden voor het printen van de 3D behuizing, ik heb reeds een 3D printer.

    Alvast bedankt, het ziet er echt heel goed uit !

    Mvg,
    Sven

    1. Hoi Sven,

      Ik heb de behuizing geupload op prusaprinters.com, ze stonden al op mijn github,maar daar krijg je er geen mooie 3d thumbnail bij, is dat toegankelijker?
      https://www.prusaprinters.org/prints/77124-p1-monitor-rpi-enclosure
      https://github.com/Jeroen6/p1hat

      De printplaat kun je zo bestellen bij jlcpcb. Zie de gerber files: https://github.com/Jeroen6/p1hat/tree/main/PCB/CAMOutputs/GerberFiles
      Zou goed moeten komen als je die upload.

      Alle onderdelen zijn verkrijgbaar via conrad/reichelt of aliexpress. Eventueel sinuss.
      Je hoeft ook niet alles te assembleren.

      Eventueel kan ik er nog wel een keer een paar met de hand in elkaar solderen als daar animo voor is…

      1. Hoi Jeroen,

        Kan ik eentje bestellen bij jou ? een gesoldeerde ?
        Ik heb zelf een soldeerbout dat is geen probleem , enkel de SMD componenten is wat moeilijk de rest lukt perfect.

        Naar waar mag ik toe mailen.

        Groeten,
        Sven

        1. Ik heb nog één onbestukte printplaat liggen, die kan ik wel in elkaar zetten en opsturen.
          Zal aankomen weekend even kijken of ik alle spullen ervoor heb en indien nodig bestellen.
          Stuur maar een mail met details naar jeroen@jeroen3.nl

          1. Hey Jeroen

            Super initiatief om dit te verwezenlijken!
            Ik heb echter een vraag u heeft reeds de gerber files gedeeld om de PCB te laten maken bij JLCPCB, echter zou het ook tof zijn indien u ook de BOM en CPL bestanden kan delen (eventueel mits betaling).

            Zodoende kan er een bestelling gemaakt worden bij JLCPCB waar ze niet enkel de PCB (printplaat), echter ook de componenten voor u solderen tegen een meerprijs.

            Die BOM en CPL bestanden zouden verkregen kunnen worden via https://easyeda.com/ als uw ontwerp ook daarin gemaakt of geïmporteerd kan worden.
            Hier staat dan hoe te exporteren/genereren:
            https://jlcpcb.com//easyeda
            Of misschien dat er ook een BOM en CPL bestand uit uw huidig programma kan geëxporteerd te worden?

            met vriendelijke groeten

            Kristof

  2. Update!

    Hier kun je de print, schema, 3d print bestanden, en sample python vinden.
    https://jeroen3.nl/p1hat

    Ik heb inmiddels printen geassembleerd en wat getest. Alles lijkt te werken, behalve rs-485, dat heb ik nog niet uitgezocht. Ik heb al wel een aantal RS-485 din-rail energiemeters waar ik mee kan testen. Wellicht als alternatief voor s0-pulsen.
    Duurtest moet uitwijzen of het zo echt goed is. Ik verwacht van wel, er zijn nog wel een paar puntjes, zoals de inductieve flyback van relais en het ledje, en dit is nu niet geschikt voor mechanische s0 pulsen, dat vereist een ander RC netwerkje.

    1. Voor het in/uit schakelen van apparaten zou je ook aan een solid State relais kunnen denken ipv een mechanische relais.
      Voordeel is dat deze met een optische ingang geschakeld worden en daarmee het schakelen van de netspanning galvanisch is gescheiden en veiliger is voor de RPi. De aanstuur stroom is lager.

  3. Het lijkt me leuk om een individual addressable led strip (WS2812B bijvoorbeeld) aan te sturen. Door deze boven de meterkast te hangen kan ik zien wat er gebeurt als ik er toevallig langs loopt en het is een leuk conversatie item.

    Er zijn 2 use cases die me handig lijken:
    1) Het verbruik/productie van de laatste x uur weergegeven wordt met de kleur van de leds.
    2) Een animatie met het verbruik en de productie. Snellere animatie is meer verbruik/productie.

  4. Wat ik eventueel ook nog graag zou zien is de mogelijkheid om gebruik te maken van stroommetingen, dus via een stroomklem. Momenteel kan je enkel de P poort uitlezen en de KwH meter van je zonnepanelen maar je weet nog niet wat op die moment je eigen interne opname is. Dit kan natuurlijk met een extra KwH meter worden opgesloten of eventueel met een stroommeting. Hierdoor kan je dan gemakkelijk de YIELD berekenen dan.

    1. Om vermogen goed te kunnen moeten moet je stroom én spanning meten. Op mijn werk ontwerp ik zulke circuits, plus software. In het geval van de raspberry pi moet er dan SPI ADC of extra microcontroller bij en een hoop digitale signaalbewerking. Dat gaat mij te ver voor een “simpele hat”.

      Wat ik wel heb geprobeerd is een model te maken met een RS-485 poort.
      https://a360.co/3tTdgZp
      Je kunt dan DIN-rail energiemeters kopen met RS-485 en die meet dan ook stroom/spanning. (voorbeeld: http://domoticx.com/modbus-kwh-meter-eastron-sdm120/ )

      Alleen een RS-485 poort erbij vraagt 3.5mm connectoren ipv 5mm pitch die wat lastiger verkrijgbaar zijn. Ik heb connectoren onderweg, maar versie 1 heeft deze optie niet. Theoretisch kun je wel met een USB naar RS-485 kabel van FTDI al iets beginnen denk ik.

    2. +1 voor een stroomklem.

      Het liefst zou ik er meer dan 1 willen om inzicht te geven in een aantal belangrijke groepen zoals de warmtepomp en electrische auto. 3 zou heel fijn zijn, maar 4 of 5 zou ook zeker nuttig zijn.

  5. Render: https://imgur.com/a/aCmOVa7

    Ik ben even bezig geweest. Ik heb ook even nagedacht over de vraag van Wim om hem met “ouderwetse” trough hole componenten te maken. En dat is nog best goed gelukt (lang geleden voor mij). Zo is de HAT denk ik wel in elkaar te zetten met beginnende soldeer ervaring.

    Doelen:
    – Mijn doel is om de watermeter uit te leven, en eventueel in de toekomst een of twee S0 kWh meters.

    De eisen waarvan ik ben uitgegaan:
    – Minstens 1 water meter aansluiting voor een 5V NPN (sinking) type sensor.
    PNP (sourcing) kan eventueel ook, maar dan moeten de weerstanden anders.
    – Zoveel als fysiek past aansluiting voor een S0 meter (ook NPN type) met een 5V pull-up op de HAT.
    Zoals ook de optocoupler printjes werken.
    – Twee uitgangen voor tarief of terugleveren.
    – Analoge uitgang.

    Beperkingen:
    – De HAT is maar 65 bij 55 millimeter groot, en je verliest een hoop ruimte aan de 40 pin connector en de montagegaten.
    – Relais zijn niet haalbaar. Relais die een onbekend signaal schakelen zo dicht bij de gevoelige processor is gewoonweg geen goed plan. 230V schakelen is veiligheidhalve sowieso al niet haalbaar.
    – De RPI is een 3.3V logic apparaat, en de meeste sensoren hoger.

    Keuzes:
    – Ik heb gekozen om het EEPROM op de HAT weg te laten. Het ecosysteem van de raspberry pi voorzien in een soort “plug&play” functie om de configuratie van de 40pin connector en de identificatie van de HAT te herkennen via een klein EEPROM. Aangezien de P1 monitor al een erg specifieke toepassing is heb ik dit weg gelaten.
    – 0-10V/0-20mA uitgang is niet haalbaar in through hole, de componenten om dat te realiseren zijn vandaag de dag veel eenvoudiger te krijgen in SMD. Bovendien vereist dit ook een booster van 5 naar 12v, en dat kost een hoop plek.
    Let wel: 0-10V is niet geschikt voor lange draden, 0-20mA zou hier geschikter zijn. Eventueel kan dit nog als een extra stapelbare HAT ontwikkeld worden aangezien alleen I2C nodig is.
    Wellicht kan je andere wegen bewandelen als je een boiler wilt sturen, bijvoorbeeld met een Siemens LOGO! of een Eaton EasyE4 via Ethernet (modbus tcp).
    – Ik heb gekozen voor BTS4141N High Side Switch IC’s voor de uitgang. Deze kunnen 12/24Vdc voeden in een relais zonder zorgen over wel of geen snubber diode over verstoren. Uitermate geschikt om veilig 24V installatierelais mee te bedienen. Ook zijn ze kortsluitvast. Stuk makkelijker dan zelf met transistors iets maken wat bij bepaalde relais wellicht de werking van de RPI zelf nadelig beïnvloed.
    Je moet alleen wel zelf 24V verzorgen.
    – Geen optocouplers, een simpele schmitt trigger hex inverter zou het net zo goed moeten doen.

    Realisatie:
    – 2x aansluiting voor een watermeter met NPN detector.
    – 4x S0 aansluiting voor NPN detector (met 5V pullup)
    – 2x 24V sourcing digitale uitgang.

    Links:
    P1 monitor hat in Trough Hole: https://a360.co/3bpihCs of https://a360.co/3ogHR1u
    Render: https://imgur.com/a/aCmOVa7

    Software:
    Fusion 360 licentie voor niet-commercieel gebruik.

    Todo:
    – Print maken en testen.
    – De standaard behuizing past niet meer, dus een verbeterd model ontwerpen en 3D printen.
    – Publicatie op github denk ik.

    1. Update:

      Ik heb het nogmaals gecontroleerd en een verbetering toegepast. De gebruikte hex inverter was push-pull en die kan, als op de RPI een GPIO ook op output staat, de processor kapot maken. Dat is niet gewenst.
      Dus ik heb de hex inverter aangepast naar èèn met open-drain uitgangen, de gpio op de pi moet dan met pull-up worden ingesteld. Ik verwacht dat dit prima werkt.
      Nadeel, in DIP is weinig nog te krijgen. En wat er is is high-reliability of military. (veel fabrikanten van logic hebben jaren geleden DIP uit hun assortiment verwijderd) Dus ik heb deze helaas moeten vervangen voor een SMD chip, maar gelukkig SOIC-14, dat moet gewoon te doen zijn.

      Daarnaast heb ik de volgende GPIO layout gebruikt:
      – GPIO17, input, pull-up = Watermeter
      – GPIO27, input, pull-up = Watermeter of Puls
      – GPIO22, input, pull-up = S0 puls
      – GPIO23, input, pull-up = S0 puls
      – GPIO24, input, pull-up = S0 puls
      – GPIO24, input, pull-up = S0 puls
      – GPIO16, output, push-pull = Output 1 (eg: terugleverschakelaar)
      – GPIO26, output, push-pull = Output 2 (eg: tariefschakelaar)

      Onderdelen voor het gebruik van de digitale uitgangen zijn bijvoorbeeld:
      – Mean Well HDR-15-24
      – Finder 22.32.0.024.4340

      Vraag:
      – Is het zinvol om de digitale uitgangen op een PWM uitgang te zetten? Als je dit laag genoeg houdt kun je hiermee waarschijnlijk wel naar een pulsbreedte ingang van een plc or ssr sturen. Voor het bedienen van elektrische verwarmingen bijvoorbeeld? Ik kan dit ook selecteerbaar maken met jumpers.

      Als het goed is zijn dezelfde links nog steeds geldig.
      Wel een nieuwe render: https://imgur.com/a/Fic1n6l

      Ik ben ook te bereiken op jeroen@jeroen3.nl

  6. Eén watermeter en 2 of 3 kWh meters zou denk ik de basis behoren te zijn omdat deze aansluitingen waarschijnlijk het meeste gebruikt worden. Ik vind dit een goed initiatief!

  7. Versie 3 en 4 PCB modellen op https://www.ztatz.nl/p1-monitor-watermeter/ kunnen ook op de raspberry pi worden geplaatst d.m.v. spacers. Met deze versie ben je vrij om de GPIO te kiezen d.m.v. dupont stekkers.

    Extra aanvullingen:

    een led lampje op de PI HAT die ook op de sensor zit
    een bmp180 (en die waarden dan in p1mon software)

  8. Ik ben voor dit idee, een HAT met de pcb functies (KWh meter, watermeter, etc) geïntegreerd op de HAT. Wel zou ik dan graag de aansluitingen van de sensors met pcb connectors (liefst schroef connectors) zien, want die jumpers cables op die GPIO pinnen is fragiel (en moeilijk te zien). Verder zou ik er een kleine koeling fan op willen, want die is “onmisbaar” om de temp van de Rpi te verlagen. Als laatste meerdere ground aansluitingen, want de standaard 2 van de Rpi zijn te weinig en heb ik al moeten splitsen.

    1. Bedankt het staat op de pagina. De koeling fan is niet nodig op een Rpi 3. Bij de 4 kan het helpen. Een koelblokje doet wonderen.

      1. SB, bedankt. Ik gebruik een Rpi4 model B en met 2 koelingblokjes, daarmee was de CPU temp zo’n 60 gr, met de fan werd dit zo’n 45 graden. Vandaar mijn verzoek.

        1. Top, koeler is beter maar mijn Rpi3’s ( drie stuks) draaien al een paar jaar op 60 graden zonder problemen. Voor de Rpi4 heb ik een behuizing met koeler gekocht. Maar ik heb een hekel aan de stofzuiger werking dus gebruik liever Rpi3’s

        2. 60 graden is geen enkele probleem. Dat zit ruim binnen de marges waarin deze kunnen opereren. De buitenkant van de chip mag 85 graden zijn. Intern is dat meestal hoger. Eventueel kun je er een klein koperen plaatje op plakken. Legio te koop via aliexpress.

  9. Ik zou hem graag willen gebruiken om met 0-10V een verwarmingselement in mijn boiler aan te sturen wanneer er stroom van mijn zonnepanelen over is. Maar er moet ook een temperatuursensor worden opgenomen zodat de boiler niet te warm wordt.

    1. Dat is wel een unieke usecase die waarschijnlijk ook nog wat extra software nodig heeft. Ik denk ik ook niet het voor de meeste mensen direct bruikbaar is.

      Wellicht kun je dit anders aanpakken door direct de omvormer te bevragen over het actuele vermogen en daarmee je boiler te sturen. Als je dit via de de P1 monitor doet zal het teruglever vermogen namelijk direct dalen als je de boiler inschakelt, ik verwacht dat dan de boiler elke 10 seconden aan of uit gaat.
      Wellicht kun je ook iets met een 0-10V stroom of vermogen transducer in serie met de omvormer.

  10. Een pi-hat voor het uitlezen van een pulse sensor voor op een water meter zou erg fijn zijn. Bijvoorbeeld: https://www.elster.nl/nl/1006.html

    Met wat moeite en hulp heb ik er 1 in elkaar gesoldeerd, maar de positionering van een DIY oplossing is erg lastig om perfect te krijgen. Ik kan me voorstellen dat er veel gebruikers zijn die graag wat extra betalen om een kant-en-klaar oplossing te hebben voor het uitlezen van een water meter.

    1. De HAT levert dan de GPIO / optocoupler aansluiting net als andere PCB oplossingen. Het doel is niet om een watermeter / opnemer specifiek te maken. Is dat wat je bedoeld?

      1. Ik bedoel inderdaad een HAT voor het aansluiten van een standaard/commerciële watermeter. Ik weet niet wat hier precies voor nodig is en of het anders is dan een DIY watermeter.

        1. Als de commerciële meter een plusuitgang heeft dan wordt deze ondersteund. Als het om een specifieke meter gaat met een data protocol dan graag aangeven. Echter de meeste meters werken met een puls.

    1. Een HAT wordt op de RPI geplaatst en de HAT heeft / kan meerdere functies hebben. De PCB is een losse PCB die specifiek voor dat doel gemaakt is.

  11. Ik heb afgelopen week geprobeerd om dit werkend te krijgen, maar was echt ramp qua aansluiting. De officiële RPI HAT heeft ondersteuning om GPOI door te lussen, maar de pinnen zijn niet lang genoeg van de RPI.

Geef een reactie.

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.