Ultrasonic Array

by UpnaLab in Workshop > Science

57153 Views, 138 Favorites, 0 Comments

Ultrasonic Array

ultraino-01.jpg
Ultraino: DIY ultrasonic airborne phased-array 64 channels

In this project we will show you how to build a phased-array controller and a flat array of 8x8 elements. These systems can be used for acoustic levitation, haptic feedback or directional speakers.

This is quite a complex project so I would recommend a little bit of knowledge on ultrasonics, computer science and electronics.

Do not forget to check the other Instructables for more information

More detailed information in our open paper: http://ieeexplore.ieee.org/document/8094247/

All the detailed steps are in the attached video.

Gather the Components

The source code is available here: https://github.com/asiermarzo/Ultraino

You can get precompiled versions of the simulator V1.1 for java 8 and v2 for java 11.

You will also find the STL files for the 3D printed arrays and the AI files for the laser-cut arrays.

The PCB files for manufacturing are also there here I recommend to use PCB Shopper to look for a cheap manufacturer. The dimensions of the board are 62mm by 115mm and it has 4 layers. It would be a good idea to order an stencil if you do not want to solder the components by hand.

The BOM can be found here.

Assemble the Driver Board

vlcsnap-2017-11-15-16h37m23s477.png
vlcsnap-2017-11-15-16h37m36s758.png
vlcsnap-2017-11-15-16h37m52s255.png
vlcsnap-2017-11-15-16h38m12s113.png
vlcsnap-2017-11-15-16h38m22s844.png
vlcsnap-2017-11-15-16h38m44s017.png
vlcsnap-2017-11-15-16h38m49s905.png
vlcsnap-2017-11-15-16h40m13s122.png

You can solder by hand, or use solder paste and a reflow oven. I am not the most proficient SMD solderer, there are lots of goods tutorials on the Internet.

The code for the Arduino Mega is here

If the output signal on the ports is not 40kHz you can try to use IDE 1.6.0 or the Optimization -O3 flag.

Assembling a 8x8 Flat Array

vlcsnap-2017-11-15-16h44m20s567.png
vlcsnap-2017-11-15-16h43m28s229.png
vlcsnap-2017-11-15-16h43m36s425.png
vlcsnap-2017-11-15-16h44m08s208.png
board.jpg
Ultraino ArduinoMEGA64 pin layout.JPG
pin numbering.jpg

You can find how to mark the polarity of the transducer in the previous Instructable In that Instructables there is also a guide to buy transducers for a reasonable price.

The components can be found here

  • You can also use the great integrated PCB from Thomas Grooten.

The last image shows the pin numbers of each pin, luckily you will not need to do the pin assignment manually but using the semi-automatic method shown in the video.

Single-sided Levitation

vlcsnap-2017-11-15-16h44m38s766.png

I used a 2mm styrofoam particle and a metallic grid to place it in the trap.

The base of the array is laser-cut: link to github

The simulation file is here:

Standing-wave Levitation

vlcsnap-2017-11-15-16h45m15s660.png
vlcsnap-2017-11-15-16h45m22s722.png

With this array the trapping strength is greater so it is possible to levitate liquids.

The base of the array is laser cut link

and the simulation file is here

Haptic Feedback

vlcsnap-2017-11-15-16h45m41s823.png

When the focal point is modulated at 200Hz it is noticeable at our skin.

The base of the array is 3d-printed: link
and the simulation file is here

Directional Speaker

vlcsnap-2017-11-15-16h46m00s314.png

I used this audio amplifier TDA7492P but anything that you can find will probably do the job.

* This is just a quick way of getting a directional speaker, the sound quality is not great and it is not very powerful. I am working on a dedicated directional speaker that will be released soon.