Acties:
  • 0 Henk 'm!

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Rol-Co schreef op zondag 19 augustus 2012 @ 15:19:
als je pc meewerkt is het fun idd

alles gewist, nieuwe code, heb je de pulsen ook goed joop, hij begint met 1500w opbrengst.
Heb het gezien, even je systeem testen. komt nog een bestandje.
Rol-co doe mij eens een lol, maak even een nieuw systeem aan op je pvoutput, ik denk toch dat de optelling van die site niet goed is. Hieraan kan ik het zien.:
http://www.mijnbestand.nl/Bestand-ONCONEC4OHHB.rar

[ Voor 26% gewijzigd door Willie Wortel op 19-08-2012 15:37 ]


Acties:
  • 0 Henk 'm!

  • Rol-Co
  • Registratie: Maart 2004
  • Laatst online: 04-09 00:55

Rol-Co

3,8kWpZ 4,98kWpO-Z-W 2,86kWpN

ander systeem gemaakt en die code ingevuld bij id , maar waar kan ik dan die api settings invullen?

volgensmij moet je dan een 2e account aanmaken, hij laad ze nu nog bij de eerste omdat ik het zelfde api heb maar wel andere systeemcode

http://www.pvoutput.org/list.jsp?id=12038&sid=10855

Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging


Acties:
  • 0 Henk 'm!

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Rolco, stop maar , je gebruikt iedere keer een oud bestand. 8)
Je hebt niet het nieuwe bestand in de netduino geupload.
Dacht het al.

Acties:
  • 0 Henk 'm!

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Dat kan ik namelijk zien. of je een nieuw bestand upload.

Acties:
  • 0 Henk 'm!

  • Rol-Co
  • Registratie: Maart 2004
  • Laatst online: 04-09 00:55

Rol-Co

3,8kWpZ 4,98kWpO-Z-W 2,86kWpN

huh......wacht ff dan.......lijkt me vreemd
ik moet namelijk wel steeds api en id invullen omdat jouw text er staat

Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging


Acties:
  • 0 Henk 'm!

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Rol-Co schreef op zondag 19 augustus 2012 @ 16:01:
huh......wacht ff dan.......lijkt me vreemd
ik moet namelijk wel steeds api en id invullen omdat jouw text er staat
Echt Rolco geloof me maar.

Acties:
  • 0 Henk 'm!

  • Rol-Co
  • Registratie: Maart 2004
  • Laatst online: 04-09 00:55

Rol-Co

3,8kWpZ 4,98kWpO-Z-W 2,86kWpN

ja ja ik geloof je :)

even op een andere manier gedaan nu, lijkt beter.

Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging


Acties:
  • 0 Henk 'm!

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Rol-Co schreef op zondag 19 augustus 2012 @ 16:13:
ja ja ik geloof je :)

even op een andere manier gedaan nu, lijkt beter.
Dat is al een stuk beter, zal vanavond de code herschrijven.
Wel fijn voor je dat je eruit bent.

Acties:
  • 0 Henk 'm!

  • Rol-Co
  • Registratie: Maart 2004
  • Laatst online: 04-09 00:55

Rol-Co

3,8kWpZ 4,98kWpO-Z-W 2,86kWpN

En misschien die weerstand op 1 k houden ipv 100 joop
We gaan eens een tijdje kijken zo en wat verdiepen in vb
Tnx

Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging


Acties:
  • 0 Henk 'm!

  • tw_eek
  • Registratie: September 2006
  • Laatst online: 28-08 22:59
harold65 schreef op zondag 19 augustus 2012 @ 11:41:
[...]

Probeer de 100 ohm weerstand eens wat groter te maken. 1K of zo.
Het kan zijn dat de S0 uitgang op je S0 meter de 50mA niet kan leveren om de spanning op pin 13 omlaag te krijgen.
100 ohm is zowiezo erg laag voor een pullup.
Je kan de weerstand ook weglaten en de interne weerstand op de netduino aanzetten.
Deze regel:
C#:
1
Dim portElectricPulse_D13 As InputPort = New InputPort(Pins.GPIO_PIN_D13, False, InputPort.ResistorMode.Disabled)

vervangen door
C#:
1
Dim portElectricPulse_D13 As InputPort = New InputPort(Pins.GPIO_PIN_D13, False, InputPort.ResistorMode.Enabled)
Volgens mij heeft net netduino geen interne pullup weerstand
Zie thread: http://forums.netduino.co...ndle-multiple-interrupts/
Posted 05 June 2012 - 03:23 PM

Wat de S0 puls betreft ben ik er achter gekomen dat je het signaal beter eerst door een schmitt trigger kan loodsen. Misschien daarna me een flip flop constructie een tellertje maken die je vanuit de netduino kan uitlezen en resetten.

Acties:
  • 0 Henk 'm!

  • harold65
  • Registratie: Mei 2009
  • Laatst online: 25-12-2022

harold65

Slimme meter:

tw_eek schreef op zondag 19 augustus 2012 @ 17:13:
[...]


Volgens mij heeft net netduino geen interne pullup weerstand
Zie thread: http://forums.netduino.co...ndle-multiple-interrupts/
Posted 05 June 2012 - 03:23 PM

Wat de S0 puls betreft ben ik er achter gekomen dat je het signaal beter eerst door een schmitt trigger kan loodsen. Misschien daarna me een flip flop constructie een tellertje maken die je vanuit de netduino kan uitlezen en resetten.
In die post gaat het over pulldown weerstanden. Die heeft ie inderdaad niet.
In dit geval praten we over pullup en houdt de weerstand de ingang hoog en trekt de S0 meter de ingang naar beneden.
Schmitt trigger is misschien overdreven. Een kleine condensator tussen ingang en ground houd de meeste stoorpulsen tegen.

Perfection is achieved not when there is nothing more to add, but when there is nothing left to take away


Acties:
  • 0 Henk 'm!

  • tw_eek
  • Registratie: September 2006
  • Laatst online: 28-08 22:59
harold65 schreef op zondag 19 augustus 2012 @ 22:22:
[...]

In die post gaat het over pulldown weerstanden. Die heeft ie inderdaad niet.
In dit geval praten we over pullup en houdt de weerstand de ingang hoog en trekt de S0 meter de ingang naar beneden.
Schmitt trigger is misschien overdreven. Een kleine condensator tussen ingang en ground houd de meeste stoorpulsen tegen.
Kan best zijn. Maar het gaat wel om een systeem dat 24h en7 dagen in de week moet blijven werken.
Een schmitt trigger is centenwerk en is gemaakt om ruis uit te sluiten.

Nu ik toch bezig ben denk ik dat je voor de netduino ook een fatsoenlijke watchdog moet aansluiten. Geen gedoe met vastlopers of wat voor een ellende dan ook.

Het zou toch mooi zijn om een low budget, tweakable, systeem te maken dat gewoon werkt zonder gedoe.

Edit: Het klopt dat er geen pull down weerstanden zijn. Een citaat uit een netduino forum van Secret Labs Staff.
The AT91SAM7X512 microcontroller used on the Netduino has pull-up resistors that you can use--but it doesn't have pull-down resistors. If you try to use the pull-down option, you'll get an exception to that effect.

[ Voor 15% gewijzigd door tw_eek op 19-08-2012 22:55 ]


Acties:
  • 0 Henk 'm!

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
tw_eek schreef op zondag 19 augustus 2012 @ 22:30:
[...]


Kan best zijn. Maar het gaat wel om een systeem dat 24h en7 dagen in de week moet blijven werken.
Een schmitt trigger is centenwerk en is gemaakt om ruis uit te sluiten.

Nu ik toch bezig ben denk ik dat je voor de netduino ook een fatsoenlijke watchdog moet aansluiten. Geen gedoe met vastlopers of wat voor een ellende dan ook.

Het zou toch mooi zijn om een low budget, tweakable, systeem te maken dat gewoon werkt zonder gedoe.

