Comment by acyou

2 days ago

These mini split inverter units seem to be good for +/- 1 C, but the 2 C swing can feel quite substantial.

PID control seems to be lacking overall, the control laws seem to be more basic. In particular, my unit waits until temperature deviation from setpoint exceeds 1C before cycling on. If I want finer control, there are a few options I can think of: 1. Spoof the temperature, add a TEC , heater, cooler or something to the sensor on the remote 2. Manipulate the controller buttons, change the setpoint down or up by 0.5 degrees so the unit kicks on after a 0.5 degree change instead of a 1 degree change 3. Spoof the temperature sensor itself, hack into the wiring with some transistor based circuit 4. Hack into the actual unit, fully take over the compressor and fan control 5. Buy a better unit or off the shelf controller 6. Spoof the remote control, reverse engineer the IR communication temperature signal

This last option seems the least intrusive and cleanest, I see other people have done it, it's definitely a lot of work even with AI.

Is your unit one of the ubiquitous Midea rebadges? Or at least one where the remote does 'follow me' type periodic, remote temp reporting?

If so, you're right, the easiest way is to build/buy an IR blaster module for a microcontroller (ESP32 if you want wifi) and connect a temperature sensor. HA/EspHome is overkill for this, but can be useful for the large catalog of pre built integrations. Most of them are built using/on IR libraries for 'Arduino' anyway, so you can easily roll your own with a half dozen lines of C++.

Mapping out your own PID correction algorithm (esp says the room is 72 F when it's really 70 F to get it to cool sooner), but usually just having the remote room temp sensor near where you'd be sitting instead of near the ceiling or in the return air stream gets you close enough.

  • Thanks for this. Yeah, it has the follow me mode that sends temperature from the remote control every 3 minutes. I think it's a Senville from Home Depot. The remote control sensor only seems to read at 1 C resolution, so it seems like using the follow me mode with the stock remote is right out of the question.

    My biggest worry is the heat from the microcontroller affecting the temperature on the temperature sensor. I want to use a Sensirion SHT45, it has 0.01 degree temperature resolution and is supposed to be accurate to 0.1 C. But I need to locate the temp sensor far enough away from the microcontroller to make the overall remote controller form factor awkward. I have a Raspberry Pi 4 that does the temperature data logging and web server, but that runs pretty hot.

  • >Mapping out your own PID correction algorithm

    I want to do this but I'm worried about stressing the compressor with extra start/stop cycles would shorten its lifespan. Maybe they are programmed to overshoot/undershoot the set temp to prolong lifespan?

    Disclaimer: I know next to nothing about how ACs work beyond the very basics.

    • Yeah, you can cause it to short cycle for sure. But you can also get better control without excessive short cycling. If you're worried about short cycling, just include that in the control algorithm.

      Short cycling would be bad in the sense that the motor frequently turns on. The maximum current is during motor start and the maximum motor coil cooling is when the fan is running at high speed steadily. So if it starts a lot and doesn't run much at high speed you might tend to overheat, sure. That would definitely drastically reduce the motor lifespan.

      If you are still starting periodically and running for awhile, you can see where this goes.

      I think it's not overshoot/undershoot that is happening so much as delayed kick on.

Would running the unit in Fahrenheit improve the sensitivity?

  • I don't think so? But I would have to do some testing to tell. The unit thermometer precision appears to be 0.2 C. I think the remote thermostat precision is worse than the thermostat on the unit itself.