PC-styrning av Bergvärmepump

Planering och tankar kring eventuella framtida projekt.
cosmos
Inlägg: 14
Blev medlem: 11 september 2007, 17:00:47
Ort: Norge

Inlägg av cosmos »

Du setter selvsagt RTS når du svarer 06?
FredRovers
Inlägg: 19
Blev medlem: 9 januari 2007, 21:24:41

Inlägg av FredRovers »

För min del så kör jag inte någon serieport på en PC, jag använder en uP och kör en av uartarna mot en Intersil 485-krets.
cosmos
Inlägg: 14
Blev medlem: 11 september 2007, 17:00:47
Ort: Norge

Inlägg av cosmos »

FredRovers: Har du lyst til å si litt mer om løsningen din?

...

Hva gjør du etter å ha lest inn data i uP?

...

Jeg tenkte også på å bruke en uP/uC, men ville prøve en PC først, hvis det fungerer bra er jo informasjonen kommet dit jeg vil ha det.

Litt usikker på om RTS styringen i PC reagerer raskt nok, det var ikke så mye tid etter 06 svaret til master begynner å sende om jeg minnes rett.
I så fall er vel løsningen enten autotiming på RS485 eller en uP/uC av noe slag.

Autotiming kan feks være en 74xx123 styrt av start flanken og som overtar styringen av RTS i en vanlig low cost 232 -> 485.
Timing kan stå fast siden formatet er kjent og baudrate like så.

Lastet ned PC compiler og leser meg opp på WIN API for seriecom.
Vil gjerne etter hvert ha en løsning med galvanisk skille så en uP med ethernet ville vært supert siden man da får skillet gratis i TP trafo.

Noen ide om hvor mye man kan trekke fra 5V evt. 12V på Nibes RS485 port?

Noen bra source for billige 232-> 485 convertere?
kan bygge en håndlaget lab modell selv, men er kjøpe greier billige nok gidder jeg ikke.
hammer1975
Inlägg: 7
Blev medlem: 16 september 2007, 10:01:16
Ort: Nyköping

Inlägg av hammer1975 »

Den konverter jag kör använder ej RTS för växling av receive/trasmit. Enligt beskrivningen ska den växla automatiskt men jag tror inte det funkar mot Niben.

Jag ska beställa en MAX232 och MAX485 och se om kommunikationen blir bättre.
FredRovers
Inlägg: 19
Blev medlem: 9 januari 2007, 21:24:41

Inlägg av FredRovers »

Mer info om min implementation...

Jag plockar in alla parametrar och lagrar dem i en struct. På min andra UART kör jag RS-232 och kan skicka kommandon från en PC, t.ex. dumpa nuvarande parametrar eller sätt parameter. Jag loggar inte historiken utan sparar endast nuvarande värden. Det ligger senare i tiden att göra någon loggning, har dock begränsat med minne i min lösning om jag inte sätter dit ett SD-minne. Det som lockar är att få till en lösning mot nätverket.

Har också funderat på om man törs lasta NIBEs +5V och +12V, borde ju vara ganska bra kräm i dessa???

Ni som har andra modeller av pannor får gärna lägga upp motsvarande parametertabell så att vi kan identifiera alla parametrarna.
cosmos
Inlägg: 14
Blev medlem: 11 september 2007, 17:00:47
Ort: Norge

Inlägg av cosmos »

(edit: funnet noen flere og lagt til antall bytes, alt her er ikke 100% sikkert)

Her er dekodingsinfo for en annen type.

De før 40 som ikke er angitt varierer typisk men det er ikke så opplagt hva de er/indikerer, noen nr følger logisk av brukerhåndboken men er ikke verifiser (har ? etter)

nr etter 40 er stort sett statiske og er trolig limits og mindre brukte opsjoner

