Jak připojit tepelné čerpadlo s řízením Rego 6xx k počítači

How to connect heat pump with Rego 6xx controller to a computer

Licence

Z důvodu ekonomické krize, jsem musel změnit licenční model. Čtěte proto pozorně odstavec licence.

Obsah


Registrováno jako projekt na SourceForge.net

License

I must change the license agreement given the economic crisis. Please read cerrfully license part.

Index


Registered as SourceForge.net project

Obsah dokumentu

Chtěl bych zde uvést na pravou míru zaměření tohoto dokumentu, protože jej čte velké množství lidí s falešným očekáváním.

Tento dokument si klade za cíl seznámit čtenáře s principem a podrobnostmi komunikace řídící jednotky REGO600 používané v tepelných čerpadlech IVT/Bosch/Autotherm/Carrier a možná i dalších.
Rozhodně se nejedná o dokument popisující hotový produkt a ani podrobný návod jak produkt vyrobit. Je zde detailně popsán návod na vytvoření dobré hadrwarové části, ale software je popsán pouze principiálně.
Je zde uveden příklad software, který lze použít jako modul a nebo k otestování vyrobeného hardware. V každém případě je však nutno do programu zasahovat a minimálně editovat konstanty v úvodní části. Program se spokojí s vypsáním hodnot na obrazovku. Nemá žádné uživatelské rozhraní a ani grafické výstupy. Pokud dokážete myslet na úrovni operačního systému unixového typu, budete schopni si doplnit grafický výstup z jiného programového produktu.
Pokud jste schopni programovat v prostředí borland delphi pro windows, mohu vám pomoci a můžeme společně vytvořit uživatelsky příjemný produkt.
Pokud jste schopni programovat v jiném visuálním nástroji pro windows, mohu se pokusit jej pochopit a také vám pomoci

Pokud hledáte hotový produkt, kontaktujte svého zástupce IVT a ptejte se na produkt IVT@Home

Pokud máte problém s tvorbou hardwarové části, přesvědčil jsem kamaráda Pavla Dvořáka, který je schopen zařízení vyrobit a poslat. (cenu, formu dodávky si prosím domluvte individuálně) Odkaz najdete v části FAQ

Bonus pro lidi co ovládají češtinu: pokud vás zajímají moje zkušenosti s tepelným čerpadlem (provoz, instalace), pošlete mi e-mail na adresu uvedenou na konci dokumentu a určitě vás neodmítnu.

Document scope

I would like to describe scope of this document, because so many people trying to find there information which is not primary part of that document.

Purpurose of this document is inform readers about principles of communication of unit REGO600 used in heatpumps IVT/Bosch/Autotherm/Carrier and others.
Definitly out of scope is description of final product or detail description how to build a product. Here is described in details how to build hardware part, but software part is described only in general.
On the page is presented example of software, which can be used as a module or as a test for hardware part. In each cases must be code edited and configured, minimaly constants in first configuration part. Program simply print out measured values to screen and finish. There are no user interface or graphical output. If you are able to think in unix type operating system level, you will be able to connect graphical output from other software
If you are able to program in borland delphi for windows, I can help you with it and we can create user friendly product.
If you are able to program in different visual tools for windows, I can try to understand it and try to help you too

If you are looking for finished product, please contact your IVT dealer and ask for IVT@Home product

If making a hardware part is a problem for you, good news is, that I persuade my friend Pavel Dvořák (who is able to produce and send hardware) to help you. (price and sending method is individual part of agreement with you and Pavel) Reference can be found in FAQ part.


Přídavné kontrolky

Tato kapitola nesouvisí zcela s podstatou článku, ale někomu může zjednodušit život.

Pokud potřebujete pouze připojit informativní kontrolku která bude například v jiné místnosti signalizovat poruchu, stačí správně použít připravené svorky.

Additional info lamps

This chapter not exactly fitting topics of this text, but can help to somebody.

If you only need additional info lamps for showing for example alarm situation in different room, you can simply use prepared mounting points in heatpump.

Možnosti připojení přídavných kontrolek | Possibility of connection additional lamps
Obrázky ukazují tři základní možnosti připojení.
  • Červená LED na prvním zapojení bude blikat v případě, že bude čerpadlo signalizovat alarm.
  • Zelená LED na druhém obrázku bude za normálního provozního stavu svítit, v případě alarmu bude blikat.
  • Žárovka na třetím obrázku zobrazuje možnost připojení například sledovacího zařízení. Bude svítit v případě alarmu.
Pictures showing tree basic types of interconnection of lamps.
  • Red LED at the first picture will blink in a case of alarm on heatpump.
  • Green LED at second picture will light at normal state and will blink in a case of alarm.
  • Lamp at third picture representing possibility of interconnection for example monitoring device. It will light in a case of alarm.

Hardware

Na trhu existuje celá řada celkem kvalitních tepelných čerpadel vycházejících ze stejného základu vytvořeného firmou IVT. Jedná se buď o brandovaná oem čerpadla, nebo licenční stroje. Dají se najít pod značkou IVT, Bosch, Carrier, Autotherm a možná i další. Všechna tato čerpadla používají pro své řízení jednotku Rego 600 nebo novější (Rego 6xx).

Tyto řídící jednotky jsou vybaveny komunikačním rozhraním pro připojení počítače nebo jiné řídící jednotky.

Jednotky jsou vybaveny sériovým portem označeným jako "Service". Jeho konektor je vždy v blízkosti řídící jednotky. Jedná se o 5V variantu sériového portu, takže délka kabelu nemá přesahovat 50cm. Rozhraní je osazeno 9 pin konektorem can/d-sub.
Nožičky konektoru mají následující význam:
2 - RxD
3 - TxD
4 - +5V
5 - GND

Komunikace vždy probíhá rychlostí 19200 bps, 8 bit, bez parity, 1 stop bit (19200/8N1). Jedná se o 5V CMOS 4000 (TTL) signály, které je nutné připojovat galvanicky oddělené. Proto pro jejich připojení použijeme optický oddělovač. Například MCT6, ILD2 nebo podobné.

Příklad zapojení optického oddělovače je uveden na následujícím obrázku.

Hardware

Here is a few good quality heat pumps on a market, which are based on same conception based by company IVT. That heat pumps are brended or licensed to another companies. It is possible to find them branded as IVT, Bosch, Carrier, AutoTherm and possible others. All that heatpumps using Rego 600 control unit for their driving (or newer Rego 6xx).

Those control units contains serial communication interface marked as "Service". Header of this interface are close of control unit. This is 5V serial interface, it mean their cable may be not longer than 50cm. Interface is connecter by 9 pin can/d-sub connector.
Pinout of this connector are following:
2 - RxD
3 - TxD
4 - +5V
5 - GND

Communication allways using 19200 bps, 8 bit, no parity, 1 stop bit (19200/8N1). This is 5V CMOS 4000 (TTL) signals, which must be connected by galvanic separator. In that case we will use optocoupler for separation. There are available optocouplers for example MCT6, ILD2 or ekvivalent

Example of generic connection are shown on following picture.


Obr. 0 Základní zapojení | Fig. 0 Basic schematic
Toto schéma se dá jednoduše rozšířit na připojení pomocí sériového portu RS-232 (sériový port v počítači)

Stačí přidat převodník úrovní RS-232 - TTL. Například obvod MAX232. Jako napájení pro napájení je možné použít například napájení na portu USB. (lze použít i napájení pro klávesnici, nebo gameport, eventualně jiné metody)
Původní schéma (Obr. 1) vykazovalo značné nedostatky. Bylo v něm několik školáckých chyb, které jsem postupně opravil a vzniklo schéma nové (Obr. 1b). První chyba byla ve směru od PC do Rego, tady LED v optočlenu většinu času svítí. To snižuje její životnost a zvětšuje spotřebu. Proto je tato větev invertovaná. Druhá, mnohem závažnější chyba, byla na větvi od Rego do PC. Na výstupu Rego je použit výkonový budič, který však má otevřený kolektorový výstup, kladná polovina je realizována nějakým pull-up obvodem. Není proto schopna dodávat dostatek proudu pro LED v optočlenu. Proto jsem přidal tranzistor Q1, který zesiluje množství proudu.
It is easy to enhance this schematics to connect to RS-232 serial interface in computers.

Be enough for them RS-232 - TTL level converter. For example MAX232 device. As a source of electric power cam be used for example power pins from USB. (it is also possible to use power for keyboard, gameport or other methods)
Original schematic (Fig. 1) have lot of defects. It contain few of beginner mistakes. I fix them in future versions and created new schematic (Fig. 1b), First mistake is in direction from PC to Rego. The LED in optocoupler light majority of time. It decrease lifetime and increase consumption. I decided to make this branch inverted. Second, most significant issue is in branch from Rego to PC. Output from Rego to PC is realized by some bus driver, that realize open drain output. Positive part is realized by some pull-up. That pull-up have not enough current for LED in optocoupler. I added tranzistor Q1, that amplify the current.


Obr. 1 - připojení RS-232 kabelem | Fig. 1 - RS-232 cable connection


Obr. 1b - připojení RS-232 kabelem (opravená verze) | Fig. 1b - RS-232 cable connection (fixed version)
Hlavní problém tohoto řešení spočívá v tom, že tepelné čerpadlo většinou stojí v technické místnosti, v lepším případě v prádelně nebo koupelně. Málokdo si předem připravil datovou konektivitu do místností tohoto typu. Málokdo je také připraven nechávat počítač v takovéto místnosti.

Proto jsem se rozhodl využít pro připojení ty dráty, které k tepelnému čerpadlu rozhodně vedou. Tepelné čerpadlo se běžně připojuje třífázovou přípojkou. Proto můžeme pohodlně použít zařízení pro komunikaci po silovém vedení. Navíc si vždy můžeme vybrat správnou fázi pro efektivní komunikaci.

Na internetu je překvapivě velké množství zařízení komunikujících malou rychlostí (protokoly X1 a pod), na druhou stranu aliance HomePlug vytvořila levná zařízení pro přanos až 200mbps. Bohužel pouze s rozhraním ethernet.
Jako vhodný kompromis se ukázaly modemy pro komunikaci po silovém vedení typu PLC-485A prodávané pod značkou LinkSprite. Modem je možné koupit jako modul nebo jako hotová zařízení.
Pro instalaci do tepelného čerpadla jsem si zvolil modul bez dceřiné desky, ke kterému jsem vyyvpřil vlastní rozhraní.
Na následujícím obrázku je uvedeno schéma dceřiné desky pro připojení tepelného čerpadla.
Main problem of this solution is, that it usualy located in technical room, in better cases in laundry, washrom or bathroom. Not many users prepared data line to this type of room. Not many users also want to leave computers in that type of room.

In that case I decided to use for connection most comon wires presented here. It is three phase power line wires. In that case we can easily use devices for power line communication. In addition we can chose correct phase for most efective communication.

On the Internet is presented surprising number of devices using small communication speed (for example X1 protocols etc.), from the other hand there is HomePlug aliance makes cheap devices for transfer up to 200mbps. However only with ethernet interface.
As a good compromise look like to be power line communications modems PLC-485 type marked as LinkSprite. It is possible to buy modem as module or as a final devices.
For an installation into heat pump I used module without doughter board. I make myself doughter board with my own interface.
On following picture is presented schematic of that doughter board for connecting the heat pump.