Edit: Het klopt dat er geen pull down weerstanden zijn. Een citaat uit een netduino forum van Secret Labs Staff.
The AT91SAM7X512 microcontroller used on the Netduino has pull-up resistors that you can use--but it doesn't have pull-down resistors. If you try to use the pull-down option, you'll get an exception to that effect.
Om een goed werkend 24/7 systeem op te zetten moeten wel eerst regels worden opgesteld, wat wordt er van N+ verwacht ...wat moet de N+ doen en niet ......... reset van variabelen en inlezen UTC tijd..(wanneer ...)
Moet de N+ ook de "slimme meter" gaan uitlezen, of alleen de pulse, wil je daarnaast een N+ met ingebouwde webserver, wordt het systeem Static geprogrammeerd of kan je de N+ naprogrammeren via een netwerk. Aan al dat soort dingen zit ik dan te denken en is makkelijker om dat in een keer te programmeren dan iedere keer een stukje. Vind het wel weer een nieuwe uitdaging.

Acties:
  • 0 Henk 'm!

  • Rol-Co
  • Registratie: Maart 2004
  • Laatst online: 04-09 00:55

Rol-Co

3,8kWpZ 4,98kWpO-Z-W 2,86kWpN

joop

kan jij een verklaring geven waarom pvoutput bij mij de 1 na laatste regel ook aanpast bij refreshen van de site naar de laatste regel? loopt dan de tijd niet helemaal goed of iets?

Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging


Acties:
  • 0 Henk 'm!

  • tw_eek
  • Registratie: September 2006
  • Laatst online: 28-08 22:59
Deze week weer eens wat tijd gevonden om te sleutelen aan het inlezen van s0 signalen.

Dit is mijn situatie:
-drie kwh meters
-de kwh meters zitten niet op 1 plek. Een van de drie meters is 12 meter van de computer verwijderd. De kabel voor dat S0 signaal zal via omwegen en naast (niet in) elektra buizen lopen.

Uitgangspunt
-ik wil geen gebruik maken van de interrupts omdat dit het aantal kwh meters voor het inlezen beperkt.
-ik wil dat de computer ook andere sensoren kan inlezen en verwerken. De tijd om de S0 pulsen te lezen moet zo minimaal mogelijk zijn.

Als je geen gebruik maakt van interrupts, gestuurd door de flank van de S0 puls, moet je de puls op een andere manier vastleggen. Dit heb ik gedaan door een simpele 2 bits teller te maken achter de schmitt trigger. De schmitt trigger moet ervoor zorgen dat er geen stoorpulsen geteld worden en dat er een goede digitale 0 en 1 wordt gemaakt. Ben je niet bang voor stoorpulsen doordat de kabel erg kort is dan is een schmitt trigger misschien te veel van het goede.

Achter de 2 bits teller heb ik een multiplexer geplaatst waar je vier 2 bits tellers op kan aansluiten. De computer moet dan de multiplexer aansturen om een van de vier tellers te selecteren. De tellers lopen gewoon door (0-1-2-3-0-1-2-3....)

Het komt er op neer dat de netduino alleen de teller moet selecteren en uitlezen.
Het programma moet periodiek eens kijken wat de tellerstanden zijn en vervolgens vergelijken met de vorige stand. Stel dat je 1 kwh meter hebt die 3600W verwerkt bij een 1000 pulse/kwh tellertje dan heb je elke 1 seconde een puls. Het programma moet dan minimaal 1x in de 3 seconde kijken wat de stand is per teller omdat de teller vier stappen nodig heeft om weer in dezelfde positie te komen. In computertijd is 3 seconden een eeuwigheid. Er is tijd genoeg over om andere dingen te doen.
Je kan zelfs een inputpoort gebruiken die 1x in de seconde een trigger geeft om de tellers uit te lezen.

Mijn punt is dat je moet afwegen wat je gaat programmeren en wat je de hardware laat doen. Ik kies in dit geval voor een hardwareoplossing om het programma eenvoudig te houden.

De logica werkt en ik ga met de netduino aan de slag. Met windows xp verlies ik telkens de connectie en dat maakt het wel wat lastig.

[ Voor 2% gewijzigd door tw_eek op 26-08-2012 00:14 . Reden: zin verwijderd ]


Acties:
  • 0 Henk 'm!

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Rol-Co schreef op zaterdag 25 augustus 2012 @ 14:15:
joop

kan jij een verklaring geven waarom pvoutput bij mij de 1 na laatste regel ook aanpast bij refreshen van de site naar de laatste regel? loopt dan de tijd niet helemaal goed of iets?
Ja dat kan ik.
bekijk eens deze diagram:
ik upload naar PVouput: http://www.pvoutput.org/intraday.jsp?id=12106&sid=10049

Pvoutput haalt van Cosm: http://www.pvoutput.org/intraday.jsp?id=12106&sid=10203

En leg jou PVoutput er nu eens naast. Dan moet je wat opvallen. >:)

Acties:
  • 0 Henk 'm!

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
tw_eek schreef op zaterdag 25 augustus 2012 @ 22:26:
Deze week weer eens wat tijd gevonden om te sleutelen aan het inlezen van s0 signalen.

Mijn punt is dat je moet afwegen wat je gaat programmeren en wat je de hardware laat doen. Ik kies in dit geval voor een hardwareoplossing om het programma eenvoudig te houden.

De logica werkt en ik ga met de netduino aan de slag. Met windows xp verlies ik telkens de connectie en dat maakt het wel wat lastig.
Tweek, het uitlezen van een poort gaat in microseconden, 3 meters uitlezen doet een Netduino met 2 vingers in zijn neus. Sterker nog, je moet NOPs (NO Operation in MASM) programmeren ( Thread.Sleep(100) = 0.1 sec ) anders kan het wel eens zijn dat je puls meedere malen wordt geteld.

En een draad van 12 meter, de puls gaat met de snelheid van het licht. Mijn draad is zo een 19 meter. heb ik gemaakt met netwerkkabels gekocht bij action. (goedkoop).

Een project valt en staat met het zo overzichtelijk houden van je programma code. Maar dat gaat helemaal goed komen.

Acties:
  • 0 Henk 'm!

  • Rol-Co
  • Registratie: Maart 2004
  • Laatst online: 04-09 00:55

Rol-Co

3,8kWpZ 4,98kWpO-Z-W 2,86kWpN

JoopC schreef op zondag 26 augustus 2012 @ 10:39:
[...]

Ja dat kan ik.
bekijk eens deze diagram:
ik upload naar PVouput: http://www.pvoutput.org/intraday.jsp?id=12106&sid=10049

Pvoutput haalt van Cosm: http://www.pvoutput.org/intraday.jsp?id=12106&sid=10203

En leg jou PVoutput er nu eens naast. Dan moet je wat opvallen. >:)
Buiten de verschillen in piek en opbrengst en af en toe no data recorded zie ik geen verschillen, dus ik weet niet welke je bedoeld.

ik heb jouwe gevolgt gisteren maar die doet dit niet, 5 min geleden geeft hij aan 0,774 opbrengst met 1300w piek, de eerst volgende 5 min is dat veranderd in 0,680 opbrengst met 200w piek.
het lijkt of hij een moment opname (schatting) doet, en na de eerst volgende update het gemiddelde berekent.


In dit systeem van jou
http://www.pvoutput.org/intraday.jsp?id=12106&sid=10049

als hij een regel neerzet veranderd dat niet meer, dat blijft staan.

edit 2:
volgensmij staat hij op 1 minuut......kan dat? ik kan met F5 namelijk verschillende waarden krijgen binnen de 5 minuten.

[ Voor 14% gewijzigd door Rol-Co op 26-08-2012 11:28 ]

Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging


Acties:
  • 0 Henk 'm!

  • Rol-Co
  • Registratie: Maart 2004
  • Laatst online: 04-09 00:55

Rol-Co

3,8kWpZ 4,98kWpO-Z-W 2,86kWpN

in de code

'Delay seconds, time interval for writing to PVoutput
Const cnstHowmanySecondsBeforeUpdatePVOutput As Integer = 60 'In SECONDs = 4 minuten
Const cnstFirstTimeWriteToInternet As Integer = 60 'In SECONDs first time a delay to init the router etc...
Const cnstDelayWriteToInternetONError As Integer = 600 'In SECONDs

Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging


