A Phased-Array Ultrasonic 3D Scanner From Scratch

Who wouldn’t want an autonomous drone to deliver cans of fizzy drink fresh from the fridge? [Alex Toussaint] did, and in thinking how such a machine might work he embarked on a path that eventually led him to create a fully functional ultrasonic 3D scanner. In writing it up he’s produced a straightforward description of how the system works, which should also be of interest to anyone curious about phased array radar. He starts with an easy-to-understand explanation of the principle behind phased array beam forming, and there follows his journey into electronics as he uses this ambitious project to learn the art from scratch. That he succeeded is testament to his ability as well as his sheer tenacity.

He finally arrived at a grid of 100 ultrasonic emitters controlled from an Arduino through a series of shift register boards. Using this he can steer his ultrasonic beam horizontally as well as vertically, and receive echoes from objects in three-dimensional space. The ornamental bird example he uses for his scanning tests doesn’t quite emerge in startling clarity, but it is still clear that an object of its size and rough shape is visible enough for the drone in his original idea to detect it. If you would like to experiment with the same techniques and array then all the resources can be found in a GitHub repository, meanwhile we’re still impressed with the progress from relative electronics novice to this. We hope the ideas within it will be developed further.

We’ve seen ultrasonic arrays before, but mainly used in levitation experiments.

The Engineering Of An Ultrasonic Phased Array

Ultrasonic phased arrays are one of the wonders of the moment, with videos of small items being levitated by them shared far and wide. We’ve all seen them and some of us have even wondered about building them, but what about the practical considerations? Just how would you drive a large array of ultrasonic transducers, and how would you maintain a consistent phase relationship between their outputs? It’s a problem [Niklas Fauth] has been grappling with over the three iterations so far of his ultrasonic phased array project, and you can follow his progress on the latest build.

The arrays themselves are a 16 by 16 grid of cheap ultrasonic transducers on a PCB, fed by HV583 high-voltage shift registers. These chips have proven to be particularly problematic, their drivers having a relatively high internal resistance which leaves them prone to overheating.

An interesting solution to a problem comes from the transducers having a polarity, but because it doesn’t matter in their usual application, that polarity not being marked. He’s overcome this by using the STM32 he has managing power alongside his BeagleBone to listen through a sensor as the ‘Bone supplies each transducer in turn with a known phase. An internal map can then be created, such that the appropriate phase can be applied on a transducer-by-transducer basis.

It’s the fascination with the subject that we find appealing, this is version three and version two worked. Most of us would make one and call it a day. It’s something we’ve seen before from [Niklas], after all this is someone who plays with turbomolecular pumps for fun. Meanwhile if you would like to learn more about ultrasonic arrays and acoustic levitation, it was the subject of one of this year’s Hackaday Belgrade talks.