Dette er logget med nibe enhet der CPU har ID 0x70, tror dette er likt 1130 el. l.
bruker en auto timed RS485 (USB) driver, leser og dekoder alle telegrammer på bussen (dvs kan feks ha replika av display på PC skjermen) SW bruker kun std WIN API calls,
lagrer i struct alle 96*** verdier fra RCU og printer dem komma separert til stdout.
piper dette til fil og importerer til regneark.
Blir riktig vakre kurver, har ca 10 sec mellom hver struct dump.
Gjør ingen forsøk på å sette verdier (en så lenge)

  • # bytes function
    1 1 CPU type/produkt (denne hikker (-24) ca hver time)
    2 2 VV temp
    3 1 Start temp VV
    4 1 VV stop
    5 1 VV minutter
    6 1 VV legionlla stop
    7 1 VV legionella intervall
    8 1 VV tid min.
    9 4 VV tid timer
    10 2 VB tur
    11 2 VB ønsket verdi
    12 1 Vamekurve?
    13 1 Forskyvning varmekurve?
    14 1 VB MIN?
    15 1 VB MAX?
    16 1 Kompensering giver?
    17 2 VB retur?
    18 1 VB retur MAX?
    19 2 grad minutter
    20 2 VB2 tur temp???
    21 2 VB2 ønsket temp
    22 1 VB2 kurve
    23 1 VB2 Forskyvning
    24 1 VB2 MIN
    25 1 VB2 MAX
    26 1 kompensering VB2
    27 2 Inne temp???
    28 2 ute temp
    29 2 KB retur avg.
    30 2 KB retur
    31 2 KB tur
    32 4 kompressor starter
    33 1 komp. time min
    34 4 komp tid timer
    35 2 Hetgas temp
    36 2 Væskeledningstemp
    37 2 Sugegasstemp
    38 2 Kondensator ut temp
    39 2 temp???
    40 2 temp???
    41 1
    42 1
    43 2
    44 2
    45 2
    46 1 TS EL minutter
    47 4 TS EL timer
    48 1
    49 1
    50 1
    51 1
    52 1
    53 1
    54 1
    55 1
    56 2
    57 1
    58 2 Relay VV prioritering ++
    59 1 Relay KB pumpe ++
    60 1 Relay kompressor ++
    61 2
    62 1
    63 1
    64 1
    65 1
    66 1
    67 1
    68 2
    69 2
    70 2
    71 2
    72 1
    73 1
    74 1
    75 1
    76 1
    77 1
    78 1
    79 1
    80 1
    81 1
    82 1
    83 1
    84 2
    85 2
    86 1
    87 1
    88 1
    89 1
    90 1
    91 1
    92 1
    93 1
    94 2
    95 2
    96 1
cosmos
Inlägg: 14
Blev medlem: 11 september 2007, 17:00:47
Ort: Norge

Inlägg av cosmos »

FredRovers:
Jeg ser i min logg at VP rebooter stadig vekk (litt varierende men gjerne en gang om dagen... ) fungere fint likevel, den bare glemmer gradminuttene den har spart opp, ser ok ut selv ved reboot midt i kompressordrift.
Funderer på om jeg ber den sende for mye data?
evt om PC ikke svarer raskt nok og skrur opp CPU..
evt om lang kabel til PC korrupter telegrammer så CPU restarter.

Hva gjør din?
Hvor ofte ber du om data?
FredRovers
Inlägg: 19
Blev medlem: 9 januari 2007, 21:24:41

Inlägg av FredRovers »

Jag har också lyckats att få pannan ar reboota men då har det nog varit jag som har skickat felaktigt data. Jag har faktiskt inte loggat under några längre tider så jag kan inte säga om jag får samma problem. När jag loggar så svarar jag 06 på alla adresseringar vilket blir maximal belastning. Du skulle ju kunna prova att endast svara var tionde sekund eller liknande för att se om det gör någon skillnad.
hammer1975
Inlägg: 7
Blev medlem: 16 september 2007, 10:01:16
Ort: Nyköping

Inlägg av hammer1975 »

Nu har jag äntligen kommit en bit på vägen. Jag har skrivit ihop en kodsnutt som verkar fungera. Det var inte helt enkelt då jag är van att hålla på med protokoll som har start- och stopptecken i datapaketen. Jag har inte hunnit jämföra så många värdena med vilka menyer de motsvarar än men här är vad jag kommit fram till än så länge. Jag har en Nibe Fighter 1230.


