| Electronics > Projects, Designs, and Technical Stuff |
| Analog challenge exercise |
| (1/6) > >> |
| T3sl4co1l:
Today's challenge: * Switching supply, single isolated output * Low power, say 5-12V at a few mA * Modest efficiency at nominal output (>50%?) * Wide input range, say 5-30V * Well behaved under source/load extremes (e.g., should probably have current limiting, or current mode control or the like) * Discrete analog preferred, i.e. resistors, capacitors, inductors, diodes, transistors * Least parts and cost wins My example: https://www.seventransistorlabs.com/Images/Discrete_Flyback.pdf A six-transistor (I know, I'm one short, how could I do this? :palm: ), 30 part design. All discrete, implements peak current mode switching, in PFM (pulse frequency modulation). Rather than controlling for regulation, a fixed operating point is used, with zener shunt regulation at the output. (This is fair, as only efficiency at nominal load is stipulated.) Transformer is a data line type common mode choke -- these have quite reasonable leakage (L1, L2 and k should be about as shown, assuming I didn't make an error), and a low voltage rating (50-100V). A higher rating would of course be convenient, but nothing is available in a small size (however, the cost doesn't need to be much more; Taiyo Yuden TLF9 family for example seems to be great bang for the buck?). Q2B and associated components are pretty much optional, but as I used transistor pairs in this design, it was handy. (We can debate the merits of semantic versus physical component count, and also how to weight that in terms of costs.) Don't have an LTSpice version, but here's the netlist more or less if you want to get started with this version: --- Code: ---C1 TIMER 0 470pF IC=0 C2 REF SW2 1pF IC=0 C3 OUT GNDO 1uF IC=9 C4 BST2 BST1 220pF IC=15 C5 REF 0 10pF IC=0 C6 VCC SN 220pF IC=0 C7 VCC 0 1uF IC=0 D1 REF SW2 1N4148 XD2 SW3 OUT BAT85 D3 B1 B2 1N4148 XD4 B2 BST1 BAT85 XD5 GNDO OUT ZENER PARAMS: VALUE=9V Q1A VCC TIMER TIMEB BC847 Q1B TIMER TIMEB TIMEE BC847 Q2A B1 REF TIMEE QBC857 Q2B SH2 BST2 BST3 QBC857 Q3A SW1 B2 SH1 BC847 Q3B BST1 SH2 0 BC847 R1 VCC TIMER 47k R2 VCC REF 47k R3 TIMEB TIMEE 100 R4 SW2 SW1 10k R5 B1 BST3 100 R6 B1 BST2 10k R7 OUT GNDO 10k R8 REF 0 100k R9 SN SW1 4.7k R10 SH2 SH1 1k R11 B2 0 1k R12 SH1 0 4.7 RS1 0 GNDO 1m LA_KT1 SW1 VCC 100uH LB_KT1 SW3 GNDO 100uH KT1 LA_KT1 LB_KT1 0.9992 V1 VCC 0 24 .MODEL 1N4148 D IS = 4.352E-9 N = 1.906 BV = 100 IBV = 0.001 RS = 0.6458 CJO = + 7.048E-13 VJ = 0.869 M = 0.03 FC = 0.5 TT = 3.48E-9 .SUBCKT BAT85 1 2 D1 1 2 BAT85 R1 1 2 5.416E+7 .MODEL BAT85 D IS = 2.076E-7 N = 1.023 BV = 33 IBV = 10E-6 RS = 2.326 CJO = + 1.21E-11 VJ = 0.1319 M = 0.2904 EG = 0.69 XTI = 2 .ENDS BAT85 .SUBCKT ZENER 1 2 PARAMS: Value=5.1V DDF 1 2 DF RREV 1 2 2e6 .MODEL DF D ( IS=28.3p RS=5 N=1.10 BV={Value} IBV=1m CJO=66.2p VJ=0.750 M=0.330 + TT=50.1n ) .ENDS .MODEL BC847 NPN IS = 1.822E-14 NF = 0.9932 ISE = 2.894E-16 NE = 1.4 BF = 324.4 + IKF = 0.109 VAF = 82 NR = 0.9931 ISC = 9.982E-12 NC = 1.763 BR = 8.29 IKR = 0.09 + VAR = 17.9 RB = 10 IRB = 5E-06 RBM = 5 RE = 0.649 RC = 0.7014 XTB = 0 EG = 1.11 + XTI = 3 CJE = 1.244E-11 VJE = 0.7579 MJE = 0.3656 TF = 4.908E-10 XTF = 9.51 VTF + = 2.927 ITF = 0.3131 PTF = 0 CJC = 3.347E-12 VJC = 0.5463 MJC = 0.391 XCJC = + 0.6193 TR = 9E-08 CJS = 0 VJS = 0.75 MJS = 0.333 FC = 0.979 .MODEL QBC857 PNP IS = 2.014E-14 NF = 0.9974 ISE = 6.578E-15 NE = 1.45 BF = 315.3 + IKF = 0.079 VAF = 39.15 NR = 0.9952 ISC = 1.633E-14 NC = 1.15 BR = 8.68 IKR = + 0.09 VAR = 9.5 RB = 10 IRB = 5E-06 RBM = 5E-06 RE = 0.663 RC = 0.718 XTB = 0 EG + = 1.11 XTI = 3 CJE = 1.135E-11 VJE = 0.7071 MJE = 0.3808 TF = 6.546E-10 XTF = + 5.387 VTF = 6.245 ITF = 0.2108 PTF = 0 CJC = 6.395E-12 VJC = 0.4951 MJC = 0.44 + XCJC = 0.6288 TR = 5.5E-08 CJS = 0 VJS = 0.75 MJS = 0.333 FC = 0.9059 .SAVE 0 B1 B2 BST1 BST2 BST3 GNDO OUT REF SH1 SH2 SN SW1 SW2 SW3 TIMEB TIMEE .SAVE TIMER VCC .OPTIONS ABSTOL=1E-9 CHGTOL=1E-9 GMIN=1E-9 ITL4=400 RELTOL=0.0001 RSHUNT=1E9 .OPTIONS TRTOL=3 VNTOL=0.0001 METHOD=GEAR MAXORD=2 .TRAN 1E-7 0.001 0 5E-6 UIC .END --- End code --- Tim |
| TerminalJack505:
Your challenge is beyond my skill level! I'll have to study your circuit and see how the pros do it. ;D |
| T3sl4co1l:
Synthesis of these sorts of circuits is quite a puzzle, yes. :) The general plan of this one is an oscillator, of course, more specifically a multivibrator. Q1A and Q2A, along with R1, C1 and R2, R8, makes a complementary "differential pair". This is an interesting motif because, though it makes a terrible diff pair (there's a 2*Vbe offset!), the "tail" current -- rather than being sourced from somewhere, then steered between the pair -- is itself what's being sourced. So this can turn on very aggressively, without requiring almost any quiescent current. You can also think of it as a common emitter amplifier with a fixed offset, which is apparent in this application: https://www.seventransistorlabs.com/Images/LED_Light2.png the top-left NPN could be replaced by a (rather beefy) resistor divider, serving as threshold voltage for its companion. In this case, the resistor divider can be hFE times larger, saving on bias current! Anyway, Q2A connector drives Q3A base, turning on the main switch. To hold it on, D1, R4 applies positive feedback. (Note another feature of the "complementary diff pair", the bases conduct forward, so C1 gets discharged through D1 and Q3A base.) Q3A remains on (via R1 and R4 into Q1A, Q2A), with base current set by Q1B (a Vbe current limiter -- note that it shunts the capacitor directly, so capacitor discharge current actually flows through Q1B). Eventually, SH1 voltage rises to a Vbe, turning on Q3B and turning off Q3A. When Q3A collector voltage begins to rise, positive feedback snaps everything off (with a little help from C2) and the circuit resets to its initial timing state (C1 charging through R1). Note that C1 ends up discharged (down to a few volts) during the on-pulse, which implements holdoff compared to a free-running oscillator like you'd have in a typical peak-current-mode controller like UC3842. I don't think Q2B is actually doing anything right now, I mean with components and values as shown; but it's supposed to provide another little burst of positive feedback, with D3 increasing the B1 "on" voltage, and C4 triggering Q2B triggering Q3B to turn off Q3A more rapidly. That's a long story for two halves of a waveform, but so what? I called it a multivibrator, because it is -- there are two important time constants, R1*C1 and T1 and R17 (sort of). This works fundamentally the same as a two-transistor multivibrator, which uses two RC time constants. This kind of flips it, and uses some other fancy blocks (like the complementary "diff" pair, and the peak current mode switch), to use an RC and RL time constant instead. The L of course being necessary for the intended function. Tim |
| nctnico:
I have build something like this before using an NE555 and an external transistor. Current limited too IIRC. |
| tszaboo:
I have an entry for the "least part": WE 17791063215 26.7KOhm resistor, 0603 |
| Navigation |
| Message Index |
| Next page |