Acoustic Tractor Beam

231,098

1,258

452

Introduction: Acoustic Tractor Beam

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.

Tractor Beams are mysterious waves that can attract particles towards the source. Here, we will show you how to build an Acoustic Tractor Beam with components that can be bought directly on the Internet for less than 75$.

With this Instructable you will be able to get in your hands a device that it was only seen on SciFi movies such as Star Wars or Star Trek.

If you want more scientific background on Acoustic Tractor Beams, you can check our Open Access research papers:

Do not forget to watch the attached video in this Instructables.


If you want to build other devices coming directly from the research lab keep in touch:

Youtube: https://www.youtube.com/user/asiermarzo
Twitter: @AsierMarzo

Step 1: Gather the Parts and Tools

We present a list of the necessary components. I have tried to place links for different countries. However, the same parts can be found all around the world, some useful websites are http://www.findchips.com/ http://www.dx.com/ http://www.miniinthebox.com/http://www.lightinthebox.com/http://www.banggood.com/

The circuit is not complicated. Basically, an Arduino will generate 4 half-square signals at 5Vpp 40kHz with different phases. These signals get amplified to 25Vpp by the Motor Driver and fed into the transducers. A button pad can be used to change the phases so that the particle moves up and down. A battery (7.3V) powers the Arduino and the logic part of the Motor Driver. A DC-DC Converter steps-up the 7.3V to 25V for the Motor Driver.


Components:

  • 30x 16mm 40kHz Transducers The MSO-A1640H10T are the best but minimum order is 500, they are good so perhaps you can save them for future ultrasonic projects. Alternatively, others 16mm 40kHz transducers will serve (emitters and receivers are pretty much the same) for instance the MCUSD16P40B12RO.

Necessary Tools:

  • 3D printer -> you can use an online service
  • Soldering Iron, Tin and Flux.

  • Drill

  • Hot-glue gun

  • Multimeter

  • Cable Peeler

  • Screwdriver and Pliers.

  • Oscilloscope with two probes (Optional) -> you can get one for less than 50£ http://amzn.eu/5ey6ty2

Step 2: 3D Print the Bowl

The transducers will be mounted in this bowl. This shape allows to naturally focus the beam.

We used an Ultimaker Extended 2+ with a 0.4mm nozzle and the Normal settings. No support, only brim. It does not need to have a perfect finish so any regular printer should work.

You can also use the case created by DanielN253, it is available in Thingiverse

Step 3: Solder Arduino Headers (upwards If Possible)

Step 4: Program Arduino

Upload the attached program in the Arduino Nano. If you are using a cheap Nano (totally recommendable) you will need to install new drivers, there are usually links in the webpage where you bought it.

Step 5: Charge the Battery

This way when you finish the project it will be at full charge.

Step 6: Cut the Handler

300x45x15mm rectangular piece of wood.

Step 7: Redrill the Bowl

Sometimes the holes are not perfect and are a little bit clogged, re-drill them if it were necessary.

Step 8: Attach the Bowl to the Handler

Drill an initial hole in the handler, attach the central screw and then you will be able to drill the two holes at the sides.

Deattach the bowl, it is more comfortable to attach and test all the components without the bowl. At the end of the Instructables we will reattach it.

Step 9: Screw the DCConverter and the Driver

Close the the drilled holes for the bowl we will place the DC-DC converter at one side and the Driver at the other. Put them and mark with a pen to drill later. Then pass a screw and a nut through the holes of the devices for being able to attach them properly to the wood.

It is very important to leave the OUT side of the Converter closer to the bowl.

Remove the indicated jumper of the Driver and keep it for later.

Step 10: Stick the Arduino

With Velcro tape, double sided tape or just hotglue stick the Arduino below the Driver with the USB port pointing to the right.

Put the jumper between the D10 and D11 pins.

Step 11: Drill Through Holes

Drill two through holes above the Driver.

Drill tree through holes below the Arduino.

We will pass wires through these holes.

Step 12: Solder Wires to the Power Switch

The central pins provides the current to the circuit, the right pins go to the DC barrel and the left ones to the battery connector pins.

Try to use red wires for (+) and black for ground (-) to keep things ordered. Pay attention to where the + and - of the DC barrel go and solder it appropriately.

