Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie
Toon posts:

Analoge meter uitlezen met een Arduino/Raspberry Pi

Pagina: 1
Acties:

  • Raven
  • Registratie: november 2004
  • Niet online

Raven

Marion Raven fan

Topicstarter
Aangezien er wel een topic voor Slimme/digitale meter uitlezen met een Raspberry Pi is, maar geen voor analoge, hier maar een topic over het uitlezen van Analoge meters :)

In de titel heb ik het zowel over een Arduino als RPi, maar ik richt mij in eerste instantie op Arduino's aangezien ik daar al enige ervaring mee heb als het om het uitlezen van oude analoge meters gaat. Nou heb ik al wel een RPi die de gegevens bewaart, maar wegens het niet dicht bij elkaar geplaatst zijn van de meters en gebrek aan bedraadde netwerktoegang bij de betreffende meters gebruik ik Arduino's voor het verzamelen van de data. De Arduino's sturen de data via de 433MHz band naar de RPi die ergens anders staat. Daar ga ik nog wat aan doen, die info komt er dan ook bij :)

Goed, eerst maar de elektriciteitsmeter, van het soort met een ronddraaiende schijf erin:


Deze is vrij makkelijk uit te lezen en dat kan met een optische sensor gedaan worden, dit werkt zo:


De sensor die ik gebruik (een CNY70) heeft een infrarood-LED die op de rand van de ronddraaiende schijf schijnt. Zit het ongemarkeerde deel van de schijf voor de sensor, dan weerkaatst het licht terug op de fototransistor en begint er een stroom te lopen wat voor een lagere spanning zorgt op de uitgang. Zit de markering voor de sensor, dan wordt er minder licht teruggekaatst, gaat er minder stroom lopen en stijgt de spanning.

In het geval van mijn meter met zwarte markering en de gebruikte weerstandswaarde staat er ongeveer 1.6-1.7V op de te meten pin als de markering er niet voor staat en 1.9-2V als deze er wel voor staat.

De te gebruiken weerstandswaarde voor de fototransistor is overigens niet bij elke meter hetzelfde, ik raad dan ook aan een potmeter van het 3296 soort te gebruiken

en deze aan te sluiten als variabele weerstand. Oftewel de middelste pin en één van de buitenste 2 pinnen.

Waarom specifiek deze soort? Om een hele simpele reden: Je moet vaak ronddraaien om de waarde noemenswaardig te veranderen, hierdoor kun je de potmeter heel precies afstellen :)

Tijdens het in gebruik nemen van de sensor had ik helaas niet aan een potmeter gedacht waardoor ik nu 2 parallel over elkaar heen gesoldeerde weerstandjes aan de sensor heb hangen, een van 47kΩ en een van 39kΩ (= 21k3Ω). De 2e heb ik er overheen gesoldeerd omdat 47k te hoog bleek te zijn.

Tijdens het testen van de CNY70 liep ik echter nog ergens anders tegenaan. Zoals op de volgende afbeelding is te zien, heeft de sensor een opstaande rand:

Deze rand zorgt voor genoeg ruimte tussen de LED+fototransistor en het glazen ruitje voor de draaischijf dat het ruitje het licht al terug reflecteert. Vanwege dit heb ik met een scherp mesje de rand weggehaald, wat dat probleem oploste.


Wanneer je de sensor rechtstreeks op een Arduino wil aansluiten, dan kan dat zo

mits de te meten spanningen hoog en laag genoeg zijn voor een digitale pin, anders moet je een analoge pin gebruiken. Je kan het echter ook anders doen. Zelf heb ik in eerste instantie een LM393 IC gebruikt om de gemeten spanningen om te zetten naar spanningen waar een microcontroller wat mee kan, in combinatie met de interrupt pinnen bedoel ik dan:


Links staat een regelbare spanningsdeler dat de sensor voor moet stellen, de rest is de schakeling dat de ene gemeten spanning omzet naar 0v en de ander naar 5v. Om het afstellen makkelijk te maken heb ik er een LED bij geplaatst, gaat de LED aan terwijl de markering voor de sensor zit en uit als de markering er niet voor staat, dan is de potmeter goed afgesteld.

