Put the speaker in the collector line and you'd get more volume. Digital logic is probably the best option, but not the only one. You could probably make it work without the dc by having both npn & pnp trs with CR on their bases. Either transition causes one to pass a single shot of speaker current. You could probably implement the whole lot with a hex buffer plus an output transistor, no 555.
At 200mA max, 2N3904 is way underrated. You'd need a 2A transistor at least.
I'm not sure all the comments about this circuit are important. Adding a cap and diode to the base drive turns the positive edge into a sharp pulse. I get some 600+mA into the speaker which I would think is enough, but you'll have to test it to see. This also solves the power consumption issue dropping the current over most of the cycle to what it takes to charge the timing cap.
When I was working on radio design we were able to drive a 2 watt speaker using just 5 volts. I can't imagine you won't get enough volume out of this. If you don't, try increasing the value of C1. That will give you a wider pulse.
If Vol1 and Vol2 are supposed to be a volume potentiometer, you will find the pulse width changing as you change the volume. Add a series resistor in line with C1 to give a consistent pulse width over the volume range and reduce the value of C1 to suit. This may reduce the volume too much which means you will need a second transistor. This is a bit more complex, so come back and I'll show you how to add that.
As others have said, the 2N3904 is not rated for the currents, but they are only pulses, so it won't over heat the devices. Still, a 1 amp part would be good. No need for a heat sink.
SYMBOL res 160 320 R0 WINDOW 0 -59 39 Left 2 WINDOW 3 -58 71 Left 2 SYMATTR InstName Vol1 SYMATTR Value 5 SYMBOL Misc\\battery -512 448 R0 WINDOW 0 11 6 Left 2 WINDOW 3 5 126 Left 2 WINDOW 123 0 0 Left 2 WINDOW 39 5 98 Left 2 SYMATTR InstName V1 SYMATTR Value PULSE(0 9 0 0.001) SYMATTR SpiceLine Rser=2 SYMBOL cap -304 464 R0 SYMATTR InstName C3 SYMATTR Value 0.1nF SYMBOL cap 96 112 R0 SYMATTR InstName C4
SYMBOL res 160 480 R0 WINDOW 0 -57 41 Left 2 WINDOW 3 -59 68 Left 2 SYMATTR InstName Vol2 SYMATTR Value 995 SYMBOL npn 432 400 R0 SYMATTR InstName Q1 SYMATTR Value 2N3904 SYMBOL res 480 512 R0 SYMATTR InstName Speaker SYMATTR Value 8 SYMBOL cap 272 464 R270 WINDOW 0 32 32 VTop 2 WINDOW 3 0 32 VBottom 2 SYMATTR InstName C1
SYMBOL schottky 384 592 R180 WINDOW 0 24 64 Left 2 WINDOW 3 24 0 Left 2 SYMATTR InstName D1 SYMATTR Value BAT54 SYMATTR Description Diode SYMATTR Type diode TEXT -392 616 Right 2 !.tran 1 uic TEXT -8 176 Left 2 ;1 TEXT -8 240 Left 2 ;2 TEXT -8 304 Left 2 ;3 TEXT -8 360 Left 2 ;4 TEXT -296 368 Left 2 ;5 TEXT -296 304 Left 2 ;6 TEXT -296 240 Left 2 ;7 TEXT -296 176 Left 2 ;8
But then he'll only hear every other edge. That's fine if the OP doesn't mind losing the ability to hahve different mark/space ratios, but I presumed from his design that wasn't the case.
A 5.2 ohm woofer on a 9v line: 1A transistor is not enough.
A 9 volt line from a 9 volt battery with a 2 ohm output resistance. A 1 amp transistor will drive the speaker from his junk pile just fine. I didn't see where he was going to connect this to a woofer.
IIUC he dropped the idea of a battery and went with a wallwart. Either way it has a 100uF cap on the psu rails. 5.2 ohm speaker with or without 2ohm supply impedace still gets you over 1A.
Measured voice coil resistance (Re) is one of the parameters used in loudspeaker.lib. My metronome uses a Realistic Minimus 0.3 Bookshelf Speaker (shown here
formatting link
). It gives the beat a "warm" timbre.
That Realistic speaker displays a measured voice coil resistance of 6.5 ohms. It's closer to the Dayton Audio RS225-8 8" Reference Woofer in loudspeaker.lib than the IB3858 speaker used in my metronome.asc.
Vol1 and Vol2 do indeed represent a pot. If anyone knows a better way to do that in spice, please let me know.
On another note, the LM386 may obviate the need for a wall wart. Regardless, the transistor ideas that you guys are kicking around pique my interest and will be followed up on.
You don't need to waste current with a single transistor output, just have the 555 output a short fixed length pulse when it goes high rather than a long variable one. 100uF seems small for battery use.
Compared to AA or AAA, 9v PP3s are low capacity and high price per capacity. I avoid using them when practical.
I tried something a bit different, a simpler design. Personally, if I were going to do anything more complex than this, I would use an MPU which will give you dead accurate timing and volume independent of battery state, wall wart or anything else plus the sound can be controlled both in volume and tone. But this design only has two transistors and a few passives and should give you a decent sound. The power consumption is very low, 8 mA (average) on the fastest setting (about 5 beats per second) giving a life of well over 60 hours from a 9 volt battery in normal use.
The speaker gets a pulse that is only a few ms wide, but the current is controlled rather than the pulse width. So the sound will remain the same over the full volume. Here is the LTspice file. You will need the files for the 2N2426 component too. Run using the alternate solver.
----nujt.asy---- Version 4 SymbolType CELL LINE Normal 24 16 24 80 LINE Normal 48 72 48 96 LINE Normal 24 72 48 72 LINE Normal 48 24 48 0 LINE Normal 24 24 48 24 LINE Normal 6 44 12 36 LINE Normal 6 44 24 53 LINE Normal 12 36 24 53 LINE Normal 0 32 9 40 LINE Normal -16 32 0 32 WINDOW 0 56 32 Left 0 WINDOW 3 56 72 Left 0 SYMATTR Value UJT SYMATTR Prefix X SYMATTR Description N-Channel Unijunction Transistor, Netlist order E, B1, B2 PIN -16 32 NONE 0 PINATTR PinName E PINATTR SpiceOrder 1 PIN 48 96 NONE 0 PINATTR PinName B1 PINATTR SpiceOrder 2 PIN 48 0 NONE 0 PINATTR PinName B2 PINATTR SpiceOrder 3
----2n2646.sub----
Transistor unijonction N (1)E Emetteur, (2)B1 Base 1, (3)B2 Base 2
IP=.5U IV=6M VB1(sat)=3 Rbb=6.1K Vob1=3.6 MFG=Motorola .SUBCKT X2N2646 E B1 B2 DE E 4 EMITTER VE 4 5 DC 0 HVE 6 0 VE 1K RVE 0 6 1MEG
SYMBOL npn -128 592 R0 SYMATTR InstName Q1 SYMATTR Value 2SCR512P SYMBOL res -80 384 R0 SYMATTR InstName SPKR SYMATTR Value 5.2 SYMBOL res -80 768 R0 SYMATTR InstName VOL SYMATTR Value 1 TEXT -640 248 Left 2 !.tran 0 2 0 .01m TEXT -640 280 Left 2 !.options plotwinsize=0 TEXT -640 312 Left 2 ;.options trtol=1e-1 TEXT -640 -200 Left 2 ;Unijunction Transistor 2N2646\n \nUse the Alternate-solver.\nControl Panel -> SPICE -> Solver:Alternate\n \nThe discharge slope is too steep at the end and thus a very small\ntime step would be required to improve the simulation accuracy\nof the lower peaks. This is a model issue! TEXT -336 248 Left 2 !.include 2n2646_ltspice.sub TEXT -640 48 Left 2 ;A small modification of the model has been required for LTspice.\n
formatting link
\n***RB1 7
2 38.15 RMOD\n***RB2 3 5 2.518K RMOD \nRB1 7 2 RMOD 38.15 \nRB2 3 5 RMOD
2.518K TEXT -40 720 Left 2 ;Volume Control - 0 to 100 ohms gives \n1.2 Amp to 6 mA to speaker. TEXT -320 304 Left 2 ;Speed control - 25 kohms to 250 kohms gives \nabout 5 beats per second to 1 beat in 2 seconds.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.