Obr. 2 Připojení po elektrické síti | Fig. 2 Power line connection
Úprava nové verze PCL modemu
LinkSprite vydalo novou verzi PLC modemu, která má poněkud nešťastně vyřešenou citlivost vstupních svorek. Proto jsem musel přidat obvod pro posílení a upravení hran.
Vyzkoušel jsem dvě varianty připojení. Jednodušší varianta (A) pouze zesiluje signál, rozšířená varianta (B) navíc přidává led diodky pro umístění na panel.

Pokud máte problém s připojením k počítači (pozná se tak, že zařízení nesprávně reaguje na "+++"), doporučuji také přidat zesilovač na stranu počítače.
Enhancement for new version of PLC modem
LinkSprite released new version of PLC modem. This version of modem have little distressful sensitivity for input pins. In that case I must add circuit for ampfiling and forming of signal.
I have tested two versions of circuit. First - easier variant (A) only ampfiling the signal, second variant (B) also adding led diodes for placing on front panel

If you will found problems also with interconnection to computer (found, that modem not responding to "+++" sequence), I recomend to add ampfiler to computer side too.


Obr. 3-A Připojení po elektrické síti / jednoduché | Fig. 3-A Power line connection / simple



Obr. 3-B Připojení po elektrické síti / zábavné | Fig. 3-B Power line connection / funny



Obr. 3-C Připojení po elektrické síti / minimalistické | Fig. 3-C Power line connection / minimalistic
Pro informaci - verzi 3-C aktuálně používám | For your info: I'm currentely using version 3-C

Pro praktickou realizaci jsem použil voděodolnou, požár nešířící krabičku, do které se pohodlně vejde celé zařízení. Dceřinou desku jsem, vzhledem k její jednoduchosti, osadil na univerzální plošný spoj.
Celou krabičku je nutné umístit do blízkosti řídící jednotky. To je důležité brát v úvahu při mechanické konstrukci.
Také je důležité vzít v úvahu chlazení. Uvnitř tepelného čerpadla je celkem dost teplo a špatná cirkulace vzduchu.

Následující fotografie ukazují praktickou realizaci.
For practiacal realisation i have used water proof, fire proof box, which easy fitting all device. Becouse doughter board is simple, I have done it on universal circuit board.
All device must be placed close of controll unit. It is necessary to care about it during mechanical construction, because in this part of heatpump is not enoughtplace.
It is necessary to thing about cooling. Inside heatpump is higher temperature and wrong air circulation.

Following photos showing my working example.
dceřiná deska | Doughter board   zařízení na straně tepelného čerpadla | heat pump side device připojení konektoru | connecting of device umístění zařízení v tepelném čerpadle | placing of device inside heat pump   zařízení na straně PC (s originál RS-232 dceřinou deskou) | PC side device (with original RS-232 doughter board) zařízení připojené k PC | device connected to PC
Poznámky:
  • zjistil jsem, že zařízení nefunguje správně s některými USB<->RS-232 porty.
  • pro jednoduché ovládání existuje komfortní software StatLink.
  • před uvedením do provozu je nutné nastavit komunikační rychlost na zařízení na 19200bps.
  • v Čechách neexistuje maloobchodní prodejce 2mm konektorů pro digi sběrnici. Je však možné použít jiné konektory dostupné na modulu.
  • IVT připravuje vlastní software pod označením IVT@Home.
  • Také je k dispozici fórum o PLC.
Notes:
  • I have found, that device not working correctly with some USB<->RS-232 transceivers.
  • for easy use exist comfortable software StatLink.
  • it is neccesary to configure device for using 19200bps baudrate.
  • in CZ is no end seller for 2mm headers for digi bus. It is posible to use other headers on modules.
  • IVT preparing own software called IVT@Home.
  • There is available forum about PLC.

Software

Komunikace probíhá vždy prostřednictvím paketů stejné délky a stejné struktury. Následující obrázek ukazuje příklad takové komunikace.

Software

Communication running allways by using packet same size and same structure. Following picture displaying example of that communication.

Obr. 4 Struktura komunikačních paketů | Fig. 4 Structures of communication packets
Všechna čísla jsou zobrazována v šestnáctkovém tvaru (hex).

Paket požadavku má vždy 9 znaků (čísel). Odpověď existuje standardní 5 znaků, nebo prodloužená 42 znaků.

Reprezentace čísel

Rego6xx používá 7 a méně bitů pro komunikaci, většina čísel je reprezentovaná jako 16ti bitová. Při komunikaci se nejprve posílá vyšší řád.
V případě teploty se posílá desetinásobek jako celé číslo ve formátu dvojkového doplňku.

Například:
Register 020B je šestnáctibitové číslo.
Rozepíšeme si jej do dvojkového 0000 0010|0000 1011
Od konce si označíme skupiny po 7 bitech 00|0000100|0001011
A dostaneme číslo v 7 bit reprezentaci 00 04 0B

Obdržíme teplotu 00 04 38
Rozepíšene si 7 bitová čísla za sebe: 0000000|0000010|0111000
Vyznačíme si řády 8 mitové reprezentace 00000001|00111000
A dostaneme číslo: 138(hex) 312(desítkově)
Teplota je tedy desetina 31,2C

Obdržíme teplotu 03 7C 1D
Rozepíšene si 7 bitová čísla za sebe: 0000011|1111100|0011101
Vyznačíme si řády 8 mitové reprezentace 11111110|00011101
A dostaneme číslo: FE1D(hex) 65053(desítkově)-483(dvojkový doplněk)
Teplota je tedy desetina -48,3C