Index Bytes Value Function

1 1 124 CPU ID 0x7C
2 2 471 1.0 VV temp
3 1 44 1.4 VV Start temp
4 1 54 1.5 VV Stop temp
5 1 65 1.6 Stopp XVV
6 1 55 1.7 Stopp XVV komp
7 1 14 1.8 XVV intervall
8 1 10 1.10 VV tid min.
9 4 315 1.10 VV tid timmar
10 2 351
11 2 347
12 1 9 2.1 Kurvlutning
13 1 0 2.2 Kurvförskjutn.
14 1 15 2.3 VB min
15 1 55 2.4 VB max
16 1 0 2.5?
17 2 342
18 1 53
19 2 18
20 2 32768
21 2 347
22 1 9
23 1 0
24 1 15
25 1 45
26 1 1
27 2 32768
28 2 72 4.0 Utetemp
29 2 31
30 2 40
31 2 41
32 4 251 5.6 Kompr. starter
33 1 24 5.9 Kompr. tid min.
34 4 61 5.9 Kompr. tid tim.
35 2 362
36 2 301
37 2 277
38 2 348
39 2 229 6.0 Rums temp
40 2 215 6.0 Rums temp inst.
41 1 25
42 1 20
43 2 0
44 2 0
45 2 0
46 1 28 9.1.3 TS El min.
47 4 165 9.1.3 TS El tim.
48 1 0
49 1 0
50 1 0
51 1 0
52 1 0
53 1 0
54 1 3
55 1 0
56 2 229
57 1 10
58 2 0
59 1 68
60 1 42
61 2 0
62 1 0
63 1 0
64 1 0
65 1 1
66 1 1
67 1 0
68 2 490
69 2 32768
70 2 2007
71 2 10
72 2 20
73 2 23
74 2 35
75 1 0
76 1 0
77 1 20
78 1 15
79 1 2
80 1 0
81 1 25
82 2 65436
83 2 65136
84 2 20
85 2 1
86 1 156
87 1 13
88 1 3
89 1 0
90 1 3
91 1 25
92 1 1
93 1 40
94 2 0
95 2 0
96 2 0
97 1 0
98 0 0
99 0 0
100 0 0
cosmos
Inlägg: 14
Blev medlem: 11 september 2007, 17:00:47
Ort: Norge

Inlägg av cosmos »

Følger på med litt mer info.

Antar etter dette at 1130 og 1230 er nærmest identiske.


Hadde noen feil, særlig i i "bytes" kolonnen som jeg fant da jeg sammenlignet med Hammer1975s data.

Index kolonnen starter på 0 i datasettet fra CPU (ikke 1 som her)
mulig vi bør starte listens index på 0, jeg greier hverfall å bli forvirret innimellom.

Dato og tid identifisert
gradminutt innslagene identifisert

Hammer1975 har noen verdier/sensorer? som jeg ikke har...
burde være mulig å rede ut hva de heter.
for eksempel:
56 (en temp?)
68 (også en temp?)

86 (-100) burde også være lett å finne.

edit: lagt til flere (86 er escalation verdi for økning av TS)
edit: endret 29 til "ute temp avg"

# (NB, offset 1, "CPU type" indexeres som 0 fra CPU)
# bytes RCU function
1 1 112 CPU type/produkt
2 2 536 VV temp
3 1 47 VV Start temp
4 1 54 VV Stop temp
5 1 60 XVV Stop temp
6 1 55 XVV Kompressor stop temp
7 1 14 XVV intervall (dager)
8 1 55 VV tid min.
9 4 60 VV tid timer
10 2 270 VB tur
11 2 300 VB ønsket verdi
12 1 5 Vamekurve
13 1 1 Forskyvning
14 1 15 VB MIN
15 1 55 VB MAX
16 1 1 Kompensering giver
17 2 272 VB retur?
18 1 53 VB retur MAX?
19 2 17 grad minutter
20 2 -32768 VB2 tur temp???
21 2 350 VB2 ønsket temp
22 1 9 VB2 kurve
23 1 0 VB2 Forskyvning
24 1 15 VB2 MIN
25 1 45 VB2 MAX
26 1 0 kompensering VB2
27 2 -32768 Inne temp???
28 2 82 ute temp
29 2 86 ute temp avg. (endret fra KB temp avg)
30 2 107 KB retur
31 2 92 KB tur
32 4 425 kompressor starter
33 1 56 komp. time min
34 4 176 komp tid timer
35 2 357 Hetgas temp
36 2 269 Væskeledningstemp
37 2 236 Sugegasstemp
38 2 273 Kondensator ut temp
39 2 0 Rom temp
40 2 0 Rom temp set
41 1 25 Sommermodus???
42 1 20 Vintermodus???
43 2 0
44 2 0
45 2 0
46 1 52 TS EL minutter
47 4 3 TS EL timer
48 1 0
49 1 0
50 1 0
51 1 0
52 1 0
53 1 0
54 1 1
55 1 0
56 2 -32768 temp??? (hammer1975 22.9???)
57 1 10
58 2 0 Relay VV prioritering
59 1 64 Relay KB pumpe
60 1 42 Relay kompressor ++
61 2 0
62 1 0
63 1 0
64 1 0
65 1 1
66 1 1
67 1 0
68 2 -32768 temp??? (hammer1975 49.0???)
69 2 -32768
70 2 2007 år
71 2 10 måned
72 2 22 dag
73 2 19 time
74 2 5 minutt
75 1 0
76 1 0
77 1 20 Språk??? (20 er i så fall norsk)
78 1 15 Display Kontrast
79 1 2 Display Intensitet
80 1 0
81 1 25
82 2 -125 kompressor innslag gradmin
83 2 -400 EL innslag gradmin
84 2 25
85 2 1
86 1 -100 Diff TS EL element trinn
87 1 13 VB diff VP???
88 1 3 VB VP-TS ???
89 1 0
90 1 3 Tidsperiode 1 (gulvtørk)
91 1 25 Temp Periode 1
92 1 1 Tidsperiode 2 (gulvtørk)
93 1 40 Temp Periode 2
94 2 0
95 2 0
cosmos
Inlägg: 14
Blev medlem: 11 september 2007, 17:00:47
Ort: Norge

Inlägg av cosmos »

Litt mer oppdatering
Takk til Nibe for RCU logfiler med alle felt angitt i rekkefølge (nesten)
Litt usikker på alarm felter bare.
NB NB indexerer nå fra 0 og opp,

Kod: Markera allt

