Tl494 — Ltspice |best|
Chapter 1: The TL494 Subcircuit Model
First, create this file as TL494.sub in your LTspice working directory.
* TL494 Subcircuit for LTspice * Pin order: 1IN+ 1IN- 2IN+ 2IN- FB COMP CT RT GND C1 C2 VCC OUT1 OUT2 * Simplified functional model: oscillator, PWM comparator, error amps, outputs.SUBCKT TL494 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Pin mapping:
1 = 1IN+ 2 = 1IN- 3 = 2IN+ 4 = 2IN- 5 = FB 6 = COMP
7 = CT 8 = RT 9 = GND 10 = C1 11 = C2 12 = VCC
13 = OUT1 14 = OUT2
Power supply clamps VCC_IN 12 0 DC 0 E_VCC 100 0 VALUE V(12,9) R_VCC 100 0 1MEG
Current source for RT/CT oscillator (typical ~1mA) G_RT 0 8 VALUE IF(V(12,9)>4, 1.2e-3, 0) R_RT 8 0 1G
Sawtooth oscillator on CT pin (pin 7)
Frequency = 1/(RT*CT), typical range 1kHz-300kHz E_OSC_TRIG 110 0 VALUE V(100)*0.7 ; ~70% duty cycle max G_OSC 0 7 VALUE IF(V(7,9) < V(110) & V(12,9)>4, 1e-3, 0) C_OSC 7 9 1n IC=0 R_OSC 7 9 1MEG
Dead-time control (pin 4 = DTC, but we simplify via comparator offset) E_DTC 120 0 VALUE 0.1 ; fixed ~10% dead time
Error amplifiers (simple transconductance) tl494 ltspice
Amplifier 1 (pins 1,2) -> output to COMP (pin 6) G_EA1 0 6 VALUE 0.001 * (V(1,2))
Amplifier 2 (pins 3,4) -> also to COMP G_EA2 0 6 VALUE 0.001 * (V(3,4))
Feedback input (pin 5) overrides if lower D_FB 5 6 DCLAMP .MODEL DCLAMP D(Vfwd=0.7)
COMP pin pullup to internal reference (~3.5V) R_COMP 6 100 10K
PWM comparator: sawtooth (CT) vs COMP voltage
Outputs are active low, push-pull or open collector E_PWM 130 0 VALUE IF(V(7,9) > V(6,9), 0, 5) R_PWM 130 0 1MEG
Output steering: C1 and C2 (pins 10,11) are collector outputs
OUT1 and OUT2 (pins 13,14) are emitters (simplified: logic levels)
Alternate outputs on each oscillator half-cycle SAMPLE1 131 0 132 0 SW SAMPLE2 133 0 132 0 SW .MODEL SW VSWITCH(Ron=1 Roff=1G Vt=2.5 Vh=0.1)
Clock divider (toggle) E_CLK 132 0 VALUE PULSE(0,5,0,1n,1n,10u,20u) ; placeholder freq adjust
Better: use oscillator half-cycle detection (simplified for stability) Chapter 1: The TL494 Subcircuit Model First, create
Final outputs: active low, open collector to VCC pullups G_OUT1 0 13 VALUE IF(V(130) > 2.5 & V(132)>2.5, 1e-3, 0) G_OUT2 0 14 VALUE IF(V(130) > 2.5 & V(132)<2.5, 1e-3, 0) D_OUT1 13 12 DCLAMP D_OUT2 14 12 DCLAMP R_OUT1 13 0 1MEG R_OUT2 14 0 1MEG
.ENDS TL494
Frequency formula:
[
f_osc = \frac1R_T \cdot C_T
]
(For RT in ohms, CT in farads, f in Hz)
Actual output frequency = ( f_osc ) in single-ended mode, ( f_osc/2 ) in push-pull.
Option A: The LTC3892 Alternative (Not Recommended)
Some engineers use the LTC3892, a modern controller from ADI. However, its behavioral model does not match the TL494’s discrete logic, leading to inaccurate dead-time and error amplifier responses.
Dead-time control:
- Pin 4 voltage = 0V → ~3% dead time (depends on model)
- Pin 4 = 1V → more dead time, lower max duty cycle (~50%)
- Use voltage source or resistor divider from VREF.
Advanced Simulations: Dead-Time and Current Limiting
The TL494 has a second error amplifier—perfect for cycle-by-cycle current limiting.
4. Model Convergence Issues
The TI PSpice model uses charge-controlled switches. Add options reltol=1e-3 vntol=1e-4 to your simulation directive.
2. Typical pin mapping (to match LTspice symbol)
| Pin | Name | Description | |-----|-----------|---------------------------| | 1 | IN1+ | Error Amp 1 non‑inverting | | 2 | IN1- | Error Amp 1 inverting | | 3 | FEEDBACK | Compensation / PWM input | | 4 | DTC | Dead‑time control | | 5 | CT | Timing capacitor | | 6 | RT | Timing resistor | | 7 | GND | Ground | | 8 | C1 | Output collector 1 | | 9 | E1 | Output emitter 1 | | 10 | E2 | Output emitter 2 | | 11 | C2 | Output collector 2 | | 12 | VCC | Supply (7–40 V) | | 13 | OUT_CTRL | Output mode control | | 14 | REF | 5 V reference output | | 15 | IN2- | Error Amp 2 inverting | | 16 | IN2+ | Error Amp 2 non‑inverting |
3. TL494 Pin Mapping (for Symbol Creation)
If you need to create your own symbol, map these pins:
| Pin | Name | Function | |-----|---------|------------------------------| | 1 | IN1+ | Non-inverting input of error amp 1 | | 2 | IN1- | Inverting input of error amp 1 | | 3 | FEEDBACK| PWM comparator input (usually from amps) | | 4 | DTC | Dead-time control (0–3V) | | 5 | CT | Timing capacitor | | 6 | RT | Timing resistor | | 7 | GND | Ground | | 8 | C1 | Output transistor 1 collector | | 9 | E1 | Output transistor 1 emitter | | 10 | E2 | Output transistor 2 emitter | | 11 | C2 | Output transistor 2 collector | | 12 | VCC | Supply (7V–40V) | | 13 | OUT CTRL| Output control (GND=parallel, Vref=push-pull) | | 14 | VREF | 5V reference output | | 15 | IN2- | Inverting input of error amp 2 | | 16 | IN2+ | Non-inverting input of error amp 2 |
Chapter 6: Troubleshooting
No oscillation?
Check VCC > 7V, and RT/CT values (RT 1k-100k, CT 1nF-100nF). Pin mapping:
Outputs always low?
Verify FB pin is not pulled above ~3.5V, and COMP pin voltage is below sawtooth peak.
No regulation?
Ensure error amplifier inputs are correct polarity (1IN+ > 1IN- increases duty cycle).
To use the TL494 PWM controller in LTspice, you must import an unofficial model, as an official one is not provided by the manufacturer. The "feature" of adding this component involves obtaining the .sub (subcircuit) or .lib (library) file and creating a corresponding schematic symbol. 1. Obtain the TL494 Model Files
You can find third-party TL494 models from community sources:
GitHub: A TL494.sub file is available in the texane/power_inverter repository.
Groups.io: The LTspice Group contains extensive collections of models and example schematics.
Mikrocontroller.net: A widely cited model can be found on this forum thread. 2. Import the Model into LTspice
There are two main ways to "develop" this feature in your local setup: Method A: Quick Direct Inclusion Open your schematic in LTspice. Press 'S' to open the SPICE Directive box.
Paste the entire contents of the TL494 .sub file into the box, or use the .include command to link to the file on your drive: .include C:\Path\To\Your\tl494.sub Use code with caution. Copied to clipboard
Add a generic component (like dip16) and rename it to match the subcircuit name in the file (e.g., TL494). Method B: Permanent Symbol Creation
Open the Subcircuit File: Open the .sub or .lib file directly in LTspice.
Generate Symbol: Right-click the .subckt line and select Create Symbol. LTspice will automatically generate a block symbol with the correct pins.
Place Component: You can now find the TL494 under the "AutoGenerated" folder in the Component menu ('F2'). 3. Critical Setup Tips SPICE model for tl494 - Simulation (Ngspice)