Re: Final final 1kHz oscillator

Liste des GroupesRevenir à se design 
Sujet : Re: Final final 1kHz oscillator
De : bill.sloman (at) *nospam* ieee.org (Bill Sloman)
Groupes : sci.electronics.design
Date : 15. Nov 2024, 16:24:35
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vh7p3t$3fdde$1@dont-email.me>
References : 1 2 3 4 5
User-Agent : Mozilla Thunderbird
On 16/11/2024 12:00 am, Edward Rawde wrote:
"Bill Sloman" <bill.sloman@ieee.org> wrote in message news:vh72bm$3b6ip$1@dont-email.me...
On 15/11/2024 3:14 am, Edward Rawde wrote:
"JM" <sunaecoNoChoppedPork@gmail.com> wrote in message news:t5fajjdteskfftvkf84iqsp2vc4b9ta5kj@4ax.com...
On Fri, 8 Nov 2024 15:43:41 -0500, "Edward Rawde"
<invalid@invalid.invalid> wrote:
>
I finally got around to digging out my AD734 based Wein bridge simulation, and created a FET based version.
>
It's got a nasty 163kHz generator embedded in it somewhere, and I've put in an RL filter to keep that under control.
>
The double Sallen and Keys network is a four pole Bessel filter which I'm using as a 250usec delay line - the output from the full
wave rectifier has an appreciable 2kHz component, but the delayed contribution coming into the integrator through R9 roughly
cancels the direct input through R20.
>
R10 in the integrator damps the amplitude feedback loop for a dead-beat response.
>
The harmonics in the 1kHz output are about 100dB below the fundamental. Not great, but respectable, and not worth trying to
improve in a simulation.
>
The circuit still works with the worst case values for the 1% capacitors at C5 and C6.
>
 After fixing line wraps and the position of U1 I need LME49710.lib
 I'll be back in a few days.