Acties:
  • 0 Henk 'm!

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Ja, het zijn de gemiddelde waarden die PVoutput van je berekend aan de hand van 5 uploads in 5 minuten.
Je geeft het aantal pulsen, dus je opbrengst niet door aan PVoutput.

Acties:
  • 0 Henk 'm!

  • Rol-Co
  • Registratie: Maart 2004
  • Laatst online: 04-09 00:55

Rol-Co

3,8kWpZ 4,98kWpO-Z-W 2,86kWpN

dus ik moet deze weer even wijzigen in wat je eerst had

'Delay seconds, time interval for writing to PVoutput
Const cnstHowmanySecondsBeforeUpdatePVOutput As Integer = 240 'In SECONDs = 4 minuten
Const cnstFirstTimeWriteToInternet As Integer = 120 'In SECONDs first time a delay to init the router etc...
Const cnstDelayWriteToInternetONError As Integer = 600 'In SECONDs

Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging


Acties:
  • 0 Henk 'm!

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Laat je je systeem 24/7 aanstaan.?

Acties:
  • 0 Henk 'm!

  • Rol-Co
  • Registratie: Maart 2004
  • Laatst online: 04-09 00:55

Rol-Co

3,8kWpZ 4,98kWpO-Z-W 2,86kWpN

ja, alles blijft aan.

Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging


Acties:
  • 0 Henk 'm!

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Als je alle pulsen wil doorgeven (KWH opbrengst) moet je bij een nieuwe dag wel je pulsen variabele op 0 (nul) zetten anders krijg je bij een nieuwe dag de opbrengst van de vorige dag erbij. (cumulatief).

Volgens mij werk je nog steeds met de hatseflast versie.
Ga terug naar de versie die ik geschreven heb voor alleen PVoutput, (ik heb op het forum een regel aangepast dus copy paste vanaf het forum.) en verander een en ander.
Zorg wel dat je altijd terug kan naar de laatst Netduino prog code indien een en ander niet wil lukken.
Ik ben maar heel af en toe online dus aan mij heb je niet veel.


Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
'**** zet deze regel boven bij al je variabele declaraties
Dim intToDay As Integer = DateTime.Now.Day


'zoek de volgende regel in je code
If DateTime.Now > dtWriteToPVOutput Then   'write to internet 

'voeg deze regels toe aan je code na de vorige regel
If DateTime.Now.Day <> intToDay Then
    sglTotalWattage = 0.0
     intToDay = DateTime.Now.Day
End If

Acties:
  • 0 Henk 'm!

  • Rol-Co
  • Registratie: Maart 2004
  • Laatst online: 04-09 00:55

Rol-Co

3,8kWpZ 4,98kWpO-Z-W 2,86kWpN

Ga ik morgen even proberen, heb de file klaar (denk ik) maar hij gaat zo uit dus morgenmiddag.

Maar als alleen die minuut naar de oorspronkelijke 4 minuten word gezet gaat het niet goed? alles werkt wel alleen stuurt hij elke minuut ipv elke 4 minuten of zie ik dat verkeerd?

Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging


Acties:
  • 0 Henk 'm!

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Ik heb hier de code geschreven voor het emailen van data naar een email adres. Dit kan handig zijn om eens per dag alle gegevens naar een adres te uploaden. Eea is al geimplementeerd in mijn sourcecode die nu draait in de Netduino en werkt erg goed moet ik zeggen.

[ Voor 90% gewijzigd door Willie Wortel op 14-11-2012 10:49 . Reden: komt nieuwe code aan ]


Acties:
  • 0 Henk 'm!

  • tw_eek
  • Registratie: September 2006
  • Laatst online: 28-08 22:59
Soms kan ik weer eens knutselen aan mijn loggertje.

Afbeeldingslocatie: http://i1030.photobucket.com/albums/y365/Photogerard/schemas0logger.jpg

Een korte uitleg;
Links is de aansluiting van de S0 meter, plus en min. Bij een puls zal de schmitt trigger er een mooi ttl pulsje van maken die dan wordt opgeslagen in de twee bit teller. (JK flip flop) http://en.wikipedia.org/w...nous_.28ripple.29_counter De twee bit teller gaat van 0-1-2-3-0-1-etc.

Elke teller heeft twee uitgangen die aan een multiplexer zijn aangesloten http://en.wikipedia.org/wiki/Multiplexer. De multiplexer heeft twee ingangen waardoor je een van de vier tellers kan selecteren (d2-d3) en uitlezen op d0-d1.

Het is eenvoudig om de tellers uit te lezen. Dit wil ik periodiek doen. De timing is niet zo belangrijk omdat er een eeuwigheid zit tussen 0 en 3 van een teller. Ik wil ook geen puls missen, of in mijn geval een overflow van de teller.

Daarbij ben ik van mening dat elk embedded systeem dat 24/7 moet werken een watchdog moet hebben. Nu kwam ik deze tegen: http://highfieldtales.wor...atchdog-for-the-netduino/. Perfect voor de netduino maar heeft nog meer mogelijkheden. Ik kan een van de lagere bits gebruiken als interrupt om de tellers uit te lezen. Na het uitlezen zet ik de watchdog weer op nul en kan het feest weer beginnen. Zo heb ik een watchdog én een periodiek hardware interrupt. Het programma wordt alleen maar eenvoudiger en uitbreidbaar.

Helaas heb ik niet zoveel tijd en schiet het niet op. Het printje met drie tellers is klaar en de eerste teller is getest en werkt. De 74htc4060 komt er aan. Dan kan de software ook getest worden.

Acties:
  • 0 Henk 'm!

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Zo jij bent goed bezig zeg, het programma schrijven is veel simpeler.

Het begin zou er zo uit kunnen zien en is efficient.
Het uilezen van de 4 poorten kost je een enkele milliseconde.


Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 

'
'
        Dim portElectricPulse_D0 As InputPort = New InputPort(Pins.GPIO_PIN_D0, False, InputPort.ResistorMode.Disabled)
        Dim portElectricPulse_D1 As InputPort = New InputPort(Pins.GPIO_PIN_D1, False, InputPort.ResistorMode.Disabled)
        Dim portElectricPulse_D2 As InputPort = New InputPort(Pins.GPIO_PIN_D2, False, InputPort.ResistorMode.Disabled)
        Dim portElectricPulse_D3 As InputPort = New InputPort(Pins.GPIO_PIN_D3, False, InputPort.ResistorMode.Disabled)
        Dim d0 As Integer, d1 As Integer, d2 As Integer, d3 As Integer

        Do While True

            If Not portElectricPulse_D0.Read Then d0 += 1 'pulse detected 
            If Not portElectricPulse_D1.Read Then d1 += 1
            If Not portElectricPulse_D0.Read Then d2 += 1
            If Not portElectricPulse_D0.Read Then d3 += 1
            'en zo verder met het verhaal.......

        Loop

Acties:
  • 0 Henk 'm!

  • The Lord
  • Registratie: November 1999
  • Laatst online: 23:13
tw_eek schreef op vrijdag 07 september 2012 @ 22:32:
Het is eenvoudig om de tellers uit te lezen. Dit wil ik periodiek doen. De timing is niet zo belangrijk omdat er een eeuwigheid zit tussen 0 en 3 van een teller. Ik wil ook geen puls missen, of in mijn geval een overflow van de teller.
Ik zou de TTL uitgang van de trigger ook aan een ingang van de NetDuino hangen. Eventueel met een OF poort om meerdere tellers te kunnen verbinden. Dan kan er altijd de keuze worden gemaakt de teller(s) uit te lezen op basis van interrupt i.p.v. een continu loop met een wacht opdracht.

geeft geen inhoudelijke reacties meer


Acties:
  • 0 Henk 'm!

  • tw_eek
  • Registratie: September 2006
  • Laatst online: 28-08 22:59
The Lord schreef op zaterdag 08 september 2012 @ 09:06:
[...]

