Pages: [1]   Go Down
Author Topic: Need help regarding kick back diode  (Read 2018 times)
0 Members and 1 Guest are viewing this topic.
France
Offline Offline
Newbie
*
Karma: 1
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,

I need some help, as a complete newbee in electronics, I'm only starting to learn the basics by doing (and reading a lot):

I have build a stand alone box in order to trigger my camera by sound, lightining, time, etc, and I also integrated some handling of relays for water drop photographie. In principle it's running (and I've got the first nice pictures), but now I have one question which came up when I read an article regarding kick back diodes:

I have integrated the possibilities to handle 4 relays. These are driven via PhotoMOS (AQW225) in order to protect my ATmega328. These PhotoMOS are driving a MOSFET (IRF610) cause the PhotoMOS does not have enough power to drive the solenoids (nominal 12V DC, I'm driving them with 18V DC) directly. In order to eliminate the kick back effect coming from the solenoid I added a diode (1N4002) reverse-biased between the two connections of the coil. So far, so good. It's working (as far as I can judge: no smoke, no strange smell, and the drops are falling).

Now I have read a good article regarding kick back diodes, in which is written that this kick back diode is eliminating the inductive kickback (fine till here all is ok with me), but is also slowing down the realease time of the coil, which might have a negative impact on my configuration, as my coil is activated in the range of a few ms.

In the same article is written, one can speed up the release time by adding a resistor in serie to the diode. My problem is that I have no clue (and here the article didn't help me) how to calculate this resistor. And due to the fact that I cannot measure this time, I have no possibility to go via trial and error.

Can anybody help me on this, please. Via google I found also that with a Schottky diode one can speed up this process, or even with a Zener diode. But here again: which one will be the right one, what are the parameters to calculate the values. Questions over questions.

Thanks a lot.

Jens
Logged

aka *frenchi*

Dell Latitude E5510
Arduino Duemilanove
Arduino Uno (2x)
Dog
Cat (2x)

0
Offline Offline
Faraday Member
**
Karma: 16
Posts: 2857
ruggedcircuits.com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

The most common method to speed up relay turn-off (AFAIK) is the zener diode. This allows a larger voltage drop across the coil thus faster current decay in the winding.

The voltage rating of the zener diode is a tradeoff between turn-off speed and limiting kickback voltage. A zener diode of 100000V (just a thought exercise) would allow the voltage across the coils to reach 100000V (plus 0.7V for your other diode) and very fast relay turn-off. A zener diode of 0V (just a wire) allows the voltage across the coils to only reach 0.7V, but slow turn-off.

The point in the middle (your chosen zener voltage) depends upon two things: the voltage rating of your MOSFET and the voltage rating of your relay coil. At high voltages, the relay coil winding current can burn through the insulation on the magnet wires and destroy it. Similarly, the high voltage can break down the MOSFET's built-in diode (which sees a voltage of 18V supply PLUS the voltage across the coils, zener voltage +0.7), which is not necessarily a terrible thing, but the energy in this event needs to be limited else the MOSFET can be damaged. MOSFET voltages are high enough these diodes that not exceeding the MOSFET voltage should be a good enough point to stop.

So....if you have an IRF610 rated for 200V, that's not going to be a problem (MOSFET breakdown voltage). I'd worry more about the breakdown voltage of your relay coils. If you can't find that specification I'd say a safe number is the voltage rating of the coil itself under normal operation (18VDC). If you add a 12V-18V zener diode I think you will have a good result.

--
The QuadRAM shield: add 512 kilobytes of external RAM to your Arduino Mega/Mega2560
Logged

SW Scotland
Offline Offline
Edison Member
*
Karma: 17
Posts: 1376
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

You can forget about the back emf from a relay destroying the windings.  Prior to the semiconductor era there must have been literally millions of relays experiencing immediate switch-off, and hence self induced back-emf, without self-destructing.  We are often guilty of looking for problems where no problems exist.

If your system relies upon the relays being powered to trigger your camera (or whatever) is it relevant how long they take to de-energise once the trigger voltage is removed. 

A simple low value resistor, say 10 ohms or less will probably be sufficient to minimise hold-up time, but it will be a balance between decay time versus back emf.
Logged

Phoenix, Arizona USA
Offline Offline
Faraday Member
**
Karma: 39
Posts: 5557
Where's the beer?
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

The most common method to speed up relay turn-off (AFAIK) is the zener diode.

Sure you don't mean a Schottky? I've never heard of a zener being used for such an application (I'm always willing to learn), but I have seen fast Schottky diodes being recommended for kickback protection for parts like the L298 (vs regular rectifiers), because of their switching speed...?
Logged

I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.

0
Offline Offline
Faraday Member
**
Karma: 16
Posts: 2857
ruggedcircuits.com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Nope, a zener it is indeed. This is a pretty good description of the concept:

http://relays.te.com/appnotes/app_pdfs/13c3264.pdf

--
The Ruggeduino: compatible with Arduino UNO, 24V operation, all I/O's fused and protected
Logged

Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 602
Posts: 33362
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

It should be noted that this many applies to relays switching heavy current, as this could cause excessive contact wear.
The slowing of the release is small compared with the over all slowness of using a mechanical relay. It is not something that is significant in the context of what the OP is worrying about.
Logged

Phoenix, Arizona USA
Offline Offline
Faraday Member
**
Karma: 39
Posts: 5557
Where's the beer?
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Nope, a zener it is indeed. This is a pretty good description of the concept:

http://relays.te.com/appnotes/app_pdfs/13c3264.pdf

--
The Ruggeduino: compatible with Arduino UNO, 24V operation, all I/O's fused and protected


Well, I learned something new, and I'm keeping that app-note for future reference - thanks!

I do tend to wonder what the curves would look like with a Schottky in place of a regular diode (vs the diode/zener pair) - I might have to try to replicate this in some manner on my own scope at some point (I have wondered why the L298 literature recommends Schottky diodes instead of slower ones - maybe it has more to do with DC motors and how they work, rather than with how relays work?)...

Very interesting, all the same! Thank you.

smiley
Logged

I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.

0
Offline Offline
Faraday Member
**
Karma: 16
Posts: 2857
ruggedcircuits.com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Schottky diodes have no reverse recovery charge so would be a slight improvement if there is a chance the coil would be turned on again before the current fully decays, more common with things like a stepper motor coil than a relay or solenoid. That's my only guess as to what the L298 literature is getting at. Also, the Schottky diode would have lower power dissipation given its lower forward voltage, so maybe that's another thing they're aiming at.

Neither of the above sound relevant for a solenoid application, and a good old 1N4004 (or cousin) should be just fine.

--
The Rugged Circuits Yellowjacket: 802.11 WiFi module with ATmega328P microcontroller, only 1.6" x 1.2", bootloader
Logged

United Kingdom
Offline Offline
Tesla Member
***
Karma: 224
Posts: 6593
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

The slowing of the release is small compared with the over all slowness of using a mechanical relay. It is not something that is significant in the context of what the OP is worrying about.

In my experience, the diode can make the release time many times longer that it is without the diode. The delay between pressing a button (or whatever) to the relay releasing can be long enough to be audible.

In the same article is written, one can speed up the release time by adding a resistor in serie to the diode. My problem is that I have no clue (and here the article didn't help me) how to calculate this resistor. And due to the fact that I cannot measure this time, I have no possibility to go via trial and error.

  Max value of resistor = (((Vds voltage rating of mosfet)/(relay supply voltage)) - 1) * (resistance of relay coil)

The higher the resistor, the faster the release time. Do the above calculation, for the highest relay supply voltage you are likely to get in your circuit, and using the resistance of the relay coil you measure when it is cold. Then use a value a bit lower than calculated to allow some margin.

A Zener diode is in theory faster, but if you have a 100v mosfet then you would need an 80v Zener diode, which will be hard to find.

There is absolutely no advantage to using a Shottky diode rather than a 1n400x in this application - they're only needed where fast switching is needed (e.g. fast PWM), or where low forward voltage drop is needed.

It may even be safe to omit the kick back diode completely and allow the energy to be absorbed as avalanche energy in the mosfet (effectively, the mosfet itself behaves like a Zener diode), however to know whether this is safe you would need to know the amount of stored energy that is released when the relay opens. [You could use the Arduino to measure this.]

However, if you're trying to do water drop photographs, then mechanical relays may be too slow for what you want anyway.
« Last Edit: November 20, 2011, 05:12:20 am by dc42 » Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

France
Offline Offline
Newbie
*
Karma: 1
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


Waouh! I'm impressed. I was hoping to get an answer for my question, and what I finally got is a lesson in electronics. Thanks guys, your implication is really great.

I will try to get now a zener diode 18V to do some tests, and check whether I can see a change to the todays performance.

....
So....if you have an IRF610 rated for 200V, that's not going to be a problem (MOSFET breakdown voltage). I'd worry more about the breakdown voltage of your relay coils. If you can't find that specification I'd say a safe number is the voltage rating of the coil itself under normal operation (18VDC). If you add a 12V-18V zener diode I think you will have a good result.
...

All datas regarding the electrical parameters which I have are the following:
Voltage: 12V DC
Wattage: 2W

Is it possible to calculate better the best value for the Zener?



...

A simple low value resistor, say 10 ohms or less will probably be sufficient to minimise hold-up time, but it will be a balance between decay time versus back emf.

...


I will give this one also a trial. Advantage: Probably I have some resistors in the range of 10 Ohms available. Will give it a trial next week end.
Thanks.


...
The slowing of the release is small compared with the over all slowness of using a mechanical relay. It is not something that is significant in the context of what the OP is worrying about.
...

Possible, problem is that till  now I didn't found any clear indication of the time for the fall back due to the diode. Taking into consideration that my opening time for the waterdrop solenoid is only 5 ms, I can imagine that even a small increase of fall back time might have a negative impact. But as mentioned before: I do not know nothing, I'm only looking for potential negative impacts.


Once again, thanks a lot for your help.

Cheers

Jens
Logged

aka *frenchi*

Dell Latitude E5510
Arduino Duemilanove
Arduino Uno (2x)
Dog
Cat (2x)

United Kingdom
Offline Offline
Tesla Member
***
Karma: 224
Posts: 6593
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I will try to get now a zener diode 18V to do some tests, and check whether I can see a change to the todays performance.

An 18v zener may be enough, but higher than 18v would be better, if the Vds rating of the mosfet allows (mosfet Vds rating must be at least the supply voltage + the zener voltage + 1v for the diode). The reverse current rating of the zener needs to be at least as high as the current in the relay coil, which is around 170mA if it is 2W @ 12v.

I will give this one also a trial. Advantage: Probably I have some resistors in the range of 10 Ohms available.

10 ohms is much too low. The relay coil resistance (from 2W @ 12v) is around 72 ohms and the resistor needs to be at least as high as that to make much difference. See the calculation I gave for max resistance in my earlier post.
Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

France
Offline Offline
Newbie
*
Karma: 1
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

....

  Max value of resistor = (((Vds voltage rating of mosfet)/(relay supply voltage)) - 1) * (resistance of relay coil)

The higher the resistor, the faster the release time. Do the above calculation, for the highest relay supply voltage you are likely to get in your circuit, and using the resistance of the relay coil you measure when it is cold. Then use a value a bit lower than calculated to allow some margin.

....

Perfect. With this formula I can finally calculate the resistor to be used. Will give it a trial with some 10 - 20% margin.

Max value = ((200V / 18V) -1 ) * 72 Ohm = 730 Ohm. Will start with a value around 560 Ohm.

....
A Zener diode is in theory faster, but if you have a 100v mosfet then you would need an 80v Zener diode, which will be hard to find.
....

The mosfet is rated with 200V, so a zener with a value of 130 V should be fine (130V is the higest value I found in the cataloque of my supplier)

...
It may even be safe to omit the kick back diode completely and allow the energy to be absorbed as avalanche energy in the mosfet (effectively, the mosfet itself behaves like a Zener diode), however to know whether this is safe you would need to know the amount of stored energy that is released when the relay opens. [You could use the Arduino to measure this.]
....

Can you give me a hint how to measure this energy?

...
However, if you're trying to do water drop photographs, then mechanical relays may be too slow for what you want anyway.

As explained above: The coils we are talking about are the coils from the solenoids which are actioning the valves for the drops. The camera itself and the falshes are connected via optocoppler to the µcontroller.

Thanks a lot for this lesson.

BR

Jens
Logged

aka *frenchi*

Dell Latitude E5510
Arduino Duemilanove
Arduino Uno (2x)
Dog
Cat (2x)

United Kingdom
Offline Offline
Tesla Member
***
Karma: 224
Posts: 6593
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Your mosfet has a nice high voltage rating, so I suspect a 560 ohm resistor will do the job nicely.

If you want to measure the energy recovered from the solenoid, this is how I would do it:

- connect diode and resistor across solenoid

- use an Arduino analog input pin to measure the voltage across the mosfet, using a voltage divider. For example, 1k from the pin to ground and 39K from the pin to mosfet drain.

- write a program to turn on the mosfet, wait long enough for the current in the solenoid to reach maximum, capture the time using micros(), turn off the solenoid, do 100 or so analog reads of the pin (storing the data in an array), then capture the time again to see how much time has elapsed. Then send the data and the times to the serial port so you can read it on a PC.

Using that data, you can work out the voltage across the diode/resistor combination as a function of time. The instantaneous power is being fed to the resistor is (V^2)/R and you can integrate this to get the total energy dumped into the resistor. To get the total energy, you need to allow for the energy dumped in the solenoid's own internal resistance too.
Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Pages: [1]   Go Up
Jump to: