PC-styrning av Bergvärmepump

Planering och tankar kring eventuella framtida projekt.
Agwan
Inlägg: 1617
Blev medlem: 15 september 2009, 09:05:14

Re: PC-styrning av Bergvärmepump

Inlägg av Agwan »

Det är modbus mot datorn, RS-485. Men lite mer standard än 9-bitars som pannan kör internt. Så det funkar fint att bra koppla upp sig med en USB-RS485-adapter och RealTerm eller annat terminalprogram.

Vet inte riktigt vad du menar med en virtuell COM-port och plocka register. Menar du från "Modbus Manager"? Det programmet i sig pratar inte med pannan, det skriver bara en fil på en USB-sticka som man kör in i pannan så att den förstår att det är de registren man vill läsa snabbare.
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: PC-styrning av Bergvärmepump

Inlägg av blueint »

Skriver ModbusManager_1.0.8.exe en ren datafil så är det ju en small sak att ta rätt på registren. Finns ju möjligheten att t.om ha ett program som kontinuerligt läser in filen och visar skillnaden avkodad.
Agwan
Inlägg: 1617
Blev medlem: 15 september 2009, 09:05:14

Re: PC-styrning av Bergvärmepump

Inlägg av Agwan »

Registrenummren visas i klartext tillsammans med namn och en förklaring av vad de gör (inte alla har förklaring). Så enklast är att läsa i programmet och skriva av. Den har registren för ett antal olika pannor.
Agwan
Inlägg: 1617
Blev medlem: 15 september 2009, 09:05:14

Re: PC-styrning av Bergvärmepump

Inlägg av Agwan »

Skriva verkar inte vara rättfram. Någon som har mer insikt i hur man gör? Jag får värden i pannan att ändra sig, och rätt värde. Men det blir inte det värde jag tycker att jag skickar.
Agwan
Inlägg: 1617
Blev medlem: 15 september 2009, 09:05:14

Re: PC-styrning av Bergvärmepump

Inlägg av Agwan »

Tror det blev löst:

Kod: Markera allt

sendBuffer[0] = 0x01; // To the master address 1
sendBuffer[1] = 0x10; // Write command
sendBuffer[2] = 0xB7; // High byte address register
sendBuffer[3] = 0xA3; // Low byte address register
sendBuffer[4] = 0x00; // Number of register to write high byte
sendBuffer[5] = 0x01; // Number of register to write low byte
sendBuffer[6] = 0x02; // Number of following bytes
tempshort = short.Parse(textBox29.Text);
shortBuffer = BitConverter.GetBytes(tempshort);
sendBuffer[7] = shortBuffer[1]; // Value to set, high byte
sendBuffer[8] = shortBuffer[0]; // Value to set, low byte
CRC = ModRTU_CRC(sendBuffer, 9);
sendBuffer[9] = (byte)CRC;
sendBuffer[10] = (byte)(CRC / 256);
Pajja inte era pannor, jag kan inte garantera att koden inte kan skada den.
Agwan
Inlägg: 1617
Blev medlem: 15 september 2009, 09:05:14

Re: PC-styrning av Bergvärmepump

Inlägg av Agwan »

Såhär ser några timmars normal körning ut. Med lite varmvatten i mitten. Intressant att man dels ser fördröjningen mellan tur och retur på vattnet ut till radiatorerna, och dels ser man hur lång tid det tar för kollektorvätskan att rotera ett varv. Ganska precis en halv körtid.

Undra vad dipparna i framledningstemperatur är för något. Jag tycker att de har blivit fler per körning med tiden. Men det kanske bara beror på hur länge pannan kör.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
aminders
Inlägg: 2
Blev medlem: 2 januari 2014, 08:37:28

Re: PC-styrning av Bergvärmepump

Inlägg av aminders »

Gott Nytt År!
Loggar mitt hus med 1-wire system och en RaspberryPi. Fungerar utmärkt.
Har inte lagt ner så mycket tid på att få graferna snyggare men när tid ges ...
huset.png
Har en Nibe F1245 som jag vill logga via webben.
Hittade denna lösning för att läsa av en Nibe F1145 och F1245:
https://github.com/openhab/openhab/wiki ... mp-Binding

Är det någon här som har testat detta?

Mvh
aminders
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
byggvir
Inlägg: 3
Blev medlem: 10 november 2013, 09:36:30

Re: PC-styrning av Bergvärmepump

Inlägg av byggvir »

Hej,

Jag har provat OpenHAB på Raspberry Pi mot min Nibe 1245:a. Helt smärtfritt var det inte och de problem jag upplevt består av två delar:

