ik ben al een tijdje met een systeem bezig om mijn zonnepanelen te monitoren.
wat doe ik daarvoor:
ik heb 2 kwh meters in mijn kast hangen.
bij beide zit er binnenin een opto coupler parallel over de pulse led (P+ en P- onder het display). dus ipv het licht van het ledje te detecteren, heb ik die opto coupler uitgang naar buiten gebracht.
de linkse hangt op een raspberry die toevallig in de garage hangt (camera systeem). en mijn webserver (andere raspberry) leest die pulsen in.
dat wou ik compacter. dus de 2de kwhmeter hangt direct op een raspberry zero en die handelt ook de hele website af. dat is dus 1 toestel die alles doet.
probleem:
die rpi zero heeft een aantal dagen goed gewerkt, en gisteren niet meer. zie geen pulsen. ik heb een camera systeem op die kwh meters hangen en zie de pulse led af en toe knipperen.
ik heb als test met een schroevendraaier mijn GPIO18 aan massa getikt, de rpi ziet pulsen. ik heb de kwh meter met een andere rpi getest, die ziet wel de pulsen.
mijn rpi zero ziet de kwh meter echter NIET.
voor de grap heb ik de pulsedraad op GPIO23 gezet en even de code veranderd, ding werkt.
de code is dit:
code:
#!/usr/bin/env python2.7
import time
from datetime import datetime, timedelta
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
PIN=23
GPIO.setup(PIN,GPIO.IN, pull_up_down=GPIO.PUD_UP)
lasttime = 0
pulseskwh = 1000
def pulseinterupt(channel):
time.sleep(0.002) # debounce
if GPIO.input(PIN,) == 0:
global lasttime
global kw
kw = 0
if lasttime==0:
lasttime=time.time()
else:
nu=time.time()
gap=nu-lasttime
kw = (3600/gap)/pulseskwh*1000
kw = int(kw)
if kw <= 1000 and kw >= 2:
writepulse(kw)
writemonth(kw)
printlog("pulse gezien")
de writepulse en writemonth zijn 2 procedures die gewoon een regeltje toevoegen met datum en tijd van mijn logfiles. en deze leest mijn webserver dan weer in.
mijn probleem dus:
1)met schroevendraaier de GPIO18 en massa aantikken werkt.
2)de kwh meter tussen GPIO18 en massa wordt niet herkent (heeft 1week wel gewerkt)
3)de kwhmeter tussen GPIO23 en massa doet het wel
4)mijn andere rpi heeft al 4maand de optocoupler tussen GPIO18 en massa zitten en die blijft wel werken.
is er ergens een timing probleem ofzo? een pulse te traag/te zwak? waarom werkt het wel op gpio23 en niet op 18 (en bij het andere systeem wel).
ik vrees dat ik ergens mijn GPIO kapot maak en wil voorkomen dat GPIO23 er volgende week ook aan is. maar aan de opto coupler zitten geen spanningen, dus mismatch 3,3-5V is er niet, de rpi werkt met interne pullup, dus ook geen rare weerstand die aan de GPIO extern hangen. rpi hangt op ene plankje 1meter verder van de zekeringkast, kan dus ook niet per ongeluk tegen een fase zijn gekomen.
ik ben op het werk, er worden ook geen inductieve lasten gestart in de loods die op mijn bekabeling kan inwerken.
de verbinding van de linkse kwh meter naar de oude rpi loopt over die wit/blauwe tweedraad.
het nieuwe systeem met de rpi zero werkt met een microfoon jack en dus afgeschermde audiokabel. ik zou eerder verwachten dat het oude systeem zou sneuvelen