I'm not sure better and cheaper go together and I'm not sure you specified your system properly yet either.
I see a missing parameter or one that isn't specified. How do you plan to "stop" the process? Elapsed time? Smoking time? or something else or doesn't it matter?
e.g. elapsed time 20 minutes or say 15 min worth of draws or maybe some other way to detect done? (Pressure?)
How many systems? or outputs?
I'll; give you a few terms:
www.picaxe.com. flowcode PLC, smart relay, I2C and Arduino
A smart relay (e.g. IDEC) might be able to handle 6 outputs or so and might be able to simultaneously do one experiment. So you have 4 rates and say one delay. Do them all at once. Stop each independently when so many seconds have been sampled or after an elapsed time. The IDEC IDE is essentially free, so you can try it out without buying it. So, you could have outputs and a done flag and one start button. the keypad can set the other parameters.