Mocht het in elkaar knutselen van zo'n schakeling net ietsje te lastig zijn, dan heeft Adafruit een kant en klare oplossing in de vorm van een ADS1115 ADC. Deze heb ik hier al liggen, maar is nog niet in gebruik.
De link verwijst naar informatie van de ADS1115 i.c.m. een Arduino, Adafruit heeft echter Python-scripts voor gebruik i.c.m. de RPi ter beschikking voor deze module. Deze zijn op https://github.com/adafru...Raspberry-Pi-Python-Code/ te vinden en het voor dit toepassing geschikte script is ads1x15_ex_comparator.py en is zo op het eerste gezicht vrij simpel in gebruik. Wat relevant is, is het commando om de comparator-functie in te schakelen:
Python:
1
adc.startSingleEndedComparator(2, 200, 100, pga=1024, sps=250, activeLow=True, traditionalMode=True, latching=False, numReadings=1)

De eerste 3 opties vereisen de meeste aandacht:
- 2 -> analoge ingang 2, er zijn er 4;
- 200 -> 200mV, alles boven de 200mV wordt als hoog gezien.
- 100 -> 100mV, alles onder de 100mV wordt als laag gezien.
De alert/ready pin wordt hoog of laag afhankelijk van of de ingangsspanning onder de 100mV of boven de 200mV zit. Deze drempels zijn uiteraard te veranderen. Afhankelijk van de ingangsspanningen moet de pga-waarde nog aangepast worden en sps kan maximaal op 860 ingesteld worden.


Goed, het uitlezen van de digitale waardes gaat als volgt: Sluit de uitgang van de LM393 (of de alert/ready-pin van de ADS1115) aan op een interrupt pin van een Arduino of RPi - waarbij je in het geval van de Pi nog een 5->3.3v spanningsdeler nodig hebt - en schrijf een programma dat de interrupts oppikt.

Om het verbruik na elke puls weer te kunnen geven kun je met een Arduino de volgende sketch gebruiken:

C:
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
#define cycles_per_kwh 375

int W = 0;                     // variable to store value watt
unsigned long starttime;       // variable to store starttime of puls
unsigned long duration;        // variable to store duration value
volatile int wattpulse = LOW;

int counter = 0;

long debouncing_time = 20; //Debouncing Time in Milliseconds
volatile unsigned long last_micros;

void setup(){
  // open serial port (USB):
  Serial.begin(9600);
  // open serial port 1 (APC220):
  Serial1.begin(9600);
  attachInterrupt(1, debounceInterrupt, RISING);
  starttime = millis();
}

void loop() {
  if ((wattpulse == HIGH) && ((counter % 2) != 0)) {
    duration = millis() - starttime;
    starttime = millis();
    W = 3600000000 / (cycles_per_kwh * duration); // calculate current power usage
    Serial.println(W);
    Serial1.println(W);
    wattpulse = LOW;
  }
}

void watt() {
  wattpulse = HIGH;
  counter++;
}

void debounceInterrupt() {
  if((long)(micros() - last_micros) >= debouncing_time * 1000) {
    watt();
    last_micros = micros();
  }
}
Deze sketch meet m.b.v. de millis() functie de tijdsduur tussen de pulsen. Aan de hand van de tijdsduur in milliseconden en het aantal toeren per kWh (in mijn geval 375) kun je het verbruik in watt berekenen.

Het verbruik in watt wordt daarna via de 433MHz band, hierbij gebruikmakend van een APC220 transceiver set, verstuurd naar de RPi waar een bash-script de data opvangt en in een MySQL database plaatst waarna een Highcharts-grafiek de data weergeeft.



En nu komen er 2 aparte gevallen: de gas-

en watermeter


Beide meters hebben géén reflecterend vlakje op het telwerk, waardoor het niet mogelijk is deze meters met een optische sensor uit te lezen. Gelukkig maakt dat het niet onmogelijk.

N.a.v. een bericht op een ander forum kwam ik op het idee om te kijken of de meter een magnetisch veld heeft, dat verandert als het telwerk draait. Dat bleek het geval :)

In eerste instantie gebruikte ik mijn smartphone om te kijken of er wat te meten viel, toen ben ik overgestapt op een hall-sensor om uiteindelijk te eindigen bij een elektronisch kompas: De HMC5883L.

Na deze samen met een Arduino op een breadboard bovenop de gasmeter geplaatst te hebben, heb ik de volgende sketch gedraaid om te kijken of er wat te meten viel:
C:
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
/* Include the standard Wire library */
#include <Wire.h>

/* The I2C address of the module */
#define HMC5803L_Address 0x1E

/* Register address for the X Y and Z data */
#define X 3
#define Y 7
#define Z 5

void setup() 
{
  Serial.begin(9600);
  /* Initialise the Wire library */
  Wire.begin();
  
  /* Initialise the module */ 
  Init_HMC5803L();
}

void loop() 
{
  /* Read each sensor axis data and output to the serial port */
  Serial.print(HMC5803L_Read(X));
  Serial.print(" ");
  Serial.print(HMC5803L_Read(Y));
  Serial.print(" ");
  Serial.println(HMC5803L_Read(Z));
  
  /* Wait a little before reading again */
  delay(200);
}


/* This function will initialise the module and only needs to be run once
   after the module is first powered up or reset */
void Init_HMC5803L(void)
{
  /* Set the module to 8x averaging and 15Hz measurement rate */
  Wire.beginTransmission(HMC5803L_Address);
  Wire.write(0x00);
  Wire.write(0x70);
          
  /* Set a gain of 5 */
  Wire.write(0x01);
  Wire.write(0xA0);
  Wire.endTransmission();
}


/* This function will read once from one of the 3 axis data registers
and return the 16 bit signed result. */
int HMC5803L_Read(byte Axis)
{
  int Result;
  
  /* Initiate a single measurement */
  Wire.beginTransmission(HMC5803L_Address);
  Wire.write(0x02);
  Wire.write(0x01);
  Wire.endTransmission();
  delay(6);
  
  /* Move modules the resiger pointer to one of the axis data registers */
  Wire.beginTransmission(HMC5803L_Address);
  Wire.write(Axis);
  Wire.endTransmission();
   
  /* Read the data from registers (there are two 8 bit registers for each axis) */  
  Wire.requestFrom(HMC5803L_Address, 2);
  Result = Wire.read() << 8;
  Result |= Wire.read();

  return Result;
}

Na de CV-ketel een schop onder de kont te hebben gegeven begonnen de waardes te veranderen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
-596 686 -811
-596 686 -805
-598 687 -801
-600 689 -796
-601 690 -792
-602 693 -788
-603 695 -791
-605 695 -793
-607 692 -796
-608 691 -800
-611 688 -805
-614 680 -809
-617 677 -813
-618 675 -817
-619 673 -822
-620 674 -827
-620 673 -831
-621 670 -833
-622 672 -834
-620 673 -839
-621 672 -839

Dit is maar een fractie van de meetwaardes, na de sensor iets meer dan 500 keer uitgelezen te hebben, heb ik de waardes naar MS Excel overgezet waarna ik er grafieken van heb laten maken. Omdat Excel geen 3D-grafieken kan maken, heb ik voor elke coördinaat apart een grafiek laten maken en dat zag er zo uit:


Als je iets ziet dat iets wegheeft van een sinus, dan is dat een goed teken :D , dit houd in dat er een magnetisch veld is dat meedraait met het telwerk. In het geval van de watermeter zag het er zo uit:


Nu komt het lastige. In eerste instantie is er het probleem dat het I2C-adres van deze sensor niet verandert kan worden, dus 2 van deze sensors tegelijk gebruik gaat niet zomaar lukken. Gelukkig is daar een oplossing voor in de vorm van een CD4052B (de)multiplexer. Die zorgt ervoor dat er telkens maar één HMC5883L tegelijk is verbonden met de Arduino. Een wat geavanceerder alternatief dat (afgezien van een I2C verbinding) geen aparte pinnen vereist is de PCA9548A 8 Channel I2C Bus Switch w/ Reset Breakout

Het 2e probleem is het volgende: Het één keer ronddraaien van het magnetisch veld staat in het geval van mijn meters niet gelijk aan 1 liter, om maar even een makkelijke waarde te nemen. Het lijkt erop, al moet ik daar nog wat aandachtiger naar kijken, dat een keer ronddraaien bij de gasmeter gelijkstaat aan 2L (0.002m3), bij de watermeter is dat 0.5L (0.0005m3). Dit is een beetje grof geschat na niet al te lang naar de meters en de gemeten waardes te hebben gekeken.

De sketch die ik i.c.m. CD4052B hier voor heb geschreven ziet er zo uit:
C:
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
117
118
119
120
121
122
123
124
125
126
/* Include the standard Wire library */
#include <Wire.h>

/* The I2C address of the module */
#define HMC5803L_Address 0x1E

/* Register address for the X Y and Z data */
#define X 3
#define Y 7
#define Z 5

//variabelen watermeter
int YvarW = 0;
int YthresholdW = -390;
byte pulsW = 0;

//variabelen gasmeter
int ZvarG = 0;
int ZthresholdG = -820;
byte pulsG = 0;

const int ledPin =  13;

int pinA = 9;
int pinB = 8;


void setup() 
{
  pinMode(pinA, OUTPUT);
  pinMode(pinB, OUTPUT);
  digitalWrite(pinA, LOW);
  digitalWrite(pinB, LOW);
  Serial.begin(9600);
  /* Initialise the Wire library */
  Wire.begin();
  pinMode(ledPin, OUTPUT); 
  /* Initialise the modules */ 
  digitalWrite(pinA, HIGH);
  Init_HMC5803L();
  digitalWrite(pinA, LOW);
  digitalWrite(pinB, HIGH);
  Init_HMC5803L();
  digitalWrite(pinB, LOW);
}

void loop() 
{ 
  
  //watermeter
  digitalWrite(pinA, HIGH);
  YvarW = HMC5803L_Read(Y);
  if ((YvarW < YthresholdW) && (pulsW == 0)) {
    Serial.println("w");
    pulsW = 1;
  }
  
  if ((YvarW - YthresholdW > 10) && (pulsW == 1)) {
    pulsW = 0;
    //digitalWrite(ledPin, LOW);
  }
  digitalWrite(pinA, LOW);  
  
  
  
  //gasmeter
  digitalWrite(pinB, HIGH);
   
  ZvarG = HMC5803L_Read(Z);
  if ((ZvarG < ZthresholdG) && (pulsG == 0)) {
    Serial.println("g");
    pulsG = 1;
  }
  
  if ((ZvarG - ZthresholdG > 15) && (pulsG == 1)) {
    pulsG = 0;
    digitalWrite(ledPin, LOW);
  }
  
  
  digitalWrite(pinB, LOW); 
  delay(100);
}


/* This function will initialise the module and only needs to be run once
   after the module is first powered up or reset */
void Init_HMC5803L(void)
{
  /* Set the module to 8x averaging and 15Hz measurement rate */
  Wire.beginTransmission(HMC5803L_Address);
  Wire.write(0x00);
  Wire.write(0x70);
          
  /* Set a gain of 5 */
  Wire.write(0x01);
  Wire.write(0xA0);
  Wire.endTransmission();
}


/* This function will read once from one of the 3 axis data registers
and return the 16 bit signed result. */
int HMC5803L_Read(byte Axis)
{
  int Result;
  
  /* Initiate a single measurement */
  Wire.beginTransmission(HMC5803L_Address);
  Wire.write(0x02);
  Wire.write(0x01);
  Wire.endTransmission();
  delay(6);
  
  /* Move modules the resiger pointer to one of the axis data registers */
  Wire.beginTransmission(HMC5803L_Address);
  Wire.write(Axis);
  Wire.endTransmission();
   
  /* Read the data from registers (there are two 8 bit registers for each axis) */  
  Wire.requestFrom(HMC5803L_Address, 2);
  Result = Wire.read() << 8;
  Result |= Wire.read();

  return Result;
}
Zodra een van de coördinaten helemaal "rond" is gegaan, wordt er een puls in de vorm van tekst verstuurd. Voor water de letter "w", voor gas "g". Dit laat ik eveneens door de RPi in een database zetten, al moet ik hier nog iets voor verzinnen om dat weer te laten geven.


Ik heb een tijdje terug al gekeken in hoeverre de HMC5883L te gebruiken is i.c.m. een RPi. Er is niet al te veel over te vinden, al lijken er wel mensen te zijn die het werkend hebben gekregen. Dit is iets dat nog op de planning staat om naar te kijken. Zojuist heb ik Adafruit gevraagd of ze een RPi-tegenhanger van https://learn.adafruit.co...ss-sensor/wiring-and-test willen schrijven. Eens kijken of ze dat willen doen.

