1. What is Dead Time in PWM Systems?
● Definition: Dead time is a short delay inserted between the switching of complementary
power devices (e.g., top and bottom switches in an inverter leg) to prevent them from
conducting simultaneously.
● Why It's Necessary: Without dead time, simultaneous conduction can cause a short
circuit across the power supply, damaging the components.
2. General Logic for Dead-Time Insertion
In a PWM system, you typically generate two complementary pulses for the top and bottom
switches in an inverter leg:
● Pulse 1: Direct PWM signal for one switch.
● Pulse 2: Inverted PWM signal with some delay (dead time) before switching on.
This ensures a small non-conducting interval during transitions.
3. Logical Representation
You can use simple logical operations to implement dead time. Here's how it works:
● Input:
○ Original PWM pulse (PWM_Input).
● Output:
○ Pulse1: Direct PWM signal for the top switch.
○ Pulse2: Delayed and inverted PWM signal for the bottom switch.
Steps:
1. Generate PWM Pulse: Create the PWM signal from techniques like sinusoidal PWM,
Space Vector Modulation, or other methods.
2. Introduce Delay:
○ Use a delay block or logic to introduce the dead time.
3. Logical Operations:
○ Apply a NOT operation for Pulse2.
○ Combine outputs using logic gates (AND/OR as needed).
4. Example Using MATLAB Simulink
Scenario:
You have a PWM signal with a period of 40 microseconds, and you want a dead time of 2
microseconds.
Steps in MATLAB Simulink:
1. Generate PWM Signal:
○ Use a PWM generator block or a custom sine wave comparator logic.
2. Add Dead Time:
○ Use a "Transport Delay" block to delay the inverted signal for the bottom switch.
3. Logical Operations:
○ Use NOT and AND gates:
■ Pulse1 = PWM_Input.
■ Pulse2 = NOT(PWM_Input) AND Delayed_PWM.
5. HDL or Embedded Code Implementation
In hardware description languages (HDL) or microcontroller-based systems, you can directly
implement dead-time logic in code.
Example in HDL:
vhdl
Copy code
architecture Behavioral of DeadTimeLogic is
signal pwm_input : std_logic; -- Original PWM input
signal pulse1 : std_logic; -- Output for top switch
signal pulse2 : std_logic; -- Output for bottom switch
signal delay_pwm : std_logic; -- Delayed signal
begin
-- Direct PWM for top switch
pulse1 <= pwm_input;
-- Generate delayed PWM
delay_pwm <= pwm_input after 2 us; -- Introduce dead time of 2
microseconds
-- Bottom switch logic (inverted and delayed)
pulse2 <= not delay_pwm;
end Behavioral;
6. Timing Diagram Explanation
Time (µs) PWM Input Pulse1 (Top Pulse2 (Bottom
Switch) Switch)
0 ON ON OFF
10 OFF OFF OFF (dead time)
12 OFF OFF ON
20 ON ON OFF
● The "dead time" is visible between transitions of Pulse1 and Pulse2.
7. Practical Considerations
● Dead Time Value:
○ Typically in the range of microseconds.
○ Depends on switching device characteristics (e.g., turn-on and turn-off delays).
● Simulation:
○ Tools like MATLAB Simulink allow you to visualize and verify the timing behavior.
● Real-Time Implementation:
○ Embedded controllers (e.g., ARM Cortex) often have built-in support for
dead-time insertion in PWM peripherals.
Conclusion
Dead time is a critical aspect of inverter and PWM-based systems to ensure safe operation and
prevent short circuits. Using tools like MATLAB Simulink or HDL, you can design, simulate, and
implement dead-time logic efficiently.
Let me know if you need specific help with MATLAB, HDL, or microcontroller-based
implementation!