Ultrasonic Array

19,760

74

98

About: Build your own cutting-edge devices coming directly from UpnaLab. UpnaLab is the future interactive devices lab working with Ultrasonics, electromagnetism, lasers and more.

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 www.acousticlevitator.com

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

All the detailed steps are in the attached video.

Supplies:

Step 1: Gather the Components

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

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.

Step 2: Assemble the Driver Board

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

Step 3: Assembling a 8x8 Flat Array

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.

Step 4: Single-sided Levitation

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:

Step 5: Standing-wave Levitation

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

Step 6: Haptic Feedback

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

Step 7: Directional Speaker

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.

Share

Recommendations

  • Woodworking Contest

    Woodworking Contest
  • Fandom Contest

    Fandom Contest
  • Colors of the Rainbow Contest

    Colors of the Rainbow Contest

98 Discussions

0
None
deplasticoverde

Question 15 days ago

Hi! the link for the haptic feedback array is broken :( could you upload a new link? Thanks a lot.

1 answer
0
None
JamesUniStA

Question 5 weeks ago on Step 4

EDIT: Have got the whole array working! Did the manual pin assignment. Will keep the question below for anyone who might have a similar question.

Hi, I have everything set up now, but when I click "check" for the pin assignment, nothing happens. The software hangs, and I cannot select anything else. There are no error messages or anything, it just gets stuck. Any ideas?

Alternatively, how do I do manual assignments? I have done it by on the "Trans" tab, assigning a "pin" number to each, and they all seem to correctly correspond to the desired transducers. Is that all I need to do?

2 answers
0
None
Direct From The LabJamesUniStA

Answer 4 weeks ago

Glad that it works now. Were you using Mac? I need to polish and improve the automatic pin assignment since it seems tricky for most users.

0
None
JamesUniStA

Question 6 weeks ago on Step 3

In part 3 of the Create an array section, am I correct in saying that the transducers (and the 16 way molex connectors) go in any particular order for the flat array? Or is there a set way of doing it? The video jumps at that step.

Also when checking the pins in part 2, when checking with an oscilloscope, I have some pins which have 0v or similar to on your video, and those I have fixed by re soldering the mosfets.

Two or three however have a constant non zero voltage, so that on the oscilloscope they are constant at the "peak" of the square waves that the correctly soldered pins have. They stay at this higher level, rather than going back down to zero.

I hope that made sense! Any idea what could be causing that? I have tried resoldering these mosfets, but no luck so far

Finally, stupid question, but how do you run the xml file for the simulation of the flat array?

1 answer
0
None
Direct From The LabJamesUniStA

Answer 6 weeks ago

- A constant high-level could be because some pins are shortcut or not properly soldered, check if the mosfets get too hot.

- asign the transducers from left to right and top to bottom. Or any reasonable order, that will facilitate the pin assignment later. You may not even need the automatic tool.

- Check the video on how to load a simulation file.

Best.

0
None
cliffchen16.

Question 6 weeks ago

Hi Asier,
In the step I am going to assign the transducers. The software have totally no response when every time I clicked "check" button. Sometimes the software just shut down, sometimes the software has no response like crash but I still can close it through IDE. Like three weeks ago I was able to start assign the transducers but same problem came out during my process. Normally I could assign about 20 transducers then the software shut down or keep showing the amplitude was "???" on rest of transducers. These two weeks, they were totally crashed. May I know do you have any idea about any adjustment I can do? Thanks a lot.

1 answer
0
None
BobXu

Question 2 months ago

Hi Mr. Asier, do you have .brd files or Gerber files for the PCB board, thanks a lot

3 answers
0
None
BobXuDirect From The Lab

Reply 8 weeks ago

Thank you so much, I've downloaded it but there's still some problems. I have EAGLE but I couldn't open the files in the zip file, so how could I open them to see the PCB board visually.
Sincerely,
Bob

0
None
Direct From The LabBobXu

Reply 6 weeks ago

They are the gerber files, you can use a gerber file or send them for manufacturing. Best.

0
None
BobXu

Question 7 weeks ago

Hello, Mr. Asier, how could I open the zip files for the PCB board, I have EAGLE but it's not working, and when I uploaded those files to the PCB board shop they told me the files are not available, so what I need to do now. Thanks a lot.
Sincerely,
Bob

0
None
cliffchen16.

Question 2 months ago

Hi Asier, Thanks for the amazing work. We are trying to repeat the 8*8 array. While we were going to assign the pins. We cannot detect any signal in transducers assignment step with the phase detector. I made two phase detectors both not worked. However both oscilloscope and our hear can detect signal. Would you have any idea what the problem might be?

2 answers
0
None
Direct From The Labcliffchen16.

Answer 2 months ago

You can try to assign the pins manually (in the flat array is simple, just select them in the order of the channels) and test if you can switch on/off individual transducers. Perhaps some connections between the phase detector and the board are missing? Is the phase detector sending something (you can check the RX,TX leds).

0
None
cchen31Direct From The Lab

Reply 2 months ago

Yes I finally found out I missed one connection. Now I can assign the pins, but just part of them. It actually cause the software dead frequently and also there a lot of faliure transducer while I was trying to assign pins. Moreover, I got different results in different trial. Does it mean I should check my driver board soldering work and cable connection?

0
None
JamesUniStA

Question 2 months ago on Step 4

Hi! The link for step 4:Single sided levitation, "simulation file" takes you to the link for the base of the array ("flat 8x8.ai") Any chance you could provide the correct link? Thanks!

1 answer
0
None
BernardW24

Question 2 months ago


Edit: never mind. I just found the arduino nano info in the github.
Edit2: New question: How do I know which way the Mosfet Driver is supposed to be soldered?
Question2: Can you clarify more on the amplifier you used for the directional speaker?
I searched for TDA7492P and the results looked different from in the video. Yours has more ports