Capacitor shorting switch using n-channel MOSFET STP55NF0L and Arduino Nano.

Thread Starter

rishrsoni

Joined Aug 11, 2023
10
I am developing a pulsed electric arc welder for welding jewellery and need to develop a capacitor bank shorting switch using a mosfet. The idea is to short the capacitor for very small time eg. 0.5-2uS for a controlled arcing using Arduino nano and mosfet a a switch. I have attached the approximate wiring diagram for the same. When i implemented the circuit, the mosfet got damaged and now Drain and source is shorted. Thank you in advance.

- Rishi R. Soni
 

Attachments

Ya’akov

Joined Jan 27, 2019
8,542
Welcome to AAC.

The STP55NFO6L has an \( \mathsf{I_{DM}} \) of 220A. It certainly seems that you could be exceeding that which would explain the damaged transistors.
 

Thread Starter

rishrsoni

Joined Aug 11, 2023
10
Welcome to AAC.

The STP55NFO6L has an \( \mathsf{I_{DM}} \) of 220A. It certainly seems that you could be exceeding that which would explain the damaged transistors.
Thank you for prompt reply Ya'akov.

Yes that seems logical. Will give one more try with multiple MOSFET's in parallel and then see the result.
 

Thread Starter

rishrsoni

Joined Aug 11, 2023
10
Plus, arcing (welding) creates a lot of noise on its power lines that is not good for electronics.
There is no power lines used for arcing. The charge stored in the capacitor is used to create the arc, hence its power is limited and not connected to any power line.
 

djsfantasi

Joined Apr 11, 2010
9,131
There is no power lines used for arcing. The charge stored in the capacitor is used to create the arc, hence its power is limited and not connected to any power line.
Ok, the term “power line” may be not the best one. I’m referring to the shared ground, the Nano’s 5V (or whatever) line or the GPIO used to switch the MOSFETs. The welding operation will send “noise” (or extreme spikes) to all of these. The Nano or the MOSFETS could/will be destroyed by these spikes.
 

jrb_sland

Joined Dec 24, 2021
20
I am developing a pulsed electric arc welder for welding jewellery and need to develop a capacitor bank shorting switch using a mosfet. The idea is to short the capacitor for very small time eg. 0.5-2uS for a controlled arcing using Arduino nano and mosfet a a switch. I have attached the approximate wiring diagram for the same. When i implemented the circuit, the mosfet got damaged and now Drain and source is shorted. Thank you in advance.

- Rishi R. Soni
Where is the arc? You schematic shows 4x mosfets wired directly across a bank of paralleled capacitors. Where is the load? As drawn, when the Arduino triggers the mosfets, they will short the capacitors & melt the mosfets, as you have successfully already demonstrated. Where in the circuit would you place the piece of jewellery to be spot-welded? Forget the mosfets for a moment - how would you do this with a heavy wire instead of the mosfets?
Forget the 1 us pulse - just size the capacitor bank to provide enough energy, when fully discharged, for each "shot". You can then adjust the shot energy by varying the voltage to which you charge the capacitor(s). How will you (re)charge the capacitors? Flesh out your design - your present sketch is inadequate.
 

Thread Starter

rishrsoni

Joined Aug 11, 2023
10
Ok, the term “power line” may be not the best one. I’m referring to the shared ground, the Nano’s 5V (or whatever) line or the GPIO used to switch the MOSFETs. The welding operation will send “noise” (or extreme spikes) to all of these. The Nano or the MOSFETS could/will be destroyed by these spikes.
hi djsfantasi,

Yes you correctly pointed out that, which happened earlier also, hence i isolated arduino and capacitor ground. To make it more clear, i am attaching the entire circuit diagram of the project.
 

Attachments

DickCappels

Joined Aug 21, 2008
10,104
Now that we have finally arrived here, may I ask, why did you short the capacitor bank? Maybe we can help you find a better way of achieving what you desire.
 

Thread Starter

rishrsoni

Joined Aug 11, 2023
10
Where is the arc? You schematic shows 4x mosfets wired directly across a bank of paralleled capacitors. Where is the load? As drawn, when the Arduino triggers the mosfets, they will short the capacitors & melt the mosfets, as you have successfully already demonstrated. Where in the circuit would you place the piece of jewellery to be spot-welded? Forget the mosfets for a moment - how would you do this with a heavy wire instead of the mosfets?
Forget the 1 us pulse - just size the capacitor bank to provide enough energy, when fully discharged, for each "shot". You can then adjust the shot energy by varying the voltage to which you charge the capacitor(s). How will you (re)charge the capacitors? Flesh out your design - your present sketch is inadequate.
Hi jrb,
As you rightfully pointed out to charge the capacitor at varying voltage for varying arc shot, i have already implemented that using a potentiometer type trimmer and charging relay to charge the capacitor bank. But even after keeping minimum voltage, the spark created becomes to heavy for fine jewellery. Hence to further optimise the process, i have to use the mosfet as a switch for required arc power.