Ik zou de TTL uitgang van de trigger ook aan een ingang van de NetDuino hangen. Eventueel met een OF poort om meerdere tellers te kunnen verbinden. Dan kan er altijd de keuze worden gemaakt de teller(s) uit te lezen op basis van interrupt i.p.v. een continu loop met een wacht opdracht.
Dat kan en is een goed idee. Het zou een NOR worden met de outputs van de schmitt triggers als input en de output op een interrupt poort. Zet ik even op mijn boodschappenlijstje. :)

Acties:
  • 0 Henk 'm!

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
The Lord schreef op zaterdag 08 september 2012 @ 09:06:
[...]

Ik zou de TTL uitgang van de trigger ook aan een ingang van de NetDuino hangen. Eventueel met een OF poort om meerdere tellers te kunnen verbinden. Dan kan er altijd de keuze worden gemaakt de teller(s) uit te lezen op basis van interrupt i.p.v. een continu loop met een wacht opdracht.
Met een interrupt kan ook, wat je wilt. Kan er zo uitzien.


Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Dim D0 As Integer

Public WithEvents poort_D0 As New InterruptPort(Pins.GPIO_PIN_D0, False, Port.ResistorMode.Disabled, Port.InterruptMode.InterruptEdgeBoth)

Private Sub ReadPoort_D0(ByVal data1 As UInteger, ByVal data2 As UInteger, ByVal time As DateTime) Handles poort_D0.OnInterrupt
D0 += 1
'code.......
End Sub

'deze
Dim Pin_D1 As InterruptPort = New InterruptPort(Pins.GPIO_PIN_D1, False, Port.ResistorMode.PullUp, Port.InterruptMode.InterruptEdgeBoth)
AddHandler Pin_D1.OnInterrupt, AddressOf SomethingHappened
Port_D1.EnableInterrupt()

Sub SomethingHappened()
        'code 
End Sub

[ Voor 14% gewijzigd door Willie Wortel op 09-09-2012 07:50 ]


Acties:
  • 0 Henk 'm!

  • tw_eek
  • Registratie: September 2006
  • Laatst online: 28-08 22:59
Nog een update van de logger.

Afbeeldingslocatie: http://i1030.photobucket.com/albums/y365/Photogerard/schemas0logger.jpg

Na een slimme opmerking uit dit forum heb ik een vier poorts NAND (74LS20) gekocht en aangesloten.
De uitgangen van de schmitt triggers (74LS14) heb ik op de NAND aangesloten. In mijn situatie heb ik drie triggers en heb de vierde ingang van de NAND op 5V gezet.

De uitgang van de NAND heb ik op een digitale pin aangesloten van de netduino.

Hoe gaat dit in zijn werk:
Geen activiteit:
-de ingang van de trigger is laag en de uitgang hoog.
-alle ingangen van de NAND zijn hoog en de uitgang is daarom laag (1x1x1x1=1 => 0).
Activiteit:
-een van de kwh meters geeft een puls en de uitgang van de aangesloten trigger is eventjes laag
-een van de ingangen van de NAND poort is laag en daarom de uitgang even hoog (1x1x1x0=0 => 1)

Hieronder heb ik een stukje c# geschreven om de hardware te testen.
Het programma zit in een loop die
-de eerste kwh meter leest (D2 en D3 worden op false geïnitialiseerd)
-het totaal aan pulsen print in het debug scherm
-5 seconden wacht.

De output van de NAND is op D4 aangesloten en als interrupt gedefinieerd. De routine geeft alleen aan dat er een puls is ontvangen. Ik moet ook de interrupt weer clearen.

Het heeft nog maar vijf minuten gelopen en werkte prima. Nu dit werkt kan ik verder met de software.
Volgende week komt de real time clock binnen (DS1307), die moet waarschijnlijk aan de analoge ingang komen door de I2C interface. Alternatieven zijn welkom, ik kan altijd de tijd nog van het internet halen om te vergelijken maar die wil ik niet als primaire tijd gebruiken.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
namespace Meterkastlogger1209
{
    public class Program
    {

        // io ports netduino definition
        // 0 = input, Za: bit0 value kwh meter
        // 1 = input, Zb: bit1 value kwh meter
        static InputPort GetCounterBit0 = new InputPort(Pins.GPIO_PIN_D0, false, Port.ResistorMode.Disabled);
        static InputPort GetCounterBit1 = new InputPort(Pins.GPIO_PIN_D1, false, Port.ResistorMode.Disabled);
        //  Zb : Za  : counter value
        //  0    0   : 0
        //  0    1   : 1
        //  1    0   : 2
        //  1    1   : 3

        // 2 = output, S0: bit0 select kwh meter
        // 3 = output, S1: bit1 select kwh meter
        static OutputPort SelectCounterBit0 = new OutputPort(Pins.GPIO_PIN_D2, false);
        static OutputPort SelectCounterBit1 = new OutputPort(Pins.GPIO_PIN_D3, false);      
        //   S1 :  S0  
        //    0     0   kwh meter 1
        //    0     1   kwh meter 2
        //    1     0   kwh meter 3
        //    1     1   kwh meter 4 (not connected on board.)
        
        // 4 = input, interrupt input for reading inputs.
        // define the interrupt port and connect to a variable
        // This interrupt is generated when the value of one of the three counters is changed
        static InterruptPort ReadSensors;
        // 
              

        // we must read the datetime to label our values.

        // variables for total
        static int Tnow, Tlast, nOverflow;
        public static void Main()
        {
            Tnow = 0;
            Tlast = 0;
            nOverflow = 0;

            ReadSensors = new InterruptPort(Pins.GPIO_PIN_D4, false, Port.ResistorMode.Disabled, Port.InterruptMode.InterruptEdgeLevelHigh);
            ReadSensors.OnInterrupt += new NativeEventHandler(ReadSensors_OnInterrupt);
            ReadSensors.ClearInterrupt();  

            while (true)
            {
                // sleep
                Tnow = (GetCounterBit1.Read() ? 1 : 0) * 2 + (GetCounterBit0.Read() ? 1 : 0);
                if (Tlast != Tnow)
                {
                    // Nieuwe waarde van de teller
                    if (Tnow < Tlast)
                    {
                        // overflow van de teller
                        nOverflow++;
                    }
                    Tlast = Tnow;
                }
                Debug.Print("Aantal pulsen= " + (4*nOverflow + Tlast).ToString());
                Thread.Sleep(5000);
                // store data on SD card
                // send data to providers
            }
        }

        static void ReadSensors_OnInterrupt(uint data1, uint data2, DateTime time)
        {
            Debug.Print("incoming...pulse ");
            Meterkastlogger1209.Program.ReadSensors.ClearInterrupt();

            // There is an interrupt generated by one of the S0 signals.
            // Read the sensors
            // Reset the watchdog to avoid reset.
        }
    }
}

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Ik vraag me af waarom je een interrupt gebruikt (wat het nut is) als je ook de .read() uitleest om je pulsteller te verhogen.

  • tw_eek
  • Registratie: September 2006
  • Laatst online: 28-08 22:59
JoopC schreef op woensdag 19 september 2012 @ 08:40:
Ik vraag me af waarom je een interrupt gebruikt (wat het nut is) als je ook de .read() uitleest om je pulsteller te verhogen.
Ik heb hier wat stukjes code geplaatst waarin je kan zien waarom ik de interrupt gebruik.

In main loopt een loop die elke 2 minuten een update naar thingspeak stuurt.
De interrupt op poort vier komt van een NAND poort waar de vier triggers op zijn aangesloten (de S0 puls).
Bij elke nieuwe puls lees ik de standen van de tellers. In dit geval zijn het er twee.

Voor het overzicht heb ik van elke teller een object gemaakt.
Vorige week heb ik ook een real time clock aangesloten. Dit werkt best wel goed. bijkomend voordeel is dat de rtc 56 bytes aan geheugen heeft die ook bij een reset oid blijft bestaan.

