ZVS induction heater

Update: see the bottom of the post.

In the last few days I've built myself an induction heater. This is part of some high-temperature electrochemistry I'm doing as a side project. I was tired of burning through nichrome wire for my mini-furnace, so I decided to give inductive heating a try. Below is a picture of the setup I currently have:

Picture of the setup. Glowing iron wire is visible.

85 W is being dumped into the iron wire in the work coil, causing the iron to glow red hot. Choke and capacitor temperatures are monitored with thermocouples. Unloaded tank voltage is 27 VRMS, around 11 VRMS loaded. The circuit is a typical Mazzilli-style zero voltage switch (ZVS) driver and is shown below:

Circuit.

Both 1N4148's and 1N4007's are used to try and make the gate switching as fast as possible. High-current traces must be beefed up by adding extra copper and solder, as shown in the photo below:

Bottom of board.

The LC tank is especially important, as it operates at around 50 kHz, meaning a skin depth of 300 µm. If this isn't done then the traces may easily overheat and start burning the underlying FR-4 substrate. Thickening the traces also improves the tank's Q, increasing efficiency.

A top-down shot is provided below:

Top-down view.

C1 and C2 have some aluminium tape attached to try and help with cooling. L1 is 8 turns of 6 mm copper tubing wound around a 35 mm steel bar as a former. L2 and L3 are 4 m of insulated wire wound on T130-2 toroids, a bit over 100 µH. Q1 and Q2 are some random N-channel MOSFETs I had laying around.

I don't yet have a power supply set up capable of delivering enough current to fully drive this thing. Before I do that I have some ideas for improvements:

  • reduce length, increase thickness of wire on chokes. Simulations show 3 µH may be enough. Litz wire and larger cores are further methods

  • use lower ESR capacitors, for example R76MW468050H3J or 505LC3400K5LM8

  • use a more application-suitable work coil. Smaller diameter and more turns, possibly using 2 mm magnet wire

  • bring frequency down to around 10 kHz to help with skin depth issues

  • add around 100 µF to the supply before the chokes

Updates

2021-04-25

Rewound the chokes using some home-made Litz wire. 30 strands 0.2 mm diameter, 2 meters per core. Measures at 16 µH. Significantly less heat, not much change in RMS voltage.

I also added 1 mF of input capacitance, which boosted the output voltage to 57 VRMS or so without load. This seems to have been enough to destroy at least one of the MOSFETs, since the BUK9518-55A is only rated for 55 V.

The MOSFETs were switched to a pair of IRF520's which have higher voltage rating but also a higher RDS(on), going from 12 mΩ to 270 mΩ. This results in much higher losses to where the heatsinks become noticably hot within a few seconds. The IRF520 has lower total gate charge and input capacitance, so the losses are not due to the transistors switching more slowly. Switch-on time should be around 200 ns, much lower than the cycle time of 20 µs.

Some 22 V Zeners were also added to the MOSFET gates to protect them. This is a few volts higher than what the datasheet says is the maximum allowable gate voltage, but it is what I have on hand.