Precision Voltage Controlled Triangle Square Generator
0 likes0 copies0 comments
Open it in Benchspice to change it☆ Bookmark
Voltage-controlled triangle and square oscillator based on supplied Linear Technology figure. LM358 / TLV3501 / 2N7002 equivalents.
Parts
| Part | Count | Values and models |
|---|---|---|
| Resistor | 7 | 7.5k, 10k, 3.74k |
| Voltage source | 3 | 12, 5, {vin} |
| Capacitor | 2 | 4.7u, 100n |
| Op-amp (with supplies) | 2 | LM358, TLV3501 |
| N-MOSFET | 1 | 2N7002 |
Picture

Simulation
This circuit is set up for a transient (time domain) analysis: .tran 0 40m 0 1u. Run it in your browser, change values and see the waveforms update.
SPICE netlist
* Precision Voltage Controlled Triangle Square Generator - Main
.param vin=2
V1 vcc 0 12
V2 vref 0 5
C2 vref 0 4.7u
V3 vin 0 {vin}
R1 vin n001 7.5k
R2 vin n002 10k
R3 n002 0 10k
R4 n001 n003 3.74k
M1 n003 square 0 0 2N7002
XU1 n002 n001 vcc 0 triangle LM358
C1 triangle n001 100n
R6 vref triangle 10k
XU2 n004 triangle vref 0 square TLV3501
R5 n004 0 10k
R7 n004 square 10k
* LM358 behavioral macromodel (In+ In- V+ V- OUT)
.subckt LM358 1 2 3 4 5
U1 1 2 3 4 5 gain=100k gbw=1meg slew=0.3meg hr=0 vos=2m
.ends LM358
.subckt TLV3501 inp inn vp vn out
Bc c 0 V=0.5+0.5*tanh(2000*V(inp,inn))
Rc c c2 1k
Cc c2 0 3p
Bo o 0 V=V(vn)+V(vp,vn)*V(c2)
Ro o out 50
.ends TLV3501
.model 2N7002 VDMOS(Rg=3 Vto=1.9 Rd=0.8 Rs=0.5 Rb=0.6 Kp=0.25 Lambda=0.01 Cgdmax=30p Cgdmin=3p Cgs=20p Cjo=15p Is=1e-14 Ksubthres=0.1)
.ic V(triangle)=2.2
.meas tran triangle_pp PP V(triangle) FROM=20m TO=40m
.meas tran square_pp PP V(square) FROM=20m TO=40m
.meas tran min_vtriangle MIN V(triangle)
.tran 0 40m 0 1u
.end