• programmable circuit breaker

    From john larkin@21:1/5 to All on Tue Mar 4 21:06:30 2025
    We're designing a modular power system and figured we should have a
    relay module, and my PCB layout guy is fast so I decided to whip out a
    simple module.

    Featuritus kicks in. We normally measure voltages and currents, so the
    next logical step is to make it a programmable circuit breaker too.
    That also protects my relays and PCB traces, to some extent.

    So how might a user program a circuit breaker? Just RMS current with
    some time constant? Allow fast and slow trips?

    Fuses are usually specified to trip at some I^2*T, but that can't be
    the whole story, because 1 mA is a lot of I^2*T in ten years.

    And my current sensor saturates. If the module is specified for 7.5
    amps, and the 10-amp Hall sensor saturates a bit past 12 amps, so a
    zillion amps looks like 12 so the I^2*T math doesn't work at, say, 30
    amps.

    Sine waves sort of work if they don't clip too hard. Luckily, sine
    waves are kinda flat on top.

    So I need a trip algorithm. That will be executed in an FPGA that sees
    a fast ADC that is digitizing the Hall sensor output.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From piglet@21:1/5 to john larkin on Wed Mar 5 09:32:02 2025
    john larkin <[email protected]> wrote:

    We're designing a modular power system and figured we should have a
    relay module, and my PCB layout guy is fast so I decided to whip out a
    simple module.

    Featuritus kicks in. We normally measure voltages and currents, so the
    next logical step is to make it a programmable circuit breaker too.
    That also protects my relays and PCB traces, to some extent.

    So how might a user program a circuit breaker? Just RMS current with
    some time constant? Allow fast and slow trips?

    Fuses are usually specified to trip at some I^2*T, but that can't be
    the whole story, because 1 mA is a lot of I^2*T in ten years.

    And my current sensor saturates. If the module is specified for 7.5
    amps, and the 10-amp Hall sensor saturates a bit past 12 amps, so a
    zillion amps looks like 12 so the I^2*T math doesn't work at, say, 30
    amps.

    Sine waves sort of work if they don't clip too hard. Luckily, sine
    waves are kinda flat on top.

    So I need a trip algorithm. That will be executed in an FPGA that sees
    a fast ADC that is digitizing the Hall sensor output.



    Aren’t fuses specified by minimum carrying current? So a 1A fuse is guaranteed to carry 1A forever and reacts I^2t only above that.

    I guess your current sensor should remain monotonic upto the maximum
    possible current your supply can generate?


    --
    piglet

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Phil Hobbs@21:1/5 to piglet on Wed Mar 5 11:01:48 2025
    piglet <[email protected]> wrote:
    john larkin <[email protected]> wrote:

    We're designing a modular power system and figured we should have a
    relay module, and my PCB layout guy is fast so I decided to whip out a
    simple module.

    Featuritus kicks in. We normally measure voltages and currents, so the
    next logical step is to make it a programmable circuit breaker too.
    That also protects my relays and PCB traces, to some extent.

    So how might a user program a circuit breaker? Just RMS current with
    some time constant? Allow fast and slow trips?

    Fuses are usually specified to trip at some I^2*T, but that can't be
    the whole story, because 1 mA is a lot of I^2*T in ten years.

    And my current sensor saturates. If the module is specified for 7.5
    amps, and the 10-amp Hall sensor saturates a bit past 12 amps, so a
    zillion amps looks like 12 so the I^2*T math doesn't work at, say, 30
    amps.

    Sine waves sort of work if they don't clip too hard. Luckily, sine
    waves are kinda flat on top.

    So I need a trip algorithm. That will be executed in an FPGA that sees
    a fast ADC that is digitizing the Hall sensor output.



    Aren’t fuses specified by minimum carrying current? So a 1A fuse is guaranteed to carry 1A forever and reacts I^2t only above that.

    I guess your current sensor should remain monotonic upto the maximum
    possible current your supply can generate?



    Nah, that’s way too normal and prudent. ;)

    First off, obviously you want a conventional fuse sized to prevent the
    thing catching fire if something fails. Having an upstream switching
    supply kick off at about the right point helps a lot too.

    You can certainly estimate the dissipation when the sensor rails, but it requires making some assumptions about the current waveform.

    For a start, I might try identifying anomalous cases e. g. an overvolted transformer saturating, and cut those off when the sensor rails, regardless
    of I**2t.

    If the load is linear- looking, it may be reasonable to assume the current
    is sinusoidal, and curve-fit the part that stays onscale.

    I’ll also put in a plug for my second-favorite method for fast temperature measurement: cut out a little niche inside the thermal pour, right next to
    the active device. Put an 0603 thermistor with one end on the pour and the other on a skinny trace to whatever you’re measuring with.

    If you avoid the temptation to something more convenient that looks
    similar, this trick will give you 100-ms thermal time constants, which is
    good enough for many interesting things. (Which possibly includes
    protecting power FETs from melting before the fuse blows.)

    Cheers

    Phil Hobbs

    --
    Dr Philip C D Hobbs Principal Consultant ElectroOptical Innovations LLC / Hobbs ElectroOptics Optics, Electro-optics, Photonics, Analog Electronics

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Liz Tuddenham@21:1/5 to piglet on Wed Mar 5 11:57:12 2025
    piglet <[email protected]> wrote:

    [...]
    Aren’t fuses specified by minimum carrying current?

    Automotive fuses are specified by blowing current (whatever that means)
    but domestic fuses in the UK are specified by continuous carrying
    current.

    Then you have slow-blow types with extra thermal mass in the element or low-melting-point alloys with a spring to pull the components apart,
    quick-blow types and high-rupturing-capacity types (often filled with
    sand to quench the arc). Some industrial and telecomms fuses have
    indicators to show they have blown - usually a flag that flips up or a
    thinner fuse wire along the outside of the cartridge that can be seen to
    have melted. The flag can also close an alarm circuit.

    Fuses ain't simple.

    --
    ~ Liz Tuddenham ~
    (Remove the ".invalid"s and add ".co.uk" to reply)
    www.poppyrecords.co.uk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From john larkin@21:1/5 to pcdhSpamMeSenseless@electrooptical. on Wed Mar 5 07:15:50 2025
    On Wed, 5 Mar 2025 11:01:48 -0000 (UTC), Phil Hobbs <[email protected]> wrote:

    piglet <[email protected]> wrote:
    john larkin <[email protected]> wrote:

    We're designing a modular power system and figured we should have a
    relay module, and my PCB layout guy is fast so I decided to whip out a
    simple module.

    Featuritus kicks in. We normally measure voltages and currents, so the
    next logical step is to make it a programmable circuit breaker too.
    That also protects my relays and PCB traces, to some extent.

    So how might a user program a circuit breaker? Just RMS current with
    some time constant? Allow fast and slow trips?

    Fuses are usually specified to trip at some I^2*T, but that can't be
    the whole story, because 1 mA is a lot of I^2*T in ten years.

    And my current sensor saturates. If the module is specified for 7.5
    amps, and the 10-amp Hall sensor saturates a bit past 12 amps, so a
    zillion amps looks like 12 so the I^2*T math doesn't work at, say, 30
    amps.

    Sine waves sort of work if they don't clip too hard. Luckily, sine
    waves are kinda flat on top.

    So I need a trip algorithm. That will be executed in an FPGA that sees
    a fast ADC that is digitizing the Hall sensor output.



    Aren�t fuses specified by minimum carrying current? So a 1A fuse is
    guaranteed to carry 1A forever and reacts I^2t only above that.

    I guess your current sensor should remain monotonic upto the maximum
    possible current your supply can generate?

    I'm a relay, and I can't control whatever a customer wants to switch.
    He might try to short a monster battery or something by mistake.




    Nah, that�s way too normal and prudent. ;)

    First off, obviously you want a conventional fuse sized to prevent the
    thing catching fire if something fails. Having an upstream switching
    supply kick off at about the right point helps a lot too.

    I figure that my electronics can open a relay faster than any fuse can
    respond, and a user won't have to replace a blown fuse.

    Here's my circuit:

    https://www.dropbox.com/scl/fi/qxksgybi9fnkbzj7k7k8n/23S946A8_sh9.pdf?rlkey=rmts6e1kz04o2tn48kzeslszg&dl=0

    Maybe I shouldn't diode clamp the relay coils. I'll have to test the
    dropout time.


    You can certainly estimate the dissipation when the sensor rails, but it >requires making some assumptions about the current waveform.

    For a start, I might try identifying anomalous cases e. g. an overvolted >transformer saturating, and cut those off when the sensor rails, regardless >of I**2t.

    If the load is linear- looking, it may be reasonable to assume the current
    is sinusoidal, and curve-fit the part that stays onscale.

    I�ll also put in a plug for my second-favorite method for fast temperature >measurement: cut out a little niche inside the thermal pour, right next to >the active device. Put an 0603 thermistor with one end on the pour and the >other on a skinny trace to whatever you�re measuring with.

    If you avoid the temptation to something more convenient that looks
    similar, this trick will give you 100-ms thermal time constants, which is >good enough for many interesting things. (Which possibly includes
    protecting power FETs from melting before the fuse blows.)

    Cheers

    Phil Hobbs

    Somebody should make a part with a resistor/current shunt and a
    temperature sensor inside, an electronic resettable fuse. I've used
    some IC e-fuses and they are flakey.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From [email protected]@21:1/5 to john larkin on Wed Mar 5 15:46:43 2025
    john larkin <[email protected]> wrote:

    We're designing a modular power system and figured we should have a
    relay module, and my PCB layout guy is fast so I decided to whip out a
    simple module.

    Featuritus kicks in. We normally measure voltages and currents, so the
    next logical step is to make it a programmable circuit breaker too.
    That also protects my relays and PCB traces, to some extent.

    So how might a user program a circuit breaker? Just RMS current with
    some time constant? Allow fast and slow trips?

    Fuses are usually specified to trip at some I^2*T, but that can't be
    the whole story, because 1 mA is a lot of I^2*T in ten years.

    And my current sensor saturates. If the module is specified for 7.5
    amps, and the 10-amp Hall sensor saturates a bit past 12 amps, so a
    zillion amps looks like 12 so the I^2*T math doesn't work at, say, 30
    amps.

    Sine waves sort of work if they don't clip too hard. Luckily, sine
    waves are kinda flat on top.

    So I need a trip algorithm. That will be executed in an FPGA that sees
    a fast ADC that is digitizing the Hall sensor output.


    It seems essential to have enough headroom in Hall sensor(s) to see
    past the setpoint. Maybe two sensors, one for precise, long-duration
    control and a second for transients with lower resolution. If the first
    goes to zero, look at the second. If it's not zero too, trip.

    One could also use dI/dT to anticipate things going wrong and using
    that as a sort of "pre-warning" signal. This invites nuisance trips,
    so it would require some amount of filtering.

    bob prohaska

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From john larkin@21:1/5 to [email protected] on Wed Mar 5 08:33:57 2025
    On Wed, 5 Mar 2025 15:46:43 -0000 (UTC), [email protected] wrote:

    john larkin <[email protected]> wrote:

    We're designing a modular power system and figured we should have a
    relay module, and my PCB layout guy is fast so I decided to whip out a
    simple module.

    Featuritus kicks in. We normally measure voltages and currents, so the
    next logical step is to make it a programmable circuit breaker too.
    That also protects my relays and PCB traces, to some extent.

    So how might a user program a circuit breaker? Just RMS current with
    some time constant? Allow fast and slow trips?

    Fuses are usually specified to trip at some I^2*T, but that can't be
    the whole story, because 1 mA is a lot of I^2*T in ten years.

    And my current sensor saturates. If the module is specified for 7.5
    amps, and the 10-amp Hall sensor saturates a bit past 12 amps, so a
    zillion amps looks like 12 so the I^2*T math doesn't work at, say, 30
    amps.

    Sine waves sort of work if they don't clip too hard. Luckily, sine
    waves are kinda flat on top.

    So I need a trip algorithm. That will be executed in an FPGA that sees
    a fast ADC that is digitizing the Hall sensor output.


    It seems essential to have enough headroom in Hall sensor(s) to see
    past the setpoint. Maybe two sensors, one for precise, long-duration
    control and a second for transients with lower resolution. If the first
    goes to zero, look at the second. If it's not zero too, trip.

    One could also use dI/dT to anticipate things going wrong and using
    that as a sort of "pre-warning" signal. This invites nuisance trips,
    so it would require some amount of filtering.

    bob prohaska

    I'm using

    MONOLITHIC POWER MCS1802GS-10-Z

    partly because we have them in stock. It's officially a 10 amp part
    and clips a bit above +-12 amps, so should be OK to protect a relay
    channel rated for 7.5 amps.

    I'm thinking of doing two RMS current calculations. A fast, maybe 1 ms
    calc, with a fixed 10 amp trip. And a user-programmable trip, 1 amp to
    8 amps, selectably fast or slow. Something like that.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From john larkin@21:1/5 to Liz Tuddenham on Wed Mar 5 08:39:26 2025
    On Wed, 5 Mar 2025 16:22:21 +0000, [email protected]d
    (Liz Tuddenham) wrote:

    john larkin <[email protected]> wrote:

    [...]
    Maybe I shouldn't diode clamp the relay coils. I'll have to test the
    dropout time.

    Put a resistor in series with the clamp diode, the value can be chosen
    to keep the inductive spike just below the maximum allowable voltage and
    that will give the fastest turn-off. By using higher voltage switching >transistors you can have a higher voltage spike and a faster turn-off -
    but there is the risk that the spike might be capacitively coupled to >somewhere vulnerable to damage.

    Those little mosfets avalanche reliably. The only hazard would be
    rapid cycling causing too much power dissipation.

    The resistor is a good idea. Or clamp to some giant shared TVS zener.

    I guess I need to measure some relay dropout times.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From [email protected]@21:1/5 to john larkin on Wed Mar 5 17:07:43 2025
    john larkin <[email protected]> wrote:
    On Wed, 5 Mar 2025 15:46:43 -0000 (UTC), [email protected] wrote:

    john larkin <[email protected]> wrote:

    We're designing a modular power system and figured we should have a
    relay module, and my PCB layout guy is fast so I decided to whip out a
    simple module.

    Featuritus kicks in. We normally measure voltages and currents, so the
    next logical step is to make it a programmable circuit breaker too.
    That also protects my relays and PCB traces, to some extent.

    So how might a user program a circuit breaker? Just RMS current with
    some time constant? Allow fast and slow trips?

    Fuses are usually specified to trip at some I^2*T, but that can't be
    the whole story, because 1 mA is a lot of I^2*T in ten years.

    And my current sensor saturates. If the module is specified for 7.5
    amps, and the 10-amp Hall sensor saturates a bit past 12 amps, so a
    zillion amps looks like 12 so the I^2*T math doesn't work at, say, 30
    amps.

    Sine waves sort of work if they don't clip too hard. Luckily, sine
    waves are kinda flat on top.

    So I need a trip algorithm. That will be executed in an FPGA that sees
    a fast ADC that is digitizing the Hall sensor output.


    It seems essential to have enough headroom in Hall sensor(s) to see
    past the setpoint. Maybe two sensors, one for precise, long-duration >>control and a second for transients with lower resolution. If the first >>goes to zero, look at the second. If it's not zero too, trip.

    One could also use dI/dT to anticipate things going wrong and using
    that as a sort of "pre-warning" signal. This invites nuisance trips,
    so it would require some amount of filtering.

    bob prohaska

    I'm using

    MONOLITHIC POWER MCS1802GS-10-Z

    partly because we have them in stock. It's officially a 10 amp part
    and clips a bit above +-12 amps, so should be OK to protect a relay
    channel rated for 7.5 amps.

    I'm thinking of doing two RMS current calculations. A fast, maybe 1 ms
    calc, with a fixed 10 amp trip. And a user-programmable trip, 1 amp to
    8 amps, selectably fast or slow. Something like that.

    The question seems to be how fast the current can rise to saturate
    the sensor. That would depend on the entire circuit. It might
    be predictable in your case and so adequate for your situation.

    I'm not sure it'll recognize a fault induced by somebody probing
    the circuit and accidentally shorting something. That's when a
    dI/dT or other independent sensor would be helpful.

    bob prohaska

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Liz Tuddenham@21:1/5 to john larkin on Wed Mar 5 16:22:21 2025
    john larkin <[email protected]> wrote:

    [...]
    Maybe I shouldn't diode clamp the relay coils. I'll have to test the
    dropout time.

    Put a resistor in series with the clamp diode, the value can be chosen
    to keep the inductive spike just below the maximum allowable voltage and
    that will give the fastest turn-off. By using higher voltage switching transistors you can have a higher voltage spike and a faster turn-off -
    but there is the risk that the spike might be capacitively coupled to
    somewhere vulnerable to damage.


    --
    ~ Liz Tuddenham ~
    (Remove the ".invalid"s and add ".co.uk" to reply)
    www.poppyrecords.co.uk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Don Y@21:1/5 to Liz Tuddenham on Wed Mar 5 10:50:31 2025
    On 3/5/2025 9:22 AM, Liz Tuddenham wrote:
    Put a resistor in series with the clamp diode, the value can be chosen
    to keep the inductive spike just below the maximum allowable voltage and
    that will give the fastest turn-off. By using higher voltage switching transistors you can have a higher voltage spike and a faster turn-off -
    but there is the risk that the spike might be capacitively coupled to somewhere vulnerable to damage.

    It's best to put a zener rated for the coil voltage. This helps
    the coil release faster. A regular diode will slow the opening of
    the contacts.

    Relays 101

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From john larkin@21:1/5 to [email protected] on Wed Mar 5 09:49:44 2025
    On Wed, 5 Mar 2025 17:07:43 -0000 (UTC), [email protected] wrote:

    john larkin <[email protected]> wrote:
    On Wed, 5 Mar 2025 15:46:43 -0000 (UTC), [email protected] wrote:

    john larkin <[email protected]> wrote:

    We're designing a modular power system and figured we should have a
    relay module, and my PCB layout guy is fast so I decided to whip out a >>>> simple module.

    Featuritus kicks in. We normally measure voltages and currents, so the >>>> next logical step is to make it a programmable circuit breaker too.
    That also protects my relays and PCB traces, to some extent.

    So how might a user program a circuit breaker? Just RMS current with
    some time constant? Allow fast and slow trips?

    Fuses are usually specified to trip at some I^2*T, but that can't be
    the whole story, because 1 mA is a lot of I^2*T in ten years.

    And my current sensor saturates. If the module is specified for 7.5
    amps, and the 10-amp Hall sensor saturates a bit past 12 amps, so a
    zillion amps looks like 12 so the I^2*T math doesn't work at, say, 30
    amps.

    Sine waves sort of work if they don't clip too hard. Luckily, sine
    waves are kinda flat on top.

    So I need a trip algorithm. That will be executed in an FPGA that sees >>>> a fast ADC that is digitizing the Hall sensor output.


    It seems essential to have enough headroom in Hall sensor(s) to see
    past the setpoint. Maybe two sensors, one for precise, long-duration >>>control and a second for transients with lower resolution. If the first >>>goes to zero, look at the second. If it's not zero too, trip.

    One could also use dI/dT to anticipate things going wrong and using
    that as a sort of "pre-warning" signal. This invites nuisance trips,
    so it would require some amount of filtering.

    bob prohaska

    I'm using

    MONOLITHIC POWER MCS1802GS-10-Z

    partly because we have them in stock. It's officially a 10 amp part
    and clips a bit above +-12 amps, so should be OK to protect a relay
    channel rated for 7.5 amps.

    I'm thinking of doing two RMS current calculations. A fast, maybe 1 ms
    calc, with a fixed 10 amp trip. And a user-programmable trip, 1 amp to
    8 amps, selectably fast or slow. Something like that.

    The question seems to be how fast the current can rise to saturate
    the sensor. That would depend on the entire circuit. It might
    be predictable in your case and so adequate for your situation.

    I assume that a current overload will have zero risetime. A relay
    contact closing can actually generate picosecond edges.

    I'll be digitizing each Hall sensor current at 50k samples/second, and
    probably doing some FPGA lowpass filtering. An RMS calculation
    inherently lowpass filters.


    I'm not sure it'll recognize a fault induced by somebody probing
    the circuit and accidentally shorting something. That's when a
    dI/dT or other independent sensor would be helpful.

    bob prohaska


    Don't do that.

    https://www.dropbox.com/scl/fi/trdug87h0w498h94znv3x/Probe_Slips.jpg?rlkey=r5a22cx09twhsn9edq4c6es6f&raw=1

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From piglet@21:1/5 to Liz Tuddenham on Wed Mar 5 18:05:55 2025
    Liz Tuddenham <[email protected]d> wrote:
    john larkin <[email protected]> wrote:

    [...]
    Maybe I shouldn't diode clamp the relay coils. I'll have to test the
    dropout time.

    Put a resistor in series with the clamp diode, the value can be chosen
    to keep the inductive spike just below the maximum allowable voltage and
    that will give the fastest turn-off. By using higher voltage switching transistors you can have a higher voltage spike and a faster turn-off -
    but there is the risk that the spike might be capacitively coupled to somewhere vulnerable to damage.



    Or even just a resistor and no diode! The extra few percent current
    consumption is often not a problem and a resistor is very reliable, more durable than a diode.

    --
    piglet

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Don Y@21:1/5 to Don Y on Wed Mar 5 11:06:45 2025
    On 3/5/2025 10:50 AM, Don Y wrote:
    On 3/5/2025 9:22 AM, Liz Tuddenham wrote:
    Put a resistor in series with the clamp diode, the value can be chosen
    to keep the inductive spike just below the maximum allowable voltage and
    that will give the fastest turn-off.  By using higher voltage switching
    transistors you can have a higher voltage spike and a faster turn-off -
    but there is the risk that the spike might be capacitively coupled to
    somewhere vulnerable to damage.

    It's best to put a zener rated for the coil voltage.  This helps
    the coil release faster.  A regular diode will slow the opening of
    the contacts.

    Relays 101

    <http://web.archive.org/web/20210507001259if_/http://www.crydom.com/en/tech/newsletters/solid%20statements%20-%20coil%20suppression%20&%20dc%20output%20ssrs.pdf>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From [email protected]@21:1/5 to john larkin on Wed Mar 5 18:28:00 2025
    john larkin <[email protected]> wrote:
    On Wed, 5 Mar 2025 17:07:43 -0000 (UTC), [email protected] wrote:

    john larkin <[email protected]> wrote:
    On Wed, 5 Mar 2025 15:46:43 -0000 (UTC), [email protected] wrote:

    john larkin <[email protected]> wrote:

    We're designing a modular power system and figured we should have a
    relay module, and my PCB layout guy is fast so I decided to whip out a >>>>> simple module.

    Featuritus kicks in. We normally measure voltages and currents, so the >>>>> next logical step is to make it a programmable circuit breaker too.
    That also protects my relays and PCB traces, to some extent.

    So how might a user program a circuit breaker? Just RMS current with >>>>> some time constant? Allow fast and slow trips?

    Fuses are usually specified to trip at some I^2*T, but that can't be >>>>> the whole story, because 1 mA is a lot of I^2*T in ten years.

    And my current sensor saturates. If the module is specified for 7.5
    amps, and the 10-amp Hall sensor saturates a bit past 12 amps, so a
    zillion amps looks like 12 so the I^2*T math doesn't work at, say, 30 >>>>> amps.

    Sine waves sort of work if they don't clip too hard. Luckily, sine
    waves are kinda flat on top.

    So I need a trip algorithm. That will be executed in an FPGA that sees >>>>> a fast ADC that is digitizing the Hall sensor output.


    It seems essential to have enough headroom in Hall sensor(s) to see >>>>past the setpoint. Maybe two sensors, one for precise, long-duration >>>>control and a second for transients with lower resolution. If the first >>>>goes to zero, look at the second. If it's not zero too, trip.

    One could also use dI/dT to anticipate things going wrong and using >>>>that as a sort of "pre-warning" signal. This invites nuisance trips,
    so it would require some amount of filtering.

    bob prohaska

    I'm using

    MONOLITHIC POWER MCS1802GS-10-Z

    partly because we have them in stock. It's officially a 10 amp part
    and clips a bit above +-12 amps, so should be OK to protect a relay
    channel rated for 7.5 amps.

    I'm thinking of doing two RMS current calculations. A fast, maybe 1 ms
    calc, with a fixed 10 amp trip. And a user-programmable trip, 1 amp to
    8 amps, selectably fast or slow. Something like that.

    The question seems to be how fast the current can rise to saturate
    the sensor. That would depend on the entire circuit. It might
    be predictable in your case and so adequate for your situation.

    I assume that a current overload will have zero risetime. A relay
    contact closing can actually generate picosecond edges.

    I'll be digitizing each Hall sensor current at 50k samples/second, and probably doing some FPGA lowpass filtering. An RMS calculation
    inherently lowpass filters.


    It'd be interesting to know what the device does when exposed to a
    burst of out of band AC. Figure 9 implies a well-behaved rolloff,
    for which 50ksamples/sec is likely to reveal an overcurrent trend
    before saturation. If that's true the warning ought to be adequate.


    I'm not sure it'll recognize a fault induced by somebody probing
    the circuit and accidentally shorting something. That's when a
    dI/dT or other independent sensor would be helpful.

    bob prohaska


    Don't do that.

    https://www.dropbox.com/scl/fi/trdug87h0w498h94znv3x/Probe_Slips.jpg?rlkey=r5a22cx09twhsn9edq4c6es6f&raw=1

    8-)

    If you're saying probe slips are beyond the scope of your design
    it's understood and accepted. Are you anticipating a manual reset?

    bob prohaska

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From john larkin@21:1/5 to [email protected] on Wed Mar 5 12:14:51 2025
    On Wed, 5 Mar 2025 18:28:00 -0000 (UTC), [email protected] wrote:

    john larkin <[email protected]> wrote:
    On Wed, 5 Mar 2025 17:07:43 -0000 (UTC), [email protected] wrote:

    john larkin <[email protected]> wrote:
    On Wed, 5 Mar 2025 15:46:43 -0000 (UTC), [email protected] wrote:

    john larkin <[email protected]> wrote:

    We're designing a modular power system and figured we should have a >>>>>> relay module, and my PCB layout guy is fast so I decided to whip out a >>>>>> simple module.

    Featuritus kicks in. We normally measure voltages and currents, so the >>>>>> next logical step is to make it a programmable circuit breaker too. >>>>>> That also protects my relays and PCB traces, to some extent.

    So how might a user program a circuit breaker? Just RMS current with >>>>>> some time constant? Allow fast and slow trips?

    Fuses are usually specified to trip at some I^2*T, but that can't be >>>>>> the whole story, because 1 mA is a lot of I^2*T in ten years.

    And my current sensor saturates. If the module is specified for 7.5 >>>>>> amps, and the 10-amp Hall sensor saturates a bit past 12 amps, so a >>>>>> zillion amps looks like 12 so the I^2*T math doesn't work at, say, 30 >>>>>> amps.

    Sine waves sort of work if they don't clip too hard. Luckily, sine >>>>>> waves are kinda flat on top.

    So I need a trip algorithm. That will be executed in an FPGA that sees >>>>>> a fast ADC that is digitizing the Hall sensor output.


    It seems essential to have enough headroom in Hall sensor(s) to see >>>>>past the setpoint. Maybe two sensors, one for precise, long-duration >>>>>control and a second for transients with lower resolution. If the first >>>>>goes to zero, look at the second. If it's not zero too, trip.

    One could also use dI/dT to anticipate things going wrong and using >>>>>that as a sort of "pre-warning" signal. This invites nuisance trips, >>>>>so it would require some amount of filtering.

    bob prohaska

    I'm using

    MONOLITHIC POWER MCS1802GS-10-Z

    partly because we have them in stock. It's officially a 10 amp part
    and clips a bit above +-12 amps, so should be OK to protect a relay
    channel rated for 7.5 amps.

    I'm thinking of doing two RMS current calculations. A fast, maybe 1 ms >>>> calc, with a fixed 10 amp trip. And a user-programmable trip, 1 amp to >>>> 8 amps, selectably fast or slow. Something like that.

    The question seems to be how fast the current can rise to saturate
    the sensor. That would depend on the entire circuit. It might
    be predictable in your case and so adequate for your situation.

    I assume that a current overload will have zero risetime. A relay
    contact closing can actually generate picosecond edges.

    I'll be digitizing each Hall sensor current at 50k samples/second, and
    probably doing some FPGA lowpass filtering. An RMS calculation
    inherently lowpass filters.


    It'd be interesting to know what the device does when exposed to a
    burst of out of band AC. Figure 9 implies a well-behaved rolloff,
    for which 50ksamples/sec is likely to reveal an overcurrent trend
    before saturation. If that's true the warning ought to be adequate.


    I'm not sure it'll recognize a fault induced by somebody probing
    the circuit and accidentally shorting something. That's when a
    dI/dT or other independent sensor would be helpful.

    bob prohaska


    Don't do that.

    https://www.dropbox.com/scl/fi/trdug87h0w498h94znv3x/Probe_Slips.jpg?rlkey=r5a22cx09twhsn9edq4c6es6f&raw=1

    8-)

    If you're saying probe slips are beyond the scope of your design
    it's understood and accepted. Are you anticipating a manual reset?

    bob prohaska



    It will be a module that goes into this box:

    https://highlandtechnology.com/Category/MPS

    and operation will usually be from some computer. We'll also allow
    operation from the front panel, but that's mostly for setup and
    testing.

    Either way, users can open and close relays, declare trip rules,
    measure voltage and currents, and reset trips.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From john larkin@21:1/5 to [email protected] on Wed Mar 5 13:29:38 2025
    On Wed, 5 Mar 2025 18:05:55 -0000 (UTC), piglet
    <[email protected]> wrote:

    Liz Tuddenham <[email protected]d> wrote:
    john larkin <[email protected]> wrote:

    [...]
    Maybe I shouldn't diode clamp the relay coils. I'll have to test the
    dropout time.

    Put a resistor in series with the clamp diode, the value can be chosen
    to keep the inductive spike just below the maximum allowable voltage and
    that will give the fastest turn-off. By using higher voltage switching
    transistors you can have a higher voltage spike and a faster turn-off -
    but there is the risk that the spike might be capacitively coupled to
    somewhere vulnerable to damage.



    Or even just a resistor and no diode! The extra few percent current >consumption is often not a problem and a resistor is very reliable, more >durable than a diode.

    I tried a BSS123 logic-level mosfet driving my 12-volt 33 mA relay
    coil. It avalanches at about 120 volts and runs cool at 20 Hz.

    I'l let it run for a zillion cycles, but it's noisy.

    https://www.dropbox.com/scl/fo/i9xxdnw7bveuegm373sky/ALKsKJsIlT1fWhCehkHaa8w?rlkey=5ttkfyzl52prxvyd7xztguzh4&dl=0

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Buzz McCool@21:1/5 to john larkin on Wed Mar 5 15:36:22 2025
    On 3/4/2025 9:06 PM, john larkin wrote:
    ...

    So how might a user program a circuit breaker? Just RMS current with
    some time constant? Allow fast and slow trips?

    I've designed an electronic circuit breaker using Linear Technology
    (now Analog Devices) hot swap controllers. It looks like they offer
    some products with a programmable current limit.

    I'm not sure if you can change the circuit breaker time delay though.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From [email protected]@21:1/5 to john larkin on Wed Mar 5 23:16:43 2025
    john larkin <[email protected]> wrote:

    It will be a module that goes into this box:

    https://highlandtechnology.com/Category/MPS

    and operation will usually be from some computer. We'll also allow
    operation from the front panel, but that's mostly for setup and
    testing.

    Either way, users can open and close relays, declare trip rules,
    measure voltage and currents, and reset trips.

    Ah, got it. Lab environment, skilled users. I was thinking
    production floor or worse yet, a consumer appliance 8-)


    bob prohaska

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From john larkin@21:1/5 to All on Wed Mar 5 15:55:53 2025
    On Wed, 5 Mar 2025 15:36:22 -0800, Buzz McCool <[email protected]>
    wrote:

    On 3/4/2025 9:06 PM, john larkin wrote:
    ...

    So how might a user program a circuit breaker? Just RMS current with
    some time constant? Allow fast and slow trips?

    I've designed an electronic circuit breaker using Linear Technology
    (now Analog Devices) hot swap controllers. It looks like they offer
    some products with a programmable current limit.

    I'm not sure if you can change the circuit breaker time delay though.


    I used a TI e-fuse chip in one product. TPS26600. It liked to blow up.
    Being a nasty power-pad chip, it was very hard to replace.

    AP22652 is cool. We use it to current limit the power into pulse
    generator output drivers.

    On our relay board, we'll have a Hall effect current sensor driving a
    fast ADC, and the shutdown will be FPGA code, so we can do most
    anything.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lasse Langwadt@21:1/5 to john larkin on Thu Mar 6 19:01:27 2025
    On 3/5/25 17:39, john larkin wrote:
    On Wed, 5 Mar 2025 16:22:21 +0000, [email protected]d
    (Liz Tuddenham) wrote:

    john larkin <[email protected]> wrote:

    [...]
    Maybe I shouldn't diode clamp the relay coils. I'll have to test the
    dropout time.

    Put a resistor in series with the clamp diode, the value can be chosen
    to keep the inductive spike just below the maximum allowable voltage and
    that will give the fastest turn-off. By using higher voltage switching
    transistors you can have a higher voltage spike and a faster turn-off -
    but there is the risk that the spike might be capacitively coupled to
    somewhere vulnerable to damage.

    Those little mosfets avalanche reliably. The only hazard would be
    rapid cycling causing too much power dissipation.

    The resistor is a good idea. Or clamp to some giant shared TVS zener.


    or just diode to the 48V supply

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Liz Tuddenham@21:1/5 to Lasse Langwadt on Thu Mar 6 19:08:02 2025
    Lasse Langwadt <[email protected]> wrote:

    On 3/5/25 17:39, john larkin wrote:
    On Wed, 5 Mar 2025 16:22:21 +0000, [email protected]d
    (Liz Tuddenham) wrote:

    john larkin <[email protected]> wrote:

    [...]
    Maybe I shouldn't diode clamp the relay coils. I'll have to test the
    dropout time.

    Put a resistor in series with the clamp diode, the value can be chosen
    to keep the inductive spike just below the maximum allowable voltage and >> that will give the fastest turn-off. By using higher voltage switching
    transistors you can have a higher voltage spike and a faster turn-off -
    but there is the risk that the spike might be capacitively coupled to
    somewhere vulnerable to damage.

    Those little mosfets avalanche reliably. The only hazard would be
    rapid cycling causing too much power dissipation.

    The resistor is a good idea. Or clamp to some giant shared TVS zener.


    or just diode to the 48V supply

    As long as the supply can absorb current or is supplying a greater load
    current than the relays can dump.


    --
    ~ Liz Tuddenham ~
    (Remove the ".invalid"s and add ".co.uk" to reply)
    www.poppyrecords.co.uk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From john larkin@21:1/5 to Liz Tuddenham on Thu Mar 6 12:04:34 2025
    On Thu, 6 Mar 2025 19:08:02 +0000, [email protected]d
    (Liz Tuddenham) wrote:

    Lasse Langwadt <[email protected]> wrote:

    On 3/5/25 17:39, john larkin wrote:
    On Wed, 5 Mar 2025 16:22:21 +0000, [email protected]d
    (Liz Tuddenham) wrote:

    john larkin <[email protected]> wrote:

    [...]
    Maybe I shouldn't diode clamp the relay coils. I'll have to test the
    dropout time.

    Put a resistor in series with the clamp diode, the value can be chosen
    to keep the inductive spike just below the maximum allowable voltage and >> >> that will give the fastest turn-off. By using higher voltage switching >> >> transistors you can have a higher voltage spike and a faster turn-off - >> >> but there is the risk that the spike might be capacitively coupled to
    somewhere vulnerable to damage.

    Those little mosfets avalanche reliably. The only hazard would be
    rapid cycling causing too much power dissipation.

    The resistor is a good idea. Or clamp to some giant shared TVS zener.


    or just diode to the 48V supply


    Good idea.

    As long as the supply can absorb current or is supplying a greater load >current than the relays can dump.

    It's a kilowatt of MeanWell switcher. Should be OK.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Klaus Kragelund@21:1/5 to Klaus Kragelund on Sun Mar 9 23:24:03 2025
    On 09-03-2025 23:21, Klaus Kragelund wrote:
    On 06-03-2025 00:55, john larkin wrote:
    On Wed, 5 Mar 2025 15:36:22 -0800, Buzz McCool <[email protected]>
    wrote:

    On 3/4/2025 9:06 PM, john larkin wrote:
    ...

    So how might a user program a circuit breaker? Just RMS current with
    some time constant? Allow fast and slow trips?

    I've designed an electronic circuit breaker using Linear Technology
    (now Analog Devices) hot swap controllers. It looks like they offer
    some products with a programmable current limit.

    I'm not sure if you can change the circuit breaker time delay though.


    I used a TI e-fuse chip in one product. TPS26600. It liked to blow up.
    Being a nasty power-pad chip, it was very hard to replace.

    AP22652 is cool. We use it to current limit the power into pulse
    generator output drivers.

    On our relay board, we'll have a Hall effect current sensor driving a
    fast ADC, and the shutdown will be FPGA code, so we can do most
    anything.



    I am working on a solid state circuit breaker. So instead of your relay,
    I have two IGBTs back to back for ac operation.

    You can do more than just measure the current. I have added an inductor
    on the output, so in case of a short and umlimited power on the primary
    side, the current rises defined before saturation.

    You can detect the voltage over the switch/inductor, if too high you
    have a short. That will probably be much faster than the hall sensor

    The inductor will limited the dI/dt, so the IGBTs are turned off before
    SOA is reached. Kick back pulse must be diverted off course, when/if the
    load decides not to be a short any more at the peak of the current ramp.
    About the relay, you can detect the armature position by measuring the
    coil inductance. So to have the relay act faster, operate the relay at
    the knife edge where the armature is just pulled in. Then when current
    is decayed, the armature is moved instantly

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Klaus Kragelund@21:1/5 to john larkin on Sun Mar 9 23:21:14 2025
    On 06-03-2025 00:55, john larkin wrote:
    On Wed, 5 Mar 2025 15:36:22 -0800, Buzz McCool <[email protected]>
    wrote:

    On 3/4/2025 9:06 PM, john larkin wrote:
    ...

    So how might a user program a circuit breaker? Just RMS current with
    some time constant? Allow fast and slow trips?

    I've designed an electronic circuit breaker using Linear Technology
    (now Analog Devices) hot swap controllers. It looks like they offer
    some products with a programmable current limit.

    I'm not sure if you can change the circuit breaker time delay though.


    I used a TI e-fuse chip in one product. TPS26600. It liked to blow up.
    Being a nasty power-pad chip, it was very hard to replace.

    AP22652 is cool. We use it to current limit the power into pulse
    generator output drivers.

    On our relay board, we'll have a Hall effect current sensor driving a
    fast ADC, and the shutdown will be FPGA code, so we can do most
    anything.



    I am working on a solid state circuit breaker. So instead of your relay,
    I have two IGBTs back to back for ac operation.

    You can do more than just measure the current. I have added an inductor
    on the output, so in case of a short and umlimited power on the primary
    side, the current rises defined before saturation.

    You can detect the voltage over the switch/inductor, if too high you
    have a short. That will probably be much faster than the hall sensor

    The inductor will limited the dI/dt, so the IGBTs are turned off before
    SOA is reached. Kick back pulse must be diverted off course, when/if the
    load decides not to be a short any more at the peak of the current ramp.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)