Daarnaast ben ik van plan de CD4052B te vervangen voor eerdergenoemde I2C switch om die dan (i.v.m. de afstand) proberen aan te sluiten via 2 P82B715 buffer-IC's. Dit om de afstand tussen de meterkast en kelder te overbruggen zodat ik alle sensors rechtstreeks op de RPi kan aansluiten en de afhankelijkheid van de Arduino's hiermee vervalt. Deze website, die helaas in een wat lastige taal is geschreven, laat zien hoe ik dat wil doen. De losse componenten die nodig zijn heb ik al liggen, maar er zijn ook kant en klare oplossingen beschikbaar: http://www.horter.de/shop...board--4260404260639.html

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


  • ThinkPad
  • Registratie: juni 2005
  • Nu online

ThinkPad

Moderator Duurzame Energie & Domotica
Leuk topic! Zeker de mensen met zonnepanelen willen zo lang mogelijk vasthouden aan de draaischijf kWh-meter, i.v.m. gunstiger salderen (je opwekking laat de meter tegen hetzelfde tarief terugdraaien als verbruik, 0,22/kWh dus. Bij een digitale meter/slimme meter is dat een veel lager tarief).

Je bent vast ook de S0PCM-pulsecounter (USB) tegengekomen. Deze wordt native ondersteund in Domoticz.
Omdat je echter toch al bezig bent met Arduino is dit wellicht ook leuk: http://domoticz.com/forum/viewtopic.php?f=38&t=7300
Ik heb uitgeplozen hoe de S0PCM zich meld bij Domoticz & heb dat na kunnen bootsen met een Arduino :D

[Voor 31% gewijzigd door ThinkPad op 14-10-2015 19:42]

Gas besparen door CV-tuning | Elektriciteit besparen
Geen (Domoticz) vragen via privébericht die ook via het forum kunnen a.u.b.


  • SteeringWheel
  • Registratie: augustus 2004
  • Laatst online: 15:57
Mooie TS! Past misschien beter hier DIY energiemeter op basis van Raspberry Pi :)

A forum post should be like a skirt. Long enough to cover the subject material, but short enough to keep things interesting.


  • Raven
  • Registratie: november 2004
  • Niet online

Raven

Marion Raven fan

Topicstarter
ThinkPad schreef op woensdag 14 oktober 2015 @ 19:41:
Leuk topic! Zeker de mensen met zonnepanelen willen zo lang mogelijk vasthouden aan de draaischijf kWh-meter, i.v.m. gunstiger salderen (je opwekking laat de meter tegen hetzelfde tarief terugdraaien als verbruik, 0,22/kWh dus. Bij een digitale meter/slimme meter is dat een veel lager tarief).

Je bent vast ook de S0PCM-pulsecounter (USB) tegengekomen. Deze wordt native ondersteund in Domoticz.
Omdat je echter toch al bezig bent met Arduino is dit wellicht ook leuk: http://domoticz.com/forum/viewtopic.php?f=38&t=7300
Ik heb uitgeplozen hoe de S0PCM zich meld bij Domoticz & heb dat na kunnen bootsen met een Arduino :D
In de schoolvakantie volgende week maar eens kijken of ik de HMC5883L en de I2C switch op de Pi aan het werk kan krijgen zodat ik dat aan de startpost kan toevoegen. Heb al het een en ander gevonden, Pythonscriptjes voor de HMC5883L en een (i2cset) bash-commando om van kanaal te wisselen bij de I2C switch. Hopelijk kan ik voor die switch uitvissen hoe ik die via Python kan aansturen, anders moet ik op de een of andere manier een bash-commando uitvoeren vanuit een Python script. Al kan dat van wat ik heb gelezen wel.

Dergelijke hardware ben ik tegengekomen, ik zit echter met een deur die zo dicht op de meter zit dat een CNY70 maar nét past... Toen ie net geplaatst was heb ik héél voorzichtig het deurtje dichtgedaan :P
En het aparte topic voor het uitlezen van slimme/digitale meters dan? O-) Daarom er een bij, maar dan voor analoge meters. In DIY energiemeter op basis van Raspberry Pi staat analoog en digitaal/slim door elkaar, nu staat het een beetje bij elkaar. Analoog hier en slim/digitaal in Slimme/digitale meter uitlezen met een Raspberry Pi.

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


  • killer8
  • Registratie: juni 2009
  • Laatst online: 14:36
Heel leuk project. Ik heb ongeveer dezelfde watermeter en ben er vanavond ook mee bezig geweest in combinatie met jou sketch en een arduino nano.

Op het moment zit deze nog op een breadboard en is de meting vrij eenvoudig te verpesten doordat het breadbord snel verplaatst maar ik ben van plan deze binnenkort aan de watermeter vast te maken en dan verwacht ik goede resultaten.

