If you clean a lot of parts from Automotive to Electronics you can use an Ultrasonic cleaner to do the job. Some people think you can toss on an Electric Sander to a bucket and think it works the same but not really.
The frequency of the transducer under the tank that causes the cavitation of bubbles that is nothing more than high frequency pressure sound waves to agitate a liquid to beat the dirt off. From Wikipedia on the subject an Ultrasonic Cleaner can output 20 to 400 kHz. These bubbles collapse with enormous energy; temperatures and pressures on the order of 5,000 K and 20,000 lbs per square inch. So a Sander wouldn’t do the job or depending on what you’re cleaning it can destroy the item you’re cleaning.
From my findings a typical circuit for this just takes a AC source from your wall outlet and converts the 50/60Hz frequency and increases it to somewhere in the kHz range.
You can build a cleaner from off the shelf parts but it can cost hundreds of dollars and in the end you could have bought one from Ebay or Craigslist. However I found an easy cheap solution to build a small one for electronics, jewelry, coins such.
A simple 555 Timer in a Stable congratulation with a LC filter on the output to convert the square wave to a sine wave. A set of old mono amplifier such as computer speakers to amplify the output and modify a speaker much like the Tactical Transducer I talked about before and mount it to the bottom of a food service pan or a thin gauge stainless pot. There are also a couple of other ways to do this by using an old cellphone and a Function Generator App so you can have an adjustable frequency. Instead of a speaker as a transducer you could go to a junkyard and use a Knock Sensor from a car. You might even be able to use a Sawtooth wave instead of a Sine wave. I honestly don’t know if it would make a difference or not.
It will be a while before I try this myself. I’m just passing along an idea.