Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Post History

66%
+2 −0
Q&A Contactor control - Higher voltage PWM

Your basic idea is fine, but your implementation is not. C1 makes the whole thing not work, as it will block DC. C2 puts a burden on the switch. D1 would preferably be Schottky. I'll write a mo...

posted 3y ago by Olin Lathrop‭  ·  edited 3y ago by Olin Lathrop‭

Answer
#3: Post edited by user avatar Olin Lathrop‭ · 2021-06-11T13:48:06Z (almost 3 years ago)
  • Your basic idea is fine, but your implementation is not. C1 makes the whole thing not work, as it will block DC. C2 puts a burden on the switch. D1 would preferably be Schottky.
  • I'll write a more detailed answer when I have time, probably tomorrow.
  • <hr>
  • I'm back now and have more time to answer this question properly.
  • Again, your basic concept is fine. You can use the contactor coil as the inductor of a buck converter to keep a reasonably steady current flowing thru that coil.
  • With the right PWM duty cycle, the coil will act just like it is being driven with steady 12 V. It's the current thru the coil that produces the magnetic field that ultimately activates the contactor. As long as the voltage doesn't exceed any insulation breakdown limits, it doesn't really matter other than to cause the desired current. That voltage can contain AC components. Since the inductance of the coil smooths out the current, only the average applied DC voltage matters as long as the AC components have high enough frequency.
  • Here is the basic topology that achieves the above:
  • <img src="https://electrical.codidact.com/uploads/J8kXXZxHTmuzeaXtDvsPE9tR">
  • Note that there must be a DC current path thru the coil, which C1 in your schematic prevents. The PWM frequency should be high enough so that the coil current changes little during one pulse. The microcontroller producing the PWM signal is also measuring the power voltage, so it can adjust the PWM duty cycle to result in average 12 V across the coil. The accuracy requirements are not that strict, so doing this open-loop is good enough. Make sure that the micro is reading the power voltage, and therefore adjusting the PWM duty cycle, often compared to the expected changes in the supply voltage.
  • One possible problem with the above circuit is that the bottom node of L1 sees large and fast voltage excursions. These can possibly cause unwanted radio emissions. If the whole unit is contained in a shielded box, and you pay careful attention to grounding and the return currents, then you probably don't need to do anything more. However, if the contactor is connected to the circuit by a pair of external wires, then the voltage spikes will probably need to be filtered.
  • Here is a schematic snippet from a real commercial product where I needed to drive an external solenoid valve, and wanted to control the apparent drive voltage from a microcontroller:
  • <img src="https://electrical.codidact.com/uploads/uJLPWY2SuCZA2FcsEkgHcBjD">
  • Note the additional inductor L6 and capacitors C32 and C30. These smooth the voltage across the coil, which is at the end of an external cable connected to P19B and P19A. Instead of the rapidly-pulsing voltage being on the bottom end of the solenoid coil, it is at the bottom end of L6. L6 is on the same board as the rest of the circuit. The board has a ground plane, and the loop currents were carefully considered in layout.
  • You may be wondering why I bothered to do all this when the supply voltage was already the correct voltage for operating the solenoid. In this case, I wasn't trying to adjust to supply voltage variations, but wanted to be able to throttle back the solenoid drive current once its initial pull-in was completed. That was largely to reduce the heat dissipated by the solenoid in steady-state on condition, which was a problem with the previous version of this product. Solenoids are often specified for a "pull-in" drive level, with a lower "holding" drive level. This circuit allowed for switching to the holding level after the solenoid was done moving. If I remember right, I kept the PWM duty cycle at 100% for 1 second, then switched it to the holding level after that. A few 100 ms would probably have been good enough, but the amount of heating during the extra fraction of a second was inconsequential.
  • Your basic idea is fine, but your implementation is not. C1 makes the whole thing not work, as it will block DC. C2 puts a burden on the switch. D1 would preferably be Schottky.
  • I'll write a more detailed answer when I have time, probably tomorrow.
  • <hr>
  • I'm back now and have more time to answer this question properly.
  • Again, your basic concept is fine. You can use the contactor coil as the inductor of a buck converter to keep a reasonably steady current flowing thru that coil.
  • With the right PWM duty cycle, the coil will act just like it is being driven with steady 12 V. It's the current thru the coil that produces the magnetic field that ultimately activates the contactor. As long as the voltage doesn't exceed any insulation breakdown limits, it doesn't really matter other than to cause the desired current. That voltage can contain AC components. Since the inductance of the coil smooths out the current, only the average applied DC voltage matters as long as the AC components have high enough frequency.
  • Here is the basic topology that achieves the above:
  • <img src="https://electrical.codidact.com/uploads/J8kXXZxHTmuzeaXtDvsPE9tR">
  • Note that there must be a DC current path thru the coil, which C1 in your schematic prevents. The PWM frequency should be high enough so that the coil current changes little during one pulse. The microcontroller producing the PWM signal is also measuring the power voltage, so it can adjust the PWM duty cycle to result in average 12 V across the coil. The accuracy requirements are not that strict, so doing this open-loop is good enough. Make sure that the micro is reading the power voltage, and therefore adjusting the PWM duty cycle, often compared to the expected changes in the supply voltage.
  • One possible problem with the above circuit is that the bottom node of L1 sees large and fast voltage excursions. These can possibly cause unwanted radio emissions. If the whole unit is contained in a shielded box, and you pay careful attention to grounding and the return currents, then you probably don't need to do anything more. However, if the contactor is connected to the circuit by a pair of external wires, then the voltage spikes will probably need to be filtered.
  • Here is a schematic snippet from a real commercial product where I needed to drive an external solenoid valve, and wanted to control the apparent drive voltage from a microcontroller:
  • <img src="https://electrical.codidact.com/uploads/uJLPWY2SuCZA2FcsEkgHcBjD">
  • Note the additional inductor L6 and capacitors C32 and C30. These smooth the voltage across the coil, which is at the end of an external cable connected to P19B and P19A. Instead of the rapidly-pulsing voltage being on the bottom end of the solenoid coil, it is at the bottom end of L6. L6 is on the same board as the rest of the circuit. The board has a ground plane, and the loop currents were carefully considered in layout.
  • You may be wondering why I bothered to do all this when the supply voltage was already the correct voltage for operating the solenoid. In this case, I wasn't trying to adjust to supply voltage variations, but wanted to be able to throttle back the solenoid drive current once its initial pull-in was completed. That was largely to reduce the heat dissipated by the solenoid in steady-state on condition, which was a problem with the previous version of this product. Solenoids are often specified for a "pull-in" drive level, with a lower "holding" drive level. This circuit allowed for switching to the holding level after the solenoid was done moving. If I remember right, I kept the PWM duty cycle at 100% for 1 second, then switched it to the holding level after that. A few 100 ms would probably have been good enough, but the amount of heating during the extra fraction of a second was inconsequential.
  • <hr>
  • <blockquote>keep the reverse voltage in mind. 60V is too much for standard Schottky.</blockquote>
  • 60 V is getting up there, but is still doable. The Vishay SS8PH9-M3/87A is one example. Fortunately, once the voltage gets so high that a Schottky isn't available, the extra voltage across a full silicon diode will be a smaller fraction of the whole.