For the battery connector pins we can use pin headers and a tiny piece of strip-board. Be sure that the wires are not touching each other (use a multimeter), and even put hotglue between them to make them safer.

The power switch provides current to the circuit either from a DC barrel or from the battery.

We can use any DC adaptor between 9V and 12V that can provide at least 2A if you do not want to use a battery.

Step 13: Stick the Battery

With double-sided or Velcro tape. Do not use hot-glue since it could damage the battery. Put it in the same orientation as the image.

Step 14: Connect the DCConverter With the Driver

These wires will pass the step-up voltage (25V usually) from the DCConverter to the Driver.

Step 15: Glue the Power Switch

Step 16: Connect Logic Supply

We will provide 7.4V to the DCConverter IN.

First connect the black ground wire (-) from the central pins of the Switch into the DCConverter IN(-). In the same hole connect the ground for the Arduino.

Then, connect the red (+) wire from the central pin of Switch into the DCConverter IN(+). In the same hole put the VIn of the Arduino, and the logic supply for the converter (pins from where we removed the jumper, very important to connect it into the highlighted pin).

Tining the tips of the wires will facilitate putting several wires in the same hole.

It is also possible to get voltage for the Arduino from the DCConverter. Instead of connecting Converter.IN(+) to Arduino.VIn, we can use DCConverter(5V) to Arduino(V5).

If it is too difficult to put various wires into the sockets of the DCConverter, you can also solder to the pads that are at its sides.

Step 17: Connect Signal Wires

These four wires will transfer the signals from the Arduino into the Driver.

Connect Arduino.(A0,A1,A2,A3) to Driver.(IN1,IN2,IN3,IN4).

Step 18: Button Pad

The button pad is optional, but if you make one you will be able to levitate the particles up and down.

The idea is to have three button pads that when pressed they make contact with ground (the buttons are active low).

Get ground from the Arduino to the common terminal of the buttons. Then, connect each of the buttons to D2(up), D3(down) and D4 (reset position).

Step 19: Set the Voltage to 10V

First Connect the battery (be sure to use the right polarity).

Switch on the device.

Rotate the potentiometer counterclockwise until you see 10V in the display.

In the final device we will use 25V but it is safer for the test equipment to work at 10V. If you use X10 probes then it is alright to use 25V throughout the process.

Step 20: Test the Signals

This step is optional but it is about time to check that everything is working fine.

Get two probes and connect the grounds to a ground of the circuit, temporarily using the button pad ground is one of the easiest options. Remember to put it back when finished.

Before the driver the signals should be 5Vpp and after the driver 10Vpp.

Signals from the same side are in phase while signals from opposite sides should be out of phase.

Step 21: Mark Polarity (with a Multimeter)

If you have a multimeter and some copper tape, this method is quite simple to perform.

DO NO TRUST THE POLARITY MARKINGS FROM THE MANUFACTURER!!!

Step 22: Mark Polarity (with an Arduino)

The easiest way to mark the polarity is to use the Arduino itself. This method does not require an oscilloscope or to poke the transducers inside.

Install the code from this section into the Arduino. Connect one wire to A0 and another wire to GND. While the Arduino is connected to the PC, run the Serial Plotter (Tools->Serial Plotter) and be sure that the speed is set to 115200. When a transducer is connected between A0 and GND the signal will do one of the following things:

  • Signal goes down or remains at 0. Then, mark the leg connected to GND.

  • Signal goes up or remains at 1023. Then, Mark the leg connected to A0.

  • It is important to not touch the transducers leg or the wires while doing that or the values will reset.

If it is still not possible to detect the polarity, poke the inside of the transducer with a thin wire and check if the spike goes up or down (like in the obsolete method). Spike up -> mark A0 leg, spike down -> mark GND.

Step 23: Mark Transducers (Obsolete Method)

This method for marking transducers is much easier than the previous one.

Just connect one probe to the transducer.

With a metal wire poke gently and repeatedly the inside of the transducer. Check the signal in the scope, if the first spike goes up, mark the ground leg. If the spike goes down, mark the other leg.

Step 24: Mark the Transducers (Obsolete Method)

The transducers have polarity and they need to be marked. Do not trust manufacturer marks since they can be wrong.