edit: het is nog niet af....tijd-tijd-tijd :( :( :(
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
    public class Program
    {
        static kWhMeter kWhSchuur,kWhDak;
        static DS1307 klok;

        public static void Main()
        {               
            // 4 = input, interrupt input for reading inputs.
            ReadSensors = new InterruptPort(Pins.GPIO_PIN_D4, false, Port.ResistorMode.Disabled, Port.InterruptMode.InterruptEdgeLevelHigh);
            ReadSensors.OnInterrupt += new NativeEventHandler(ReadSensors_OnInterrupt);
            ReadSensors.ClearInterrupt();

            // we must read the datetime to label our values.
            klok = new DS1307();
            kWhSchuur = new kWhMeter("Schuur", 2000, 1);
            kWhDak = new kWhMeter("Dak", 2000, 3);
            DateTime TijdstempelNu;
            
            while (true)
            {
                Thread.Sleep(120000);
                TijdstempelNu = klok.Get();              
                // update thingspeak              
                updateThingSpeak("field1=" + kWhSchuur.Totaalpuls.ToString() + "&field2=" + kWhDak.Totaalpuls.ToString() + "&field3=" + (TijdstempelNu.Hour * 100 + TijdstempelNu.Minute).ToString()) ;
  
            }
        }

       static void ReadSensors_OnInterrupt(uint data1, uint data2, DateTime time)
        {
            // There is an interrupt generated by one of the S0 signals.
            // Read the sensors
            Leesmeter(kWhSchuur);
            Leesmeter(kWhDak);
            Debug.Print("Datum tijd: " + klok.Get().ToString() + ". Meter " + kWhSchuur.Naam + ". Aantal pulsen= " + (kWhSchuur.Totaalpuls).ToString());
            Debug.Print("Datum tijd: " + klok.Get().ToString() + ". Meter " + kWhDak.Naam + ". Aantal pulsen= " + (kWhDak.Totaalpuls).ToString());
            // Clear the interrupt for accepting a new interrupt
            Meterkastlogger1209.Program.ReadSensors.ClearInterrupt();
            // Reset the watchdog to avoid reset.
        }
    public static void Leesmeter(kWhMeter ParMeter)
        {   
            // select the counter
            switch (ParMeter.Meternummer)
            {
                case 1:
                    {
                        SelectCounterBit1.Write(false);
                        SelectCounterBit0.Write(false);
                        break;
                    }
                case 2:
                    {
                        SelectCounterBit1.Write(false);
                        SelectCounterBit0.Write(true);
                        break;
                    }
                case 3:
                    {
                        SelectCounterBit1.Write(true);
                        SelectCounterBit0.Write(false);
                        break;
                    }
                case 4:
                    {
                        SelectCounterBit1.Write(true);
                        SelectCounterBit0.Write(true);
                        break;
                    }
            }
            Thread.Sleep(10); // sleep to let the multiplexer react.
            ParMeter.NieuweMeting((GetCounterBit1.Read() ? 1 : 0) * 2 + (GetCounterBit0.Read() ? 1 : 0), klok.Get());
        }   

  public class kWhMeter
    {
        public string Naam;
        public int Meternummer;
        public int Totaalpuls;
        int nPulsenPerkWh, Tnow, Tlast, nOverflow;
        int dagnummer;

        public kWhMeter(string Naam, int PulsenPerkWh, int Meternummer)
        {
            this.Naam = Naam;
            this.nPulsenPerkWh = PulsenPerkWh;
            this.Meternummer = Meternummer;
            Tnow = 0;
            Tlast = 0;
            nOverflow = 0;
            dagnummer = 0;
        }

        public void NieuweMeting(int ParNow, DateTime Tijd)
        {
            this.Tnow = ParNow;
            if (Tlast != Tnow)
            {
                if (Tnow < Tlast) { nOverflow++; }
                Tlast = Tnow;
            }
            Totaalpuls = nOverflow * 4 + Tnow; // bereken het totaal aan pulsen na start.
            if (dagnummer == 0) { dagnummer = Tijd.Day; }
            if (Tijd.Day != dagnummer)
            {
                // save the day
                // reset counters
                Reset(); 
            }

        }
        public void Reset() // reset tellers
        {
            Tnow = Tlast = nOverflow = dagnummer = 0 ;           
        }
    }

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
tweek, ziet er netjes uit alhoewel dit een stukje code is. Ik zie dat je geen beginnend programmeur bent, je werkt met structures. Maar de code moet ook makkelijk te onderhouden zijn. Zal het van de week goed bekijken, ben nu niet thuis.

Acties:
  • 0 Henk 'm!

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Ik heb mijn bril opgezet. Je gebruikt geen stucts this.Naam = me.Naam in VB >:)
Ziet er gelikt uit.

Acties:
  • 0 Henk 'm!

  • Rol-Co
  • Registratie: Maart 2004
  • Laatst online: 04-09 00:55

Rol-Co

3,8kWpZ 4,98kWpO-Z-W 2,86kWpN

joop
Gaat hij niet automatisch op wintertijd of moet ik hem een keer spanningsloos maken?

Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging


Acties:
  • 0 Henk 'm!

  • neographikal
  • Registratie: Januari 2001
  • Niet online
Ik hoop dat hier ook wat ruimte is voor absolute newbs op dit gebied :P Ik kan programmeren, wat dat betreft red ik mezelf redelijk als ik wat voorbeelden kan vinden. Ik zou graag een netduino willen inzetten op zolder om het volgende te meten:

Opbrengst zonnepanelen (S0 meter)
Temperatuursensor aanvoer cv (kabel van 3m nodig)
Temperatuursensor retour cv (kabel van 3m nodig)
Temperatuursensor voor binnen (korte kabel)
Temperatuursensor voor buiten ( langere kabel)
Lichtsensor voor buiten (langere kabel)

De data zou ik via http uit willen lezen of kunnen pushen naar een webserver. Kan iemand me een zetje de goede richting in duwen, gaat dit lukken op 1 netduino en welke sensoren kan ik het beste gebruiken? De rest vogel ik zelf wel weer uit :P

Acties:
  • 0 Henk 'm!

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Neo, Als je op de link klikt (onderschrift van mij), pv monitoring doe je zo, kun je software downloaden, deze software leid je met een vragenlijst door alle je "problemen", dit geldt ook voor Rolco.
Deze laatste software is een lichtjaar verder ontwikkeld en nog in ontwikkeling.
Ander draadje Netduino voor P1poort en SO meter logging.
suc6

Acties:
  • 0 Henk 'm!

  • Rol-Co
  • Registratie: Maart 2004
  • Laatst online: 04-09 00:55

Rol-Co

3,8kWpZ 4,98kWpO-Z-W 2,86kWpN

mijne is al opgelost.

Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging


Acties:
  • 0 Henk 'm!

  • Tafkar
  • Registratie: December 2002
  • Laatst online: 10-02-2024

Tafkar

3600 Wp

JoopC schreef op maandag 29 oktober 2012 @ 15:44:
Neo, Als je op de link klikt (onderschrift van mij), pv monitoring doe je zo, kun je software downloaden, deze software leid je met een vragenlijst door alle je "problemen", dit geldt ook voor Rolco.
Deze laatste software is een lichtjaar verder ontwikkeld en nog in ontwikkeling.
Ander draadje Netduino voor P1poort en SO meter logging.
suc6
Ik heb net even de sourcecode gedownload en bekeken. Ik zie dat het nu mogelijk is om 1 S0 poort te loggen. Ik heb nog een "domme" ferraris meter maar wel een 2e kWh meter ingebouwd voor het meten van mijn verbruik. Denk je dat het project nog wordt uitgebreid om in plaats van een p1 poort een extra S0 poort te loggen voor het meegeven van het verbruik?

Acties:
  • 0 Henk 'm!

  • Rol-Co
  • Registratie: Maart 2004
  • Laatst online: 04-09 00:55

Rol-Co

3,8kWpZ 4,98kWpO-Z-W 2,86kWpN

of 2 S0 poorten, ik wil er nog een metertje bij.


Ow en joop, kijk even naar je logging, die doet een beetje vreemd de laatste dagen he.

Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging


Acties:
  • 0 Henk 'm!

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Nee, ik heb de Netduino van mij nodig om de software te testen, dus moet ik um iedere keer van het loggen afhalen, resetten etc.

Acties:
  • 0 Henk 'm!

  • Rol-Co
  • Registratie: Maart 2004
  • Laatst online: 04-09 00:55

Rol-Co

3,8kWpZ 4,98kWpO-Z-W 2,86kWpN

Ah vandaar dat hij opnieuw begon.

btw, jouw systeem ligt op zuid staat bij pv-output maar volgensmij ligt het een tikkie oost of niet?

Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging


Acties:
  • 0 Henk 'm!

  • Rol-Co
  • Registratie: Maart 2004
  • Laatst online: 04-09 00:55

Rol-Co

3,8kWpZ 4,98kWpO-Z-W 2,86kWpN

JoopC

Is het met de netduino mogelijk om 2 meters te loggen, en dan ook nog 2 meters met verschillende puls?
bijv
een 2000 puls en een 1600 puls

Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging


Acties:
  • 0 Henk 'm!

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Rol-Co schreef op vrijdag 02 november 2012 @ 09:01:
JoopC

Is het met de netduino mogelijk om 2 meters te loggen, en dan ook nog 2 meters met verschillende puls?
bijv
een 2000 puls en een 1600 puls
Tuurlijk, copy paste routine1 in routine2. En de waarde van je pulse berekenen.
Er gaan dus 1600 pulsen in 1kw = 1000watt/1600pulse=0.63 = 1pulse.

Acties:
  • 0 Henk 'm!

  • Rol-Co
  • Registratie: Maart 2004
  • Laatst online: 04-09 00:55

Rol-Co

3,8kWpZ 4,98kWpO-Z-W 2,86kWpN

JoopC schreef op vrijdag 02 november 2012 @ 11:42:
[...]

Tuurlijk, copy paste routine1 in routine2. En de waarde van je pulse berekenen.
Er gaan dus 1600 pulsen in 1kw = 1000watt/1600pulse=0.63 = 1pulse.
Moet er nergens een andere ingang ingegeven worden?

Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging


Acties:
  • 0 Henk 'm!

  • Rol-Co
  • Registratie: Maart 2004
  • Laatst online: 04-09 00:55

Rol-Co

3,8kWpZ 4,98kWpO-Z-W 2,86kWpN

JoopC schreef op vrijdag 02 november 2012 @ 11:42:
[...]

Tuurlijk, copy paste routine1 in routine2. En de waarde van je pulse berekenen.
Er gaan dus 1600 pulsen in 1kw = 1000watt/1600pulse=0.63 = 1pulse.
Joop

Ik heb die nieuwe software er in zitten, het lijkt te werken (even met de hand getest) maar als ik dus 2 meters heb? je zegt routine 2 maar dan zal ik het wel niet snappen :)

Moet ik dit er 2x in zetten? alleen D13 veranderen in bijv D14 en de pulsen aanpassen?


' * 3600 seconds in 1 hour / (2000 pulsen per KW / 1000 watt) = 1800
Const cnstWattageTicks As Int16 = 1800

' * HowMuch watt = 1 pulse 2000 pulses for 1 kw = 2000 pulses / 1000 watt = watt
Const cnstPulsesToWatt As Single = 0.5

#If soPulseMeter Then
Public Pin_D13 As InterruptPort = New InterruptPort(Pins.GPIO_PIN_D13, True, Port.ResistorMode.Disabled, Port.InterruptMode.InterruptEdgeLevelHigh)
#End If


En werkt die port resistermode? kan ik die weerstand skippen en dan in de code op enabled of is het beter de weerstand te houden?

Als iemand anders het weet graag ook reageren, ik neem aan dat er meer zijn met een netduino?

Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging


Acties:
  • 0 Henk 'm!

  • Rol-Co
  • Registratie: Maart 2004
  • Laatst online: 04-09 00:55

Rol-Co

3,8kWpZ 4,98kWpO-Z-W 2,86kWpN

pffff,...... anderhalf uur en niks meer te zien op pv-output. netduino lijkt nog gewoon te werken.

edit:
gooit hem uit de router op 1 of andere manier, iets aan te doen joop?

hmmm, precies op heel uur begint hij voor een half uur, half uur geen data en dan op heel uur begint hij weer.
vaaaaaag, enig idee?

[ Voor 76% gewijzigd door Rol-Co op 04-11-2012 23:00 ]

Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging


Acties:
  • 0 Henk 'm!

  • WouterG
  • Registratie: December 2000
  • Laatst online: 23:32

WouterG

Dit is geen ondertitel

Ik ben nu bezig met een koppeling tussen mijn Netduino en een Synology NAS. Elke 10 minuten doet de Netduino een request naar de synology met daarin het aantal pulsen wat hij geteld heeft, de synology slaat het op in een mysql database en met een webpage kun je dan alles weer uitlezen.
Werkt al een paar weken stabiel, code is helaas nog een rommeltje ;)

Acties:
  • 0 Henk 'm!

  • Rol-Co
  • Registratie: Maart 2004
  • Laatst online: 04-09 00:55

Rol-Co

3,8kWpZ 4,98kWpO-Z-W 2,86kWpN

mja dat is een beetje dubbel.......of 3 dubbel, de netduino kan dat zelf.

Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging


Acties:
  • 0 Henk 'm!

  • WouterG
  • Registratie: December 2000
  • Laatst online: 23:32

WouterG

Dit is geen ondertitel

De netduino kan wel een beetje tellen maar een serieuze database gaat hem echt niet worden op dat ding. Ook grafieken creeeren wordt een uitdaging op dat ding. Of je moet een idee hebben hoe?
Ik heb er een webserver op gehad met wat tabelletjes met productie van de afgelopen uren/dagen en maanden maar de performance was slecht en hij liep steeds vast. Ging hem niet worden.

Netduino is wel ideaal om de i/o beschikbaar te maken op het netwerk, daar gebruik ik hem dus voor. Straks ook een stukje home-automation erbij, ben er op deze manier wel blij mee.

Acties:
  • 0 Henk 'm!

  • Rol-Co
  • Registratie: Maart 2004
  • Laatst online: 04-09 00:55

Rol-Co

3,8kWpZ 4,98kWpO-Z-W 2,86kWpN

Deze code al geprobeerd?

http://p1netduinoplus.codeplex.com/releases/view/96654

werkt opzich hier alleen door "iets in de code" stopt hij met uploaden naar pv-output op elk half van het uur en gaat weer verder op het heel. De data klopt wel en telt door maar niets op pv-output.

Misschien stuurt hij te vaak en gooit pv-output hem er uit of iets , geen idee, ik kan het nog niet vinden. ;(

[ Voor 65% gewijzigd door Rol-Co op 04-11-2012 22:59 ]

Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging


Acties:
  • 0 Henk 'm!

  • WouterG
  • Registratie: December 2000
  • Laatst online: 23:32

WouterG

Dit is geen ondertitel

Even van de website van pv-output geplukt:
Rate Limits

The following rate limits applies per API key -

60 requests per hour for updates (service names starting with add)
60 requests per hour for retrieves (service names starting with get)

Each System Id is limited to -

1 request per second for updates

It is recommended that multiple requests to be at least 10 seconds apart.
Kom je hier niet over dan zal dat niet de reden zijn denk ik zo. En anders kun je hem toch wat minder vaak laten versturen in de code? Weet je het gelijk.

Edit:
Misschien deze even aanpassen in je code:
' * Change logging to servers write interval
Const cnstSendToLoggingServersIntervalInMilliSeconds As Integer = 30000
naar
' * Change logging to servers write interval
Const cnstSendToLoggingServersIntervalInMilliSeconds As Integer = 60000

[ Voor 22% gewijzigd door WouterG op 05-11-2012 00:24 ]


Acties:
  • 0 Henk 'm!

  • Rol-Co
  • Registratie: Maart 2004
  • Laatst online: 04-09 00:55

Rol-Co

3,8kWpZ 4,98kWpO-Z-W 2,86kWpN

Dat zou elke halve minuut zijn en kan hij aan de max van 60 in een half uur komen inderdaad.

Deze die je hebt komt uit de oude code hier uit het topic, maar die uit de link is heeeeeeeeeel anders.

maar gevonden

' * Change DataServers write interval
Const cnstSendToDataServersIntervalInSeconds As Integer = 30

moet even op 60 denk ik.

[ Voor 60% gewijzigd door Rol-Co op 05-11-2012 08:17 ]

Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging


Acties:
  • 0 Henk 'm!

  • Rol-Co
  • Registratie: Maart 2004
  • Laatst online: 04-09 00:55

Rol-Co

3,8kWpZ 4,98kWpO-Z-W 2,86kWpN

Werkt tomcat, tnx :)

Misschien weet je dan ook hoe ik 2 meters op de netduino krijg appart van elkaar? Ik neem aan op een andere pin maar in de code? Zodat hij beide appart telt?

Verbruik en opbrengst bijv

Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging


Acties:
  • 0 Henk 'm!

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Ik zie op pvoutput dat je gewoon logt.

Acties:
  • 0 Henk 'm!

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Rolco, het is beter (lijkt me) om tijdelijk een Thingspeak account aan te maken, kan je per minuut zien wat je netduino doet.

Acties:
  • 0 Henk 'm!

  • Rol-Co
  • Registratie: Maart 2004
  • Laatst online: 04-09 00:55

Rol-Co

3,8kWpZ 4,98kWpO-Z-W 2,86kWpN

JoopC schreef op maandag 05 november 2012 @ 12:56:
Ik zie op pvoutput dat je gewoon logt.
Ja werkt, alleen de tijd in je software was per 30 sec , dat is te kort als je geen donatie account hebt.
ik heb hem nu op 1 min gezet.

Maar hoe log ik een 2e meter bij joop, moet ik dan een module2 hebben/aanmaken of kan dat gewoon in dezelfde code van module1.

Je zegt copy paste maar welk gedeelte? , puls aanpassen is geen probleem, maar ik neem aan ook de ingang wat aangepast moet worden voor de andere extra meter.

Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging


Acties:
  • 0 Henk 'm!

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Rol-Co schreef op maandag 05 november 2012 @ 13:10:
[...]


Ja werkt, alleen de tijd in je software was per 30 sec , dat is te kort als je geen donatie account hebt.
ik heb hem nu op 1 min gezet.

Maar hoe log ik een 2e meter bij joop, moet ik dan een module2 hebben/aanmaken of kan dat gewoon in dezelfde code van module1.

Je zegt copy paste maar welk gedeelte? , puls aanpassen is geen probleem, maar ik neem aan ook de ingang wat aangepast moet worden voor de andere extra meter.
Het is idd veel leuker om zelf te hatseflatsen aan deze krachtige software (is ontwikkeld om zonder programmeer kennis aanpassingen te doen) , hoef je geen dankjewel te zeggen ook. :)