The entire flow chart for arc welding is as follows:
1. Initially, the electrode is connected with arduino power to sense for the workpiece.
2. Once, the workpiece is sensed by the arduino, it triggers a relay which switches the electrode and workpiece alligator clip from arduino power (5vdc) to capacitor bank(15-40VDC). Hence ensuring both the power ie 5Vdc and capacitor dont mix and cause trouble.
3. Once the Capacitor current runs through the electrode to the workpiece, after 1000-1500uS, one more relay activates by arduino to retract the electrode about 3mm from the workpiece creating an arc using the principle of thermoionic emmision.
4. Once, it retract i need the arcing to happen for a precise amount of time(05uS-2uS), hence i am using MOSFET switch here.
5. Once the weld is complete, the first relay will switch back the electrode from capacitor power to arduino power(5v) ready for next cycle and the capacitor will be charged by another relay at the voltage specified by the trimmer.

To make it more clear, I am attaching the entire diagram of the project.
 

Attachments

Thread Starter

rishrsoni

Joined Aug 11, 2023
10
Now that we have finally arrived here, may I ask, why did you short the capacitor bank? Maybe we can help you find a better way of achieving what you desire.
The entire flow chart for arc welding is as follows:
1. Initially, the electrode is connected with arduino power to sense for the workpiece.
2. Once, the workpiece is sensed by the arduino, it triggers a relay which switches the electrode and workpiece alligator clip from arduino power (5vdc) to capacitor bank(15-40VDC). Hence ensuring both the power ie 5Vdc and capacitor dont mix and cause trouble.
3. Once the Capacitor current runs through the electrode to the workpiece, after 1000-1500uS, one more relay activates by arduino to retract the electrode about 3mm from the workpiece creating an arc using the principle of thermoionic emmision.
4. Once, it retract i need the arcing to happen for a precise amount of time(05uS-2uS), hence i am using MOSFET switch here.
5. Once the weld is complete, the first relay will switch back the electrode from capacitor power to arduino power(5v) ready for next cycle and the capacitor will be charged by another relay at the voltage specified by the trimmer.

To make it more clear, I am attaching the entire diagram of the project.
 

Attachments

jrb_sland

Joined Dec 24, 2021
20
Hi jrb,
As you rightfully pointed out to charge the capacitor at varying voltage for varying arc shot, i have already implemented that using a potentiometer type trimmer and charging relay to charge the capacitor bank. But even after keeping minimum voltage, the spark created becomes to heavy for fine jewellery. Hence to further optimise the process, i have to use the mosfet as a switch for required arc power.

The entire flow chart for arc welding is as follows:
1. Initially, the electrode is connected with arduino power to sense for the workpiece.
2. Once, the workpiece is sensed by the arduino, it triggers a relay which switches the electrode and workpiece alligator clip from arduino power (5vdc) to capacitor bank(15-40VDC). Hence ensuring both the power ie 5Vdc and capacitor dont mix and cause trouble.
3. Once the Capacitor current runs through the electrode to the workpiece, after 1000-1500uS, one more relay activates by arduino to retract the electrode about 3mm from the workpiece creating an arc using the principle of thermoionic emmision.
4. Once, it retract i need the arcing to happen for a precise amount of time(05uS-2uS), hence i am using MOSFET switch here.
5. Once the weld is complete, the first relay will switch back the electrode from capacitor power to arduino power(5v) ready for next cycle and the capacitor will be charged by another relay at the voltage specified by the trimmer.