#2: Post edited by user avatar Olin Lathrop‭ · 2021-06-11T13:43:37Z (almost 3 years ago)
  • Your basic idea is fine, but your implementation is not. C1 makes the whole thing not work, as it will block DC. C2 puts a burden on the switch. D1 would preferably be Schottky.
  • I'll write a more detailed answer when I have time, probably tomorrow.
  • Your basic idea is fine, but your implementation is not. C1 makes the whole thing not work, as it will block DC. C2 puts a burden on the switch. D1 would preferably be Schottky.
  • I'll write a more detailed answer when I have time, probably tomorrow.
  • <hr>
  • I'm back now and have more time to answer this question properly.
  • Again, your basic concept is fine. You can use the contactor coil as the inductor of a buck converter to keep a reasonably steady current flowing thru that coil.
  • With the right PWM duty cycle, the coil will act just like it is being driven with steady 12 V. It's the current thru the coil that produces the magnetic field that ultimately activates the contactor. As long as the voltage doesn't exceed any insulation breakdown limits, it doesn't really matter other than to cause the desired current. That voltage can contain AC components. Since the inductance of the coil smooths out the current, only the average applied DC voltage matters as long as the AC components have high enough frequency.
  • Here is the basic topology that achieves the above:
  • <img src="https://electrical.codidact.com/uploads/J8kXXZxHTmuzeaXtDvsPE9tR">
  • Note that there must be a DC current path thru the coil, which C1 in your schematic prevents. The PWM frequency should be high enough so that the coil current changes little during one pulse. The microcontroller producing the PWM signal is also measuring the power voltage, so it can adjust the PWM duty cycle to result in average 12 V across the coil. The accuracy requirements are not that strict, so doing this open-loop is good enough. Make sure that the micro is reading the power voltage, and therefore adjusting the PWM duty cycle, often compared to the expected changes in the supply voltage.
  • One possible problem with the above circuit is that the bottom node of L1 sees large and fast voltage excursions. These can possibly cause unwanted radio emissions. If the whole unit is contained in a shielded box, and you pay careful attention to grounding and the return currents, then you probably don't need to do anything more. However, if the contactor is connected to the circuit by a pair of external wires, then the voltage spikes will probably need to be filtered.
  • Here is a schematic snippet from a real commercial product where I needed to drive an external solenoid valve, and wanted to control the apparent drive voltage from a microcontroller:
  • <img src="https://electrical.codidact.com/uploads/uJLPWY2SuCZA2FcsEkgHcBjD">
  • Note the additional inductor L6 and capacitors C32 and C30. These smooth the voltage across the coil, which is at the end of an external cable connected to P19B and P19A. Instead of the rapidly-pulsing voltage being on the bottom end of the solenoid coil, it is at the bottom end of L6. L6 is on the same board as the rest of the circuit. The board has a ground plane, and the loop currents were carefully considered in layout.
  • You may be wondering why I bothered to do all this when the supply voltage was already the correct voltage for operating the solenoid. In this case, I wasn't trying to adjust to supply voltage variations, but wanted to be able to throttle back the solenoid drive current once its initial pull-in was completed. That was largely to reduce the heat dissipated by the solenoid in steady-state on condition, which was a problem with the previous version of this product. Solenoids are often specified for a "pull-in" drive level, with a lower "holding" drive level. This circuit allowed for switching to the holding level after the solenoid was done moving. If I remember right, I kept the PWM duty cycle at 100% for 1 second, then switched it to the holding level after that. A few 100 ms would probably have been good enough, but the amount of heating during the extra fraction of a second was inconsequential.
#1: Initial revision by user avatar Olin Lathrop‭ · 2021-06-10T13:43:18Z (almost 3 years ago)
Your basic idea is fine, but your implementation is not.  C1 makes the whole thing not work, as it will block DC.  C2 puts a burden on the switch.  D1 would preferably be Schottky.

I'll write a more detailed answer when I have time, probably tomorrow.