Läsa av fjärrvärmemätare (Kamstrup MultiCal 401)

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Agwan
Inlägg: 1617
Blev medlem: 15 september 2009, 09:05:14

Re: Läsa av fjärrvärmemätare (Kamstrup MultiCal 401)

Inlägg av Agwan »

Du skickar väl inte strängen som den ser ut där? [CR], [LF] och [ACK] motsvarar tecken i ascii-tabellen som inte kan uttryckas med vanliga tecken. Skall man skicka ett mellanslag så beskrivs det [SPACE] och har decimalvärdet 32 eller hex 0x20.

Vad "/?!" betyder vette fasen.

http://www.asciitable.com/
Användarvisningsbild
maDa
Inlägg: 4079
Blev medlem: 11 november 2005, 22:13:16
Ort: Malmö
Kontakt:

Re: Läsa av fjärrvärmemätare (Kamstrup MultiCal 401)

Inlägg av maDa »

Ja då får använda Serial.write(13) för att skicka en t.ex CR

https://www.arduino.cc/en/Reference/ASCIIchart
flyvert
Inlägg: 97
Blev medlem: 26 oktober 2015, 21:00:53

Re: Läsa av fjärrvärmemätare (Kamstrup MultiCal 401)

Inlägg av flyvert »

Hoppas jag har koll på tecknen... :D

Jag provade först utan mellanslagen (som kan ha hamnat där av redaktionella skäl), sen lade jag dit mellanslagen.
Här är en logutskrift från ett testprogram jag snodde ihop (siffervärdena inom klammer motsvarar de ASCII-tecken jag skickar, decimal notation)

Executing setup...done.
Sending msg1: [47,63,33,32,13,32,10]
Timeout receiving first message
Waiting 2 seconds.
Sending msg1: [47,63,33,32,13,32,10]
Timeout receiving first message
Waiting 2 seconds.
Sending msg1: [47,63,33,32,13,32,10]
Waiting 2 seconds.
...
...


Utan mellanslagen skickade jag "[47,63,33,13,10]".
Samma resultat. Inte ett blink från mätarens sänddiod.

Men om jag skickar med 8N1 och motpart försöker tolka med 7E2 förstår jag att det inte fungerar...

NewSoftwareSerial12.zip installerad, men går inte att kompilera...
Således kunde jag inte prova med "SoftwareSerial.begin(300,7E2);"
och fick backa tillbaka till default SoftwareSerial...

Måste jag skaffa en Arduino med fler serieportar i HW? Går dessa att tvinga till 7E2?
Nerre
Inlägg: 27168
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Läsa av fjärrvärmemätare (Kamstrup MultiCal 401)

Inlägg av Nerre »

Du kan ju börja med att testa med 7E1, antalet stoppbitar är ju egentligen bara tiden mellan tecknen så det kanske inte är lika kritiskt. Pariteten är dock antagligen viktig att få rätt. (Fast du skulle ju kunna fixa pariteten själv innan du skickar tecknen, den är ju per tecken så det är bara att lägga till 128 på vissa tecken. Och vid mottagning är det bara att filtrera bort MSB genom att maska med 127.)
Agwan
Inlägg: 1617
Blev medlem: 15 september 2009, 09:05:14

Re: Läsa av fjärrvärmemätare (Kamstrup MultiCal 401)

Inlägg av Agwan »

Sedan såg det ut i dokumentatiomen som att den tar emot data i 300 BAUD men skickar i 1200 BAUD. Eller läste jag bara fel?
Castor
Inlägg: 2133
Blev medlem: 24 mars 2012, 13:03:49

Re: Läsa av fjärrvärmemätare (Kamstrup MultiCal 401)

Inlägg av Castor »

Har du möjlighet att köra en PC med serieport och terminalprogram kan du lätt ändra parametrar.
Är du säker på att polariteten är rätt, dvs ska tänd diod betyda 1 eller 0
Nerre
Inlägg: 27168
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Läsa av fjärrvärmemätare (Kamstrup MultiCal 401)

Inlägg av Nerre »

Skrev inte nån tidigare just att tänd diod är 0?

Det låter mest rimligt eftersom en serieport i vila ligger väl på 1, d.v.s. utan ljus ska det vara 1:a?
flyvert
Inlägg: 97
Blev medlem: 26 oktober 2015, 21:00:53

Re: Läsa av fjärrvärmemätare (Kamstrup MultiCal 401)

Inlägg av flyvert »

Nerre skrev:Du kan ju börja med att testa med 7E1, antalet stoppbitar är ju egentligen bara tiden mellan tecknen så det kanske inte är lika kritiskt. Pariteten är dock antagligen viktig att få rätt. (Fast du skulle ju kunna fixa pariteten själv innan du skickar tecknen, den är ju per tecken så det är bara att lägga till 128 på vissa tecken. Och vid mottagning är det bara att filtrera bort MSB genom att maska med 127.)
Bra förslag! Skall titta lite mer på det ikväll...
flyvert
Inlägg: 97
Blev medlem: 26 oktober 2015, 21:00:53

Re: Läsa av fjärrvärmemätare (Kamstrup MultiCal 401)

Inlägg av flyvert »

Castor skrev:Har du möjlighet att köra en PC med serieport och terminalprogram kan du lätt ändra parametrar.
Är du säker på att polariteten är rätt, dvs ska tänd diod betyda 1 eller 0
Känner mig inte så säker på någonting alls! :D
PC... får väl leta rätt på någon DB9 löda på och prova HyperTerminal/PuTTY om jag inte når någon framgång alls med Arduinon.
Konstruerade & programmerade enligt wikin som nämnts tidigare och den var ju avsedd för en Kamstrup elmätare.
Är väl mindre troligt att elmätaren vänt på 0 och 1 i IR-interfacet?