To make it more clear, I am attaching the entire diagram of the project.
Thanks for providing more context. I notice in your overall schematic that you are using DC-powered relays [your R1, R2, "retract contactor"] but you have not provided clamp diodes to control the inevitable high-voltage negative-going flyback spikes that occur when the coil is switched OFF. These flyback pulses might injure the 2 ampere SSRs you use to drive the relays? Or do you know for certain that the SSRs have built-in protection? If not, I'd recommend connecting small inexpensive silicon diodes [1N4148 or 1N4004] across the relay coils, diode anode to the - coil terminal, diode cathode to the + terminal. The optimum location for these diodes is right at the relay's coil terminals to minimize the loop area carrying the brief, but significant, flyback current which otherwise broadcasts [magnetically] to nearby circuitry. This is simply good design practice.
More soon - I am still interested in your project, and see several confusing design issues. For example, why are you using small SSRs to control larger relays? Simple two-transistor level-shift circuits could convert the 5 volt signals from the Arduino to the 24 or 40 volt levels you are switching. Cheaper & likely using less circuit board space.... Are you using surface mount or through-hole parts on a circuit board, or are you doing classical point-to-point wiring as is still common with industrial circuitry?
You show SSRs with only three terminals, but most commonly available SSRs are optoisolated & have four terminals. Have you determined the actual parts you propose to use, or is your schematic just a notional sketch? Also, most optoisolated SSRs have significant turn-on & turn-off times, often 50 us turnon, 1ms turnoff. Have you taken these delays into account? Please understand I am not trying to be rude, but you are seeking advice on the design of a complex little machine without providing us with enough details. Please identify your proposed relays & SSRs, i.e. actual manufacturer's part numbers. What will you use for your 5V & 24V power converters? You specify a linear 5V power supply when a small switcher would serve equally well. The Arduino is digital, not analog circuitry - a little ripple on its rail won't be harmful. Perhaps you should begin with a properly safety rated isolated 230 VAC to 24VDC switching converter, then a small non-isolated 24V to 5V stepdown to power the Arduino?
More thoughts 2023 08 19:
Are you familiar with active low switching to drive relays & solenoids? The basic idea is to connect one terminal of the relay coil to its desired power supply voltage, then turn the relay on by pulling the other terminal to ground. This simplifies the design process by not needing [within limits] to know precisely what relay/solenoid/lamp needs what voltage - all the active control lines simply switch to circuit ground. This approach would allow you to use, for instance, a ULN2003 chip, available from multiple vendors for under US$1.00, to interface your Arduino to all your relays with zero additional parts. https://www.onsemi.com/pdf/datasheet/uln2003a-d.pdf
More thoughts 2023 08 20:
I've attached a demo partial schematic showing my suggestion for interfacing the Arduino to your relays, as well as a detail of the power supply arrangement that powers the arduino & the relays & your movable contact. I've shown some of the channels of the ULN2003A connected in parallel to make use of all seven buffers, but single channels likely have enough current handling capability for your needs. Read the data sheet...
This completes my contribution to your request for assistance. My schematic is of course not complete, and I cannot be responsible for its correctness. Best wishes!
 

Attachments

Thread Starter

rishrsoni

Joined Aug 11, 2023
10
Thanks for providing more context. I notice in your overall schematic that you are using DC-powered relays [your R1, R2, "retract contactor"] but you have not provided clamp diodes to control the inevitable high-voltage negative-going flyback spikes that occur when the coil is switched OFF. These flyback pulses might injure the 2 ampere SSRs you use to drive the relays? Or do you know for certain that the SSRs have built-in protection? If not, I'd recommend connecting small inexpensive silicon diodes [1N4148 or 1N4004] across the relay coils, diode anode to the - coil terminal, diode cathode to the + terminal. The optimum location for these diodes is right at the relay's coil terminals to minimize the loop area carrying the brief, but significant, flyback current which otherwise broadcasts [magnetically] to nearby circuitry. This is simply good design practice.
More soon - I am still interested in your project, and see several confusing design issues. For example, why are you using small SSRs to control larger relays? Simple two-transistor level-shift circuits could convert the 5 volt signals from the Arduino to the 24 or 40 volt levels you are switching. Cheaper & likely using less circuit board space.... Are you using surface mount or through-hole parts on a circuit board, or are you doing classical point-to-point wiring as is still common with industrial circuitry?
You show SSRs with only three terminals, but most commonly available SSRs are optoisolated & have four terminals. Have you determined the actual parts you propose to use, or is your schematic just a notional sketch? Also, most optoisolated SSRs have significant turn-on & turn-off times, often 50 us turnon, 1ms turnoff. Have you taken these delays into account? Please understand I am not trying to be rude, but you are seeking advice on the design of a complex little machine without providing us with enough details. Please identify your proposed relays & SSRs, i.e. actual manufacturer's part numbers. What will you use for your 5V & 24V power converters? You specify a linear 5V power supply when a small switcher would serve equally well. The Arduino is digital, not analog circuitry - a little ripple on its rail won't be harmful. Perhaps you should begin with a properly safety rated isolated 230 VAC to 24VDC switching converter, then a small non-isolated 24V to 5V stepdown to power the Arduino?
More thoughts 2023 08 19:
Are you familiar with active low switching to drive relays & solenoids? The basic idea is to connect one terminal of the relay coil to its desired power supply voltage, then turn the relay on by pulling the other terminal to ground. This simplifies the design process by not needing [within limits] to know precisely what relay/solenoid/lamp needs what voltage - all the active control lines simply switch to circuit ground. This approach would allow you to use, for instance, a ULN2003 chip, available from multiple vendors for under US$1.00, to interface your Arduino to all your relays with zero additional parts. https://www.onsemi.com/pdf/datasheet/uln2003a-d.pdf
More thoughts 2023 08 20:
I've attached a demo partial schematic showing my suggestion for interfacing the Arduino to your relays, as well as a detail of the power supply arrangement that powers the arduino & the relays & your movable contact. I've shown some of the channels of the ULN2003A connected in parallel to make use of all seven buffers, but single channels likely have enough current handling capability for your needs. Read the data sheet...
This completes my contribution to your request for assistance. My schematic is of course not complete, and I cannot be responsible for its correctness. Best wishes!
Hi Jrb,
Thoroughly analyzing the circuit diagram and providing correct measure takes a quite lot of time and effort. I really appreciate the efforts put by you for the same. Your suggestion is the best about the ULN2003A IC to drive the 24VDC relays as they have very less operate time. I will explain the use of other components in the circuit to the best of my understanding. I am sure that this discussion will be fruitful in that understanding about the electronics will become more profound.

