Checked the frequency coming out of the bridge with an oscilloscope and it hits the same frequency for a given PWM every time.
..if I then go back to 0 and let it cool to ambient
...which will usually be at least a few degrees C higher.
0-36V and up to like 3A. No problems with the power consumption- only trying to take this up to 100C or so and I can well exceed that without maxing out the power supply.
Does the 'scope show that the voltage is holding? It does sort-of sound like you're running into power problems/variations...BTW - It's unusual to use PWM for heating/cooling. Usually, you turn the heat (or cooling) on 'till you hit your target temperature, then you turn it off 'till it drifts back out of the target range. i.e. Your home furnace switches on & off, your refrigerator switches on & off, etc. If a few degrees is a problem, you need feedback (like the thermostat for your furnace).
What's the voltage & current rating for the Peltier device? The device and the power supply don't "know" you want 100 C.
I don't have any experience with controlling peltier but I get the idea that pwm is not the right approach to control them.
At 12 Volts, the Peltier will draw around 5-6 amps regardless of what temperature interests you. Neither your power supply nor your H bridge can handle that at steady state, so the power supply voltage is sagging and the bridge heating up. Since you are using PWM, the effects will be transient and you will need an oscilloscope to see the details.
But from what you're describing, I'd expect to have unreliable results for a given PWM... even as it sits at the PWM. I get different temps for the same PWM, but if I repeat the test...PWM: 500; Temp: x...I can predict that in Test 3 I will get t and x for the temps at PWM: 500 and I do.What I can't predict is what temp I'll get if I use, say, 500 and 1000 instead, or any other 2 numbers.
3) I was under the impression that PWM just turned a signal on and off very very rapidly, not that it generated a positive and negative signal. Can someone else confirm which is correct?