Min starkaste ledtråd är 8N1 vs 7E2 och med lite bitlek kan jag ju som Nerre nämnde få till 7E1...
Nerre
Inlägg: 27168
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Läsa av fjärrvärmemätare (Kamstrup MultiCal 401)

Inlägg av Nerre »

Sen med 7E2 finns det ju ingen gräns för längsta tid mellan två tecken, bara kortaste. Så det kan ju gå att simulera genom att skicka ett tecken i taget med 7E1 och lite extra paus mellan (det blir kanske 7E47 men 47 stoppbitar är i alla fall längre tid än 2 stoppbitar:) ).
flyvert
Inlägg: 97
Blev medlem: 26 oktober 2015, 21:00:53

Re: Läsa av fjärrvärmemätare (Kamstrup MultiCal 401)

Inlägg av flyvert »

Tack Nerre, jag kommer ju att bli serieprotokollhacker på köpet!

Jag är väldigt sugen på att få "förstahandsinformation" från fjärrvärmemätaren.

Har redan provat lite tafatt med webkamera (fixade en specialare med egeninställd focus på 3 cm närgräns och började lite med bildbehandling & teckentolkning men gav upp då det räckte att öppna & stänga fjärrvärmeväxlarskåpdörren för att tvinga en att mixtra med X- och Y-offset i bilden för att få tolkningen att stämma igen). Dessutom blev belysningen inte så lätt heller; diodernas sken reflekterades i glaset, dålig konstrast på LCD siffrorna, CPU-intensivt för en stackars hallonpaj, etc.)
image1.jpeg
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
flyvert
Inlägg: 97
Blev medlem: 26 oktober 2015, 21:00:53

Re: Läsa av fjärrvärmemätare (Kamstrup MultiCal 401)

Inlägg av flyvert »

Dääääääääääääääääng där satt den!!!

Sending msg1: [175,63,33,141,10,]
Got [175,]
Got [75,]
Got [65,]
Got [77,]
Got [48,]
Got [77,]
Got [195,]
Got [195,]
Got [141,]
Got [10,]

Efter att ha räknat ut o skickat frågan med jämn paritet får jag exakt det som manualen skriver (än så länge med paritetsbiten satt)

Fan va håret reste sig när svaret kom!!

Höll först på tro att jag kvaddat den då inget blinkade... men det var bara en begin(300) rad som blivit bortkommenterad igår när jag experimenterade med NewSoftwareSerial.



VILKEN TILLFREDSTÄLLELSE!!!!!!!!!!
Användarvisningsbild
carpelux
Inlägg: 1950
Blev medlem: 13 oktober 2007, 12:33:33
Ort: Varnhem

Re: Läsa av fjärrvärmemätare (Kamstrup MultiCal 401)

Inlägg av carpelux »

Vart hittar man gillaknappen?


:-)

Grattis!
ANEE
Inlägg: 155
Blev medlem: 1 september 2006, 20:11:57
Ort: Varberg

Re: Läsa av fjärrvärmemätare (Kamstrup MultiCal 401)

Inlägg av ANEE »

Snyggt jobbat! :bravo:

Sprang just ut och kollade och jag har ju också en 401:a....nu måste jag ju göra en jag med :)
Byggde du läshuvudet efter beskrivningen på den danska wikin?
danwi
Inlägg: 385
Blev medlem: 16 oktober 2008, 17:00:59
Ort: Linköping

Re: Läsa av fjärrvärmemätare (Kamstrup MultiCal 401)

Inlägg av danwi »

Härligt med lite framgång! Jag kunde inte motstå frestelsen att försöka dekoda det data du fått och jag tycks ha lyckats :)

Enligt Technical Description för 401:an från Kamstrup så ska dataformatet se ut så här:
kamstrup 401 optical.png
Med en paritetsbiten i pos 8 ("0x80") så stämmer data perfekt. Här kommer en liten dump med värden i decimalt, paritet/värde (i hex maskat 0x7F) samt ASCII för skrivbara tecken.

Kod: Markera allt

Utgående
  [ 0]: 175 - 1/2F - /
  [ 1]:  63 - 0/3F - ?
  [ 2]:  33 - 0/21 - !
  [ 3]: 141 - 1/0D -
  [ 4]:  10 - 0/0A -
Inkommande
  [ 0]: 175 - 1/2F - /
  [ 1]:  75 - 0/4B - K
  [ 2]:  65 - 0/41 - A
  [ 3]:  77 - 0/4D - M
  [ 4]:  48 - 0/30 - 0
  [ 5]:  77 - 0/4D - M
  [ 6]: 195 - 1/43 - C
  [ 7]: 195 - 1/43 - C
  [ 8]: 141 - 1/0D -
  [ 9]:  10 - 0/0A -
Så om du skickar nästa paket enligt specen, d.v.s. [ACC]000[CR][LF] eller {6,48,48,48,141,10} om jag räknar rätt, så borde du förhoppningsvis få tillbaka mätvärden från mätaren.

Edit: Intressant nog verkar det inte vara mode A som körs trots att det stod så i dokumentet jag refererade i mitt förra inlägg. Det är EN61107 mode C som körs och inget annat.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Senast redigerad av danwi 4 november 2015, 22:53:56, redigerad totalt 1 gång.
Skriv svar