25
Levitator Assembly and User’s Manual by RxBConcept

Assembly and User’s Manual - Thingiverse

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Assembly and User’s Manual - Thingiverse

Levitator Assembly

and User’s Manual

by RxBConcept

Page 2: Assembly and User’s Manual - Thingiverse

Levitator by RxBConcept – [email protected] 2

Table des matières 1. Introduction ................................................................................................................................3

2. Check list .....................................................................................................................................4

2.1. 3D printed parts: .................................................................................................................4

2.2. Hardware ............................................................................................................................4

2.3. Levitator Board ....................................................................................................................4

2.4. Coil/Sensor ..........................................................................................................................4

2.5. Bluetooth Module (Optional) ...............................................................................................4

3. 3D Printing ..................................................................................................................................5

4. Soldering .....................................................................................................................................6

5. Wiring the coil .............................................................................................................................7

6. Assembly.....................................................................................................................................9

7. Firmware installation ................................................................................................................ 13

7.1. From source ...................................................................................................................... 13

7.1. From binary ....................................................................................................................... 14

8. Levitating .................................................................................................................................. 15

8.1 Download ................................................................................................................................ 15

8.2 LevitatorHost presentation ...................................................................................................... 15

8.3. First connection and initial settings. ................................................................................... 17

8.4. Let’s levitate ...................................................................................................................... 20

9. Example of configurations ......................................................................................................... 21

9.1. Small bi-plane .................................................................................................................... 22

9.2. Flying-Heart ....................................................................................................................... 24

Page 3: Assembly and User’s Manual - Thingiverse

Levitator by RxBConcept – [email protected] 3

1. Introduction

Magnetic Levitation is kind of a magical phenomenon as it involves 2 invisible forces: earth gravitation force

and magnetic force.

Magnetic Levitation is achieved when you manage to counter-balance earth gravitation of a permanent magnet

with a magnetic force.

A bit of theory on a magnetic PID control loop:

Principle:

- The PID Setpoint is the sensor value where you want to maintain the levitating magnet.

- When moving up and down, the permanent magnet will modify the sensor readback value.

- The PID control loop will try to maintain the actual sensor reading as close as possible to setpoint by

acting on the coil electrical current to adjust the generated magnetic field and counter-balance the

earth gravitation.

Earth Gravitation force

Levitating Permanent magnet

Coil Magnetic force

Coil

Hall Effect Sensor

Sensor reading

PID Setpoint

Page 4: Assembly and User’s Manual - Thingiverse

Levitator by RxBConcept – [email protected] 4

2. Check list The following section details the required and optional components required to build a Levitator.

2.1. 3D printed parts: - 3D printed parts available on thingiverse: Levitator

2.2. Hardware - 1 x Hexagon socket head cap screw M6x40 mm

- 1 x M6 nut

- 5 x Self tapping screw 2.9x13mm

- 2-4 x M2.5x5mm screw (to fix the board in the Levitator base)

2.3. Levitator Board - 1 x 12V 800mA power supply.

- 1 x Arduino nano nano board

- 2 x 15 pin female single row straight header (2.54mm pitch)

- 1 x DC power jack 5.5-2.1mm, 8mm Diameter: power jack

- 2 x 3mm LED, the color of your choice.

- 2 x 330ohms 1/4W resistance.

- 4 x 8cm 24-28 AWG wire to connect the leds to the board.

- 1 x 1000-470uF 64V polarized capacitor.

- 1 x 100nF capacitor.

- 1 x IRL540 mosfet transistor or equivalent (need to be TTL "compatible").

- 1 x 1N4148 diode or equivalent

Optional components (not needed if you plan to solder leds, sensor and power wires directly to the board.)

- 2 x 2 pin JST male header 2mm pitch

- 2 x 2 pin JST female header 2mm pitch

- 2 x 2 pin JST male header 2.54mm pitch

- 2 x 2 pin JST female header 2.54mm pitch

- 1 x 3 pin JST male header 2.54mm pitch

- 1 x 3 pin JST female header 2.54mmpitch + crimps

2.4. Coil/Sensor - 1 x SS495A Radiometric linear hall effect sensor (or equivalent)

- ~140m CU wire Ø 0.28mm

- 5 x ~40cm 24-26 AWG wires to connect the coil and sensor to the board.