Adresa(Address)

Pravděpodobně umožňuje adresovat více zařízení, já jsem narazil pouze na adresování 81 tepelné čerpadlo a 01 počítač.

Příkaz(Command)

Pravděpodobně existuje tabulka příkazů, kterou se pokusím vytvořit. Zatím mám velice málo informací.

All numbers are displayed in hex format.

Request packet allways consist of 9 characters (numbers). Response exist in standard form (5 characters) or long form (42 characters).

Representation of numbers

Rego6xx using 7 and less bits for communication. Most numbers are represented as a 16bit numbers. For communication higher part of numbers are send first.
For representing temperature is used ten multiple as a sign integer.

For example:
Register 020B is sixteen bit number.
Let's write it in binary form 0000 0010|0000 1011
Now we can mark 7 groups from the end 00|0000100|0001011
And now we have this number in 7 bit form 00 04 0B

We have received temperature 00 04 38
Let's write 7 bit numbers in binary form 0000000|0000010|0111000
We will mark 8 bit delimiters 00000001|00111000
It is: 138(hex) 312(dec)
In that case temperature is 31.2C

We have received temperature 03 7C 1D
Let's write 7 bit numbers in binary form 0000011|1111100|0011101
We will mark 8 bit delimiters 11111110|00011101
It is: FE1D(hex) 65053(dec)-483(signed integer)
Received temperature is -48.3C

Address

It is possible, that it alows to have more devices on line. I have found only addresing 81 for heatpump and 01 for computer.

Command

There must exist table of commands. I will try to create some. Currentely I have not enough information.

42char - text line
PříkazhexparamrespCommand
Čtení dat z panelu
(klávesy+led)
001 - address5char 16bit numberRead from front panel
(keyboard+leds) {reg 09FF+xx}
Zápis do čelního panelu
(klávesy+led)
012 - address + data1char confirmWrite to front panel
(keyboard+leds) {reg 09FF+xx}
Čtení ze systémováho registru
(topná křivka, teploty, stav zařízení)
021 - address5char 16bit numberRead from system register
(heat curve, temperatures, devices) {reg 1345+xx}
Zápis do systémováho registru
(topná křivka, teploty, stav zařízení)
032 - address + data1char confirmWrite into system register
(heat curve, temperatures, devices) {reg 1345+xx}
Čtení registrů časovačů041 - address5char 16bit numberRead from timer registers {reg 1B45+xx}
Zápis registrů časovačů052 - address + data1char confirmWrite into timer registers {reg 1B45+xx}
Čtení z registrů 1B61061 - address5char 16bit numberRead from register 1B61 {reg 1B61+xx}
Zápis do registrů 1B61072 - address + data1char confirmWrite into register 1B61 {1B61+xx}
Čtení z displaye201 - display line42char text lineRead from display {0AC7+15h*xx}
Čtení poslední chyby40042char text lineRead last error line [4100/00]
Čtení předchozí chyby42042char text lineRead previous error line (prev from last reading) [4100/01]
Verze rego jednotky (vždy 600)7F05char 16bit numberRead rego version
{constant 0258 = 600 ?Rego 600?}
Tab. 1 seznam příkazů | Tab 1. list of commands

Adresa registru(Register address)

Pravděpodobně existuje tabulka registrů, kterou se pokusím vytvořit. Zatím mám velice málo informací. Tabulka se mírně liší pro různé typy čerpadel a pro různé verze jednotek Rago6xx.

Register address

There must exist table of registers. I will try to create some. Currentely I have not enough information. Table contains a small differences for different versions of heat pump and for different versions of Rego6xx controllers

RegistrRego600-635Rego636-...Register
 
Hodnoty čidelSensor values
Zpátečka [GT1]0209020BRadiator return [GT1]
Venkovní [GT2]020A020COutdoor [GT2]
Bojler [GT3]020B020DHot water [GT3]
výstup do směš. okruhu [GT4]020C020EForward [GT4]
Místnost [GT5]020D020FRoom [GT5]
Kompresor [GT6]020E0210Compressor [GT6]
Teplý okruh výstup [GT8]020F0211Heat fluid out [GT8]
Teplý okruh vstup [GT9]02100212Heat fluid in [GT9]
Studený okruh vstup [GT10]02110213Cold fluid in [GT10]
Studený okruh výstup [GT11]02120214Cold fluid out [GT11]
Externí bojler [GT3x]02130215External hot water [GT3x]
 
Hodnoty zařízeníDevice values
Oběhové čerpadlo zemního okruhu [P3]01FD1FFGround loop pump [P3]
Kompresor01FE0200Compresor
Přídavné topení 3kW01FF201Additional heat 3kW
Přídavné topení 6kW0200202Additional heat 6kW
Radiátorové čerpadlo [P1]02030205Radiator pump [P1]
Čerpadlo vnitřního oběhu [P2]02040206Heat carrier pump [P2]
Rozdělovací trojcestný ventil [VXV]02050207Tree-way valve [VXV]
Porucha02060208Alarm
 
Řídící dataControl data
GT1 Cílová hodnota006E006EGT1 Target value
GT1 Zapínací hodnota006F006FGT1 On value
GT1 Vypínací hodnota00700070GT1 Off value
GT3 Cílová hodnota002B002BGT3 Target value
GT3 Zapínací hodnota00730073GT3 On value
GT3 Vypínací hodnota00740074GT3 Off value
GT4 Cílová hodnota006D006DGT4 Target value
Dotop v %006C006CAdd heat power in %
Výkon dotopu006B006BAdd heat connected cassete power
Čas pro připojení dotopu (menu 8.3.4)00420042Add heat opening time (setting 8.3.4)
Čas pro odpojení dotopu (menu 8.3.5)00430043Add heat closing time (setting 8.3.5)
Čas pro aktivaci dotopu00520052Add heat activation time
 