[ Voor 27% gewijzigd door Willie Wortel op 06-11-2012 07:51 ]


Acties:
  • 0 Henk 'm!

  • Rol-Co
  • Registratie: Maart 2004
  • Laatst online: 04-09 00:55

Rol-Co

3,8kWpZ 4,98kWpO-Z-W 2,86kWpN

JoopC schreef op maandag 05 november 2012 @ 13:20:
[...]


Het is idd veel leuker om zelf te hatseflatsen aan deze krachtige software (is ontwikkeld om zonder programmeer kennis aanpassingen te doen) , hoef je geen dankjewel te zeggen ook. :)
Nou ik heb het idee dat het een beetje TE snel online gezet is zonder te testen, de website waar je naar verwijst bied ook weinig soelaas en het forum van de netduino zelf waar je het topic gestart hebt is verder ook geen reactie.

Voor pv-output iedergeval 2 foutjes

upload data op 30 sec waardoor het dus elk half uur stopt
en begin van een nieuwe dag telt hij door van de vorige (waarschijnlijk gaat hij bij jou elke dag spanningsloos)

Nu nog een optie in de software zodat je kan kiezen of je 1 of meerdere s0 pulse meters wilt en het is top voor pv-output, misschien kan er dan zelfs wel een bedankje af. :)

Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging


Acties:
  • 0 Henk 'm!

  • reinten
  • Registratie: Februari 2010
  • Laatst online: 12-05 23:03
Dankzij de code van Joopc lukt het mij nu om mijn opbrengst te loggen met de Netduino.
Ik gebruik de code voor alleen naar pvoutput te schrijven en deze werkt stabiel.
De nieuwe code met P1 monitoring doet het ook en geeft voor mij (nog) geen meerwaarde.

Verder ben ik zelf aan het knutselen geweest om een 2e pulsmeter en temperatuur toe te voegen in de code, nog niet succesvol. Uit eigen ervaring weet ik nu dat het schrijven van een werkende code niet gemakkelijk is
in ieder geval niet voor een leek.
Als er nog code komt voor een 2e pulsmeter houd ik mij aanbevolen, de hardware zit er al.

Dus JoopC bedankt voor je werk tot nu toe en "keep up the good work" _/-\o_

Acties:
  • 0 Henk 'm!

  • Rol-Co
  • Registratie: Maart 2004
  • Laatst online: 04-09 00:55

Rol-Co

3,8kWpZ 4,98kWpO-Z-W 2,86kWpN

Temparatuur zit er in en kan je zo op true zetten. gebruik je wel de V0.40 Beta Netduino Plus P1 Port Monitoring versie?
2e pulse is me ook nog niet gelukt, volgensmij kan je die er ook niet zomaar bij copy paste, zeker niet als je hem voor je verbruik wil gebruiken.

Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging


Acties:
  • 0 Henk 'm!

  • reinten
  • Registratie: Februari 2010
  • Laatst online: 12-05 23:03
Rol-Co schreef op dinsdag 06 november 2012 @ 19:15:
Temparatuur zit er in en kan je zo op true zetten. gebruik je wel de V0.40 Beta Netduino Plus P1 Port Monitoring versie
Deze versie heb ik geprobeerd. Pulse opbrengst werkte goed, temperatuur gaf echter vreemde metingen. Steeds de eerste meting goed en vervolgens loopt de waarde steeds meer uit de pas.

Acties:
  • 0 Henk 'm!

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
reinten schreef op dinsdag 06 november 2012 @ 23:16:
[...]

Deze versie heb ik geprobeerd. Pulse opbrengst werkte goed, temperatuur gaf echter vreemde metingen. Steeds de eerste meting goed en vervolgens loopt de waarde steeds meer uit de pas.
reinten, Welke sensor heb je gebruikt? De meting is een deling, dan is de deling niet juist.

[ Voor 7% gewijzigd door Willie Wortel op 07-11-2012 09:07 ]


Acties:
  • 0 Henk 'm!

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
reinten schreef op dinsdag 06 november 2012 @ 18:55:
Dankzij de code van Joopc lukt het mij nu om mijn opbrengst te loggen met de Netduino.
Ik gebruik de code voor alleen naar pvoutput te schrijven en deze werkt stabiel.
De nieuwe code met P1 monitoring doet het ook en geeft voor mij (nog) geen meerwaarde.

Verder ben ik zelf aan het knutselen geweest om een 2e pulsmeter en temperatuur toe te voegen in de code, nog niet succesvol. Uit eigen ervaring weet ik nu dat het schrijven van een werkende code niet gemakkelijk is
in ieder geval niet voor een leek.
Als er nog code komt voor een 2e pulsmeter houd ik mij aanbevolen, de hardware zit er al.

Dus JoopC bedankt voor je werk tot nu toe en "keep up the good work" _/-\o_
Dank voor de dank maar ik doe het niet alleen :) tweaker forumlid C70070540 heeft een grote inbreng.

Acties:
  • 0 Henk 'm!

  • Rol-Co
  • Registratie: Maart 2004
  • Laatst online: 04-09 00:55

Rol-Co

3,8kWpZ 4,98kWpO-Z-W 2,86kWpN

Joopc
C70070540

De nieuwe V0.50 staan veel dingen nu standaard true, ik weet niet of je dit wilt?