John May posted it it a few weeks ago. Here's the text version I've been using.
*  LME49710
*****************************************************************************
* (C) Copyright 2011 Texas Instruments Incorporated. All rights reserved.
*****************************************************************************
** This model is designed as an aid for customers of Texas Instruments.
** TI and its licensors and suppliers make no warranties, either expressed
** or implied, with respect to this model, including the warranties of
** merchantability or fitness for a particular purpose.  The model is
** provided solely on an "as is" basis.  The entire risk as to its quality
** and performance is with the customer.
*****************************************************************************
*
** Released by: Analog eLab Design Center, Texas Instruments Inc.
* Date:             2011-11-18
* Model Type:       ALL IN ONE
* Simulator:        PSPICE
* Simulator Version: 16.2.0.p001
* Datasheet:        March 2007
* EVM Order Number: N/A
* EVM Users Guide:  N/A
* Model Version:    1.0
*
*****************************************************************************
*
* Updates:
*
* Version 1.0 :
* Release to Web
*
*****************************************************************************
* The LME49710 Macro Model represents the following parameters for
* Vcc=+/-15V:
* GBWP, input-referred voltage noise, the quiescent current,
* output swing, input offset voltage, input bias current,
* PSRR and CMRR, and the slew rate.
*
* For any convergence problems, it is suggested to set the following simulation
* options:
* VNTOL:   10u
* ABSTOL:  10n
* ITL1:   1000
* ITL2:    400
* ITL4:    400
*****************************************************************************
*
*****************************************************************************
*
*$
.SUBCKT LME49710 INP INN VCC  VEE OUT
*X_Ugnd       VCC   0    VEE   0    GND_FLOAT 0  EPOLY2 PARAMS: COEFF1=0.5 COEFF2=0.5
Rgn1          0          GND_FLOAT  100MEG
EVCVSgn1      GND_FLOAT  0    32    0  1
EVCVSgn2      33         0    VCC   0  1
EVCVSgn3      31         0    VEE   0  1
Cgn1          32         0    1
XRgn2         32         33   RNOISELESS  PARAMS: ROHMS=1E6
XRgnd3        31         32   RNOISELESS  PARAMS: ROHMS=1E6
X_U9          VCC VEE PD  VIMON GND_FLOAT INP2 INN1 HPA_PD_I PARAMS: VTH=1.4
+  IMAX=4.8e-3 IMIN=3N IIBP=7n IIBN=7.1n
V_Vos         INP2       INP_CMRR   33.2uVdc
C_Cinp        GND_FLOAT  INP1       200f  TC=0,0
C_Cinn        GND_FLOAT  INN1       200f  TC=0,0
R_Rinp        INP        INP1       1     TC=0,0
R_Rinn        INN        INN1       1     TC=0,0
X_U12         INP1       INP2       VNSE
X_UCN         INP1       INN1       FEMT
X_Ug0         INP_CMRR   INN3 GND_FLOAT    AV1     VCCS_LIMIT PARAMS: GAIN=10e-6
+  IPOS=0.5 INEG=-0.5
X_Ug4         AV1   GND_FLOAT GND_FLOAT OVER_CLAMP VCCS_LIMIT PARAMS: GAIN=172.8u
+  IPOS=98u INEG=-98u
X_U1          GND_FLOAT  AV1        RNOISELESS PARAMS: R=1e6
X_U2          GND_FLOAT  OVER_CLAMP RNOISELESS PARAMS: R=5.8e9
C_Ucl_Ccl2    GND_FLOAT  Ucl_N01226 1p  TC=0,0
C_Ucl_Ccl1    Ucl_N01131 GND_FLOAT  1p  TC=0,0
V_Ucl_Vclp    Ucl_N00774 GND_FLOAT  53Vdc
V_Ucl_Vcln    Ucl_N00760 GND_FLOAT -42Vdc
X_Ucl_Ucl1    Ucl_N50037 Ucl_N01131 D_ideal
X_Ucl_Ucl2    Ucl_N01226 Ucl_N50037 D_ideal
E_Ucl_E1      Ucl_N01131 GND_FLOAT  Ucl_N00774 VIMON 100
E_Ucl_E2      Ucl_N01226 GND_FLOAT  Ucl_N00760 VIMON 100
R_Ucl_Rcl1    Ucl_N01131 N3310462   1 TC=0,0
R_Ucl_Rcl2    N3310462   Ucl_N01226 1 TC=0,0
R_Ucl_Rcl3    Ucl_N50037 CL_CLAMP   0.01 TC=0,0
E_E1          VCC_BUF    GND_FLOAT  VCC GND_FLOAT 1
E_E2          VEE_BUF    GND_FLOAT  VEE GND_FLOAT 1
C_Cc1         GND_FLOAT  OVER_CLAMP 5p        TC=0,0
C_Cc2         P0ZP1      GND_FLOAT  723.4e-18 TC=0,0
C_Cc3         CLAW_CLAMP GND_FLOAT  144.7f    TC=0,0
C_Cc4         GND_FLOAT  GND_FLOAT  4.11f     TC=0,0
V_V1          VCC        N3310020   1.89Vdc
V_V4          N3310060   VEE        1.99Vdc
X_Ud1         INP_CMRR   N3310020   D_ideal
X_Ud2         INN3       N3310020   D_ideal
X_Ud3         N3310060   INP_CMRR   D_ideal
X_Ud4         N3310060   INN3       D_ideal
R_R2          GND_FLOAT  N3309562   1G   TC=0,0
R_R3          GND_FLOAT  N3310462   1G   TC=0,0
R_R4          VCC        PD         1e-3 TC=0,0
G_G3          GND_FLOAT  VSENSE     OVER_CLAMP GND_FLOAT 1u
G_G4          GND_FLOAT  P0Z        VSENSE     GND_FLOAT 1u
G_G5          GND_FLOAT  P0ZP1      P0Z        GND_FLOAT 1u
G_G6          GND_FLOAT  CLAW_CLAMP P0ZP1      GND_FLOAT 1m
G_G7          GND_FLOAT  CL_CLAMP   CLAW_CLAMP GND_FLOAT 1m
X_U3          VSENSE     GND_FLOAT  RNOISELESS PARAMS: R=1e6
X_U5          GND_FLOAT  P0Z        RNOISELESS PARAMS: R=1e6
X_U6          P0ZP1      GND_FLOAT  RNOISELESS PARAMS: R=1e6
X_U7          CLAW_CLAMP GND_FLOAT  RNOISELESS PARAMS: R=1e3
X_U8          CL_CLAMP   GND_FLOAT  RNOISELESS PARAMS: R=1e3
G_G1          GND_FLOAT  N3309274   INP_CMRR   GND_FLOAT 1u
E_Ecmrr       INN2 INN3  N3309274   GND_FLOAT 1
R_Rcmr        N3309274   N33089240  1 TC=0,0
L_Lcmr        N33089240  GND_FLOAT  560nH
G_G2          GND_FLOAT  N3309420   VCC        VEE       562.3n
X_Upsrr       N3309420   GND_FLOAT  INN1 INN2 VCVS_LIMIT PARAMS: GAIN=-1
+  VPOS=20M VNEG=-20M
R_Rpsr        N3309420   N33093920  1 TC=0,0
L_Lpsr        N33093920  GND_FLOAT  2uH
V_Uvcl_Vclo1  VCC_BUF     Uvcl_N498931 3.95Vdc
V_Uvcl_Vclo2  Uvcl_N50894 VEE_BUF      3.95Vdc
X_Uvcl_Uvcl1  OVER_CLAMP  Uvcl_N498931 D_ideal
X_Uvcl_Uvcl2  Uvcl_N50894 OVER_CLAMP   D_ideal
X_Uz_S1       N3309562   GND_FLOAT  Uz_N45387 Uz_VZO_3 Zout_Uz_S1
X_Uz_S2       N3309562   GND_FLOAT  Uz_N45507 Uz_VZO_3 Zout_Uz_S2
R_Uz_Ra       Uz_N45387  Uz_VZO_4   10 TC=0,0
R_Uz_Rb       Uz_N45507  Uz_VZO_4   10 TC=0,0
R_Uz_Rm       Uz_VZO_3   Uz_VZO_4   10 TC=0,0
X_Uz_Uamp1    VCLP       Uz_N36964  Uz_VZO_1 GND_FLOAT VCVS_LIMIT PARAMS:
+  GAIN=1e6 VPOS=6e4 VNEG=-6e4
X_Uz_Uamp2    GND_FLOAT  Uz_N37614  Uz_VZO_3 GND_FLOAT VCVS_LIMIT PARAMS:
+  GAIN=1e6 VPOS=6e4 VNEG=-6e4
E_Uz_E1       Uz_VZO_2   GND_FLOAT  Uz_VZO_1 Uz_VZO_4 -1
X_Uz_Rg1      GND_FLOAT  Uz_N36964  RNOISELESS PARAMS: R=10e6
X_Uz_Rf1      Uz_N36964  Uz_VZO_1   RNOISELESS PARAMS: R=10e6
X_Uz_Rg2      Uz_VZO_2   Uz_N37614  RNOISELESS PARAMS: R=1e6
X_Uz_Rf2      Uz_N37614  Uz_VZO_3   RNOISELESS PARAMS: R=1e6
X_Uz_H1       Uz_VZO_4   OUT VIMON  GND_FLOAT Zout_Uz_H1
X_Uthd        N3309236   GND_FLOAT  VCLP GND_FLOAT EPOLY1
*+PARAMS: COEFF1=0.0   COEFF2=0.0
X_U10         CL_CLAMP   GND_FLOAT  PD N3309236 GND_FLOAT VCC VEE HPA_PD_SGNL
+  PARAMS: GAIN=1
X_U11         VCC VEE VIMON GND_FLOAT Tran_Iout
.ENDS LME49710
*$
.subckt Zout_Uz_S2 1 2 3 4
S_Uz_S2         3 4 1 2 _Uz_S2
RS_Uz_S2        1 2 1G
.MODEL         _Uz_S2 VSWITCH Roff=10e6 Ron=1.0 Voff=0.1V Von=-0.1V
.ends Zout_Uz_S2
.subckt Zout_Uz_S1 1 2 3 4
S_Uz_S1         3 4 1 2 _Uz_S1
RS_Uz_S1        1 2 1G
.MODEL         _Uz_S1 VSWITCH Roff=10e6 Ron=1.0 Voff=-0.1V Von=0.1V
.ends Zout_Uz_S1
*$
.subckt Zout_Uz_H1 1 2 3 4
H_Uz_H1         3 4 VH_Uz_H1 1e3
VH_Uz_H1        1 2 0V
.ends Zout_Uz_H1
*$
*
.subckt D_ideal A C
D1 A C DNOM
.MODEL DNOM D (TT=10p CJO=1e-18 IS=1e-16 RS=1e-4)
*.MODEL DNOM D (TT=10p CJO=1e-18 IS=1e-16 RS=1e-4 N=1e-3)
.ENDS D_ideal
*
*$
.SUBCKT VNSE 1 2
**************************
* BEGIN SETUP OF NOISE GEN - NANOVOLT/RT-HZ
* INPUT THREE VARIABLES
* NLF - NV/RHZ AT (1/F) FREQ
* FLW - FREQ FOR (1/F) VAL
* NVR - NV/RHZ FLATBAND
**************************
* START CALC VALS
.PARAM NLF=6.4
.PARAM FLW=8.5
.PARAM NVR=2.5
.PARAM GLF={PWR(FLW,0.25)*NLF/1164}
.PARAM RNV={1.184*PWR(NVR,2)}
.MODEL DVN D KF={PWR(FLW,0.5)/1E11} IS=1.0E-16
* END CALC VALS
I1 0 7 10E-3
I2 0 8 10E-3
D1 7 0 DVN
D2 8 0 DVN
E1 3 6 7 8 {GLF}
R1 3 0 1E9
R2 3 0 1E9
R3 3 6 1E9
E2 6 4 5 0 10
R4 5 0 {RNV}
R5 5 0 {RNV}
R6 3 4 1E9
R7 4 0 1E9
E3 1 2 3 4 1
C1 1 0 1E-15
C2 2 0 1E-15
C3 1 2 1E-15
.ENDS VNSE
*$
.SUBCKT FEMT 1 2
**************************
* BEGIN SETUP OF NOISE GEN - FEMPTOAMPS/RT-HZ
* INPUT THREE VARIABLES
* NLFF - SET UP INSE 1/F
* FLWF - FA/RHZ AT 1/F FREQ
* NVRF - FA/RHZ FLATBAND
**************************
* START CALC VALS
.PARAM NLFF=3.1e3
.PARAM FLWF=7.5
.PARAM NVRF=1.6e3
.PARAM GLFF={PWR(FLWF,0.25)*NLFF/1164}
.PARAM RNVF={1.184*PWR(NVRF,2)}
.MODEL DVNF D KF={PWR(FLWF,0.5)/1E11} IS=1.0E-16
* END CALC VALS
I1 0 7 10E-3
I2 0 8 10E-3
D1 7 0 DVNF
D2 8 0 DVNF
E1 3 6 7 8 {GLFF}
R1 3 0 1E9
R2 3 0 1E9
R3 3 6 1E9
E2 6 4 5 0 10
R4 5 0 {RNVF}
R5 5 0 {RNVF}
R6 3 4 1E9
R7 4 0 1E9
G1 1 2 3 4 1E-6
C1 1 0 1E-15
C2 2 0 1E-15
C3 1 2 1E-15
.ENDS FEMT
*
*$
.SUBCKT Tran_Iout VCC VEE VIMON AGND
X_Siq1         N1 GND_FLOAT VIMON N2 Amp_Dyn_Iout_Siq1
X_Siq2         N1 GND_FLOAT VIMON N3 Amp_Dyn_Iout_Siq2
C_Ciq1         N1 GND_FLOAT  10e-12  TC=0,0
R_Riq1         N1 VIMON      10      TC=0,0
R_Riq2         N2 GND_FLOAT  10e3    TC=0,0
R_Riq3         GND_FLOAT N3  10e3    TC=0,0
G_Gsourcing    VCC GND_FLOAT N3 GND_FLOAT 0.001
G_Gsinking     VEE GND_FLOAT N2 GND_FLOAT 0.001
.ENDS Tran_Iout
*$
.subckt Amp_Dyn_Iout_Siq1 1 2 3 4
S_Siq1         3 4 1 2 _Siq1
RS_Siq1        1 2 1G
.MODEL        _Siq1 VSWITCH Roff=1e6 Ron=1.0 Voff=0.0V Von=-0.10V
.ends Amp_Dyn_Iout_Siq1
*$
.subckt Amp_Dyn_Iout_Siq2 1 2 3 4
S_Siq2         3 4 1 2 _Siq2
RS_Siq2        1 2 1G
.MODEL        _Siq2 VSWITCH Roff=1e6 Ron=1.0 Voff=0.0V Von=0.10V
.ends Amp_Dyn_Iout_Siq2
*$
*
.subckt VCCS_Limit VCP VCN IOUTP IOUTN PARAMS: Gain = 1.7e-3
+ Ipos = 0.100 Ineg = -0.165
G1 IOUTP IOUTN VALUE={LIMIT(Gain*V(VCP,VCN),Ipos,Ineg)}
.ends VCCS_Limit
*$
*
.subckt VCVS_Limit VCP VCN VOUTP VOUTN PARAMS: Gain = -1
+ Vpos = 20m Vneg = -20m
E1 VOUTP VOUTN VALUE={LIMIT(Gain*V(VCP,VCN),Vpos,Vneg)}
.ends VCVS_Limit
*$
*
.SUBCKT HPA_PD_I VCC VEE PD Vimon AGND Ninp Ninn PARAMS: Vth = 1.4 Imax = 1e-3  Imin = 3n
+       IIBP= 0.55u  IIBN= 0.56u
*GBIAS    VCC  VEE    VALUE = {IF(V(PD)   >= (V(VEE)+Vth),Imax,Imin)}
GBIAS     VCC  VEE    VALUE = {IF(V(PD)   >= V(VCC),Imax,Imin)}
Ebuf      VDD  0      VCC  0   1
Ginp      VDD  Ninp   VALUE = {IF(V(PD)   >= V(VCC),IIBP,0)}
Ginn      VDD  Ninn   VALUE = {IF(V(PD)   >= V(VCC),IIBN,0)}
.ENDS
*$
.SUBCKT HPA_PD_Sgnl  CP  CN  DIS  VP  VN  VCC VEE PARAMS:  GAIN = 1
EVCVS  VP  VN  VALUE = {IF(V(DIS,VEE) >= 1.4,V(CP,CN)*GAIN,0)}
.ENDS HPA_PD_Sgnl
*$
*$
*
.SUBCKT EPOLY2 1 2 3 4 7 8 PARAMS: Coeff1=0.5  Coeff2=0.5
*EINT 7 8 POLY(2) (1,2) (3,4) (0 Coeff1 Coeff2)
EINT 7 8 POLY(2) (1,2) (3,4) (0 0.5 0.5)
.ENDS EPOLY2
*$
*
.SUBCKT EPOLY1 1 2 3 4  PARAMS: Coeff1=0.0  Coeff2=0.0
*For distortion purpose
EINT 3 4 POLY(1) (1,2) (0 1 8.5e-5 14.26e-4)
*EINT 3 4 POLY(1) (1,2) (0 1 0 0)
*EINT 3 4 1 2   1
.ENDS EPOLY1
*$
*
.subckt Rnoiseless a b PARAMS: R=1k
ERES a 3 VALUE = { I(VSENSE) * R }
Rdummy 30 3 1
VSENSE 30 b DC 0V
.ends Rnoiseless
*$

