I've been experimenting with ovens for a few months now, this is my latest incarnation...
It uses a PTC (pair) and an ADS1247 ADC and then generates an analogue heater control voltage using two of the current DAC's in the PSoC which then drive 6 different transistor/resistor heaters around the board.
It's intended to support a daughter board with a large number of parallel REF102's (as per the paper that's floating around that I can never find when I need it), so the rest of the components are power supplies and some options for buffering and filtering to experiment with.
It's all in a small(ish) die-cast enclosure, but I've had to increase the size of it to cope with the (future) power dissipation of the REF102's. I had some good results with air. I tried adding a circulation fan, but that made things incredibly noisy (electrically), and now I'm doing some experiments with mineral oil.
Without crazy tuning I'm typically seeing temperatures within about 20mK (of 44C) measured on an external DMM and the thermistor you can see in the picture, this is with overnight ambient variations of 5 to 6 degrees. However I am starting to doubt the accuracy of that as a validation mechanism -- I'm fairly sure my DMM isn't great with temperature changes, and I'll definitely have some thermal emf in the test setup. I'm able to keep within four or five mK if you believe the ADC results.
I gave up on PID as a control method quite some time ago, I now have a focus on the first and second derivatives of temperature and am getting much better results. At the moment I'm specifically working on trying to improve recovery from upsets ... which can be quite slow in oil!
Lots of things still to do:
- I've built a TMP117 module for use as an external sensor to pre-warn of ambient changes to get a head start before the ADC detects it.
- The ADC is noisy and I have no hardware filtering, so I need to do something about that. (Software filtering has helped a lot though)
- My test rig isn't particularly well sealed because of the cables, I'll probably add another layer of insulation.
- The heaters presumably heat the PCB and the PTC's are directly on the PCB so I think that's skewing results, ideally I'll put the PTC's on the daughterboard, but that needs a bigger redesign. May just add some more slots for the next revision.
- There are a few other board tidies to do (as you can see I missed the Vref cap and connections completely on the ADS1247!)
Very keen to get any input ... and happy to share schematics/code if anyone is interested (neither of which are tidy at the moment!)
EDIT: I've added a photo of the daughterboard if anyone is interested. It's double sided and can take 120 x REF102's. It needs a redesign and I need to be comfortable everything is looking good before I shell out hundreds of pounds on REF102's!