I need to control a compression driver with an arduino and send it triangle waves of variable frequency (from ~100 Hz to ~1500 Hz) and variable amplitudes. I have tried to research what I need but I can't find exactly what I'm looking for. However, I'll try to list what I know and what I get wrong can be corrected.

First I need to generate the triangle wave. How can I do this and control it from the arduino? I think this can be done with some sort of dac, but I don't know how exactly.

Next I need to amplify the signal. I think there are chips that do this or I can make my own with simpler components. What is the best way of doing this?

Then finally I can connect the output to the compression driver.

Is there anything else I need in the circuit? I heard that I might also need a capacitor to protect the compression driver, is there anything else I need like that?


The compression driver will probably be have a power rating of 100W and impedance 16 Ohms.

A compression driver is a type of speaker. See here for more information. As far as variable amplitudes it needs to go from 0 to whatever is good for the speaker. I believe the max voltage for the numbers I gave is \$V = \sqrt{PR} = \sqrt{100*16} = 40V\$ (this would be RMS voltage, right?).

  • \$\begingroup\$ You should add links to the specification for the driver if you want better answers. It would also be good to know how much "triangle" your triangle waves have to be. \$\endgroup\$ – pipe Sep 21 '16 at 4:02
  • \$\begingroup\$ Also, please explain in your question (1) what a "compression driver" is. (2) Put numbers on variable amplitudes - 0 to 100 mV or 17 to 100 V, etc. (3) What is the input impedance of the compression driver. \$\endgroup\$ – Transistor Sep 21 '16 at 7:02
  • \$\begingroup\$ Why do you want to put 100Hz (at 100W) into a tweeter? It's designed for high frequencies. In general anyway what you are looking at is a power amplifier. High power amplifiers are quite a complicated issue, and besides all else they need big, good quality power supplies. This question is rather general, what is your application? \$\endgroup\$ – Ian Bland Sep 21 '16 at 8:09
  • \$\begingroup\$ You're looking at audio amplifiers, either from the less frivolous end of the hi-fi business, or the pro audio side (broadcast, recording etc). From there on it's a shopping question. \$\endgroup\$ – Brian Drummond Sep 21 '16 at 9:34
  • \$\begingroup\$ @BrianDrummond Where would I find an audio amplifier that meets my specifications? It does not need to be that great in acoustic quality but it should be reliable. Also where should I look for a power supply to go with it? \$\endgroup\$ – Bennett Bernardoni Sep 22 '16 at 4:06

There are dozens of options for Class-D power amplifiers on Ebay, etc. Lots of 50W + 50W sterep power amps. And if you are driving a 16 ohm load, you should probably use a "stereo" amplifier in "Bridge-Tied-Load" (BTL) configuration. A 16 ohm load used as BTL will present a very standard 8 ohm load to an amplifier. Else you will need an amplifier capable of driving 40V (as you have already calculated) and that will be considerably more difficult to find. Stereo 50+50W Class-D amplifier boards (and complete amplifiers) are readily available.

You have not revealed why you think you need to use an Arduino to control (or execute) your triangle-wave generation. There are likely more conventional ways of doing that which may be simpler.

Note that 100W into a compression driver has the very real potential of being destructive and even fatal under some conditions. Since you have revealed nothing about your application, we must assume that you know what 100W worth of sound is going to be used for and how to avoid damage and/or casualty.


I would recommend that you use "off the shelf" components. This method is more expensive but very easy to implement. Get and use a signal generator. They make all kinds (sine, triangular, square, wave). Get the one that generates the type of wave you need. If the max amplitude of the signal generator is insufficient, then you will need a linear amplifier that provides the max amplitude, impedance, and power, your speaker requires.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.