02 January 2010

how hard is it to program a microwave oven?

i don't mean as an end-user, i mean as a developer.

What I want, as an end-user, is that if i program it for 2 minutes @ power level 5, for it to run at half-power for 2 minutes. No microwave oven I know of does that, so I suspect there may be an issue with running at less than full power. Let's take that as a given.

Thinking as a developer, I now have the task of running the oven for 2 minutes, but applying full power for 1 minute. I'm probably also looking at a minimum time of "engagement", i.e. the hardware guys tell me that the MTBF plummets if the engagement time is anything less than, say, 15 seconds.

Okay, now I have my parameters. Engage for 15 seconds, disengage for 15 seconds for 2 minutes. But I quickly -- and by quickly I'm comparing 5 minutes vs 30 years -- realize that for those last 15 seconds, the oven will not be engaged. Just spinning uselessly with the light on, but no heating taking place.

I then think to myself, "hey, as a developer, I could probably write a simple algorithm whereby the oven is always engaged when the timer starts, and when the timer ends."

And that may be a thought that has never occurred to any programmer of microwave ovens, ever, at any point.

so what gives? are there no "real" programmers programming these devices? is it all forestry majors and electrical engineers? (sorry, i think traditional-discipline engineers make crap programmers). Perhaps there are, ultimately, just one or two manufacturers of microwave oven control chips, and all the logic is built into there?

what gives? why is this so hard?


pyker said...

Presumably very little investment in the programming because it would have no impact on sales, except maybe yours.

JustJoeP said...

Zim, the wave generator (magnetron) can only operate on 110V (or 220V in the rest of the world) at full power. The hardware guy is right, it needs to saturate, and then disengage. It cannot run at "1/2 power" and produce "1/2 the heating". It is either ON or OFF. I frequently run my microwave at power level 5, or 6, for an extended time. I also realize it is idling, uselessly, for .5 or .4 of the time when I do so, but the residual microwave heating (of the waves bouncing around inside the food, heating water & fat) during the downtime.

When I worked at Michelin, I worked on (for almost 2 years) a microwave heater for tread rubber joints, so I understand magnetrons somewhat. They need moisture (or fat... looking for hydrogen atoms, or so I have been told).

"I'm feeling good vibrations.. single proton.. excitation.. good, good, good, good vibrations...."
[yes, I am on my 4th glass of wine)

pyker said...

Joe, even given constraint that the microwavin' can only be either on or off, and that half power thus means "powered half the time" (rather than "half-powered all the time"), the programming of the cycles is inelegant if it means the microwave pretends to be "on" to end the cycle, which is what Steve was complaining about. I've seen that as well. Steve's right, of course, it would be easy enough to distribute the on cycles such that it always starts and ends under power, but still meets the overall "percentage" goal. This is the kind of conscientious detail that separates mediocre software from good software.

Rick said...

Apparently, some manufacturers are taking the cycling of the magnetron to its logical conclusion and implementing pulse-width moduated power supplies. This effectively means the "cycling" takes place at a frequency of tens or hundreds of hertz (or more -- I don't know the design constraints here for full saturation and discharge).