Author Topic: Probing a ZVS based induction heater coil without damaging scope (or myself)  (Read 907 times)

0 Members and 1 Guest are viewing this topic.

Offline professional_studentTopic starter

  • Newbie
  • Posts: 3
  • Country: us
First post. I'm a low level, self-taught hobbyist, so I figured maybe this was the place to ask this question...

I have an induction annealing system, and as a medium term project, I'd like to add voltage and frequency monitoring on the work coil. I'm using an arduino controller to switch an SSR on/off that controls power to the ZVS, so, I would first like to understand the basic range of voltage and frequency I'll have to deal with before I move forward. Don't want to fry the controller by just guessing. The system uses a 1kw 48v power supply into a ZVS circuit to feed into a work coil which anneals thin brass tubing. Eventually, I want to see if I can get the arduino to perhaps automate the annealing cycle based on the inductance state of the workpiece rather than using a simple timer system.

I've done some probing with a multimeter, trying to get an approximate answer, and it says the coil is oscillating at around 80khz. Not sure if my mm is accurate enough to really make that meaningful, but it is in the ballpark based on my calculations knowing the capacitor values and rough coil inductance calculation. I was shooting for around 100khz when I designed it, so it seems fair enough.

The voltage reading (taken from one side of the coil to chassis ground) is all over the place. I've seen readings of 2kv or more. Obviously, when I do this, I hook the meter up first, and do not touch it during the cycle, as this is way past it's rated voltage. FWIW, I had no idea it would be that high when I tried this.... live and learn (fortunately, I lived).

I'd like to get more accurate readings with my oscilloscope, but obviously, I can't send this input voltage to it.

Can I just make a voltage divider with two resistors and drop the voltage, say 1000x, by probing in between them? The arduino analog pins max at 5v. I figure I want to give plenty of headroom to the circuit, since I don't know what's really coming out, so I'm assuming a 5kV AC signal coming from the coil. I've calculated this, and to keep the dissipated watts under 1/4w would take something like a 100 mohm resistor with a 100k as the second. At least I think this is correct.

Ok, so, my 1/4w resistors cap out at 10 mohm, and I think they are not capable of withstanding 1kV+. LOL.

SO, maybe the first resistor would be something like this: https://www.amazon.com/uxcell-Voltage-Glass-Glaze-Resistor/dp/B0087ZCBX4

And the second resistor could be a plain jane 1/4w since it's only dropping 5v?

I know the scope can handle way more than the arduino, but I figure buy once/cry once on the resistor network. I can always modify R2 to get the voltage up if I turn out to have way overestimated the voltage.

Any input, feedback, or help would be appreciated. Again, I'm only loosely aware of what other complications could come from this, and I'd like to avoid frying my shiny new scope. Thank you!
 

Offline RoGeorge

  • Super Contributor
  • ***
  • Posts: 6706
  • Country: ro
Welcome.  :)

First question would be why does it matter to know the frequency or the voltage on the induction coil?

Since most of the energy is supposed to end in the metal to be annealed, wouldn't be enough to know/measure only the energy pumped in from the 48V source, or maybe by buying an energy meter for the mains voltage, and connect it before the 48V/1kW power supply?



Anyway, if you want to know the frequency, that's easy, and it doesn't need direct contact with the ZFS coil.  I would use a current transformer in series with the heating coil.  A transformer can easily withstand many kV, while a resistor divider might arch in time because of dust or humidity deposited along the resistor.  Also, the transformer won't dissipate energy, while a resistor might heat.

The current transformer can be a simple wire anchored near one of the wires that goes to the coil (no direct electric contact, only coupled through the electromagnetic field, by induction).  Something like seen in the "Basic operation of current transformer" picture in https://en.wikipedia.org/wiki/Current_transformer

That should be enough to read the frequency and the current through the heating coil.



Arduino can work with inputs between 0 and Vcc (usually Vcc is +5V, but depending on the Arduino model, it can be 3.3V as well).  There are over-voltage and unde-voltage protection diodes at each pin, diodes tied to Vcc and to GND respectively, which can protect the Arduino against voltages outside the 0 to Vcc range, but only if an (external) series resistor is attached to the pin, so to limit the max current through those protection diodes.
See "Figure 10-1. I/O Pin Equivalent Schematic" at page 57 of 308 for those protection diodes https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7530-Automotive-Microcontrollers-ATmega48-ATmega88-ATmega168_Datasheet.pdf

Keep in mind you will need to look at the similar info for the exact microcontroller type used in your Arduino, the microcontroller models can vary a lot with the versions of various boards called "Arduino".
« Last Edit: September 03, 2022, 08:05:40 am by RoGeorge »
 
The following users thanked this post: professional_student

Offline professional_studentTopic starter

  • Newbie
  • Posts: 3
  • Country: us
Welcome.  :)

First question would be why does it matter to know the frequency or the voltage on the induction coil?

Since most of the energy is supposed to end in the metal to be annealed, wouldn't be enough to know/measure only the energy pumped in from the 48V source, or maybe by buying an energy meter for the mains voltage, and connect it before the 48V/1kW power supply?



Anyway, if you want to know the frequency, that's easy, and it doesn't need direct contact with the ZFS coil.  I would use a current transformer in series with the heating coil.  A transformer can easily withstand many kV, while a resistor divider might arch in time because of dust or humidity deposited along the resistor.  Also, the transformer won't dissipate energy, while a resistor might heat.