Bedankt voor de informatie en sketch deze heeft mij erg geholpen.

  • AirbusRichie
  • Registratie: april 2016
  • Laatst online: 02-05-2016
Leuk project. Probeer ik nu ook zelf voor elkaar te krijgen in combinatie met Domoticz om eenvoudig mijn verbruik bij te kunnen houden. Heb zelf een vergelijkbare energiemeter en gasmeter. De watermeter ben ik nog niet aan begonnen omdat ik eerst mijn probleem probeer op te lossen.

Ik krijg uit mijn HMC5883L een mooie golf. Het lijkt er op dat van top tot top 0.002m3 is. Echter als ik 500 golven laat tellen dan staat de meter niet op 1.000 verder. Heb een vergelijkbare schets zoals boven omdat ik had gehoopt dat dit direct zou werken, maar in plaats van een "g" te schrijven laat ik een "pulse" tellen naar Domoticz.

Pulsen: Meter:
46 46
515 511
736 730
832 825

Iemand een idee??

[Voor 6% gewijzigd door AirbusRichie op 01-04-2016 09:32]


  • Raven
  • Registratie: november 2004
  • Niet online

Raven

Marion Raven fan

Topicstarter
"Het lijkt er op dat van top tot top 0.002m3 is. Echter als ik 500 golven laat tellen dan staat de meter niet op 1.000 verder."

Dat probleem liep ik ook tegen aan, het telwerk draait niet even hard als het magnetische veld (althans, zo lijkt het). Dat is nog iets waar ik mij verder in moet gaan verdiepen. Hier was het ook ongeveer 2L van top tot top, maar heb dat nog niet over lange termijn bekeken, staat nog op de planning. Maar eerst zorgen dat alles rechtstreeks op de Pi wordt aangesloten zodat de Arduino's er tussenweg kunnen.

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


  • AirbusRichie
  • Registratie: april 2016
  • Laatst online: 02-05-2016
Aan de hand van dit probleem me eens ingelezen (stukje dan) in zgn balgenmeters die in dit soort gasmeters wordt gebruikt. Het schijnt dat er een correctie voor minimale en maximale doorstroom en officieel ook temperatuur gedaan wordt. Om nu zelf een hele schets te schrijven voor deze calibratie lijkt me wat ver gaan. Dit zou een functie zijn van de doorstroomsnelheid en ik wilde eigenlijk alleen "pulsen" tellen. Voor mijn doel: inzicht in gasverbruik en aan de hand daarvan een besparing realiseren lijkt me de huidige opstelling voldoende. Mijn HR-ketel tunen op de liter nauwkeurig lijkt me overdreven.

  • Raven
  • Registratie: november 2004
  • Niet online

Raven

Marion Raven fan

Topicstarter
Hmm, dat zou kunnen. Maar daar weet ik de details helaas niet van.

De enige andere optie, maar dat is heel wat complexer, is een camera voor de meest rechtse teller plaatsen en met tekstherkenning aan de gang. Maar of dat betrouwbaar is?

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


  • Evanescent
  • Registratie: september 2001
  • Niet online

Evanescent

Helemaal klaar voor de zomer!

Raven schreef op vrijdag 01 april 2016 @ 11:56:
[...] De enige andere optie, maar dat is heel wat complexer, is een camera voor de meest rechtse teller plaatsen en met tekstherkenning aan de gang. Maar of dat betrouwbaar is?
Heb ik ook over nagedacht, maar inderdaad vrees ik dat dat teveel springt. Omdat het zo langzaam loopt, hoe bepaal je dan of 'nu' het gelezen getal gemeten moet worden of dat dat eerder of later was. Nu kun je die marge accepteren, maar dan blijft nog het verkeerd lezen over. Staat er nou een 8 of een 9? Etc. Leek me teveel gedoe. Ik heb het dan ook nog niet voor mekaar ;)

I'm thankful for the Foo Fighters because I've never felt threatened by a foo
so that means they're doing a hell of a job on the frontlines!

Pagina: 1


Apple iPhone SE (2020) Microsoft Xbox Series X LG CX Google Pixel 4a CES 2020 Samsung Galaxy S20 4G Sony PlayStation 5 Nintendo Switch Lite

'14 '15 '16 '17 2018

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2020 Hosting door True