View Single Post
Old 05-06-12, 02:24 PM   #14
Acuario
Apprentice EcoRenovator
 
Join Date: May 2011
Location: Tortosa, Spain
Posts: 221
Thanks: 2
Thanked 81 Times in 46 Posts
Default

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

Last edited by Acuario; 05-06-12 at 02:32 PM..
Acuario is offline   Reply With Quote
The Following User Says Thank You to Acuario For This Useful Post:
Lawrence (02-09-22)