The current transformer can be a simple wire anchored near one of the wires that goes to the coil (no direct electric contact, only coupled through the electromagnetic field, by induction).  Something like seen in the "Basic operation of current transformer" picture in https://en.wikipedia.org/wiki/Current_transformer

That should be enough to read the frequency and the current through the heating coil.



Arduino can work with inputs between 0 and Vcc (usually Vcc is +5V, but depending on the Arduino model, it can be 3.3V as well).  There are over-voltage and unde-voltage protection diodes at each pin, diodes tied to Vcc and to GND respectively, which can protect the Arduino against voltages outside the 0 to Vcc range, but only if an (external) series resistor is attached to the pin, so to limit the max current through those protection diodes.
See "Figure 10-1. I/O Pin Equivalent Schematic" at page 57 of 308 for those protection diodes https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7530-Automotive-Microcontrollers-ATmega48-ATmega88-ATmega168_Datasheet.pdf

Keep in mind you will need to look at the similar info for the exact microcontroller type used in your Arduino, the microcontroller models can vary a lot with the versions of various boards called "Arduino".

On the frequency, as the piece heats, it's inductive properties change. Typically, the frequency will fall as the piece heats. It might be that I can measure the power and that give me enough data, but the frequency would give me one more variable to test to see if I can spot what's happening and when. My plan is to actually monitor amps, volts, and frequency at the same time, and then do some testing to see which and what combination gives the best discrimination on actual results.

I'll look into the current transformer idea. I actually have a spare inductor or two lying around that may serve that purpose. There's a pretty good chance that my estimates are way off on the voltage, and it's likely way lower... other people running similar circuits to mine aren't seeing anything crazy. So, maybe it's just an instrumentation error... getting the scope on it will help identify that.

I think I have an honest to goodness Arduino Uno installed currently. I'll read up on the pin protection.

I really appreciate the feedback. Thank you.
 

Online Wolfram

  • Frequent Contributor
  • **
  • Posts: 406
  • Country: no
5 kV is almost certainly an erroneous reading, most multimeters are not designed to work at 80 kHz. The self-oscillating parallel resonant current fed induction heater will develop a peak voltage of pi times the DC supply voltage, around 150 V in your case.

To measure the frequency of operation, you can use a voltage divider from one side of the coil provided that the induction heater and measurement system share a common ground. Keep in mind with resistive dividers, stray capacitance of the resistors can be problematic at higher frequencies. A 1 megaohm resistor with 2 pF of stray capacitance will have a complex impedance of 700 kohm at 80 kHz, a significant deviation from the DC value. The resulting signal will still be useful for measuring the frequency, but the amplitude will depend on frequency and it will not be the value expected from the DC value of the resistors.

For feeding the signal into an Arduino, it should be filtered and cleaned up a bit, to make frequency measurement reliable. Low-pass filtering, and feeding it into a comparator with some hysteresis (or a schmitt-trigger) is a good start. Make sure the Arduino input you are using has the ability to measure frequency at the required resolution.
 
The following users thanked this post: professional_student

Offline mag_therm

  • Frequent Contributor
  • **
  • Posts: 783
  • Country: us
I would not recommend galvanically connecting oscilloscope to induction heating circuits even via a divider.
Instead, use a Rogowski coil with high isolation voltage.
PEM in UK specialize in these, and there are other brands too:
http://www.pemuk.com/products/cwt-current-probe.aspx

These allow accurate measurement of current and frequency reasonably safely.
When you have capacitor nameplate, and maybe  inductance meter to cold check the disconnected induction coil, and using the kW meter of the inverter,
you have enough information for calculations.
 
The following users thanked this post: professional_student

Offline professional_studentTopic starter

  • Newbie
  • Posts: 3
  • Country: us
5 kV is almost certainly an erroneous reading, most multimeters are not designed to work at 80 kHz. The self-oscillating parallel resonant current fed induction heater will develop a peak voltage of pi times the DC supply voltage, around 150 V in your case.

To measure the frequency of operation, you can use a voltage divider from one side of the coil provided that the induction heater and measurement system share a common ground. Keep in mind with resistive dividers, stray capacitance of the resistors can be problematic at higher frequencies. A 1 megaohm resistor with 2 pF of stray capacitance will have a complex impedance of 700 kohm at 80 kHz, a significant deviation from the DC value. The resulting signal will still be useful for measuring the frequency, but the amplitude will depend on frequency and it will not be the value expected from the DC value of the resistors.

For feeding the signal into an Arduino, it should be filtered and cleaned up a bit, to make frequency measurement reliable. Low-pass filtering, and feeding it into a comparator with some hysteresis (or a schmitt-trigger) is a good start. Make sure the Arduino input you are using has the ability to measure frequency at the required resolution.

So, I got the big 100mohm resistor in today, and sure enough... the readings were junk. Fortunately, it was good enough for me to realize that you're correct, and the voltages are not even close to the MM's readings. My Vmax is around 110v peak to peak on the coil.

Further, the suggestions on reading the frequency from other inductive components are completely correct. Even holding up a random looped wire within 6 inches of the work coil picks up enough that I can measure the frequency that way. It's easy to see on the scope... probably need some noise filtering to do it on the Arduino. Voltage would be more of a problem, but I might be able to calibrate the coil when it's in it's final position based on the direct readings from the scope, since I could check both at the same time.


Scope direct: 1582768-0
Coil of wire: 1582774-1
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf