EcoRenovator

EcoRenovator (https://ecorenovator.org/forum/index.php)
-   Geothermal & Heat Pumps (https://ecorenovator.org/forum/forumdisplay.php?f=10)
-   -   Controlling a DC inverter machine (https://ecorenovator.org/forum/showthread.php?t=2169)

S-F 04-17-12 11:54 AM

Quote:

Originally Posted by AC_Hacker (Post 21289)

As far as I'm concerned, this project you have going is the holy grail of heat pump h
Additionally, from my point of view, breaking the code on the inverter compressors makes them candidates for ultra high efficiency GSHPs, which would place our hacker community right at the cutting edge of the technology.


-AC_Hacker

Did you contact Paul Voyland? I gave him a ring myself the other day and he hasn't gotten back to me yet. He must be busy.

Acuario 04-18-12 02:46 PM

Ok, probably 1200 baud - my logic probe has an auto baud function and it reported 1204; near enough.

I'm using the trace and compare brute force thing to work out what's going on - must be 20 years since I last did that! Anyway, as time permits I will keep hacking..

Nigel

Xringer 04-18-12 05:23 PM

Keep up the good work Nigel. I'm pretty sure the early work that I saw on the web
didn't include a clear description of the command &or status bytes &or bits.
(I may have even posted a link somewhere here, but lost track of it).

I'm hoping that you will include this kind of detailed information in your posts.
It might be a first for the WWW, :) to have this kind of industry inside data exposed.

Hopefully, the protocol and bit definitions will be standard across many product lines.
But, even if they aren't, your methods and results will still be very useful as a guide for other experimenters.

Acuario 05-06-12 02:24 PM

I've made some pretty significant progress since my last post - shut in my shed for the last 2 days with a pc/logic analyser/oscilloscope etc...

I can nowcommunicate with the machine and turn it on and off from my pc - no mean feat I can assure you!

It's meant a bit of electronics to interface from the PC to the internal unit control board, to be more precise - a MAX232 to interface the TTL data signal from the board to the RS232 for the serial port. I suffered big problems with interference using the MAX232 to level convert from the RS232 to the board (logic analyser/scope found the problem) so I ended up using an MC1489 line receiver - that sorted the problem. Just as well I have all the bits from when I used to design hardware.

A fair amount of programming to decode/encode/log etc. All in Visual basic at the moment.

A bit of playing with the timing sending the data frames, some head scratching over why what I was sending seemed to be ignored (it was the sequence I was using to reset the data comms) and hey presto - it functions!

There are still a lot of bytes that I don't know what they are/do but I have emulated enough using hard coded frames to be able to keep the communication going with the exernal unit (if the comms does not keep running and the machine loses the data link it shuts off - a safety feature I guess).

I know how to change the mode between heat/cool, set the temperature, monitor the temperature of the external unit thermistors and a few more things too..

It's certainly a bigger challenge than just switching on/off the compressor!

Not really anything of interest to post in terms of photos at the moment unless you enjoy the sight of a breadboard and spaghetti junction!

Will keep you informed of further progress.

Here is a snippet of what I have been working with - the data is from the machine, the labels for the frames are mine (from brute force analysing!)

F00F010680000000000000000000000000000086 Reset1
F08F000600000000000000000000000000000085 INT_RESET_1B
000F00010203150000000000000000000000002A Reset2
008F0001024704500A313E334102380000000054 INT_RESET_2
010F00010203150000000000000000000000002B Reset3
018F0001024704500A313E334102380000000055 INT_RESET_3
F80F00A2003C476A017F807F80000012000000A7 Reset4
F88F009F803A484DDD0000120000000000000064 INT_RESET_4
C10F00001880162E2E1D000000000000000000F7 ExtTempReport
D08F000102001E00000080000000001C60666042 Internal control
C20F0000002701000000000000000000000000F9 EXT_REQ_COM
C18F00001700170117811780178080000088004D INT_TEMP
D10F000000001A02020000B0B00000000010006E PostRun
D08F000102001E00000080000000001C60666042 Internal control
0F0F000102031500000000000000000000000039 Reset8
408F00E10F0000000000000000000000000000BF INT_RESET_8
C10F00001880162E2E1D000000000000000000F7 ExtTempReport
C08F000F000000770000000000000000000000D5 INT_RESTART_COMM
C20F000000780000000000000000000000000049 EXT_REQ_COM
D08F000102001E00000080000000001C60666042 Internal control

From what I have deduced the frame starts with a command byte, the frames with 0F are from the external unit, those with 8F are from the internal unit, the third byte is always 00. The final byte is the checksum for the frame. What is in the middle is the fun bit!

Nigel

xotet 05-06-12 03:03 PM

Hi Nigel, great Job!!!!! this is very promising. I only worried with the logic of the PCB that controls the Outdoor unit, for example you can send a command to put the unit on in the heat mode but imagine you would like a temp on the HX of 55ēC maybe the unit don´t respond to its command due to the conditions ex Outside temp, or the safety features can be activated by the PCB preventing the target temp etc.....


But keep on the good work

Xotet

Xringer 05-06-12 03:29 PM

Wow, is that 20 eight bit bytes?? Somehow, I never figured it a control segment would be that long!
Don't you wish that you had a programmers manual.. ;)

Now you are getting me interested in what's coming out of the IR remote control..
Kinda wonder how long those IR bursts are.?.

Acuario 05-07-12 12:49 AM

Quote:

Originally Posted by Xringer (Post 21676)
Wow, is that 20 eight bit bytes?? Somehow, I never figured it a control segment would be that long!
Don't you wish that you had a programmers manual.. ;)

Now you are getting me interested in what's coming out of the IR remote control..
Kinda wonder how long those IR bursts are.?.

A programmers manual would have been great but much less fun!

Remote control data frames aren't too long if I remember correctly. One of my first ever hacks when I was in my mid teens was an Amstrad remote control that operated a stereo (the stereo had been smashed up). It used an 8048 processor to process the commands and operate the setreo - channel change etc. I hacked the code and programmed my own 8748 device to use as a remote control to operate relays to change the channels on my TV (it was the old push button type that you had to physically change channels on).. oh the memories come flooding back.

As stated in the post you directed me to earlier, the problem is there is no feedback to the remote so you don't know what the external unit is doing.

Nigel

Acuario 05-07-12 12:59 AM

Quote:

Originally Posted by xotet (Post 21674)
Hi Nigel, great Job!!!!! this is very promising. I only worried with the logic of the PCB that controls the Outdoor unit, for example you can send a command to put the unit on in the heat mode but imagine you would like a temp on the HX of 55ēC maybe the unit don´t respond to its command due to the conditions ex Outside temp, or the safety features can be activated by the PCB preventing the target temp etc.....


But keep on the good work

Xotet

There are 2 frames that report the relevant temperatures the units are seeing, one from the external machine that looks like it reports 4 temperatures, one being the sensor close to the evaporator, the other 3 I guess are inside but I haven't opend it up to identify which is which yet - a bit of freezer spray quickly identifies it.

The frame from the internal unit reports the ambient temperature as seen by the sensor on the control board and the temperature of the pipe thermistor connected to the hx. So I'm guessing for now that the unit is intelligent enough to start reducing it's compressor when the temperature approaches the set temperature.

The command frame (Internal control on the dump) is where the operating mode, control to switch on/off and desired temperature is set.

Nigel

AC_Hacker 05-08-12 06:11 PM

Quote:

Originally Posted by Acuario (Post 21673)
It's meant a bit of electronics to interface from the PC to the internal unit control board, to be more precise - a MAX232 to interface the TTL data signal from the board to the RS232 for the serial port. I suffered big problems with interference using the MAX232 to level convert from the RS232 to the board (logic analyser/scope found the problem) so I ended up using an MC1489 line receiver - that sorted the problem. Just as well I have all the bits from when I used to design hardware.

Do you have a schematic for your interface board?

I'd like to see if I can make some sense out of my Sanyo.

Thanks,

-AC

S-F 05-08-12 07:02 PM

This thread rocks. You guys are awesome.

I don't know why controlling mini splits is so difficult. Even using an IR blaster appears to be an issue. If they could simply make these things interface with a normal thermostat I'd be on the bandwagon tomorrow. As it is I wouldn't be able to control them with my home automation system so I couldn't tell the AC to shut off if a door were opened for a certain amount of time or something like that.


All times are GMT -5. The time now is 05:11 AM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Ad Management by RedTyger