This method is the one contained in the video, but we have an alternative one that is much easier one in the next step.

First take ground and voltage from any of the Driver outputs. Connect them to a transducer and also connect one probe to the same transducer. This probe will capture the emitted signal.

Take another probe and connect it to the transducer that needs to be marked, this will be the received signal.

Put the transducers face to face and check the signals in the scope.

If the signals are in phase, mark the leg connected to ground. If they are out of phase, mark the other leg.

Mark all the transducers.

Step 25: Mount the Transducers

Put the transducers in the sockets with the marked legs pointing upwards (towards the top).

You do not need to populate the bottom row.

Step 26: Wire the Transducers (hard Method)

We need to wire the transducers to deliver power into them.

Measure the needed length for the wire and give three extra hands for connecting it later.

With the cable peeler, partially peel at the correct distance, later these exposed parts will be twisted around the transducers legs.

Once that you have made the cuts with the peeler, redistribute the plastic to keep a uniform length of cooper exposed. Twist the cooper wires to make them more solid. Twist the exposed parts around the transducers legs, apply flux and solder.

Follow the pattern presented in the images. That is, all the grounds are connected together. The red wires of the same half go towards the same side.

Pay attention to the numbers, these numbers correspond to the driver numbers.

Step 27: Wire the Transducers (Simple Method)

It is the similar to the other method but using exposed wire.

Step 28: Test the Transducers

This step is optional but it is convenient to check that all the transducers are connected correctly.

Connect the ground from the bowl into the driver ground (there will be another wire there).

Connect the 4 red wires from the bowl into the outputs of the Driver, respect the numbering.

Connect two extra marked transducers to the scope probes. Be sure to connect the ground into the marked leg (or at least connect the two transducers in the same way). With these transducers we can check the emitted signal of other transducers.

Transducers from the same half of the bowl should emit in phase. Transducers from opposite halves emit out of phase.

Transducers with the wrong polarity should be desoldered, rotated and resoldered.

Step 29: Set Voltage to 25v

Be sure to set the DC-DC converter to 25V using its potentiometer.

Step 30: Attach the Bowl

Now that all the components are in place, it is time to reattach the bowl into the handler.

Step 31: Connect the Wires

Connect the ground from the bowl into the driver ground (there is already another wire there).

Step 32: Switch on and Levitate

Switch on the device, you should be able to feel a little bit the sound, or hear it if you point it into a big chunk of expanded polystyrene or foam.

Using an acoustically transparent sheet or tweezers you can place particles in the centre of the bowl (above 1.8cm approx) and they will be levitated.

Push the buttons to move the particle up or down.

Depending on the size of the particle and how close it is to the bowl, you will be able to levitate it laterally or upside down. It is also possible to levitate particles that are resting on a surface.

Step 33: Building Other Sonic Devices (Optional)

We have presented how to build the most efficient device but there are others that require even less electronics although they are not as efficient in terms of levitation power to watts.

For the following devices you will need smaller transducers, wires and connectors, as well as a different version for the Arduino (that generates always a 40kHZ signal).

Step 34: Coils Device (Optional)

Print the attached STL file. The transducers are fit in the bottom holes and they are all driven with the same signal.

Step 35: Tubes Devices

Print the attached STL file. The transducers are fit in the bottom holes and they are all driven with the same signal.

Step 36: Miscellaneous Files

Raw design files (Inventor)

Sci-Fi Contest 2016

First Prize in the
Sci-Fi Contest 2016

First Time Authors Contest 2016

Second Prize in the
First Time Authors Contest 2016

Arduino Contest 2016

First Prize in the
Arduino Contest 2016

17 People Made This Project!

Recommendations

  • Plastic Contest

    Plastic Contest
  • The 1000th Contest

    The 1000th Contest
  • Battery Powered Contest

    Battery Powered Contest

452 Discussions

0
0170154
0170154

Question 3 months ago

Hola Asier Marzo, he visto tu trabajo y quede fascinado, hace un tiempo empece con esto pero quisiera saber si me podrías ayudar para poder mover la particula en un coils device( mover arriba, abajo rotar y a los lados). Saludos!

0
PGHaywood
PGHaywood

5 months ago