0	1	112	CPU type/produkt 
1	2	461	M1.0 : Temp. varmvattengivare
2	1	47	M1.4 : Start varmvatten
3	1	54	M1.5 : Stopp varmvatten
4	1	60	M1.6 : Stopp extra varmvatten
5	1	55	M1.7 : Stopp kpr extra varmvatten
6	1	14	M1.8 : Intervall periodiskt XVV
7	1	11	M1.10 : Drifttid varmvatten (min)
8	4	67	M1.10 : Drifttid varmvatten (h)
9	2	471	M2.0 : Framledningstemperatur
10	2	330	M2.0 : Beräknad framledningstemp
11	1	5	M2.1 : Kurvlutning
12	1	1	M2.2 : Förskjutning värmekurva
13	1	15	M2.3 : Mintemp. framledning
14	1	55	M2.4 : Maxtemp. framledning
15	1	1	M2.5 : Kompensering yttre
16	2	470	M2.7 : Returledningstemperatur
17	1	53	M2.7 : Max returtemperatur
18	2	11	M2.8 : Gradminuter
19	2	-32768	M3.0 : Framledningstemperatur 2
20	2	400	M3.0 : Beräknad framledningstemp 2
21	1	9	M3.1 : Kurvlutning 2
22	1	0	M3.2 : Förskjutning värmekurva 2
23	1	15	M3.3 : Mintemp. framledning 2
24	1	45	M3.4 : Maxtemp. framledning 2
25	1	0	M3.5 : Kompensering yttre 2
26	2	-32768	M3.7 : Returledningstemperatur 2
27	2	40	M4.0 : Utomhustemperatur
28	2	52	M4.1 : Medelutomhustemperatur
29	2	53	M5.0 : Köldbärare in
30	2	54	M5.0 : Köldbärare ut
31	4	463	M5.6 : Antal kompressorstarter
32	1	31	M5.9 : Drifttid Kompressor (min)
33	4	200	M5.9 : Drifttid Kompressor (h)
34	2	487	M5.11 : Hetgastemperatur
35	2	434	M5.12 : Vätskeledningstemperatur
36	2	97	M5.13 : Suggastemperatur
37	2	477	M5.14 : Temperatur efter kondensor
38	2	0	M6.0 : Rumstemperatur
39	1	0	M6.0 : Inställd Rumstemperatur
40	1	25	M8.2.1 : Sommarlägetemperatur
41	1	20	M8.2.1 : Vinterlägetemperatur
42	2	0	M8.3.1 : Strömförbrukning  L1
43	2	0	M8.3.2 : Strömförbrukning  L2
44	2	0	M8.3.3 : Strömförbrukning  L3
45	1	21	M9.1.3 : Drifttid Tillsats (min)
46	4	4	M9.1.3 : Drifttid Tillsats (h)
47	1	0	M9.2.4 : Endast tillsats
48	1	0	M9.2.5 : Shuntgrupp  2
49	1	0	M9.2.9.1 : Golvtork
50	1	0	M9.2.10 : Poolstyrning
51	1	0	M9.2.16 : Kylsystem
52	1	0	M10 : Driftläge
53	1	1	M20 : Extra varmvatten
54	1	0	Kompensering yttre
55	2	-32768	6.1 : Rumskompensering
56	1	10	Hög returtemperatur
57	2	16384	Maxtemp kondensor VB
58	1	100	Cirkulationspump 1
59	1	43	Cirkulationspump 2
60	2	0	Tillsats 1
61	1	0	Tillsats 2
62	1	0	Varmvattenladdning
63	1	0	Kompressor
64	1	1	Driftläge KB-pump
65	1	1	Poolladdning
66	1	0	Kylning
67	2	-32768	RCU-förskjutning värmekurva 1
68	2	-32768	RCU-förskjutning värmekurva 2
69	2	2007	år 
70	2	10	måned 
71	2	26	dag 
72	2	10	time 
73	2	10	minutt 
74	1	0	M9.2.13.4 : Temperatur panna
75	1	0	M1.11.1 : Pooltemperatur
76	1	20	M1.11.1 : Inställd Pooltemperatur
77	1	15	M1.11.2 : Diff. Pool
78	1	2	M2.9.1 : Kylkurva
79	1	0	M2.9.2 : Förskjutning kylkurva
80	1	25	M2.9.3 : Utetemperatur start kyla
81	2	-125	M5.4 : Startvärde kompressor
82	2	-400	M9.1.1 : Startvärde tillsats
83	2	25	M8.3.4 : Säkringsstorlek
84	2	1	M8.3.5 : Max antal elsteg
85	1	-100	M9.1.2 : Diff tillsatssteg
86	1	13	M9.2.2 : VB diff VP
87	1	3	M8.2.1 : Diff VP-TS
88	1	0	alarm?
89	1	3	M9.2.9.2 : Antal dagar period 1
90	1	25	M9.2.9.3 : Max temperatur period 1
91	1	1	M9.2.9.4 : Antal dagar period 2
92	1	40	M9.2.9.5 : Max temperatur period 2
93	2	0	HPAC Aktiv
94	2	0	HPAC Passiv
95	2	0	alarm?
96	1	0	alarm?
mikkola
Inlägg: 3
Blev medlem: 5 december 2007, 09:45:19

Inlägg av mikkola »

Väcker lite liv i denna tråd igen :)

Är det någon som fått till ändring av värden i värmepumpen?