60sec is gefixed zie ik :) , de nieuwe dag weer op 0 beginnen nog niet?

Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging


Acties:
  • 0 Henk 'm!

  • reinten
  • Registratie: Februari 2010
  • Laatst online: 12-05 23:03
JoopC schreef op woensdag 07 november 2012 @ 09:05:
[...]

reinten, Welke sensor heb je gebruikt? De meting is een deling, dan is de deling niet juist.
Ik gebruik de TMP36 nu nog rechtstreeks op de netduino, volgens mij de juiste voor deze code?
Het is mij opgevallen dat de eerste meting na een herstart wel klopt, daarna lopen de waarden uiteen.

Acties:
  • 0 Henk 'm!

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
reinten schreef op donderdag 08 november 2012 @ 13:08:
[...]

Ik gebruik de TMP36 nu nog rechtstreeks op de netduino, volgens mij de juiste voor deze code?
Het is mij opgevallen dat de eerste meting na een herstart wel klopt, daarna lopen de waarden uiteen.
hallo reinten,
Er zit een foutje in de code, ik heb net de sensor aangesloten kijk maar:
http://www.pvoutput.org/intraday.jsp?id=12106&sid=10049

Heb je de laatste versie, 0.6 gedownload:
http://p1netduinoplus.codeplex.com/releases/view/97369

Dan moet je even deze regel aanpassen:

Visual Basic:
1
2
3
4
5
'oude code, niet juist.
Dim strTemperature As String = (soPulseMeter.sglTemperature / soPulseMeter.intPulseCount - intPulseCount).ToString("F1")

nieuwe code  (zie de haakjes)
Dim strTemperature As String = (soPulseMeter.sglTemperature / (soPulseMeter.intPulseCount - intPulseCount)).ToString("F1")


Als de uitlezing een negatief getal is dus -XXX, dan heb je de sensor niet goed aangesloten.
Ik hoor het wel.

Acties:
  • 0 Henk 'm!

  • reinten
  • Registratie: Februari 2010
  • Laatst online: 12-05 23:03
JoopC schreef op donderdag 08 november 2012 @ 13:56:
[...]
Visual Basic:
1
2
3
4
5
'oude code, niet juist.
Dim strTemperature As String = (soPulseMeter.sglTemperature / soPulseMeter.intPulseCount - intPulseCount).ToString("F1")

nieuwe code  (zie de haakjes)
Dim strTemperature As String = (soPulseMeter.sglTemperature / (soPulseMeter.intPulseCount - intPulseCount)).ToString("F1")


Als de uitlezing een negatief getal is dus -XXX, dan heb je de sensor niet goed aangesloten.
Ik hoor het wel.
Bovenstaande uitgevoerd en meting lijkt nu ook te kloppen. Thx.
Verdere ontwikkelingen in de code zal ik in de gaten houden.
_/-\o_

Acties:
  • 0 Henk 'm!

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
reinten schreef op donderdag 08 november 2012 @ 15:38:
[...]


Bovenstaande uitgevoerd en meting lijkt nu ook te kloppen. Thx.
Verdere ontwikkelingen in de code zal ik in de gaten houden.
_/-\o_
Fijn dat het gelukt is, als er een beetje zon op je panelen staat zie je de metingen snel oplopen VV.
Evenzo met een beetje vocht en wind maar dan naar beneden. :*)
Het is in ieder geval een lek speeltje.

Acties:
  • 0 Henk 'm!

  • neographikal
  • Registratie: Januari 2001
  • Niet online
Ik ben een beetje aan het kijken hoe ik het makkelijkst twee netduino's draadloos met elkaar kan laten praten. Wat ik wil zou ook met twee jeenodes kunnen, maar ik vind de netduino toch wat leuker met z'n ethernet interface e.d. en ik wil liever niet twee platformen mixen (anders moet ik weer en C leren en C# op de Netduino).

Heeft iemand hier een leuk idee voor? Ik ben de boel nog een beetje aan het verkennen, binnenkort maar eens bestellen. Eerste projecten zijn het monitoren van de energiemeters (pulses) en de gasmeter. :P Daarna wil ik een netduino gebruiken om de ketel boven te gaan monitoren, maar daar offer ik liever geen ethernet aansluiting aan op, vandaar de draadloze communicatie (+ wat ik nog meer bedenk :P ) Ik heb Xbee radio's al voorbij zien komen, maar die zijn niet echt goedkoop..

[ Voor 5% gewijzigd door neographikal op 27-11-2012 17:20 ]


Acties:
  • 0 Henk 'm!

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Al heb ik geen draadloos, maar draadloos en wired maakt niet uit, alles komt samen bij de router.
Het is niet al te moeilijk om 2 Netduino's te laten communiceren met elkaar. De oplossing moet je vinden in de webserver oplossing die ik heb geschreven, straks de 1.0 die nu nog getest wordt.

Acties:
  • 0 Henk 'm!

  • neographikal
  • Registratie: Januari 2001
  • Niet online
Ook weer waar

Ik heb m'n speelgoed binnen trouwens, hartstikke leuk speelgoed. Ben nu bezig met een weerstand die op licht reageert om de led van m'n energiemeter te detecteren. Op zich werkt dit wel, maar ik moet een algoritme bedenken om de knipper van de led te detecteren. Op absolute waardes gaat het niet, als ik de deur van de meterkast open moet 'ie dat niet als een continue pulse gaan meten.

Ik moet dus iets gaan doen met relatieve verschillen vs tijdseenheid (die pulse duurt maar een fractie van een seconde, de meterkastdeur die open gaat heel wat langer.). Moet er nog even m'n hoofd over breken hoe ik dat ga oplossen :P

Hele nieuwe wereld, hoop te leren :P

[ Voor 3% gewijzigd door neographikal op 03-12-2012 12:28 ]


Acties:
  • 0 Henk 'm!

  • neographikal
  • Registratie: Januari 2001
  • Niet online
Voor de mensen die wireless communicatie willen: http://shop.ciseco.co.uk/...ee-shape-arduino-pic-etc/ dit ziet er best goed uit.

Acties:
  • 0 Henk 'm!

  • Mr-Leo
  • Registratie: Oktober 2001
  • Laatst online: 07-04 22:56
neographikal schreef op maandag 03 december 2012 @ 12:25:
Ook weer waar

Ik heb m'n speelgoed binnen trouwens, hartstikke leuk speelgoed. Ben nu bezig met een weerstand die op licht reageert om de led van m'n energiemeter te detecteren. Op zich werkt dit wel, maar ik moet een algoritme bedenken om de knipper van de led te detecteren. Op absolute waardes gaat het niet, als ik de deur van de meterkast open moet 'ie dat niet als een continue pulse gaan meten.

Ik moet dus iets gaan doen met relatieve verschillen vs tijdseenheid (die pulse duurt maar een fractie van een seconde, de meterkastdeur die open gaat heel wat langer.). Moet er nog even m'n hoofd over breken hoe ik dat ga oplossen :P

Hele nieuwe wereld, hoop te leren :P
Misschien dat je hier wat aan hebt, ik tel de pulsen met een Raspberry Pi maar het principe is natuurlijk hetzelfde. Ik tel een minuut lang de pulsen, en schrijf het totaal na een minuut weg in een database.

Ik heb bij conrad voor een paar cent een doosje gekocht waar de photoresistor met hotglue in vast zit en op deze manier heeft hij geen last van ander licht.

Afbeeldingslocatie: http://imageshack.us/a/img577/6595/img2377jv.jpg
Afbeeldingslocatie: http://imageshack.us/a/img268/6748/img2060eo.jpg

Acties:
  • 0 Henk 'm!

  • neographikal
  • Registratie: Januari 2001
  • Niet online
Kijk bedankt :) Het vervelende is dat mijn meter een doorzichtige plastic behuizing heeft, waardoor hij altijd omgevingslicht op gaat pakken. Ik moet dus iets van een algoritme gaan bedenken met relatieve verschillen waardoor de pulsen zowel bij daglicht als met dichte meterkastdeur kan worden gedetecteerd.
Pagina: 1 2 Laatste