Optional components (not needed if you plan to solder together CU coil wires to 24-26 AWG wires.)

- 1 x 2 pin JST male header 2mm pitch

- 1 x 2 pin JST female header 2mm pitch

2.5. Bluetooth Module (Optional) - 1 x HC06 or compatible bluetooth module HC06 module

- 1 x 4 pin female single row straight header (2.54mm pitch)

- 1 x 4 pin male single row straight header (2.54mm pitch)

Optional component (not needed if you don’t plan to turn off Bluetooth.)

- 1 x Mini slide switch SS12F15G

Page 5: Assembly and User’s Manual - Thingiverse

Levitator by RxBConcept – [email protected] 5

3. 3D Printing All parts can be printed at 0.25mm, 25% infill.

- 1 x Base-Bottom-V2: support doesn't matter

or

- 1 x Base-Bottom-NoBTswitch-V2: (if you don't want bluetooth or don't intend to turn it off)

- 1 x Base-Top-V2: support >45° overhang

- 1 x Arm-V2: no support !!! (otherwise you'll have difficulties to clean up the conduits.

- 1 x Sensor-Holder: support >60° overhang (so you don't have to clean the thread path)

- 1 x Sensor-Cap: support >60° overhang (so you don't have to clean the thread path)

- 1 x Cylinder-Body-V2: support >45° overhang

- 1 x Cylinder-Top: support doesn't matter

- 1 x Cylinder-Cap: support >60°

- 1 x Coil-A: support doesn't matter

- 1 x Coil-B: support doesn't matter

Note:

If you plan to add the bluetooth module, consider using a switch to turn it off. Otherwise, you won't

be able to flash the arduino nano via USB without opening the base and unpluging the bluetooth

module.

Both USB and BT modules are wired to the same RX/TX pins and the BT will interfere with the

arduino bootloader when flashing the board.

Page 6: Assembly and User’s Manual - Thingiverse

Levitator by RxBConcept – [email protected] 6

4. Soldering Solder all the required components according to the following schema.

JST female 2mm

or nothing if directly

soldering led wires

Female header 2.54mm

wire jumper

if no BT switch is used

Only needed if planing to use BT

Female header 2.54mm

Wire jumper

or

2.54 pin header+jumper

JST female 2.54mm

or nothing if directly

soldering sensor, coil and

power wires

Page 7: Assembly and User’s Manual - Thingiverse

Levitator by RxBConcept – [email protected] 7

5. Wiring the coil

1. Glue together the Coil-A and Coil-B printed parts.

2. Prepare the winding:

Fit the screw in and fix with the nut. Insert the CU wire in the small hole from the inside to the

outside. Make sure you have enough length outside for the final connection to the driving wires.

Also, be very careful not to break the outside wire as it is very fragile.

3. Wind the coil

I used a handheld electric screw driver at low speed to wind the coil. Tighten the wire with two

fingers and regularly move it from one side to the other while winding.

You can start filling the smaller part, then continue to the full length. What matters is the

number of turn and the length of the wire.

Page 8: Assembly and User’s Manual - Thingiverse

Levitator by RxBConcept – [email protected] 8

Once finished, use scotch tape to hold everything in place. Solder the two ends to a 2mm JST

male connector. You can also directly solder the driving wires and fix everything with hot glue.

Your coil is ready.

Measure the coil resistance, it should be around 50ohms.

4. Solder the hall sensor and fit it inside the Sensor-Holder printed part.

Fit it either way. It doesn’t matter.

Take note of the wire colors for +5V, GND and Signal.

+5V

GND

Signal

Page 9: Assembly and User’s Manual - Thingiverse

Levitator by RxBConcept – [email protected] 9

6. Assembly

Fit the sensor and coil wires thru the Cylinder-Body and the Arm-V2 printed parts.

Insert the bolt in the Sensor-Holder

sensor

coil

Page 10: Assembly and User’s Manual - Thingiverse

Levitator by RxBConcept – [email protected] 10

Fit the coil and attach with the bolt.

Cut the extra length of the bolt.

Insert the coil inside the cylinder and fix it with the sensor cap.

Page 11: Assembly and User’s Manual - Thingiverse

Levitator by RxBConcept – [email protected] 11

Fix the cylinder and the arm.

Fix the arm to the Base-Top-V2 printed part with a self-taping screw.

Install the JST 2mm female connectors.

Install the two leds with the connection wires (around 10cm) in the corresponding holes.

- The standby led will light when the Levitator is in standby mode, ie when no magnet is detected.

- The coil led will turn on when the Levitator is trying to maintain the magnet in the air. The intensity

of the led will vary based on the current delivered to the coil.

Standby Led

Coil Led

Page 12: Assembly and User’s Manual - Thingiverse

Levitator by RxBConcept – [email protected] 12

Connect everything to the board.

Double check all connections. Make sure the power connection are wired correctly according to the

power-supply plug you’ll use.

If using the Base-Top and Base-Bottom version 1, you’ll probably need to widen the USB connector

hole. Otherwise you may not be able to connect the USB cable when the base is closed.

Install the Arduino Nano in the female socket.

Coil led Stdby led

+/- +/-

Sensor

signal

GND

+5V

Coil (either way)

Power -/+

Optional BT switch

Page 13: Assembly and User’s Manual - Thingiverse

Levitator by RxBConcept – [email protected] 13

7. Firmware installation NOTICE: Version V1.1 Available.

7.1. From source Download the Levitator firmware source code: https://bitbucket.org/rxnco/levitator

Open the project (levitator.ino) with the Arduino IDE.

Select “Arduino Nano” board with ATmega328 chip in the tools menu.

Select the correct serial port.

Compile and upload the sketch to your Arduino Nano.

Compile and upload

Arduino Nano

Serial port

chip

Page 14: Assembly and User’s Manual - Thingiverse

Levitator by RxBConcept – [email protected] 14

Open the IDE’s serial monitor.

Configure it to 115200 bauds.

Then type: $$

The Levitator should answer with a list of all its parameters.

Firmware is OK and you’re almost ready for your first levitation !!

7.1. From binary

Download the firmware’s binary and flash it using your favorite tool: levitator-1.1.hex

Page 15: Assembly and User’s Manual - Thingiverse

Levitator by RxBConcept – [email protected] 15

8. Levitating

8.1 Download LevitatorHost NOTICE: LevitatorHost-1.2 available

Source code: https://bitbucket.org/rxnco/levitatorhost

Windows executable: LevitatorHost-1.2.exe

Executable jar (windows,linux,mac): LevitatorHost-1.2.jar

8.2 Application presentation

Main screen:

Actual levitator settings Local controller settings Local PID settings

and

WaveForm generator

Coil power (%)

Sensor setpoint

Sensor reading

Page 16: Assembly and User’s Manual - Thingiverse

Levitator by RxBConcept – [email protected] 16

Controller settings:

Sensor Reversed whether or not the sensor reading should be reversed.

sensor Filter How many sensor readings are averaged to compute the PID response. Allows for a smoother control, but increase the time to reach stability.

Coil Filter How many coil response are averaged to control the coil. Allows for a smoother response, but degrade stability.

Ctrl Period Period, in milliseconds, at which the control loop is executed.

Actv Threshold Sensor value under which, the controller will go in active mode and try to levitate the magnet.

Actv Timeout Time, in milliseconds, to wait after the sensor reading goes higher than the ‘actv threshold’ value, to turn the coil off and go back in standby mode.

Coil Min Minimum value (in %) of the coil response.

Coil Mid Mediam value (in %) of the coil response.

Coil Max Maximum value (in %) of the coil response.

The send button will send those values to the connected Levitator.

The read button will update those values with the controller values of the connected Levitator.

PID settings:

:.

There are two sets of PID values, A and B, and a Wave Form Generator that can interpolate between

the A and B settings.

The send button will send the corresponding A or B settings to the connected Levitator.

The read button will update the corresponding A or B settings with the current values of the

connected Levitator.

The start button will start the waveform generator and control the levitating object according to the

selected wave form.

Page 17: Assembly and User’s Manual - Thingiverse

Levitator by RxBConcept – [email protected] 17

8.3. First connection and initial settings.

Get ready for the initial configuration:

- Get some N50 and N35 permanent magnets (I have some N50 cubes and N35 cylinders)

- Prepare your first levitating object. The lighter the easier !! My first try was a bare N50 cube

with a small screw attach to it.

- A 12V 800mA power supply (the quality/stability is quite important here).

- A USB mini cable

- A Levitator (obviously)

- Some coffee or whatever that can keep you awake

- A Yoga book or anything that can calm you down.

Start the LevitatorHost application.

Power the Levitator with the power supply --> The Stdby Led should turn on.

Connect the USB cable --> the Stdby led should turn off then turn on again.

Select the corresponding Serial port the application and connect.

Page 18: Assembly and User’s Manual - Thingiverse

Levitator by RxBConcept – [email protected] 18

You should get something like that: 3 flat lines and some initial values.

First thing to do is to determine the orientation of your coil.

1. Grab a N50 magnet choose an orientation N/S and place it under the hall effect sensor.

2. If the red line is going up --> change the magnet orientation and try again.

3. The red line should go down and the coil should start generating a magnetic field.

4. If the magnet is rejected by the coil, then check the “sensor reverse” check box and press the

“send” button. Reverse your magnet orientation then repeat from step 3.

5. Your magnet should be attracted by the Coil.

Use the “File” menu -> Save As Default to store this initial configuration.

Remember your magnet orientation as it will be the required orientation for the levitation.

Also, to help position your levitating object, you can place a small N35 magnet on top of the coil

core bolt. Place it in the reverse orientation, so that it will “reject” the levitating object when too

close to the sensor cap.

Page 19: Assembly and User’s Manual - Thingiverse

Levitator by RxBConcept – [email protected] 19

You should end-up with something like that (or the opposite).

Page 20: Assembly and User’s Manual - Thingiverse

Levitator by RxBConcept – [email protected] 20

8.4. Let’s levitate

Now that everything is configured and oriented correctly, let’s levitate our first object.

The explanations are for a 50ohm coil powered at 12V, with a N50 cube 10x10x10 magnet.

The small bi-plane, the christmas-tree and the heart are quite “easy” to levitate.

The procedure with other characteristics is the same, but values may differ.

Note also, that levitation of “heavy” object is more unstable and more difficult to achieve.

Initial values:

1. Fill in “PID – A” values and press the send button

2. Fill in the “Controller settings” values then press the send button.

3. Place the levitating object under the coil and move it up until it touch the sensor cap.

4. The coil must have turned on, and you should feel it.

5. Move the magnet down 5mm approximatively

6. On the LevitatorHost interface, look at the value of the sensor reading (the red line - right

side scale) and note it down.

7. Remove the magnet.

8. If the magnet does not turn off after 2 seconds, note the sensor reading and put a smaller

value (50 units less) in the ‘Actv Threshold’ and then press the send button.

9. The magnet should turn off and the red line should go up after 2 seconds.

10. Fill the A setpoint with the sensor value noted at step 6 and press the “send” button.

11. Put the levitating object under the sensor and move it slowly down until the sensor reading

reach the configured value.

12. The object should start levitating.

13. If the object does not levitate at all, increase the P value (0.5 steps).

14. If the object oscillates up and down without reaching a stable point, increase the D value.

Page 21: Assembly and User’s Manual - Thingiverse

Levitator by RxBConcept – [email protected] 21

15. If the object reaches a “stable” value, but that value is offseted from the setpoint value,

increase or decrease the I value in 0.0001 steps.

Don’t forget to press the send button after each adjustment !!

For more details on PID controller and especially on manual tuning, please refer to:

https://en.wikipedia.org/wiki/PID_controller

9. Example of configurations

Those examples apply to my Levitator:

- 50ohms coil.

- 12V power supply.

- SS495A Radiometric linear hall effect sensor.

- non reversed sensor.

Page 22: Assembly and User’s Manual - Thingiverse

Levitator by RxBConcept – [email protected] 22

9.1. Small bi-plane

Small bi-plane: 1 Ø8x2mm N35 magnet + 1 10x10x10mm N50 cube

Levitation PID A:

Page 23: Assembly and User’s Manual - Thingiverse

Levitator by RxBConcept – [email protected] 23

Levitation PID B:

Sin Wave Form:

Page 24: Assembly and User’s Manual - Thingiverse

Levitator by RxBConcept – [email protected] 24

9.2. Flying-Heart

Flying-Heart: 3 Ø8x2mm N35 magnet + 1 10x10x10mm N50 cube

Levitation PID A:

Page 25: Assembly and User’s Manual - Thingiverse

Levitator by RxBConcept – [email protected] 25

Levitation PID B:

Sin Wave Form: