fable
This commit is contained in:
1 parent
956a72702b
commit
295391b119
4 files changed
+2828
-2975
No files matched your search
@@ -1,16 +1,17 @@
|
||||
# ambium
|
||||
|
||||
Analog brown-noise generator. Single **+12 V** supply, breadboard-friendly.
|
||||
Deep filtered rumble to a **4 Ω speaker** via a TIP120 driver.
|
||||
Deep filtered rumble to a **4 Ω speaker** via a cool-running **Class-AB push-pull** output.
|
||||
|
||||
Reference designators and model numbers are consistent across every diagram, the
|
||||
BOM, and the connection list — the connection list is the authoritative netlist.
|
||||
|
||||
## Parts
|
||||
|
||||
- **U1** = LM358 (dual op-amp, DIP-8). U1B = amp + brown shaping. U1A unused (parked).
|
||||
- **U1** = LM358 (dual op-amp, DIP-8). U1B = amp + brown shaping. U1A = output driver.
|
||||
- **Q1** = 2N3904 (NPN). Avalanche noise source.
|
||||
- **Q3** = TIP120 (NPN Darlington, TO-220). Class-A speaker driver.
|
||||
- **Q2** = PN2222 (NPN). Push-pull top half (sources +).
|
||||
- **Q3** = PN2907 (PNP). Push-pull bottom half (sinks −).
|
||||
|
||||
## Nets
|
||||
|
||||
@@ -19,27 +20,9 @@ BOM, and the connection list — the connection list is the authoritative netlis
|
||||
## Signal chain
|
||||
|
||||
```
|
||||
[noise] [amp + brown] [driver]
|
||||
Q1 2N3904 → U1B LM358 −6dB/oct → Q3 TIP120 → 4Ω speaker
|
||||
NOISE AMP (class A)
|
||||
```
|
||||
|
||||
Legend:
|
||||
```
|
||||
[Rxx val] resistor ──┤├── film / non-polar cap ● junction
|
||||
──+┤├── polarised cap (+ = + terminal)
|
||||
│\ × no-connect
|
||||
────┤−\ op-amp: IN− top, IN+ bottom, OUT right. ► net continues
|
||||
│ >── Powered from +12V / GND (LM358 pins 8 / 4).
|
||||
────┤+ /
|
||||
│/
|
||||
E transistor: E / B / C labels outside the box.
|
||||
│
|
||||
┌──┴──┐
|
||||
B ───┤ Qx │ NPN
|
||||
└──┬──┘
|
||||
│
|
||||
C
|
||||
[noise] [amp + brown] [push-pull driver]
|
||||
Q1 2N3904 → U1B LM358 −6dB/oct → U1A + Q2/Q3 → 4Ω speaker
|
||||
NOISE AMP OUT (Class AB, cool)
|
||||
```
|
||||
|
||||
---
|
||||
@@ -122,43 +105,73 @@ LM358 DIP-8, notch at top, pin 1 top-left. Amp = **unit B** (pins 5/6/7).
|
||||
DC handling: C1 blocks DC into Rin1, so the op-amp's own offset sees unity gain — output
|
||||
sits at VREF (6 V), no railing.
|
||||
|
||||
Unit A unused → park as a follower so it can't oscillate: pin 3 → VREF, pin 2 → pin 1.
|
||||
Unit A (pins 1/2/3) = the push-pull output driver — see next section.
|
||||
Power/decoupling (whole chip, once): pin 8 → +12V, pin 4 → GND. 47µF bulk + 0.1µF at
|
||||
pin 8.
|
||||
|
||||
---
|
||||
|
||||
## Output driver — TIP120 class-A follower (Q3), 4Ω speaker
|
||||
## Output driver — Class-AB push-pull (U1A + Q2/Q3), 4Ω speaker
|
||||
|
||||
AMP is line level; the LM358 can't drive a speaker. Q3 emitter follower supplies the
|
||||
current. Class A — needs a heatsink.
|
||||
AMP is line level; the LM358 can't drive a speaker alone. Complementary emitter-
|
||||
followers **inside the U1A loop**: Q2 (NPN) pushes the positive half, Q3 (PNP) pulls
|
||||
the negative half. Both halves are actively driven, so there's **no idle resistor and
|
||||
near-zero quiescent current → it runs cool.** U1A drives both bases; global feedback
|
||||
from OUT hides crossover distortion (no bias diodes needed).
|
||||
|
||||
Driver = LM358 **unit A** (pins 1/2/3), same chip as the amp.
|
||||
|
||||
```
|
||||
+12V +12V
|
||||
│ │
|
||||
[Rb1 10k] C (collector)
|
||||
│ ┌──┴──┐
|
||||
●───────●───────────────────B──┤ Q3 │ TIP120
|
||||
│ │ └──┬──┘
|
||||
[Rb2 10k] │ │
|
||||
│ │ E
|
||||
GND │ │
|
||||
│ ●──+┤├──► SPKR ─ GND
|
||||
AMP ─+┤├───┘ │ Cout2 470µF (+ → emitter)
|
||||
Cc 10µF [Re 22Ω 3W] 4Ω
|
||||
│
|
||||
(base node ● = Rb1/Rb2/Cc) GND
|
||||
┌─────∪────┐
|
||||
bases ─ OUT A 1 ─┤ ├ 8 V+ ──── +12V
|
||||
OUT ─ IN− A 2 ─┤ LM358 ├ 7 (OUT B → AMP, Stage 2)
|
||||
AMP ─ IN+ A 3 ─┤ ├ 6
|
||||
V− 4 ─┤ ├ 5
|
||||
└──────────┘
|
||||
```
|
||||
The base node ● sits at ~6 V (Rb1/Rb2). Cc lands there and adds the AC — it never
|
||||
connects to +12V.
|
||||
- Rb1/Rb2 = 10k/10k → base ~6 V. Cc AC-couples AMP onto the base.
|
||||
- Emitter ~4.5 V (base − ~1.5 V Darlington drop). Iq = 4.5V/Re ≈ 200 mA.
|
||||
- Cout2 blocks DC; speaker sees AC only.
|
||||
- **Heatsink Q3** (~1.5 W idle). Re ≥3 W.
|
||||
- Cooler/quieter: Re = 47 Ω → Iq ~100 mA.
|
||||
- Bias sag (hum/distortion): stiffen divider to 4.7k/4.7k.
|
||||
|
||||
TIP120 pinout (TO-220, face up, pins down): **1 Base · 2 Collector · 3 Emitter**.
|
||||
Push-pull output stage (totem pole):
|
||||
```
|
||||
+12V
|
||||
│
|
||||
C
|
||||
┌───┴───┐
|
||||
bases ──B──────┤ Q2 │ PN2222 (NPN — sources +half)
|
||||
└───┬───┘
|
||||
E
|
||||
[Re1 10Ω]
|
||||
│
|
||||
●──────────► OUT ──+┤├──► SPKR ─ GND
|
||||
│ Cout 470µF 4Ω
|
||||
[Re2 10Ω] (+ → OUT)
|
||||
E
|
||||
┌───┴───┐
|
||||
bases ──B──────┤ Q3 │ PN2907 (PNP — sinks −half)
|
||||
└───┬───┘
|
||||
C
|
||||
│
|
||||
GND
|
||||
```
|
||||
|
||||
Connections:
|
||||
```
|
||||
input: AMP ─────────────● pin 3 (IN+ A)
|
||||
drive: pin 1 (OUT A) ───● bases → Q2.base + Q3.base
|
||||
feedback: OUT ─────────────● pin 2 (IN− A)
|
||||
Q2: C → +12V B → bases E → Re1 → OUT
|
||||
Q3: C → GND B → bases E → Re2 → OUT
|
||||
OUT node = Re1 ● Re2 ● pin 2 (fb) ● Cout.+ ; Cout.− → speaker → GND
|
||||
```
|
||||
- Idle ≈ 0 → **cool, no heatsink.** Re1/Re2 = **10 Ω ¼ W** (4.7–10 Ω ok; carry only AC — not hot).
|
||||
- OUT sits at ~6 V DC (follows AMP); **Cout 470 µF** blocks it, speaker sees AC only.
|
||||
|
||||
TO-92 pinout (flat face toward you, leads down): **PN2222 = E-B-C**, **PN2907 = E-B-C**
|
||||
(confirm against your batch's datasheet).
|
||||
|
||||
- PN2222/PN2907 cap ~600 mA → ~1 W into 4 Ω before current-limiting. Plenty for the
|
||||
rumble, and cool. Want more power → TIP120+TIP125 pair, or an amp chip.
|
||||
- Crossover buzz at low level? Split the bases and add **2× 1N4148** between them for
|
||||
bias. Usually unneeded — feedback handles it for a noise source.
|
||||
|
||||
---
|
||||
|
||||
@@ -166,39 +179,38 @@ TIP120 pinout (TO-220, face up, pins down): **1 Base · 2 Collector · 3 Emitter
|
||||
|
||||
| Ref | Value | Part | Function |
|
||||
|-----|-------|------|----------|
|
||||
| U1 | — | LM358 (DIP-8) | U1B amp (U1A unused) |
|
||||
| U1 | — | LM358 (DIP-8) | U1B amp+brown, U1A output driver |
|
||||
| Q1 | — | 2N3904 | avalanche noise source |
|
||||
| Q3 | — | TIP120 | class-A speaker driver |
|
||||
| Q2 | — | PN2222 (NPN) | push-pull top (source) |
|
||||
| Q3 | — | PN2907 (PNP) | push-pull bottom (sink) |
|
||||
| R1 | 100k | resistor | avalanche current limit |
|
||||
| R2, R3 | 10k | resistor | VREF divider |
|
||||
| Rin1 | 1k | resistor | amp input |
|
||||
| Rf1 | 1M | resistor | amp feedback (low-freq gain ×1000) |
|
||||
| Rb1, Rb2 | 10k | resistor | Q3 base bias (~6 V) |
|
||||
| Re | 22Ω 3W | resistor | Q3 idle-current set |
|
||||
| Re1, Re2 | 10Ω ¼W | resistor | push-pull emitter degeneration (4.7–10Ω ok) |
|
||||
| C1 | 10µF | electrolytic | noise coupling |
|
||||
| Cref | 10µF | electrolytic | VREF bypass |
|
||||
| Cf1 | 8.2nF | film / ceramic | feedback / brown shaping (−6dB/oct, corner ~19 Hz) |
|
||||
| Cc | 10µF | electrolytic | AMP → base coupling |
|
||||
| Cout2 | 470µF ≥16V | electrolytic | speaker coupling (big, for lows) |
|
||||
| Cout | 470µF ≥16V | electrolytic | speaker coupling (big, for lows) |
|
||||
| — | 0.1µF | ceramic | LM358 decoupling |
|
||||
| — | 47µF | electrolytic | +12V bulk |
|
||||
|
||||
Chip count: 1× LM358 + 1× 2N3904 + 1× TIP120. Q3 needs a heatsink.
|
||||
Chip count: 1× LM358 + 1× 2N3904 + PN2222/PN2907 pair. **No heatsink needed** (Class AB).
|
||||
|
||||
---
|
||||
|
||||
## Connection list (authoritative netlist)
|
||||
|
||||
```
|
||||
+12V : R1.1, R2.1, U1.8, Rb1.1, Q3.collector, 47µF+
|
||||
GND : R3.2, Q1.base, Cref.−, U1.4, Rb2.2, Re.2, 47µF−, 0.1µF
|
||||
VREF : R2.2, R3.1, Cref.+, U1B.IN+(5), U1A.IN+(3)
|
||||
U1A.OUT(1) = U1A.IN−(2) (spare amp parked as follower)
|
||||
+12V : R1.1, R2.1, U1.8, Q2.collector, 47µF+
|
||||
GND : R3.2, Q1.base, Cref.−, U1.4, Q3.collector, 47µF−, 0.1µF
|
||||
VREF : R2.2, R3.1, Cref.+, U1B.IN+(5)
|
||||
(src) : R1.2, Q1.emitter, C1.+ (internal raw-noise node)
|
||||
NOISE : C1.−, Rin1.1 (after C1)
|
||||
AMP : U1B.OUT(7), Rf1, Cf1, Cc.1 (Rin1.2, Rf1, Cf1, U1B.IN−(6) = summing)
|
||||
base : Cc.2, Rb1.2, Rb2.1, Q3.base (~6 V bias)
|
||||
SPKR : Q3.emitter, Re.1, Cout2.+ ; Cout2.− → speaker → GND
|
||||
AMP : U1B.OUT(7), Rf1, Cf1, U1A.IN+(3) (Rin1.2, Rf1, Cf1, U1B.IN−(6) = summing)
|
||||
bases : U1A.OUT(1), Q2.base, Q3.base (driver output → both bases)
|
||||
OUT : Q2.emitter→Re1 ; Q3.emitter→Re2 ; Re1.2 = Re2.2 = OUT node
|
||||
OUT → U1A.IN−(2) (feedback) ; OUT → Cout.+ ; Cout.− → speaker → GND
|
||||
Q1 : collector = no-connect
|
||||
```
|
||||
|
||||
@@ -209,7 +221,7 @@ Q1 : collector = no-connect
|
||||
1. **VREF** — confirm ~6.0 V.
|
||||
2. **Noise (R1, Q1)** — scope Q1 node → hiss (~mV). None? swap 2N3904 or raise supply to 12–15 V.
|
||||
3. **Amp (U1B)** — scope AMP → deep rumble (~volts), darker than the raw Q1 hiss (that's the brown slope).
|
||||
4. **Driver (Q3)** — feed AMP through Cc. Speaker hisses. Q3 warm, not hot; too hot → raise Re.
|
||||
4. **Driver (Q2/Q3)** — wire push-pull + feedback. Speaker rumbles. Transistors stay **cool** (near-zero idle). OUT DC ~6 V.
|
||||
|
||||
## Tuning
|
||||
|
||||
@@ -218,5 +230,5 @@ Q1 : collector = no-connect
|
||||
| Louder | ↑ Rf1 (raises low-freq gain; watch clipping) |
|
||||
| Darker / deeper | ↑ Cf1 (lowers corner, more brown) |
|
||||
| Brighter (toward white) | ↓ Cf1 (raises corner) |
|
||||
| Cooler driver | ↑ Re |
|
||||
| More headroom | ↓ Re (hotter — bigger heatsink) |
|
||||
| Kill crossover buzz | add 2× 1N4148 base-bias diodes |
|
||||
| More power | TIP120+TIP125 pair, or amp chip (PAM8403 / TDA2822) |
|
||||
Reference in new issue
Block a user