I need to generate waves to run piezo transducers at 60kHz frequency and 10-20 volts (it doesnt matter if they are square or sine waves). The trick is that i need to generate multiple (most probably 6) of these, all with different frequences which frequencies i can change with the arduino.
Because of this there is no way i can use the arduino PWM. I would also need this to be as precise as possible.
I thought of doing it with astable (op-amp) multivibrators where i would use some kind if variable resistance that i can controll with the arduino and thus controll the frequency, but since im inexperienced with this im not sure if its the best way or if it would be a good idea at all.
Could anyone point me on the right direction on this?
Fyi im using an arduino uno if thats relevant information at all
Use an AD9833 and an amplifier for each channel. A bit overkill but you get very good control. There are multiple breakout modules for the chip available. They claim up to 12.5 MHz for sine waves, but above 3-4 MHz the output gets rather grainy and the output decreases.
however, six with different frequencies would probably require multiple ESP32 devices
how are the frequencies related to each other? are they synchronised in some way?
Thanks, i will look into it. I really couldnt image myself needing anything higher then 100kHz, and i only need to be able to wary the frequency a few percentages. I was also looking into an IC called "ICL8038", where i could change its frequency with some digitally variable resistor, is that viable?
Edit: nevermind, youre suggestion seems to be much better suited for my uses. Quick question though since i havent really built anything like this before and since we are already here what kind of amplifier would you use?