I'm building a device for my grandfather, in his nineties, which has a pretty bad hearing. It's a kind of custom alarm clock, to help him with some other health issues.
For part of this project, I need to generate a sound, for which the tone() function is perfect. Now I just want to make it louder.
So, I got a small speaker (Visaton K50 (art. 2901)) which is rated 8 ohms, with a rated power of 2W, and maximum power of 3W, an IRL540, and a 12V supply.
I found on this forum a schematic which is somewhat similar to what I want to achieve (https://forum.arduino.cc/index.php?topic=375310.0), but it needs some modfications to actually relate to my project.
So, I attached below a schematic with my changes, and I'm not sure of what I'm doing, specifically about the values for R1, R2 and R3.
I guess that I can keep 270R and 10K for R1 and R2 respectively. Correct?
But what about R3? I want to maximize the sound output, but also not damage the speaker. I guess that R3's role is to limit the current flowing through the speaker to avoid damaging it, which would make sense.
As P=R.I², transformed into I=sqr(P/R), it means I should limit the current to 0.5A to stay inline with the rated power of the speaker.
As R=U/I, and with U being 12V, it means that a 24R resistor should do the trick.
And it's power rating should be at least P=R.I²=24/4=6W.
Does it make sense to size things like that, or am I missing something? Is it how I can produce the loudest sound with this simple BOM?
Thanks for your input and advices!