Folks, thank you for all the kind input. My project is a customizable car alarm siren.
There are various tones that the siren will reproduce, but primarily the tones sweep up and down from about 650Hz to 1650Hz. I might go as low as 300Hz or as high as 3kHz but that's about it. The reason to use an H-Bridge Amp in this application of course is to get the loudest sound possible from the speaker. You want to split ears more than achieve pristine audio accuracy. I want somewhere between 110dB to 120dB from the speaker (at 3 ft.), which in my tests is possible.
Most all car alarm sirens use pretty much the same 6-tone chip, even if they are 1-tone. You've all probably heard them, and if you Google for car alarm sounds you'll see they're pretty much all the same. As a result, there is not a wide variety of siren tone generator chips out there. The 3-volt RATO RT0618 is the one I have been fiddling with. Note the two application circuits in the back of the following datasheet, the second of which uses the H-Bridge, but with no protection circuitry around the speaker:
**broken link removed**
My project is to go beyond what that RATO chip offers; but so far, I've not yet figured out how to accomplish my aim. I want to distinguish the "Chirp" sounds (created when the alarm controller pulses the siren ON about 30 to 40msec) from the full siren blast (which usually lasts 30 seconds, and cycles through 1 or more of the 6 tones). In other words, I want to create a siren that allows the user to choose which Chirp sound they want separately from the Full Siren blast. This is not possible with the RATO chip because, for example, if you select only tone-5 (S5), if you activate the siren for 30msec, you will hear the distinctive chirp sound for S5. (The Chirp is tone S5, just for a very short duration.) To get a different chirp sound with that RATO chip would mean I'd need to select something other than S5, but that's not what I want. I also would not be able to choose 6-tone mode with that RATO chip either, since the RATO chip cycles through the tones in a fixed order, and your Chirp sound would be fixed to whatever is the 1st tone played. Again, I want to make the Chirp sounds selectable and not tied to the full siren blast.
It seems that my only option would be to use a PIC MCU to read incoming pulses that are, say, less than 60-100msec and interpret that as a Chirp, then determine which Chirp tone the user has programmed (for example, by externally cutting a wire), then play that Chirp via PWM through the H-Bridge; and then if the incoming activation is longer than 60-100msec, I'd play whatever Siren blast setting had been chosen. But in this case, the Chirp sound would not simply be a short duration of the chosen Full Siren Blast sound. They would be completely separate.
I would also want to offer the user the ability to choose a "soft chirp" which makes the Chirp sound less painful to the ears than the full siren blast. I suppose this could be achieved by reducing the amplitude of the two PWM output waveforms (if that's possible to do via a PIC).
Why do this? To make the siren sound different from anything else out there. I've not see any car alarm siren that allows the user to distinguish the Chirps from the main siren blast. So this level of selectability would make the sound truly unique. And since you only rarely hear the full siren blast, and since you hear the Arm/Disarm chirps several times per day, being able to change the chirps would have merit.
Any further thoughts and advice on H-Bridge diode protection or my siren project in general would be greatly appreciated.
Thank you!