NastaveníSettings
Topná křivka00000000Heat curve
Jemné doladění00010001Heat curve fine adj.
Nastavení vnitřní teploty00210021Indoor temp setting
Vliv vnitřní tepl. na křivku00220022Curve infl. by in-temp.
Prizp. krivky pri 20° venku001E001EAdj. curve at 20° out
Prizp. krivky pri 15° venku001C001CAdj. curve at 15° out
Prizp. krivky pri 10° venku001A001AAdj. curve at 10° out
Prizp. krivky pri 5° venku00180018Adj. curve at 5° out
Prizp. krivky pri 0° venku00160016Adj. curve at 0° out
Prizp. krivky pri -5° venku00140014Adj. curve at -5° out
Prizp. krivky pri -10° venku00120012Adj. curve at -10° out
Prizp. krivky pri -15° venku00100010Adj. curve at -15° out
Prizp. krivky pri -20° venku000E000EAdj. curve at -20° out
Prizp. krivky pri -25° venku000C000CAdj. curve at -25° out
Prizp. krivky pri -30° venku000A000AAdj. curve at -30° out
Prizp. krivky pri -35° venku00080008Adj. curve at -35° out
Spojeni rozdilu topne krivky00020002Heat curve coupling diff.
Tab. 2 seznam systémových registrů (81|02 a 81|03) | Tab 2. list of system registers (81|02 and 81|03)

ČasovačRego600-635Rego636-...Counter
 
Časovač dotopu v sec.00000000Add heat timer in sec.
Časovač před spuštěním čerpadla00020002Pump start hold off
Špičkový čas ohřevu teplé vody000E000EHot water peak timer
?Nastavení teploty v letním režimu?00240024?set temperature in summer mode?
?Počítadlo počtu spuštění kompresoru?00460046?counter of compressor starts?
?Počet hodin vytápění radiátorů?
motorhodiny vytápění
00480048?number of hours for radiator heating?
?Počet hodin ohřevu vody?
motorhodiny boiler
004A004A?number of hours for boiler heating?
?zdá se, že to souvisí s během kompresoru, může to být doba chodu v minutách/6 a nuluje se při zvětšení 0048/004A00490049?look like connected to compressor run, probably time in minutes/6, set to zero when hour is increased in 0049/004A
Tab. 3 seznam časovačů (81|04 a 81|05) | Tab 3. list of timers (81|04 and 81|05)

ŘádekRego600-635Rego636-...Line
 
DisplayDisplay
Řádek 1 * dlouhá data00000000Row 1 * long data
Řádek 2 * dlouhá data00010001Row 2 * long data
Řádek 3 * dlouhá data00020002Row 3 * long data
Řádek 4 * dlouhá data00030003Row 4 * long data
Tab. 4 seznam řádek displeje (81|20) | Tab 4. list of display lines (81|20)

ElementRego600-635Rego636-...Element
 
LEDLED
LED 1 napájení?0012??0012?LED 1 (power)
LED 2 čerpadlo00130013LED 2 (pump)
LED 3 ?dotop?00140014LED 3 (?add heat?)
LED 4 bojler00150015LED 4 (bojler)
LED 5 alarm00160016LED 5 (alarm)
 
KlávesniceKeyboard
Vypínač (Zap/Vyp)00080008Power (On/Off)
Klávesa 1 (Teplo)00090009Key 1 (Temp)
Klávesa 2 (Info)000A000AKey 2 (Info)
Klávesa 3 (Menu)000B000BKey 3 (Menu)
Kolečko0044??Wheel
Tab. 5 čekní panel (81|00 a 81|01) | Tab 5. front panel (81|00 and 81|01)

Data

Hodnota pro zapsání do registru pro zápisové přkazy. V případě čtecích příkazů se odesílá 0000.
Hodnota přečtená z registru v odpovědi.

Kontrolní součet(Checksum)

Tato hodnota představuje exclusive-or (xor) ze znaků adresy registru a dat u pořadavku a z dat u odpovědi.

Dlouhá data

Existuje zvláštní paket odpovědi, který se posílá v případě čtení displaye.Jeho délka je 42 znaků.
Tento paket se odesílá jako odpověď na pakety: 81|20|00|00|00|00|00|00|00 - 81|20|00|00|03|00|00|00|03.
Tento paket obsahuje na prvním místě adresu cíle a následuje 20 dvojic znaků, které vyjadřují znaky na display. Dá se předpokládat, že čerpadlo používá běžný řádkový display a proto jeho znaková sada bude odpovídat následujícímu obrázku.
Znaky jsou kódovány jako čtyřbitové a to tak, že nejprve přijde sloupec a pak řádek. Pro běžné znaky je kódování stejné jako znaková sada počítače, takže je možné dvojice sloučit a zobrazovat přímo.

Příklad:
Dostaneme paket: 01|05|02|06|05|06|07|06|0F|03|06...
První znak je adresa cíle: 01=počítač
Následující znaky můžeme sloučit do dvojic: 52|65|67|6F|36...
A vypsat si je přímo jako znaky podle ascii tabulky: Rego6...
(Poslední znak, který není zveřejněn je kontrolní součet, xor stejně jako v ostatních případech.)

Data

Value for writting into register for writting commands. In a case of read commands it is 0000.
Value readed from register for responses.

Checksum

