Läsa av fjärrvärmemätare (Kamstrup MultiCal 401)
Re: Läsa av fjärrvärmemätare (Kamstrup MultiCal 401)
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/
Vad "/?!" betyder vette fasen.
http://www.asciitable.com/
Re: Läsa av fjärrvärmemätare (Kamstrup MultiCal 401)
Ja då får använda Serial.write(13) för att skicka en t.ex CR
https://www.arduino.cc/en/Reference/ASCIIchart
https://www.arduino.cc/en/Reference/ASCIIchart
Re: Läsa av fjärrvärmemätare (Kamstrup MultiCal 401)
Hoppas jag har koll på tecknen... 
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?

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?
Re: Läsa av fjärrvärmemätare (Kamstrup MultiCal 401)
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.)
Re: Läsa av fjärrvärmemätare (Kamstrup MultiCal 401)
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?
Re: Läsa av fjärrvärmemätare (Kamstrup MultiCal 401)
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
Är du säker på att polariteten är rätt, dvs ska tänd diod betyda 1 eller 0
Re: Läsa av fjärrvärmemätare (Kamstrup MultiCal 401)
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?
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?
Re: Läsa av fjärrvärmemätare (Kamstrup MultiCal 401)
Bra förslag! Skall titta lite mer på det ikväll...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.)
Re: Läsa av fjärrvärmemätare (Kamstrup MultiCal 401)
Känner mig inte så säker på någonting alls!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

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...
Re: Läsa av fjärrvärmemätare (Kamstrup MultiCal 401)
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:) ).
Re: Läsa av fjärrvärmemätare (Kamstrup MultiCal 401)
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.)
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.)
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: Läsa av fjärrvärmemätare (Kamstrup MultiCal 401)
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!!!!!!!!!!
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!!!!!!!!!!
Re: Läsa av fjärrvärmemätare (Kamstrup MultiCal 401)
Snyggt jobbat!
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?

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?
Re: Läsa av fjärrvärmemätare (Kamstrup MultiCal 401)
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: 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.
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.

Enligt Technical Description för 401:an från Kamstrup så ska dataformatet se ut så här: 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 -
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.