Relays:
I am using the relays closely resembling to this:
https://www.ia.omron.com/data_pdf/cat/my_ds_e_7_3_csm59.pdf
It is not of omron, so i am not sure whether it has surge protection or not. However, no Solid state relay 2A have damaged till now even after using the arc welding machine for 5 months.

Solid State Relay:
I have used following 2A DC Solid state relay which doesnt come with datasheet, but SSR equivalent to this by OMRON states in its datasheet turn on time of 1mS max.
https://robu.in/product/1-channel-3...-level-ssr-dc-control-dc-with-resistive-fuse/

The idea is to use standard parts in the market to make the project, hence not fabricating a pcb for this and doing point to point connection by wire. In the diagram i have shown ONLY 3 wires to SSR just to make it simple, THEY ARE OPTOISOLATED.
You suggestion is BEST to use ULN2003A IC to switch relays from arduino, will use that in future.

Power supply:
The power supply in the diagram refers to a 240V-24VDC transformer follower by rectifier and LM7824 while Arduino power supply has 240V-5VDC transformer followed by rectifer and LM7805 IC. I cant use Switched mode power supply because of the coupling capacitors in the secondary winding will pass AC current on the workpiece which is holded by hand.
 

Thread Starter

rishrsoni

Joined Aug 11, 2023
10
Ok, the term “power line” may be not the best one. I’m referring to the shared ground, the Nano’s 5V (or whatever) line or the GPIO used to switch the MOSFETs. The welding operation will send “noise” (or extreme spikes) to all of these. The Nano or the MOSFETS could/will be destroyed by these spikes.
Hi Djsfantasi,
You were right, arcing is creating noise for electronics because of which arduino sometimes gets stuck or resets itself. Is there anyway that we can isolate mosfet ground from arduino so that it doesnt damage the electronics. I am attaching a wiring diagram for more clarity. Thank you in advance.
 

Attachments

djsfantasi

Joined Apr 11, 2010
9,131
Hi Djsfantasi,
You were right, arcing is creating noise for electronics because of which arduino sometimes gets stuck or resets itself. Is there anyway that we can isolate mosfet ground from arduino so that it doesnt damage the electronics.
There are several steps to prevent relay switching noise from affecting the Arduino.

1) Place a relay diode across the relay coil in reverse. That is placing the anode to ground and the cathode to positive. This will short out any spikes from switching the coil’s inductive load.

2) Use two supplies. One for the logic (Arduino) and one for the load. Isolate the two with an optoisolator (protected by (1)). Since both sides of the opto… aren’t connected, noise from switching won’t be an issue.

And 3), use a “snubber circuit” on the relay contact side of your circuit. This will absorb any switching noise. I found this one online at stackexchange.
IMG_6041.png

Snubber Circuit for MCUs & Relays - stack exchange

