Reverse-engineered direct spark ignition board from an oven

The direct spark ignition (DSI) board is responsible for opening the gas valve in an oven, igniting the gas, and ensuring that the valve closes if the flame goes out. I removed the DSI board shown below from an oven that failed and reverse engineered it. In this article, I will present its schematic and describe its operation.

Operation

The DSI receives three signals, BAKE_IN, BROIL_IN, and STOVE_IN. STOVE_IN connects to the live input through the four switches in the stove knobs. Whenever one of the switches is closed, 120VAC is connected to the STOVE_IN input, and the DSI ignites all four stove burners (although gas is not flowing to all of them). When the user selects the BAKE option, a relay on the oven's main board connects 120VAC to the BAKE_IN input, and the DSI board switches on the gas to the BAKE burner in the oven and tries to ignite it. If it determines that there is no flame, the gas valve is turned off immediately. Similarly, when the user selects the BROIL option, a relay on the main board connects 120VAC to the BROIL_IN input.

Schematic of the DSI board

Power supply section

The basis of the power supply is a capacitive dropper; however, the capacitive dropper is being used in an unusual way to generate both the 5 volt supply for the microcontroller and the 50 volt supply for the solenoids in the gas valve. In this circuit, C15 is the capacitive dropper. When the AC voltage is increasing, C15 pumps current through L1 and D1 and into C2. The voltage on C2 is limited to approximately 10.2 volts by the zener diodes Z1 and Z6:
When the AC voltage is decreasing, current flows through D2, C5, and D4. The voltage on C15 is limited to approximately 54 volts by the zener diodes Z3, Z4, and Z5:
However, this alone would not supply any power to the valves, which are connected to C4. The only way to charge C4 is through D3, but current will not naturally flow through D3 and C5 since D2 would block this. However, if Q1 turns on, current can flow through Q1, C5, D3, and R4 to charge C4:

Note that when Q1 is on, the bottom side of C5 is shorted to ground. This effectively prevents any charge from entering C5 through D4 or the capacitive dropper. As a result, Q1 must be constantly toggled on and off for the gas valve to receive continuous power. This is a safety feature that turns off the gas if Q1, Q2, or Q9 fail or the microcontroller crashes. Since the emitter of Q1 is not connected to ground, but instead to a node that could be at a lower voltage, it is not possible to drive the base directly from the output of the microcontroller, as even when the output of the microcontroller is off (0V), it is still higher than the emitter voltage. Thus, Q2 and Q9 form a level shifter that adapt the different voltage levels.

The microcontroller usually keeps Q2 off by letting SW_OUT go high. Thus, Q9 will turn on through R47, which then turns on Q1. To enable the supply to the gas valves, the microcontroller switches SW_OUT low while the AC voltage is decreasing. Thus, whenever the AC voltage is decreasing, Q1 is off, and C5 is allowed to charge. When the AC voltage is increasing, Q1 turns on and transfers some of its charge into C4. In the image below, the yellow waveform is the AC voltage and the blue waveform is the voltage on SW_OUT:

C9, D10, D11, and C10 form a voltage doubler that generates a 330V rail for the ignition circuit. In the negative AC half-cycle, C9 charges to about 169 volts through D10 and R37. During the positive half cycle, the voltage on C9 adds to the voltage coming in, so C10 charges to about 338 volts. In practice, the voltage is usually lower due to variations in the AC voltage and losses in the diodes.

Microcontroller section

Despite what the schematic says, the microcontroller on the board is a PIC16CR58B, which has the same pinout as the one in the schematic. It is powered from the 10.2 volt rail through a zener diode regulator consisting of Z2 and R3. R36 and C6 form an RC oscillator that acts as a clock source for the PIC. The oscillator operates at around 731kHz. All of the outputs are configured as open-collector only, meaning they can either be high-impedance (open circuit) or connected to ground; they are not capable of connecting the the positive rail.
The BAKE_IN, BROIL_IN, and STOVE_IN inputs are each connected to the microcontroller through a resistor divider (18k and 1k) and a clamping resistor (160k).

Valve control section

By default, the microcontroller will pull both BAKE_OUT and BROIL_OUT low to ensure that both gas valves are off. Suppose the user selects BAKE from the interface. The microcontroller will first enable power to the gas valves. Then, the microcontroller will switch BAKE_OUT to high-impedance. A small current will then flow through the broil valve, R26, and R27 and turn on Q4, which will switch a large current through the bake valve. In doing this, the broil valve is prevented from turning on, as BROIL_OUT cannot source any current and no current can flow through R23 and R24 as they are shorted to ground through Q4. When Q4 turns off, any current stored in the solenoid coil is dissipated in the flyback diode D8.

Ignition circuit and flame detection

Normally, both the RB1 and RB2 outputs of the microcontroller are high-impedance, so current can flow through R41 and R28, which turns on both SCRs. This shorts out the 330 volt rail through the primary windings of the transformers, which have a low resistance. When the user turns on one of the top burners, the microcontroller first pulls both both RB1 and RB2 low, switching off both SCRs. The 330 volt rail charges up to the appropriate voltage, and after a delay, the microcontroller turns Q8 back on, which shorts the 330V rail through the primary sides of T3 and T4. The transformers multiply the voltage, producing a very high voltage on the output. Finally, once the ignition signal has stopped, the microcontroller first turns on Q8 to short the 330V rail so no spark is generated when Q7 turns back on.

When the user selects either BAKE or BROIL from the interface, the SCRs are driven in a similar way, but the transformers are configured differently. One side of T1 is connected to earth via a metal-oxide varistor, which only conducts when the voltage is above 400 volts. This protects the flame sensing circuit from the high-voltage generated during ignition.

When the ignition circuit for the bake and broil burners is not active, T5 couples 120VAC onto the IGN_BAKE and IGN_BROIL outputs. Normally, there is no voltage on C8 since very little current will flow through R33. The low-pass filter formed by R33 and C7 attenuates the 60Hz signal significantly, so the input to the JFET will be near zero volts. This keeps the JFET on, which pulls IGN_FB down. However, when a flame is present, due to the flame rectification effect, the flame acts like a diode from IGN_BAKE or IGN_BROIL to earth. As a result, C8 charges through R34 or R35 and the flame. The left side of C8 will be at a lower voltage then the right side. This DC voltage passes through the low-pass voltage, resulting in a large negative voltage on C7. This causes the JFET to turn off, and IGN_FB goes high.

Comments

Popular posts from this blog

Improving and calibrating the capacitive water sensor

Controlling a ceiling fan and light with an Arduino

Turn a buck converter module into a buck-boost converter with only two components