Går denna att koppla in mellan pump och datorns rs232?

http://www.elfa.se/elfa-bin/setpage.pl? ... 012384.htm

http://www.advantech.com/products/Isola ... 3HZ1P.aspx

Om den går att använda, kopplar jag då in data pinnarna mot varandra (VP pinne 1 minus till data0 minus på adam samt VP pinne 2 plus till data0 plus på adam)

Ska dataformatet på ADAM ställas in på 9 bitar?

Kan jag ta ut 12V matning från pinne 3 eller 4 på VP till ADAM?


Mycket frågor för en sk. nybörjare :)
cosmos
Inlägg: 14
Blev medlem: 11 september 2007, 17:00:47
Ort: Norge

Inlägg av cosmos »

Jeg tror det går fint å koble den til.
Det som er spørsmålet er om PC er rask nok til å endre RTS etter at ACK er sendt. (oops ADAM-4520 er autotimed... så glem RTS problemer med den)
VP svarer ganske kort etter ACK og innen da må RTS ha byttet polaritet slik at linjen er fri igjen.
Også muligens et lite spørsmål om 12V fra VP klarer å drive ADAM boksen, det kan gå bra, den drar 1.2W dvs ca 100mA på 12V.
Jeg måtte vende RS485 linjen (bytte + og - linje) for å få riktig funksjon, Display og knapper sluttet å respondere med feil polaritet så det var lett å oppdage.


Selv kjøpte jeg denne:
http://www.usconverters.com/rs232_rs485iso.html
230NOK levert i postkassen uten toll eller MVA på under en uke (200 NOK grense på importerte varer eksl. frakt før MVA beregnes).
Den er isolert og autotimet så RTS er ikke et problem lenger.
Den skal bare ha GND, RX og TX på RS232 siden.
Mater den fra 5V på VP, var ikke målbart dropp i 5V etter innkobling.
Denne har fungert problemfritt, brukte 10 min på å koble den inn ikke rørt noe etter det. :)

Reboot problemene jeg så tidligere i VP var en feil i mitt program :oops: , loggingen min går nå stort sett 24/7.
I den grad det er problemer er det en sjelden gang (en gang i uka?) at programmet krasjer og blir avsluttet (OS detekterer en pointer på avveie tror jeg)


Jeg har ikke prøvet å endre verdier, men FredRovers kan tydeligvis og har forklart hvordan han gjør.
" På min andra UART kör jag RS-232 och kan skicka kommandon från en PC, t.ex. dumpa nuvarande parametrar eller sätt parameter."
og
"Exempel av skrivning av parametrar.
När styrkortet adresserar RCUn enligt:
*00 *14 ska RCUn svara 05 (ENQ) isf 06 (ACK). Styrkortet kommer då att svara 06 (ACK). RCUn ska då sända följande:
C0 00 14 (sender address) följt av antal bytes data du vill skicka.
Efter detta ska adress och data skickas, tex:
00 14 01 45.
XOR-summan skickar du efter att du skickat dina data bytes. XOR-summan ska räknas ut med allt som du sänder dvs c0 00 14 04 00 14 01 45.
När styrkortet tagit emot XOR-summan kommer den att skicka 06 (ACK) om XOR-summan var ok. Om styrkortet skickar 15 (NAK) så var det fel XOR-summa.
När RCUn fått in 06 (ACK) från styrkortet ska RCUn skicka *03 (ETX) och så är det färdigt. Observera att bit 9 skall vara satt när du skickar ETX.
"
mikkola
Inlägg: 3
Blev medlem: 5 december 2007, 09:45:19

Inlägg av mikkola »

Vet inte om jag törs erkänna det men det gick på tok. Om det var ADAM som hade ihjäl CPUn eller om det var jag som kopplade fel vet jag inte, törs inte prova igen :) Nog dyrt att köra på nödläge i 1 dygn.

Om man som jag, inte törs pilla på sin pump nå mer så finns denna snart:
http://www.husdata.se/news.asp?ID_News=30
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Inlägg av blueint »

Och priset? :D
Skriv svar