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.