1. Få Nibe-binding:en till OpenHAB att fungera som avsett. Jag har varit tvungen att modifiera c-koden och även småförändringar i Java-koden. I c-koden fick jag ändra hur serieporten konfigurerades och om jag minns rätt stängde jag av hardware flow-control. I c-koden hanteras även att skicka ACK och NAK till Nibe:n när den skickar ut information. Vissa paket som kommer från pumpen tolkar inte c-programmet som korrekta paket och skickar därför NAK. Det gör att pumpen hamnar i larmläge. Enklaste lösningen jag kom på var att helt sonika skicka ACK ändå. Nu har programmet (och pumpen) gått felfritt i ca en månad så det verkar fungera :)

2. Jag kunde inte få Raspberry Pi att köra OpenHAB snabbt nog. Det problem jag aldrig lyckades lösa var att OpenHAB på Raspberry Pi laggade efter vilket gjorde att de värden som såg ut att komma in i "realtid" i loggarna egentligen var flera minuter gamla. Efter ca 20 minuters körning var värdena kanske 15 minuter gamla och lagget gällde även förändringar i konfigurationen av OpenHAB som inte "tog" förrän efter flera minuter beroende på hur länge OpenHAB körts. Inget av detta syns när jag kör på en "vanlig" PC, typ en gammal Pentium 4 med Linux.
På R-Pi:n provade jag både med Java 7 och 8 från Oracle. Provade även att överklocka, men bara lite eftersom jag inte var säker på hur minneskortet skulle påverkas av överklockning.

Tänkte även nämna (det kanske har sagts tidigare) att OpenHABs Nibe-binding använder sig av de max 20 register man kan få ur Niben med hjälp av ModBus Manager. Om man vill ha andra värden från Niben till OpenHAB måste man så vitt jag vet fixa det själv. Absolut ingen omöjligt, men det kräver en programmeringsinsats.

Jag är mycket nyfiken om någon har lyckats få OpenHAB att köra på Raspberry Pi utan lagg, för det vore mycket fint att slippa ha en onödigt stor dator gående om man kan klara sig med en R-Pi. Sen så är det ju mycket coolare!

Min RS-485 -> RS-232 adapter är en följande (nu har auktionen gått ut, men jag tänkte att nån kanske ville se hur den såg ut)
http://www.ebay.co.uk/itm/RS232-to-RS48 ... 0323001518

mvh
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: PC-styrning av Bergvärmepump

Inlägg av blueint »

Vilken mjukvarumiljö använde du på RPi som gick långsamt?
Ett tips är att Java iaf är känt för sin långsamhet.

https://github.com/openhab/openhab/wiki ... mp-Binding
byggvir
Inlägg: 3
Blev medlem: 10 november 2013, 09:36:30

Re: PC-styrning av Bergvärmepump

Inlägg av byggvir »

Jag körde Raspbian och Java med Hard Float i alla mina tester. Kanske finns det någon bättre distro än Raspbian att köra på?

Säkert kan JVM:en vara långsam, särskilt i uppstart när klasser ska laddas/kompileras.
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: PC-styrning av Bergvärmepump

Inlägg av blueint »

Låt C programmet köra direkt under kernels userland.
Användarvisningsbild
adent
Inlägg: 4094
Blev medlem: 27 november 2008, 22:56:23
Ort: Utanför Jönköping
Kontakt:

Re: PC-styrning av Bergvärmepump

Inlägg av adent »

Ursäkta att jag inte har läst igenom tråden. Kort fråga:

Kan man få ut något intressant ur en Nibe Fighter F1225?

Mycket intresserad!

MVH: Mikael
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: PC-styrning av Bergvärmepump

Inlägg av blueint »

Om den har modbus (RS485) ska det nog gå?

Någon som har bild på hur dessa fysiska modbus anslutningar ser ut egentligen på värmepumparna?
Agwan
Inlägg: 1617
Blev medlem: 15 september 2009, 09:05:14

Re: PC-styrning av Bergvärmepump

Inlägg av Agwan »

Det finns inget i modbus manager om 1225:an iaf.

Kopplingen mot pannan kan du läsa om i installationsboken för modbus 40. Vill du köra utan modbus 40-modulen så ser du iaf hur den skulle ha varit kopplad mot pannan och kan ansluta din egna lösning på samma sätt.
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: PC-styrning av Bergvärmepump

Inlägg av blueint »

Det kanske finns odokumenterad RS485 anslutning?
Skriv svar