Solid State Circuit Breaker PDF
Solid State Circuit Breaker PDF
Micrel
Application Note 5
Solid State Circuit Breakers by Brenda Kovacevic
Introduction
Until very recently, few alternatives to electromechanical and magnetic circuit breakers existed. Designers were forced to live with such undesirable characteristics as arcing and switch bounce (with corresponding noise and wear), while accomodating large unwieldly packages in their high power systems. Solid state technology applied to this traditional device has resulted in circuit breakers free from arcing and switch bounce, that offer correspondingly higher reliability and longer lifetimes as well as faster switching times. A typical solid state circuit breaker will switch in a matter of microseconds, as opposed to milliseconds or even seconds for a mechanical version. New solid state products currently on the market utilize the many benefits associated with power MOSFETs to deliver a product far superior to earlier silicon versions. Power MOSFETs offer low on resistances (as compared to bipolar transistors), low voltage drops, low EMI, faster switching times and good thermal stability of key parameters. However, two key advantages that the electromechanical devices have over the solid state versions are simplicity and low cost. For example, a simple commercial circuit breaker relay combination will sell for $4.00 to $6.00 in low volume . The existing solid state circuit breakers will run from several times that amount, and typically include many bells and whistles that the average designer can do without. This cost difference is somewhat less in military versions, as the mechanical devices must also undergo extensive testing. One reason for the corresponding complexity of the silicon based systems is the power MOSFET drive circuitry required. If N-channel FETs are to be used (N-channel FETs are preferable to P-channel as they have roughly 2.5 times lower RDS (On) and correspondingly lower cost), a charge pump or voltage tripler must be supplied to provide sufficient gate enhancement to turn on the FET. This involves supplying an oscillator as well as the necessary diodes and capacitors, which definitely take board/hybrid package space. A simple, inexpensive solid state circuit breaker can be made using the MIC5013 power MOSFET predriver with overcurrent sense. This predriver was designed for driving N-channel FETs, and has an on-board charge pump to provide sufficient gate enhancement. This eliminates the issue of providing this enhancement externally; providing a one component solution to what once consumed extensive "real estate". As any size FET can be driven by the MIC5013, almost any load can be accomodated. High inrush or inductive loads are driven with equal ease, greatly expanding the realm of possibilities for these circuit breaker topologies. An internal comparator is used to sense an over-current condition; this feature allows the use of this product as a circuit breaker that can be programmed to trip at a specified current via choice of an external sense resistor. An overcurrent flag provides this information externally, allowing easy digital interface /control of the device. This feature allows its use in more complex, remotely controlled designs such as those currently used in high reliability applications. Using this highly versatile device, four circuit breaker configurations have been devised; a low parts count, low cost externally resettable version, a minimal parts count remotely resettable version with indicator, a minimal parts count automatically resettable version, and a full blown power controller design with Z8 microcontroller interface. Typical applications for the first three versions include a variety of commercial, industrial and military applications, such as battery pack circuit breakers/current limiting, electric vehicles, and heavy machinery. The latter design is useful in high end applications such as military avionics or industrial automation. It offers a substantial cost savings over the currently available remotely controllable electromechanical units, as well as most currently available hybrid designs of this complexity.
5-206
1997
Application Note 5
Micrel
V+ = 24V V+ = 24V 5k Control Input 1 Reset RTH 2 20k 3 4 330 10F MIC5013 Input Thresh Sense Source Fault V+ Gate 8 7 6 IRF541
R1 = V+ / 1mA R2 = 100 RS = (100mV + VTRIP) / IL RTH = (2200/VTRIP) 1000 For this example: IL = 10A (trip current) VTRIP = 105mV
RS 20m
Gnd 5 R2 100
Load
R1 24k
11
Time to Shutdown (s)
10 9 8 7 6 100
600
1997
5-207
Application Note 5
Micrel
Response Time
Figure 2 illustrates an advantage that is common to all MIC5013 based topologies: fast response times. A graph of shutdown time versus current overdrive is shown. The data was taken using this simple topology without the 330k small slide switch suitable for instrument or control panels where space is at a premium. Potential applications for this circuit include use as remotely controlled circuit breakers in aircraft with the indicator/switch
V+ = 28V V+ = 28V 10F 1k
NKK-SS12SDP2
1F
Figure 3: Remotely Resettable Circuit Breaker pulldown resistor, however, all configurations (with similar loads) will have a similar response as it is mostly a function of device parameters. (Note: This data was averaged from a small sample size; about 5-10% variation from this line may occur). Response times in the order of s means that a short circuit can be detected in time to prevent extensive damage, and is an improvement of an order of magnitude over electromechanical circuit breakers. located in the cockpit, industrial control panels, heavy machinery, and robotics.
5-208
Load
R1 27k
1997
Application Note 5
12V
Micrel
the NOR gate to go low. Upon determining that it was P20, P35 is brought low, providing the necessary toggling of the MIC5013 control input such that operation can resume once the short is removed (The MIC5013 current sense comparator output is connected to an internal latch which must be reset). Power has already been removed from the gate output of the MIC5013 by its internal current sense mechanism, shutting down the power FET and corresponding load. P26 is pulled low, lighting an LED that signifies that a fault has occurred. When the fault is removed, the Z8 will restore power to the "OK" LED, shut down the "Overcurrent" LED, and restore power to the control input of the MIC5013. No isolation between the microcontroller and the MIC5013 was deemed necessary in this case, as the fault output is current limited by the voltage divider resistors, and tends to be fairly clean. Open load detection is accomplished via the use of an LM301 op amp configured as a comparator. The LM301 was chosen for this application as it has more headroom than most op amps. The inverting input of the LM301 is set to 25 mV below the positive rail, which the non-inverting input will never reach unless the load is removed. The output of the op amp/comparator is fed to the HCPL-2602 optocoupler with the enable pin tied high. Under normal conditions, the output of the HCPL-2602 will be low; it toggles high in the event of an open load condition. The HCPL-2602 is also used to provide isolation between the digital and analog portions of the circuit. A high output from the HCPL-2602 causes the NOR gate to switch low, triggering the cond_int subroutine. The microcontroller reacts as before, removing power from the MIC5013 control input, and flagging the user that a problem has occurred. The 1000 pF capacitor placed between the inverting and non-inverting inputs of the LM301 along with the 100 k resistor serves as a noise filter, which prevents oscillations. Another way of doing this is to provide a small amount of hysteresis from the output back to the non-inverting input (See reference 4). Low power detection is accomplished via the use of an optocoupler, the HCPL-3700, that also contains a Schmidt trigger. This provides hysteresis, allowing us to shut the system down when power reaches roughly 50% of rated value, and not turn back on again until we are at roughly 75% of rated value (These levels are chosen via selection of input resistor values and can be changed to meet the requirements of most systems. See the Hewlett-Packard Optoelectronics Designer's Manual for more details). Again, the optoisolator also provides isolation between the digital and analog portions of the circuit. Shutdown and resetting of the system in the case of a low power condition is accomplished as before, by triggering the cond_int subroutine, which in turn scans port 2 to find the appropriate cause for the trigger and lights the corresponding LED.
100k 100nF
100k 10k
10F
MPSA05
IRFZ40
100 1N4148
RS 22m* Load
Application Note 5
If subroutine cond_int detects an impossible combination of conditions, i.e. short and open, a hardware fault has probably occurred. The microcontroller then lights an indicator LED attached to P34, and hangs up until the problem is removed. The emergency override feature allows a pilot (or vehicle commander) to keep the system alive even though a short circuit has been detected. In a combat or other emergency situation, the equipment could be kept operating until the short circuit causes the FET to blow. A switch located in the cockpit is used to provide this function. When it is depressed, IRQ2 (P31) is pulled low, causing the internal timer/counter to begin an 11 ms switch debounce count. If IRQ2 is still low (switch is still depressed) after 11 ms, then internal interrupt IRQ5 is activated on time out. Interrupt service routine T1_int then keeps power flowing to the control input of the MIC5013 , and toggles P23 high. This turns on the base of Q1, which pulls the signal on the sense input of the MIC5013 to ground, disabling the current sense function of the part. (If a 14-pin MIC5010 is used instead of the MIC5013, an external inhibit pin is available). Fault Out
Micrel
A key advantage of this circuit is that 2/4 interrupt lines and one complete I/O port is left unused. This would allow the microcontroller to be used for other functions in addition to power management. If this is to be a dedicated power management system and the unused I/O has no other potential purpose, then some ideas for modifications include using an alphanumeric display instead of indicator LEDs, and including a self test mode with indicators on power-up. If a PWM'ed load is to be used, the Z8 can be used to provide a variable frequency, variable pulse width signal by using the internal counter/timer registers (See the Z8 Design Manual for details). In this case, P36 should be connected to the control input of the MIC5013 instead of P35, and switch debounce will have to be performed in hardware instead of firmware. The MIC5013 can be switched up to a maximum frequency of 20kHz. Digital closed loop motion control can also be performed using the controller.
1 2 3 4
10F
Low Overcurrent Open Power Shutdown Load 500 Y 500 R P26 P27 500 Y P25
R4 10k
Load
R1 27k
100k
10k P20 86E21 +5V P23 8 Port 1 5k Q1 MPSA05 1.2k 100k 110k 5V Open Load Detect 8 Port 0 P35 Short Circuit Open Load Low Power 28V 0.1F 3.6k 3.6k HCPL3700 1k VOUT HCPL2601 10k LM301 100k 1000pF
Z8
Port 2
P21
P32
VOUT
5-210
1997
Application Note 5
Micrel
Summary
The MIC5013 MOSFET predriver with over current protection brings a whole new dimension to the world of power management with its versatility, ease of use, and quick response times. Four different lab tested circuit breaker configurations were presented and discussed; a minimum parts count version, a remotely resettable version, an automatically resettable version, and a complete microcontroller based power management system. Many more unique configurations are possible; a configuration to fit most needs can potentially be designed using the MIC5013. Figure 6: Z8 Microcode
.title CIRBR.S .page 53 ; set maximum lines/page to 55 .title CIRCUIT BREAKER CODE ;**************************************************************************************************** ; TITLE P32.S ; PROGRAMMER: BRENDA KOVACEVIC ; PURPOSE: THE FOLLOWING PROGRAM ENABLES THE Z8 ; MICROCONTROLLER TO RECEIVE DIAGNOSTIC INFORMATION ; FROM A SOLID STATE POWER CONTROLLER AND FEED THIS ; INFORMATION BACK TO THE USER. FOUR INDICATIONS ; ARE GIVEN; SHORT CIRCUIT, LOW POWER, OPEN LOAD, ; AND OK CONDITIONS ARE FLAGGED VIA THE USE OF LEDS ; DRIVEN DIRECTLY BY THE Z8. ; ;****************************************************************************************************
References
1. The Z8 Design Manual, Zilog, 1985 2. The Optoelectronics Applications Manual, HP Optoelectronics, McGraw-Hill, 1981 3. Micrel Databook, 1995 4. Pease, R. A. , Troubleshooting Analog Circuits , Butterworth - Heinemann, 1991 5. Faber, Al and Kennelly, Bob, "Hybrid Power Controller Outperforms Conventional Circuit Breakers", PCIM , November 1990, pg. 40 6. HP Application Note 1004, "Threshold Sensing For Industrial Control Systems With the HCPL3700 Interface Optocoupler" 7. Frank, Randy and Psaenich, Al "Surviving Short Circuits", Machine Design , March 8,1990, pg 89 8. Conner, Margery, "Devices Let Aircraft Use Higher Voltages", EDN , August 17, 1989, pg 59 9. asmS8 Super 8/Z8 Cross Assembler User's Guide, Zilog 1985
;**************************************************************************************************** ; EQUATES AND VARIABLES ;**************************************************************************************************** dbnce_actv: .EQU R0 ; working register r0 is the ; debounce timer active flag
;**************************************************************************************************** .BEGIN .ORG %8400 int0: jp null_iret ; unused interrupt int1: jp null_iret ; unused interrupt int2: jp null_iret ; unused interrupt int3: jp null_iret ; unused interrupt int4: jp null_iret ; unused interrupt. int5: jp T1_int ; Counter/Timer 1 interrupt.
; First user-available location in RAM is at %8500 .ORG %8500 start: jp init ; jump around ascii data, ; strings,...
.ascii created 2/26/91 by BLK. init: ; 1) Set up interrupts: Interrupts are configured here. di clr clr ei di ld ld ; ; mask out all interrupts ; clear out any pending ; interrupts ; initialize interrupt request ; enable latch. ; irq5 has highest priority ; enables interrupt 5(internal ; timer interrupt);masks off ; unused interrupts
imr irq
IPR,#00001000b IMR,#00100000b
; 2) Initialize Register pointer and stack: srp #%50 ld ld ; 3) Initialize I/O Ports: ld P01M,#11010011b SPH,#%A0 SPL,#%00
; put scratch working register ; set at %50-%60 ; top of external memory is the ; top of the stack
ld ld
P2M,#00000111b P3M,#01000000b
; port 0 address and data, port 1 ; output, external stack, normal ; timing ; P20-P22 inputs; P23-P27 ; outputs ; Port 2 pullups open drain,P30; P33 int. inputs, P34-P37 ; outputs : P31 = Tin
; 4) Initialize Counter/Timers. ld ld ld PRE1,#10000010b T1,#10000000b TMR,#00101100b ; set prescaler to 64 (decimal), ; single pass ; loads 256 in the timer, allows ; 11 ms count ; load and enable t1, triggered ; internal clock mode
1997
5-211
Application Note 5
Micrel
low_test: ; start with a clean debounce ; timer flag tm jr P2,#00000100b z,end_cond_int P3,#11011111b P2,#01110111b end_cond_int ; see if P22 is high (low power ; condition). ; jump if no low-voltage fault ; reset P35 to shutdown the ; MIC5013 ; reset P27 to turn on low ; power LED ; done with power condition ; tests ; reset P34 to turn on h/w fault ; LED - we have a circuit ; breaker malfunction - and ; turn off the MIC5013! ; turn off the OK LED, we have ; a HW fault and things are ; NOT OK!!
; enable interrupts
and ld
P3,#00000100b z,chk_pwr_cond
jr
; sends power to OK LED ; sends power to control input ; of MIC5013 ; jump over subroutine call
and
P3,#11001111b
or chk_pwr_cond: call cond_int ovrd_chk: tm dbnce_actv,#1 ; check power circuits ; If the emergency override has ; already been pressed, skip the ; test for emer. override. ; go back and start status check ; over the timers already ; running ; Has the emergency override ; (P31) been pressed? ; If yes, trigger debounce timer ; no - start over again looking ; for status ; set debounce timer active flag ; to indicate that the timers ; rolling. ; start debounce timer rolling ; continue to wait for something ; else to happen end_cond_int: ret
P2,#00010000b
jr
nz,status_check
tm jr jr emer_ovrd: or
dbnce_actv,#1
or jr
TMR,#00100011b status_check
;**************************************************************************************************** ;Interrupt: Emergency Override Switch Timer Interrupt ;Function: Keeps the MIC5013 alive while shorted in emergency situations. ;Action: When the manual override switch is depressed, internal timer ; T1 begins counting for 11 ms (see main). At the end of this debounce ; routine, interrupt IRQ5 is asserted. This takes priority over the cond_int ; subroutine, and keeps the control input to the MIC5013 on while ; disabling the current sense by pulling the sense pin ; to ground through transistor Q1. ;*************************************************************************************************** T1_int: di ; disable interrupts and dbnce_actv,#0 ; reset debounce active flag and irq,#11011111b ; Reset the interrupt source tm jr P2,#00000001b nz, end_T1_int P3,#00000010b nz,end_T1_int ; Dont take action if there is no ; short ; Bail out. ; Check to see if override switch ; is still depressed ; If not, then it was just noise ; triggered ; go back to main. ; Sends power to Q1 to disable ; current sense ; Makes sure the control input is ; still on
;*********************************************************************************************************** ; ***************************** ; Subroutine cond_int ; **************************** ;************************************************************************************************************ ;Subroutine: P32 low , signals power malfunction ;Function: Is tripped for any of the three malfunction conditions; ;Action Subroutine cond_int reads port 2 to determine which ; condition exists, and toggles the appropriate diagnostic bits ; of port 2 or 3. ;******************************************************************************************************* cond_int: short_test: tm jr and ld P2,#00000001b z,open_test P3,#11011111b P2,#10110111b ; see if P20 is high (short ; condition) ; jump if no short ; reset bit 5 of P3 to shut down ; MIC5013 ; reset P26 to turn on ; overcurrent LED ; fall through to test open load ; condition, open and short ; coincident indicates h/w fault ; see if P21 is high (open load ; condition). ; jump if no open load condition ; Do we also have a short ; condition (illegal)? ; Jump if not ; Catastrophic h/w failure ; indicate separately. ; reset P35 to shut down the ; MIC5013 ; reset P25 to turn on Open ; Load LED ; fall through to low voltage test
tm jr
or or end_T1_int: ei iret
P2,#00010000b P3,#00100000b
open_test: tm jr tm jr jr open_only: and ld P3,#11011111b P2,#11010111b P2,#00000010b z,low_test P2,#00000001b z,open_only hw_fault
;***************************************************************************************************** ;Interrupt: Null interrupt ;Function: Intercept any spurious interrupts. ;Action: None. Just return from the interrupt. ;********************************************************************************************************** null_iret: and irq,#00100000b ; Reset any spurious pending ; interrupt. iret
.END
5-212
1997