This value representing exclusive-or (xor) of all characters of address and data in a request, or data in a response.

Long data

Exist special packet for response, which sending in a case of reading display. This packet is 42 character long.
This packet sends especialy for requests: 81|20|00|00|00|00|00|00|00 - 81|20|00|00|03|00|00|00|03.
First character contains destination addres, followed by 20 doubles of characters, presenting characters on display. It can be presumed, that pump using standard character LCD display. In that case character set of that display will be same as following image.
Characters are coded as four bit pairs. First character informing about column, second about row of character. For standard characters is encoding same as computer character table, in that case is possible to concat doubles and present it directly.

Example:
We will receive packet: 01|05|02|06|05|06|07|06|0F|03|06...
First character representing destination: 01=computer
Following characters can be concated by pairs: 52|65|67|6F|36...
And display by standard ascii table: Rego6...
(Last character is checksum, not shown in example, is checksum. Same xor as other packets.)

Obr. 5 Znaková sada displaye | Fig. 5 LCD character set

Klávesy

Klávesy mají registry. Stisk klávesy se provede zapsáním "1" do jejich registru
Nepříklad 81|01|00|00|09|00|00|01|08 znamená stisk levé klávesy (v klidovém stavu Info)
Odpověď na klávesy je jednoznaková - vždy 01

Vyjímkutvoří kolečko. Otočení doprava znamená zápis "1", otočení doleva "1FFFFF"
Nepříklad 81|01|00|00|44|00|00|01|45 ->>
Nepříklad 81|01|00|00|44|7F|7F|7F|3B <<-

Seznam poruch

Pro ovládání seznamu poruch jsou jsou k dispozici dva příkazy: 40 a 42. Pokud zadáme příkaz 40 (81|40|00|00|00|00|00|00|00) dostaneme poslední chybu zapsanou v registru chyb.
Příkazem 42 (81|42|00|00|00|00|00|00|00) dostaneme chybu, která je v pořadí před tou, kterou jsme vypsali minule. To se vztahuje k opakovanému volání příkazu.
Odpověď na tyto dotazy je formou dlouhého paketu (42 znaků), který se dekóduje stejně jako řádky displaye. Jenom některé znaky mají jiný význam:
První znak má číselnou hodnotu, následuje 15 znaků datumu a času, a pak další 4 číselné znaky.
První číslo znamená typ chyby (viz tabulka), třetí číslo je 0 pro korektní chybu. Pokud přečteme včechny chyby, dostaneme číslo chyby 255 a třetí číslo 150.
Například:
Log 40 =|22|090319 18:21:05|0|48|2|32|
Log 42 =|10|090314 18:53:11|0|48|2|32|
Log 42 =|22|090312 21:46:33|0|48|2|32|
...
Reg 42 =|255|0˙Ě:56:16|150|48|2|32|

Keyboard

Each key have own register. Press of key mean write "1" into register
For example 81|01|00|00|09|00|00|01|08 mean press of left key (in silence state Info)
Response to key press are allways single charecter - allways 01

Difference is wheel. Turn to right mean write "1", turn to left mean "1FFFFF"
For example 81|01|00|00|44|00|00|01|45 ->>
For example 81|01|00|00|44|7F|7F|7F|3B <<-

Error log

For managing error log is there two commands: 40 and 42. When we send command 40 (81|40|00|00|00|00|00|00|00) we will receive last known error stored in the registry.
By sending command 42 (81|42|00|00|00|00|00|00|00) we will receive previous error. (repeeting this request we will receive prev-prev error. Response for this commands is long packet (42 chars), which may be decoded same way as display packet. Only some characters have special functions
First character representing numeric value, next 15 characters representing date and time of error. And next is 4x numerich characters.
First number reprezenting error number (see table), third number is 0 for correct record. When we read all records, we will receive line with error no 255 and third number 150.
For example:
Log 40 =|22|090319 18:21:05|0|48|2|32|
Log 42 =|10|090314 18:53:11|0|48|2|32|
Log 42 =|22|090312 21:46:33|0|48|2|32|
...
Reg 42 =|255|0˙Ě:56:16|150|48|2|32|

Chyba#Error
 
Čidlo zpátečky (GT1)0Sensor radiator return (GT1)
Venkovní čidlo (GT2)1Outdoor sensor (GT2)
Čidlo TUV (GT3)2Sensor hot water (GT3)
Čidlo směšovacího ventilu (GT4)3Mixing valve sensor (GT4)
Pokojové čidlo (GT5)4Room sensor (GT5)
Čidlo kompresoru(GT6)5Sensor compressor (GT6)
Čidlo teplý okruh výstup (GT8)6Sensor heat tran fluid out (GT8)
Čidlo teplý okruh vstup (GT9)7Sensor heat tran fluid in (GT9)
Čidlo studený okruh vstup (GT10)8Sensor cold tran fluid in (GT10)
Čidlo studený okruh výstup (GT11)9Sensor cold tran fluid in (GT11)
Ochrana motoru kompresoru (MB1)10Compresor circuit switch
Elektrokotel (EK)11Electrical cassette
Ochrana motoru studeného čerpadla (MB2)12HTF C=pump switch (MB2)
Presostat nízkotlaký (LP)13Low pressure switch (LP)
Presostat vysokotlaký (HP)14High pressure switch (HP)
Vysoká teplota zpátečky (GT9)15High return HP (GT9)
Vysoká teplota výstupu (GT8)16HTF out max (GT8)
Nízká teplota vstupu st. okruhu (GT10)17HTF in under limit (GT10)
Nízká teplota výstupu st. okruhu (GT11)18HTF out under limit (GT11)
Přehřátí kompresoru (GT6)19Compressor superhear (GT6)
Chyba sledu fází203-phase incorrect order
Závada na napájení21Power failure
Vysoká delta KPT (GT8/GT9)22Varmetr. delta hoch
......
Tab. 6 seznam chyb (pro model Greenline)| Tab 6. List of errors (for Greenline series)

Čemu nerozumím

Jaké je mapování kolečka na 636???
Existuje detailnější popis registrů?
Popis registrů zařízení?
Řídící jednotka komunikuje i ve vypnutém stavu. (Když bliká power led) Dá se na dálku zapnout?
Kde jsou uloženy bezpečnostních hodnoty (maximální teplota, maximální delta KPT,...)
Kde (a jak) jsou uloženy hodnoty časovačů (pro režim dovolená? pro časové řízení?)

Open questions

What is wheel mapping on 636???
Exist detailed list of registers?
Keys have single character response?
Control unit responding also in standby state. (when power led blinking) Is it possible to switch pump on?
Where are stored security limits (maximum temp, maximum HTF c-pump switch [Motorskydd KB.pump])?
Where (and what) is stored information about timers (for holiday mode, for clock setting)

Příklad

Praktická funkčnost se dá vyzkoušet například na grafech teplot z mého tepelného čerpadla. Jedná se o čerpadlo IVT Greenline C6+ s řízením Rego636.

Download

Všechny své programové pokusy tvořím v jednom souboru. Tento soubor je zatím bohužel jen snůškou poznámek a funkcí.
Aktuální verzi je možné si stáhnout ZDE
(jedná se o pracovní verzi a jestliže jí právě edituji, pak v ní mohou být i chyby. Pokud narazíte na chybu, stáhněte si jej znovu za párminut.)

Poznámka

Tento dokument vzniká jako moje poznámky. Velice rád si přečtu jakýkoli komentář. Pokud máte nějaké informace, nebo dotazy, pošlete mi email.

Example

Practical example can be tested on temperature graphs from my heatpump. It is heat pump IVT Greenline C6+ with Rego636.

Download

All my programming tests I'm doing in one file. This file is still set of notes and functions
It can be downloaded HERE
(It is working snapshot and is possible that I§m editing it and is there some bugs. If found, download again in few minutes.)

Note

This document is created as my notes. I would like to read any comments. If you have any knowledge, questions, remarks, send me email.



Program pro Windows

Protože větší množství lidí nechce chápat tuto stránku jako dokumentaci, přistoupil jsem na vytvoření ukázkového programu pro Windows. Tento program je příkladem toho, jak lze dokumentaci použít a neslouží jako finální produkt.
Program je vytvořen v Borland Delphi 5, ale myslím, že v jakémkoli jiném visuálním nástroji bude vypadat podobně.

Software for Windows

Becouse many of people do not want to understand this page as a documentation and framework; I have created example program for windows. This program is example of using this documentation and not an final product.
Program is developed in Borland Delphi 5; I belive, that it will be similar in any other visual tool.

rego600.zip 392.3KB


Použití modulu ESP-01

Dnes jsou moduly s WiFi připojením velmi populární, ESP-01 je opravdu levný, proto jsem se rozhodl jej použít.

Hardware

Z hlediska hardware máme před sebou jednu výzvu. Tepelné čerpadlo je velká plechová bedna a tím pádem uvnitř není moc dobré prostředí pro šíření WiFi signálu. Proto potřebujeme dostat vlastní modul mimo čerpadlo. Zároveň prostředí uvnitř čerpadla není zrovna přátelské z pohledu elektromagnetického rušení. Rozhodl jsem se pro vytažení použít linku RS-232. Je to poměrně staré rozhraní, ale stále dobré. Ve verzi RJ45 se dá velmi dobře přenášet FTP síťovým kabelem, takže máme i stínění i snadno dostupný kabel. Vytvořil jsem si tedy rozhraní na stranu tepelného čerpadla a druhé rozhraní na stranu s ESP-01.
Rozhraní na straně tepelného čerpadla je celkem jasné. Rozhraní jsem použil pro experimentování s optočleny. Jako první jsem použil optočleny s vysokým CTR, ale nějak jsem si si nevšiml, že jsou velmi pomalé. Takže jsem musel použít jiné. Na druhý pokus už jsem se nechtěl starat o přenosovou rychlost a kvalitu signálu, proto jsem použil optočleny s integrovaným hradlem 6N137. Na fotkách je vidět, jak jsem desku předělával. V přiložených souborech už je deska správně. Rozhraní v této podobě je velmi univerzální a lze jej použít i pro jiné aplikace.
Na straně ESP-01 jsem musel znovu použít převodník z RS232 na sériová data. Tedy zase MAX232. Protože ESP-01 pracuje s napěťovými úrovněmi 3,3 Volt, použil jsem ještě odporový dělič z 5V na 3V3 na výstupu tohoto převodníku. S tím také souvisí napájení pro ESP-01. Použil jsem LDO stabilizátor LF33. Pro programování ESP-01 je důležité používat vstupy Reset a Boot, proto jsem je vyvedl na pinovou lištu. Také jsem si vyvedl výstup sériové linky U1, která je užitečná pro pracovní (debug) výpisy. Linka U0 je na stejné pinové liště, ale její piny jsou propojené pomocí jumper propojek na MAX232. Tyto propojky je možné vyndat, pokud je to užitečné pro programování. Při tvorbě desky se mi nějak stalo, že konektor pro ESP-01 je na spodní straně. Jelikož to ničemu nevadí, neřešil jsem to. Dávejte si na to pozor při osazování.
Když už jsem vytvářel desku, udělal jsem na ní i konektory pro připojení sériového portu z počítače. Jedná se jen o jednoduché redukce.
Zařízení potřebuje napájení. Jako nejvhodnější se mi zdá USB nabíječka. Na deskách jsou jen dvě plošky pro připájení ustřiženého USB kabelu.
Následující obrázek ukazuje schémata a vizualizaci desky plošných spojů. Deska je vyrobená jako jeden kus a nastříhaná doma. Vyrábět jsem jí nechal u Elecrow (nejméně jim vadí takto sloučené desky). Gerber file je k dispozici ke stažení.

Use of ESP-01 module

WiFi modules are very popular nowadays. ESP-01 is one of cheapest of them. I decided to use it for communication.

Hardware

From hardware point of view, we have one challenge upfront. Heat pump is big sheet metal box; and then inside is not good environment for WiFi connectivity. We need to move the module itself outside heat pump. On the top, environment inside heat pump is not very friendly from electromagnetic noise point of view. I decided to use RS-232 line for line extension. It is old interface, but good enough. In RJ45 version it is possible to transfer it using FTP network cable; we have shielded easy to get cable then. I created interface for Rego side, and then second tor ESP-01 side.
Heatpump side interface is straight forward. I was used this interface for my experiments with optocouplers. As a first experiment, I was used optocouplers with big CTR, but I forget somehow, they are very slow. I have to use different then. I did not want to care about transfer speed and signal quality. Thei I used optocouplers with integrated gate 6N137. It is visible on photos, how I reworked the board. In attached files is final version and fixed board already. Interface in this form is very universal and can be used for for another applications as well.
Interface on ESP-01 use same RS-232 converter again. It mean again MAX232. Because ESP-01 works with 3.3 voltage levels, I used two resistors voltage divider from 5V to 3V3 on converter output. It implicate powering of ESP-01. I added LDO regulator LF33 for powering. For ESP-01 programming is crucial to use inputs Reset and Boot. I decided to connect them on pinheader to be accessible. I did the same for output of serial port U1, useful for working (debug) prints. Serial line U0 is presented on pinheader as well, but their pins are connected using jumper switches to MAX232. It is possible to remove those jumpers and use port directly, once it is useful for example for programming. During board preparation it happens somehow by mistake, that ESP-01 slot is on bottom side of board. But it have no conflict with anything else, I did not change it. Keep it on mind during soldering components to board.
When I created board, I created added headers for connection to serial port of PC. They are just simple adapters.
Device needs to be powered. As a best I see spare USB charger. Here is two pads on boards for soldering cut out USB cable.
Following picture show schematic and board visualization. Board is produced as one piece and cut out at home. It was manufactured with Elecrow (they have less problems with boards combined like this). Gerber file is available for download.


Obr. 6 Schémata rozhraní pro připojení modulu ESP-01 | Fig. 6 Schematics of interfaces for use with module ESP-01



Gerber

Obr. 7 Deska plošných spojů pro ESP-01 | Fig. 7 Printed circuit board for ESP-01

Software

Software je velmi jednoduchý. Je to vlastně jen takový příklad. Vychází z běžného příkladu pro HTTP GET, do kterého jsou doplněny funkce pro stažení dat z Rego. Tento příklad stahuje základní hodnoty a odesílá je pomocí http na server. Server je pak zobrazuje pomocí RRD grafů.
Program je napsaný v prostředí Arduino. Je potřeba si najít nějaký návod, jak do prostředí Arduino přidat podporu pro procesor ESP8266 respektive ESP-01. Program do modulu ESP-01 je možné nahrát několika způsoby. Já jsem použil nahrání přímo v rozhraní, s použitím konektoru do PC, který je součástí desky. To je metoda spíše pro pokročilé uživatele, pro začátečníky existují různé programovací adaptéry.

software

Software is relatively simple. It is just example in reality. It is based on example for HTTP GET, with added functions for download of Rego data. This example downloads basic values and submit them to server using http protocol. Server display them by using RRD graphs.
Program is written using Arduino environment. It is necessary to find some manual, how to install support for ESP8266 respective ESP-01 to Arduino. It is possible to upload program to ESP-01 module various ways. I'm using upload directly inside interface with use of PC connector. That is part of PCB. This method is more advanced one. For beginners is exist various USB programming adapters.

IVT_to_ESP01.ino



Obr. 8 Fotografie desek v pracovním stavu s opravou některých chyb | Fig. 8 Photos of boards in working state with some bugfixes


License: This document can be used "as-is", if there will be copied or used any parts, document must be described in a list of information source. There must be presented valid link to document. If used for electronic document, the link must be active and clickable.
This document is distributed as postcardware. It mean, that you MUST send a paper postcard to authors s-mail address: Jindřich Fučík; Přátelství 60; Praha - Uhříněves; 104 00; Czech Republic
If you are a company, and planing to use it in your business, you MUST send also a box full of your marketing materials and advertising items.

Licence: Dokument může být používán tak jak je, pokud jsou některé části kopírovány nebo používany, dokument musí být označeny v seznamu zdrojů informací. Při kopírování musí být uvaden spravný odkaz na dokument. V případě použití v elektronických dokumentech musí být odkaz aktivní a klikatelný.
Tento dokument je poskytován jako postcardware. To znamená, že pokud jej chcete použít, MUSÍTE poslat papírovou pohlednici na autorovu adresu: Jindřich Fučík; Přátelství 60; Praha - Uhříněves; 104 00
Pokud jste firma a hodláte dokument použít k výdělečné činnosti, MUSÍTE poslat ještě škatuli marketingových a reklamních předmětů.
List of received postcards; Seznam přijatých pohlednic