If you’re unfamiliar with snubber circuits, read up on the link provided. Search for “relay snubber circuit”, which I’d how I found this one

EDIT: Corrected mistake in 2nd paragraph
 
Last edited:

DickCappels

Joined Aug 21, 2008
10,104
There are several steps to prevent relay switching noise from affecting the Arduino.

1) Place a relay across the relay coil in reverse. That is placing the anode to ground and the cathode to positive. This will short out any spikes from switching the coil’s inductive load.
If I may add, if the transistor can switch off very quickly then a fast recovery rectifier would work better than the slower 1N400x series.

I think you meant to say "diode" instead of "relay".
 

jrb_sland

Joined Dec 24, 2021
20
Attn: rishroni 2023 09 10 https://ww1.microchip.com/downloads/en/DeviceDoc/20002019C.pdf
Your recent schematic shows one of the Arduino's output pins connected directly to the gate of your STP55NF0L power mosfet. Its data sheet says that the max gate capacitance can be as high as 37 nC. Assume the Arduino pin can safely provide 10 mA, then charging the gate might take 37 nC / 10 mA ~ 3.7 us. Discharging the gate to turn off the mosfet might take a similar duration which is far too slow - you say (05uS-2uS) duration is needed. I suggest you seek an appropriate gate driver chip or discrete circuit to interface between the Arduino pin & the mosfet gate. Above is a data sheet for a candidate which could operate from your existing 5 VDC rail, but there is a semi-infinite choice out there. You will need appropriate bypass capacitors [> 1 uF] between the VDD & GND pins of the driver to prevent voltage bounce on the Arduino's VDD. It might help to further isolate VDD by using a series resistor, perhaps 470 ohms, in the feed to the driver's VDD. Your duty cycle is low enough that the recharge time of the bypass cap would not be a problem.
 

Thread Starter

rishrsoni

Joined Aug 11, 2023
10
There are several steps to prevent relay switching noise from affecting the Arduino.

1) Place a relay diode across the relay coil in reverse. That is placing the anode to ground and the cathode to positive. This will short out any spikes from switching the coil’s inductive load.

2) Use two supplies. One for the logic (Arduino) and one for the load. Isolate the two with an optoisolator (protected by (1)). Since both sides of the opto… aren’t connected, noise from switching won’t be an issue.

And 3), use a “snubber circuit” on the relay contact side of your circuit. This will absorb any switching noise. I found this one online at stackexchange.
View attachment 302406

Snubber Circuit for MCUs & Relays - stack exchange

If you’re unfamiliar with snubber circuits, read up on the link provided. Search for “relay snubber circuit”, which I’d how I found this one

EDIT: Corrected mistake in 2nd paragraph
Hi Dick,
Thanks for your suggestions,
I have used optocoupler pc817 to provide for isolation and now it's working and welding very well. Soon might post entire circuit diagram for others.
 

Thread Starter

rishrsoni

Joined Aug 11, 2023
10
H
Attn: rishroni 2023 09 10 https://ww1.microchip.com/downloads/en/DeviceDoc/20002019C.pdf
Your recent schematic shows one of the Arduino's output pins connected directly to the gate of your STP55NF0L power mosfet. Its data sheet says that the max gate capacitance can be as high as 37 nC. Assume the Arduino pin can safely provide 10 mA, then charging the gate might take 37 nC / 10 mA ~ 3.7 us. Discharging the gate to turn off the mosfet might take a similar duration which is far too slow - you say (05uS-2uS) duration is needed. I suggest you seek an appropriate gate driver chip or discrete circuit to interface between the Arduino pin & the mosfet gate. Above is a data sheet for a candidate which could operate from your existing 5 VDC rail, but there is a semi-infinite choice out there. You will need appropriate bypass capacitors [> 1 uF] between the VDD & GND pins of the driver to prevent voltage bounce on the Arduino's VDD. It might help to further isolate VDD by using a series resistor, perhaps 470 ohms, in the feed to the driver's VDD. Your duty cycle is low enough that the recharge time of the bypass cap would not be a problem.
Hi Jrb_sland,

Appreciate your elaborate reply to the issue and your understanding of electronics, even though the gate capacitance was not a problem for the welding, the arc was inflicting noise to the power line as mosfet shares common ground with arduino and capacitors. Now, I have used pc817 optocouple having propogation delay time of 18uS max and welding is working very smoothly. Afterwards, I plan to change the optocoupler to TLP2395 which has propogation delay time of 250ns max. Will this solve the problem of gate capacitance as suggested by you?
 
Top