As more of a proof of concept rather than anything else, I'd like to make a DIY aroma diffuser using a piezo element with a 1.7mHz resonant frequency.
I tried generating a 1.7mHz square wave with the Uno and am running into 2 problems:
1.) The waveform is rather messy when looking at it through the oscilloscope - I can use a capacitor to smooth this out but the result is more of a triangle wave than a square wave.
2.) More importantly, this waveform could not possibly power the piezo element, as it requires a much higher Vpp to diffuse water. Note: While I can't find the specifications anywhere, I have been able to find some YouTube videos of people using these elements with success around +/- 24V.
So: My idea of a solution was to make a full H-bridge out of TIP127's and use an external 24Vdc power supply - which hopefully in theory would give me the +/- 24V I'm looking for.
Is this a viable solution? If so, how would I control the H-bridge with the Arduino Uno, and would I require any additional IC's?
The main differences between the two I notice are that the one from your link has a 113kHz resonant frequency rather than a 1.7mHz frequency like the one I'm using. I read somewhere that higher resonant frequencies produce a finer mist, which was the reason I decided to use that one vs the 113kHz.
I also see that it seems as if the included circuit diagram uses a 555 timer to produce the frequency rather than an Arduino uC - is this observation correct?
I'm having a bit of trouble understanding how that circuit produces an AC waveform, but based on the output waveform I understand why it works successfully - they achieved a very clean AC waveform with ~60Vpp at the desired resonant point. I basically need to do exactly the same, just at a much higher frequency.
If the 555 timer is responsible for producing the correct frequency, do you think a 555 would be capable of producing the higher frequency I need at 1.7mHz?