Hot is the new cool!

After a very useful conversation on the Raspberry Pi Forum, it turns out all I need to temperature manage the MPU-6050 is a resistor.  Instead of using the Peltier to heat or cool the IMU to a mid-range arbitrary temperature, you use a resistor to heat the IMU to a safe above-ambient temperature – say 40°C (104°F, 313K).

Many SMD resistors will sit on the 4mm x 4mm top plate of the MPU-6050.  They tend to be rated at up to 1W max power rating and roughly 70°C at max power.

Taking power direct from the 5V battery means the current to supply max power to the resistor is (P = VI)

1W/5v = 0.2A

That’s a resistor of the order of (V = IR)

5V/0.2A = 25Ω

With that, PWM will prevent the resistor melting, and the MPU-6050 temperature sensor will provide feedback to maintain the chip at 40°C

Then all I need is a mosfet to switch 5V through the 25Ω resistor based on the GPIO pin 3.3v PWM.

Google “crystal oven” – this uses an op-amp, thermistor and resistor to do analogue temperature control of oscillator crystals which also drift with temperature.  In my case, the op-amp is replaced by a PID driving PWM output, the thermistor by the MPU-6050 temperature sensor, and the resistor stays the same.

Cool!

2 thoughts on “Hot is the new cool!

  1. OK, that should work. The Peltier solution is good if you want to keep a specific temperature which may be either above or below ambient. The resistor solution is, as pointed out, simpler and cheaper if you just need to maintain a specific temperature above ambient.
    If you just use the thermistor circuit, that takes a processing load off the Pi. The first one I looked at at Farnell can source or sink 200mA. Whatever decision, the exact temperature doesn’t matter – just that it is high enough to be maintained purely by heating in the expected operating environment.

    • I’m going to aim for 40 degrees – enough to cope with a hot sunny summer’s day in the UK, but well away from the resistor’s max operating temperature.

      The MPU6050 has a built in temperature sensor, so no need for a thermistor.
      I have PWM & PIDs littered throughout the code, so virtually 0 performance impact.
      The hardest part has been finding an SMD resistor which has low power ratings and yet is about the same size as the top of the MPU-6050!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.