Eliminating Shoot-Through issues by Adding Dead-Time
Posted: Thu Feb 05, 2015 11:22 pm
On my oneTesla coil, I have been fighting some issues of "shoot-thru" in the half-bridge driver that causes both transistors to conduct and short, blowing both transistors and the fuse and sometimes frying the resistor on the gates and other carnage.
So, I designed this little add-on this past weekend. It has greatly helped by allowing for an adjustable dead-time between the pulses to the half-bridge. The circuit uses two chips and fits in series between pin 4 of the 74HCT14 and pin 2 of each of the UCC2732x driver chips. You do have to swap-out the UCC27321 for a second UCC27322 as this circuit needs two non-inverting drivers instead of one inverting and one non-inverting.
I'm posting it here for others who have had similar issues. It doesn't fully solve all failure modes possible, but definitely helps. The schematic is attached -- sorry for my poor handwriting and sloppy sketching (I should redraw it), but this is simply a page I scanned out of my lab notebook where I doodle up all of my designs and keep my notes organized.
Tools needed: Oscilloscope with at least two channels and delta-T markers, signal generator capable of producing either a +5V TTL signal or a +/- 5V (or so) AC sinewave in the 200-300kHz range, and a frequency counter (could use the delta-T markers on the scope).
To use and calibrate:
1) First, use the original circuit as-is with a scope on pin 4 of the 74HCT14 to find the frequency of the primary circuit with the coil running generating high-voltage (Warning: Care must be exercised to isolate test equipment and keep output power minimal!!). This has to be done using the delta-T markers on the scope instead of a frequency counter because the interrupter will not have the coil running continously (and you wouldn't want to be that close to it measuring frequencies if it was). You have to trigger the scope at the right spot and crank up the intensity of the beam to handle the rescans necessary to see it (i.e. it will be dim) on analog scopes. On digital scopes, you may be able to program it to simply record the correct spot of the wave (I'm old school and tend to prefer using analog scopes, even though I own both). For reference, mine measured 286 kHz.
2) Build and Connect this add-on circuit between pin 4 of the 74HCT14 and pin 2 of each of the UCC2732x driver chips, replacing the xx321 driver with a xx322 driver. This new circuit needs two NON-inverting drivers to function. The original oneTesla design has one inverting and one non-inverting. So you have to use two UCC27322 chips instead. You'll need to either cut traces or pull the pins out of the sockets and solder a short lead to connect them as the original circuit tied both pin 2s of the drivers together. This circuit needs them separated. And you must disconnect the existing route of pin 4 of the 74HCT14 that's currently going to pin 2 on both drivers, as that pin must go to this circuit first and not to the drivers. Note: The output of pin 4 of the 74HCT14 must continue to connect to the clock input of the 74HCT74 so you do not want to pull its pin out of the socket. Instead, solder on a wire either at the feed-through pad that's on one of the trace-routes on the board or simply solder it to the pin with the pin still inserted in its socket, which is what I did.
3) Power-up ONLY the low-voltage circuitry and put a dual-trace scope on pins 11 and 14 of the SG3525 (or pin 2 of each of the drivers). Adjust the dead-time potentiometer (pin 7 of the SG3525) to set the desired pulse separation for the drivers, but don't go too width with the separation or you'll run out of bandwidth on the SG3525, as it's only rated for 400kHz for the oscillator (which must run at twice the resonant frequency of the primary winding). Note: If you set it too wide, you'll find out in the next step as you won't be able to set the desired frequency without the SG3525 outputs going "Minnie-Mouse" on you. If you later want to change the dead-time, you must also readjust your frequency in the next step as the dead-time pot affects it too. Even at the minimum setting, you'll get a nice dead-time added. The exact range of dead-time you can get depends on the exact frequency you are running. For reference, my circuit (running at 286 kHz) is adjustable from 266nS to 792nS as indicated in my chicken scratch notes that I determined while calibrating mine. I'm actually still running mine at around 266nS, which is significantly more than the original oneTesla circuit, which only had the propagation delay of the drivers to add dead-time.
4) Adjust the frequency set potentiometer (pin 6 of the SG3525) until the frequency is about 5% lower than the target resonant frequency of the primary. For example, I tuned mine to 270 kHz for a resonant of 286 kHz (meaning the output pins 11 and 14 of the SG3525 should indicate 286 kHz on the frequency counter and pin 4 of the SG3525 should read about 540 kHz, yes it exceeds the 400 kHz published limit of the SG3525, but it still works well. My chip here actually functioned correctly all the way to the mid-600 kHz range, though the higher it is, the less adjustment you'll have on the dead-time control).
5) Hook a signal generator to the current sense transformer conditioning circuit on either side of the 0.1uF cap (depending on the type of signal you are generating -- one side needs a sine-wave, the other can use a square wave)...
6) Set the frequency on the signal generator for the resonant frequency measured in Step #1. Verify a corresponding signal on pin 4 of the 74HCT14. It should be a nice square-wave at your resonant frequency.
7) Use a dual-trace scope to display one of the two outputs of the SG3525 (either pin 14 or 11) and pin 3 of the SG3525 (or pin 13 of the 74LS123), which is the sync signal and will be the 2x clock source to do a phase-locked-loop on the SG3525 so that it creates the same frequency as the resonant of the primary. You should now see the SG3525 output pins resyncing in conjunction with the pulse coming into pin 3, causing the frequency on pins 14 and 11 of the SG3525 to shift accordingly, forming a simple phase-locked-loop circuit.
8) Adjust the sync-pulse width potentiometer (pin 15 of the 74LS123) until the SG3525 is able to correctly lock onto the same frequency as the signal generator is supplying. You should find that there's a band in the adjustment range of the sync pulse-width where it will pull-in to the correct frequency and lock to it. Adjust it to the middle of this adjustment band so that there's ample tolerance on either side in case the frequency difts slightly.
9) That's it... Disconnect the test equipment, and use the coil as before...
With this circuit, I've been blowing far fewer transistors than before. If calibrated correctly, output power should be the same, if not better than without it. And if you needed to remove it for some reason, you can simply disconnect this board and jumper the pin 2 of the drivers back to their original connection point and replace the non-inverting driver with the original inverting version.
Also, I've found that 3-position Phoenix Contact connectors (normally used for attaching wires to a circuit board) will fit the transistor holes and allow a method to "socket" the transistors. After the 5th or 6th time of unsoldering and resoldering the transistors (a delicate, time-consuming task), I switched to that and now I can change the transistors without even removing the circuit board. Though with this circuit addition, I haven't needed to do so quite as often. :-)
New parts required:
- second UCC27322 to replace the UCC27321
- SG3525 IC
- 74LS123 IC
- 2x 16-pin sockets
- 2x 1N4148 diode
- 2x 1K Resistor 1/4W
- 2x 470-ohm Resistor 1/4W
- 1x 100-ohm multiturn potentiometer
- 1x 2k-ohm multiturn potentiometer
- 1x 20k-ohm multiturn potentiometer
- 2x 220pF cap ceramic
- 1x 22pF cap ceramic
- 2x 0.1uF cap ceramic or mylar
- 1x 0.001uF cap mica
- 3x 0.01uF cap ceramic (decoupling, not shown on schematic, tie two on the +5V supply near each IC and one on the +15V supply near the SG3525)
- 2x 10uF cap elect. (power filter, not shown on schematic, tie one across the +5V supply and one across the +15V supply)
(Note: it may work OK with a 74HCT123, but the specs on it are a bit different and I haven't tried it. I've only used the LS family part, since I happened to have one on-hand already)... So you'll have to experiment. Maybe someone can test that and post their results...
Also, you may can get away with a mylar cap for the 0.001uF timing capacitor. But it will have worse frequency drift than a mica part. As long as it stays within the 5-10% window of tolerance for the SG3525 sync logic, it should work. The mica cap is definitely better and I happened to have one on-hand, so that's what I used.
And, tie the unused logic input pins of the 74LS123 to either +5 or gnd (also not shown on the schematic).
Enjoy!
Donna
So, I designed this little add-on this past weekend. It has greatly helped by allowing for an adjustable dead-time between the pulses to the half-bridge. The circuit uses two chips and fits in series between pin 4 of the 74HCT14 and pin 2 of each of the UCC2732x driver chips. You do have to swap-out the UCC27321 for a second UCC27322 as this circuit needs two non-inverting drivers instead of one inverting and one non-inverting.
I'm posting it here for others who have had similar issues. It doesn't fully solve all failure modes possible, but definitely helps. The schematic is attached -- sorry for my poor handwriting and sloppy sketching (I should redraw it), but this is simply a page I scanned out of my lab notebook where I doodle up all of my designs and keep my notes organized.
Tools needed: Oscilloscope with at least two channels and delta-T markers, signal generator capable of producing either a +5V TTL signal or a +/- 5V (or so) AC sinewave in the 200-300kHz range, and a frequency counter (could use the delta-T markers on the scope).
To use and calibrate:
1) First, use the original circuit as-is with a scope on pin 4 of the 74HCT14 to find the frequency of the primary circuit with the coil running generating high-voltage (Warning: Care must be exercised to isolate test equipment and keep output power minimal!!). This has to be done using the delta-T markers on the scope instead of a frequency counter because the interrupter will not have the coil running continously (and you wouldn't want to be that close to it measuring frequencies if it was). You have to trigger the scope at the right spot and crank up the intensity of the beam to handle the rescans necessary to see it (i.e. it will be dim) on analog scopes. On digital scopes, you may be able to program it to simply record the correct spot of the wave (I'm old school and tend to prefer using analog scopes, even though I own both). For reference, mine measured 286 kHz.
2) Build and Connect this add-on circuit between pin 4 of the 74HCT14 and pin 2 of each of the UCC2732x driver chips, replacing the xx321 driver with a xx322 driver. This new circuit needs two NON-inverting drivers to function. The original oneTesla design has one inverting and one non-inverting. So you have to use two UCC27322 chips instead. You'll need to either cut traces or pull the pins out of the sockets and solder a short lead to connect them as the original circuit tied both pin 2s of the drivers together. This circuit needs them separated. And you must disconnect the existing route of pin 4 of the 74HCT14 that's currently going to pin 2 on both drivers, as that pin must go to this circuit first and not to the drivers. Note: The output of pin 4 of the 74HCT14 must continue to connect to the clock input of the 74HCT74 so you do not want to pull its pin out of the socket. Instead, solder on a wire either at the feed-through pad that's on one of the trace-routes on the board or simply solder it to the pin with the pin still inserted in its socket, which is what I did.
3) Power-up ONLY the low-voltage circuitry and put a dual-trace scope on pins 11 and 14 of the SG3525 (or pin 2 of each of the drivers). Adjust the dead-time potentiometer (pin 7 of the SG3525) to set the desired pulse separation for the drivers, but don't go too width with the separation or you'll run out of bandwidth on the SG3525, as it's only rated for 400kHz for the oscillator (which must run at twice the resonant frequency of the primary winding). Note: If you set it too wide, you'll find out in the next step as you won't be able to set the desired frequency without the SG3525 outputs going "Minnie-Mouse" on you. If you later want to change the dead-time, you must also readjust your frequency in the next step as the dead-time pot affects it too. Even at the minimum setting, you'll get a nice dead-time added. The exact range of dead-time you can get depends on the exact frequency you are running. For reference, my circuit (running at 286 kHz) is adjustable from 266nS to 792nS as indicated in my chicken scratch notes that I determined while calibrating mine. I'm actually still running mine at around 266nS, which is significantly more than the original oneTesla circuit, which only had the propagation delay of the drivers to add dead-time.
4) Adjust the frequency set potentiometer (pin 6 of the SG3525) until the frequency is about 5% lower than the target resonant frequency of the primary. For example, I tuned mine to 270 kHz for a resonant of 286 kHz (meaning the output pins 11 and 14 of the SG3525 should indicate 286 kHz on the frequency counter and pin 4 of the SG3525 should read about 540 kHz, yes it exceeds the 400 kHz published limit of the SG3525, but it still works well. My chip here actually functioned correctly all the way to the mid-600 kHz range, though the higher it is, the less adjustment you'll have on the dead-time control).
5) Hook a signal generator to the current sense transformer conditioning circuit on either side of the 0.1uF cap (depending on the type of signal you are generating -- one side needs a sine-wave, the other can use a square wave)...
6) Set the frequency on the signal generator for the resonant frequency measured in Step #1. Verify a corresponding signal on pin 4 of the 74HCT14. It should be a nice square-wave at your resonant frequency.
7) Use a dual-trace scope to display one of the two outputs of the SG3525 (either pin 14 or 11) and pin 3 of the SG3525 (or pin 13 of the 74LS123), which is the sync signal and will be the 2x clock source to do a phase-locked-loop on the SG3525 so that it creates the same frequency as the resonant of the primary. You should now see the SG3525 output pins resyncing in conjunction with the pulse coming into pin 3, causing the frequency on pins 14 and 11 of the SG3525 to shift accordingly, forming a simple phase-locked-loop circuit.
8) Adjust the sync-pulse width potentiometer (pin 15 of the 74LS123) until the SG3525 is able to correctly lock onto the same frequency as the signal generator is supplying. You should find that there's a band in the adjustment range of the sync pulse-width where it will pull-in to the correct frequency and lock to it. Adjust it to the middle of this adjustment band so that there's ample tolerance on either side in case the frequency difts slightly.
9) That's it... Disconnect the test equipment, and use the coil as before...
With this circuit, I've been blowing far fewer transistors than before. If calibrated correctly, output power should be the same, if not better than without it. And if you needed to remove it for some reason, you can simply disconnect this board and jumper the pin 2 of the drivers back to their original connection point and replace the non-inverting driver with the original inverting version.
Also, I've found that 3-position Phoenix Contact connectors (normally used for attaching wires to a circuit board) will fit the transistor holes and allow a method to "socket" the transistors. After the 5th or 6th time of unsoldering and resoldering the transistors (a delicate, time-consuming task), I switched to that and now I can change the transistors without even removing the circuit board. Though with this circuit addition, I haven't needed to do so quite as often. :-)
New parts required:
- second UCC27322 to replace the UCC27321
- SG3525 IC
- 74LS123 IC
- 2x 16-pin sockets
- 2x 1N4148 diode
- 2x 1K Resistor 1/4W
- 2x 470-ohm Resistor 1/4W
- 1x 100-ohm multiturn potentiometer
- 1x 2k-ohm multiturn potentiometer
- 1x 20k-ohm multiturn potentiometer
- 2x 220pF cap ceramic
- 1x 22pF cap ceramic
- 2x 0.1uF cap ceramic or mylar
- 1x 0.001uF cap mica
- 3x 0.01uF cap ceramic (decoupling, not shown on schematic, tie two on the +5V supply near each IC and one on the +15V supply near the SG3525)
- 2x 10uF cap elect. (power filter, not shown on schematic, tie one across the +5V supply and one across the +15V supply)
(Note: it may work OK with a 74HCT123, but the specs on it are a bit different and I haven't tried it. I've only used the LS family part, since I happened to have one on-hand already)... So you'll have to experiment. Maybe someone can test that and post their results...
Also, you may can get away with a mylar cap for the 0.001uF timing capacitor. But it will have worse frequency drift than a mica part. As long as it stays within the 5-10% window of tolerance for the SG3525 sync logic, it should work. The mica cap is definitely better and I happened to have one on-hand, so that's what I used.
And, tie the unused logic input pins of the 74LS123 to either +5 or gnd (also not shown on the schematic).
Enjoy!
Donna