Did you know that you might be able to remotely control or program your polyscience chiller?

They even have an (excessively bloated) PolyTemp app that will allow you to interact with the chiller through ethernet/RS232/RS485/USB. But if you haven’t paid for the “Advanced Programmable” version, they won’t let the app talk to the chiller.

Even though you can control it via ethernet.

Why? Obviously, Polyscience wants you to pay them multiple thousands of dollars to upgrade the control head to one that has built-in programming functionality.

So instead I banged together a python script that will let me give my chiller orders from the comfort of any device connected to the same network as the chiller, but without shelling out many thousands of dollars.

It’s based around a CSV file with a bunch of ramp steps laid out with temperature levels and milliseconds per ramp step. I’ve set my CSV generator to handle up to 20 ramp steps, though any arbitrary number of steps would be possible with minor tweaking.

It’s also possible to adjust the pump speed remotely, but I prefer to just keep it pinned to 100% for the most part.

One could even buy a cheap laptop with an ethernet port and connect it to a chiller with an ethernet cable and save a few thousands of dollars over upgrading the chiller head.

And now I don’t need to set a timer and prod my chiller every time it goes off if I want a slow ramp function.

34 Likes

I think my favourite type of engineering is spite engineering

24 Likes

Hold on to your hat, because I’ve got way more spite than money these days.

22 Likes

That’s sweet

1 Like

Haha you’re fucking dope link

1 Like

Now now! This is the type of content I live for!
Way to bypass that shit and save yourself some money!

I recently had a chiller vendor try and sell me a timed schedule start stop option for $500.

I was pissed at first but then laughed at him on the phone when I realized they never locked that feature out and I could already do it!

4 Likes

Hubers do this.

@morethanflower Huber’s software is broken and awful. I’m sure they advertise that you can, whether it’s realistic to do so is another issue entirely

3 Likes

Word guy. Worked pretty well for me when I used it but maybe it’s fallen behind now it’s been a couple years. Cool that polysci is making moves.

Awesome tinkering man!

You may be able to program some external alarms as well, for both temperature and changes in pressure/flowrate. Alarms are extremely useful in this application because the amount of programmed variables/conditions is proportional to the chiller’s potential for failure.

1 Like

Yup, there are a lot more read parameters than write parameters. You can only toggle on/off, pump speed, and temp setpoint. But it’s possible to read temps (internal and external probe if they are attached), fault status, and a bunch of other things. It would be trivial to set up alarms to go with it.

But with any luck I won’t be procuring any more polyscience chillers, so I’m unlikely to bother with anything other than a basic fault check. Maybe I’ll have it play Rick Astley if it faults.

Next up, I’ll be doing a similar trick with our G&D, though that will be modbus and not ethernet.

6 Likes

That’s hilarious!!! I can hear the intro drums now…

Super cool stuff, keep us updated

1 Like

@Lincoln20XX

You might be able to do something like this to initialize your ramp (untested but would be very pythonic :p)

ramp = [pd.read_csv(rampFolder+rampFile, useccols[x,x+1], header=0, names=[‘temp’,‘ms’]) for x in range(0,39)[::2]]

2 Likes

Well done!


import pyaudio
import wave

def rickRoll():
    chunk = 1024
    f = wave.open("rickRoll.wav","rb")  

    p = pyaudio.PyAudio()  
    stream = p.open(format = p.get_format_from_width(f.getsampwidth()),
                channels = f.getnchannels(),
                rate = f.getframerate(),
                output = True)

    data = f.readframes(chunk)

    while data:
        stream.write(data)
        data = f.readframes(chunk)

    stream.stop_stream()
    stream.close()
    p.terminate()

try:
    ... 
except:
    rickRoll()

:stuck_out_tongue:

6 Likes

This statement is my whole life

1 Like

Ooh that’s a much more elegant way of doing that. I just used excel to create the iterations because python is not something I use often and my brain is functionally just a club I hit things with these days.

2 Likes

quick question. my polyscience chiller just stopped working out of no where. turned it off one night and tried to turn it on the next day and nothing. just a blank screen.

Call polyscience, or across international or maybe even drop it off with summit research

1 Like

There’s a cable that plugs the computer in to the bath, give that a check. Try to see if the breaker switches on the back got flipped off. Try another outlet to see if the outlet died. Usually when you turn the units off they still glow blue underneath until you kill the back switch. Did that light go off the last time it was turned off? Does the back of the unit smell like ozone (fried electronics)?

3 Likes