I have designed two test boards to evaluate the sound levels of several speakers and buzzers. While the buzzers are functioning as expected, the speakers are producing sound levels that are significantly lower than anticipated, which is inconsistent with the frequency response curve in the datasheet.
The first test board, which utilizes the PAM8904 piezo sounder driver, is working well. I constructed a circuit which is same as the circuit on page 2 of the datasheet, powered by a 3V Lithium battery (CR2450). The input EN1 and EN2 are controlled by an Arduino (utilizing the 3x mode as specified in the datasheet), and a signal generator is used to produce the signal input for the DIN. A buzzer (PB 9.11) is connected to the output VO1 and VO2.
The second test board uses the TDA2822D for speaker testing. I built a circuit based on the one shown on page 2 of the datasheet and used a similar configuration to the first test board. However, the sound level output for the speaker CS13-00S85-04-6 is very low. I also used others type of speakers but the sound is still lower than expected. The sound is clear, but the volume is significantly lower than the frequency curve.
I think there are few potential causes for this problem:
Power supply: I am using a 3V power supply. I wounder why it works for buzzers but not speakers?
Signal generator input: It appears that the TDA2822D may not be amplifying the signal sufficiently to achieve a higher sound level?
PCB design and components issues
Although the PAM8904 (used in the first test board) is a piezo sounder driver, I attempted to test it by connecting the speakers to the output. This also resulted in a low sound level.