Hi,
Please help me.
I successfully made the tiny lev, and have tried to make the tractor beam but only one side of the array is working.
I replaced some of the wiring and tested it with a voltmeter and found the ground wires were fine, but the live wires weren't carrying a signal. I then tested the outputs (1&2) on the driver board and found they weren't giving out a signal despite outputs 3 and 4 working.
I am considering replacing the driver board but would appreciate any help.
Thanks

0
Nicholaslimyi
Nicholaslimyi

Question 12 months ago on Introduction

Hi there!

I am trying to build this for my final year project in school and i do not have any experience when it comes to coding an arduino. I have tried understanding the code but there are still many points where i do not understand. Can u please advise me in the following questions? Thanks alot!!!

1. So i am using an arduino nano, but i do not see a pin B2. So which pin are u actually referring to?

2. Also, i noticed that you are mostly only controlling one pin, but i thought we are supposed to control the output of 4?

3. What is the logic of the code doing, especially when the buttons are pressed. I thought all it is doing is changing the phases of certain transducers but the code looks extremely complicated.

4. I bought 10mm transducers instead. Am i still able to control the particle to levitate up and down?

Im so sorry that im asking so many questions but i really tried understanding but am having serious problems. Help will really be appreciated!! Thanks again!!

0
UpnaLab
UpnaLab

Answer 11 months ago

To output data faster and in synchronized way you use PORTs which are a group of 8 pins.

I recommend to check this other project:
https://www.instructables.com/id/Acoustic-Levitator/
Towards the end there is a simplified code (with no phase control though).

0
Nicholaslimyi
Nicholaslimyi

Reply 11 months ago

And also, would i be able to manipulate particles if i use 10mm transducers but i scale down the 3d model of the dome?

0
Nicholaslimyi
Nicholaslimyi

Reply 11 months ago

Oh but my project requires the object to be manipulated up and down tho

0
19phoboss98
19phoboss98

Reply 1 year ago

Thanks a billion

0
cagneym
cagneym

1 year ago

Trying to get this to work. Its will affect plate of water and move pieces of foam against table when upside down. I believe that the transmitters must be certain type as I can see no error. Check my video here to watch me debug my unit
https://youtu.be/hqNPj2AefeY

0
UpnaLab
UpnaLab

Reply 1 year ago

Everything seems in order. Can you try with a small styrofoam sphere (1 or 2mm diameter), you can grab it from white packaging. Could you take a picture of how the levitator deforms the water surface? Best.

0
goodarzisaber
goodarzisaber

Question 1 year ago

Hi
I made it but instead of blinking sound l hear the sound continously. Is some thing wrong?
I tried to levitate small unolit pieces but it just moved and rotated.(didn't levitate in a place)
Could you please help me with finding the problem?

20190706_133743.jpg20190706_133755.jpg20190706_133806.jpg20190706_133810.jpg
0
UpnaLab
UpnaLab

Answer 1 year ago

everything seems fine, try with an styrofoam particle of 1 or 2mm. You can grab some from white packaging.
To check that they are emitting could you put a big chunk of styrofoam in front of it (or a sheet of tin foil) it should make some noise.
Best.

0
astrognat
astrognat

1 year ago

The link for the transmitters ended up getting me 10mm instead of 16mm, which I should have noticed before ordering. Will 10mm transmitters work if I am able to mount them to a resized bowl? Thanks

0
UpnaLab
UpnaLab

Reply 1 year ago

if you do not need to move the particle up/down, then any focused bowl that can be split in two halves will do the job. For 10mm you can also try the standing-wave levitator which can levitate denser things https://www.instructables.com/id/Acoustic-Levitator/ Best

0
YorkTheGhost
YorkTheGhost

Question 1 year ago

Hey, set everything up, but when I switch it on I can hear the transducers let out a steady pulse (sounds like one per second). Also, each component is flashing along with the pulse (the display on the converter, L indicator on the nano, etc.). Nothing is levitating, what's wrong with it?

0
UpnaLab
UpnaLab

Answer 1 year ago

shortcuts.

0
YorkTheGhost
YorkTheGhost

Reply 1 year ago

I can't seem to find it, but the same effect happens if I disconnect the common ground from the transducers to the motor driver

0
UpnaLab
UpnaLab

Reply 1 year ago

Can you check the power consumption with a regulated supply?