Date Sujet#  Auteur
8 Nov 24 * Final final 1kHz oscillator59Edward Rawde
9 Nov 24 +* Re: Final final 1kHz oscillator16Bill Sloman
9 Nov 24 i+* Re: Final final 1kHz oscillator14Edward Rawde
9 Nov 24 ii`* Re: Final final 1kHz oscillator13Bill Sloman
9 Nov 24 ii +- Re: Final final 1kHz oscillator1Edward Rawde
10 Nov 24 ii `* Re: Final final 1kHz oscillator11Edward Rawde
10 Nov 24 ii  `* Re: Final final 1kHz oscillator10Cursitor Doom
10 Nov 24 ii   +- Re: Final final 1kHz oscillator1Edward Rawde
10 Nov 24 ii   `* Re: Final final 1kHz oscillator8Edward Rawde
10 Nov 24 ii    `* Re: Final final 1kHz oscillator7Cursitor Doom
10 Nov 24 ii     `* Re: Final final 1kHz oscillator6Cursitor Doom
10 Nov 24 ii      `* Re: Final final 1kHz oscillator5Cursitor Doom
10 Nov 24 ii       `* Re: Final final 1kHz oscillator4Edward Rawde
11 Nov 24 ii        +* Re: Final final 1kHz oscillator2Edward Rawde
11 Nov 24 ii        i`- Re: Final final 1kHz oscillator1Cursitor Doom
11 Nov 24 ii        `- Re: Final final 1kHz oscillator1Joe Gwinn
9 Nov 24 i`- Re: Final final 1kHz oscillator1Cursitor Doom
14 Nov 24 `* Re: Final final 1kHz oscillator42JM
14 Nov 24  +- Re: Final final 1kHz oscillator1JM
14 Nov 24  `* Re: Final final 1kHz oscillator40Edward Rawde
15 Nov 24   +* Re: Final final 1kHz oscillator6Bill Sloman
15 Nov 24   i+* Re: Final final 1kHz oscillator2Edward Rawde
15 Nov 24   ii`- Re: Final final 1kHz oscillator1Bill Sloman
16 Nov 24   i+- Re: Final final 1kHz oscillator1Bill Sloman
16 Nov 24   i`* Re: Final final 1kHz oscillator2Bill Sloman
18 Nov 24   i `- Re: Final final 1kHz oscillator1Edward Rawde
17 Nov 24   `* Re: Final final 1kHz oscillator33JM
18 Nov 24    +* Re: Final final 1kHz oscillator29Edward Rawde
19 Nov 24    i+- Re: Final final 1kHz oscillator1Bill Sloman
19 Nov 24    i`* Re: Final final 1kHz oscillator27Bill Sloman
20 Nov 24    i `* Re: Final final 1kHz oscillator26Edward Rawde
20 Nov 24    i  +* Re: Final final 1kHz oscillator21Bill Sloman
20 Nov 24    i  i`* Re: Final final 1kHz oscillator20Bill Sloman
20 Nov 24    i  i `* Re: Final final 1kHz oscillator19Edward Rawde
20 Nov 24    i  i  `* Re: Final final 1kHz oscillator18Bill Sloman
22 Nov 24    i  i   `* Re: Final final 1kHz oscillator17Bill Sloman
22 Nov 24    i  i    `* Re: Final final 1kHz oscillator16Edward Rawde
23 Nov 24    i  i     +* Re: Final final 1kHz oscillator14Bill Sloman
23 Nov 24    i  i     i+* Re: Final final 1kHz oscillator12Edward Rawde
23 Nov 24    i  i     ii`* Re: Final final 1kHz oscillator11Bill Sloman
23 Nov 24    i  i     ii `* Re: Final final 1kHz oscillator10Edward Rawde
24 Nov 24    i  i     ii  +- Re: Final final 1kHz oscillator1ehsjr
24 Nov 24    i  i     ii  `* Re: Final final 1kHz oscillator8Bill Sloman
24 Nov 24    i  i     ii   `* Re: Final final 1kHz oscillator7Edward Rawde
25 Nov 24    i  i     ii    `* Re: Final final 1kHz oscillator6Bill Sloman
26 Nov 24    i  i     ii     `* Re: Final final 1kHz oscillator5Bill Sloman
27 Nov 24    i  i     ii      +- Re: Final final 1kHz oscillator1Edward Rawde
27 Nov 24    i  i     ii      `* Re: Final final 1kHz oscillator3JM
27 Nov 24    i  i     ii       `* Re: Final final 1kHz oscillator2Bill Sloman
28 Nov 24    i  i     ii        `- Re: Final final 1kHz oscillator1Edward Rawde
23 Nov 24    i  i     i`- Re: Final final 1kHz oscillator1Edward Rawde
23 Nov 24    i  i     `- Re: Final final 1kHz oscillator1Bill Sloman
20 Nov 24    i  `* Re: Final final 1kHz oscillator4JM
20 Nov 24    i   +- Re: Final final 1kHz oscillator1JM
21 Nov 24    i   `* Re: Final final 1kHz oscillator2Edward Rawde
21 Nov 24    i    `- Re: Final final 1kHz oscillator1Edward Rawde
20 Nov 24    `* Re: Final final 1kHz oscillator3john larkin
20 Nov 24     `* Re: Final final 1kHz oscillator2Phil Hobbs
27 Nov 24      `- Re: Final final 1kHz oscillator1John R Walliker

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal