123D Scanner - Home made 3D Scanner
Hey - have a look at my new project HERE

In this project I built a 3D Scanner, that enables generating 3D models of physical objects.

The files can later be viewed in 3D software (GLC Player, Sketchup, Rhino, or sites such as http://3dfile.io)
and even manipulated into .STL file and 3D printed.

The software for this project is completely free, I am using Autodesk's 123D catch, Link:123D catch
The 123D Catch is a great software, it requires taking many photos of an object all around it, and uploading it into the software, and it returns a 3D file.

Since I really liked the solution but did not wanted to take the photos myself - I built an instrument that does that -
description hence.

Please note that this document does not intend to explain how to use 123D catch (this can be found here)



A really nice scan can be seen interactively here:

.

Step 1: Operation principle (can be skipped)

123D Scanner - Home made 3D Scanner
(This part can be skipped, it explains the logics behind the structure, The scanner will wok without this part...)

The design of the scanner is quite simple, and consists of 3 main parts:
  • Scanner chassis and stage
  • Scanner arm (carries the camera)
  • Scanning surface
  • Each parts has it roles -
  • The chassis - this is the part that sits on the table and carries the scanning Surface and the scanned object on it
  • Scanner arm - The arm has the camera in the end of it, and a servo motor that presses on the button and take all of the pictures, the arm rotates around the scanning surface and takes pictures every few degrees. Pay attention that there's a weight to balance the own weight of the camera (*)
  • Scanning surface - a round board, with colored stripes on it, carries the scanned object. (**)
  • (*) The reason that the arm rotates around the object instead turning the object around is in purpose to make the stitching algorithm work easier, since if the object rotates, and the surrounding stays the same, the software work becomes complicated and the model doesnt work so well, environment -same as light sources shadows and all. (I did built one model with turned stage but the results were awful)
    (**) The color stripes on the base are also in purpose to help the stitching algorithm - the help (colors, number of lines, orientation) to stitch.

    Step 2: The chassis

    123D Scanner - Home made 3D Scanner
    123D Scanner - Home made 3D Scanner
    The chassis is built from MicroRax (Link) profiles and parts, which is very easy to use and enables the arm to rotate almost 360 degreed around the object, it also host the rotation Servo (Full rotation servo - SpringRC SM4303)
    It's base is approx rectangular 30x30 [cm]

    Step 3: The scanning surface

    123D Scanner - Home made 3D Scanner
    Made of cardboard, round, placed on the top of the chassis and carries the scanned object, colored stripes are painted on the cardboard (see step 1) approximate

    Step 4: The rotating arm

    123D Scanner - Home made 3D Scanner
    123D Scanner - Home made 3D Scanner
    123D Scanner - Home made 3D Scanner
    The role of the arms is to carry the camera and rotate it around the scanned object, it has 3 main components:
  • Camera (Nikon Coolpix L10), any camera will do as long as its optical features can take photos in approx 10[cm] otherwise the pictures will become blurred and the 3D model will not be able to built.
  • Small servo - that pushes the camera button, (any DX.com servo will work) I thought of hacking into the camera, but since it is my wife's - i didn't to it...
  • Balancer - Metal block that balances the own weight of the camera and the servo and maintain the center of gravity on the axis of the rotation servo
  • Step 5: Scanner assembly

    123D Scanner - Home made 3D Scanner
    123D Scanner - Home made 3D Scanner
    Hardware assembly:
    This is quite straight forward, assemble the parts as seen in the pictures, ensure that the wires are long enuogh and will not get stuck during operation.

    Step 6: Arduino controller

    123D Scanner - Home made 3D Scanner
    This Step will describe the Arduino setup:
  • Wiring - As can be seen in the figure - the two servos are connected to the Arduino, They are NOT similar, The full rotation servo (connected to Digital pin 3) is controlled thru PWM protocol, while the button servo is controlled with Servo object.
  • Arduino sketch - attached, please pay attention to the delays and their remarks.
  • ----------------
    #include
    Servo servo1;
    int analogPin = 3;
    int pos = 0;

    void setup()
    {
    pinMode(analogPin, OUTPUT); // sets the pin as output

    servo1.attach(9);

    }

    void loop()
    {
    for ( int i=1; i analogWrite(analogPin, 125); //rotate
    delay(300); // rotation duration
    analogWrite(analogPin, 0); // stop rotation
    // Camera servo
    delay(1500); //vibration stop
    for(pos = 0; pos < 100; pos += 1)
    {
    servo1.write(pos);
    delay(5);
    }
    delay(3000); //camera shooting time
    servo1.write(0);

    delay(500); // delay for camera
    }
    delay(2000);
    analogWrite(analogPin, 200); // rotation back to start
    delay(1200);
    analogWrite(analogPin, 0); // Moving Counter Clockwise
    delay(3000);
    }

    Step 7: Operation sequance

    OK,
    Now you have everything in place - make sure you have Autodesk 123D catch installed and a login ready.
  • Put an object to scan on the surface.
  • Turn on the electricity to the controller. (USB/Direct 5V supply)
  • Wait until the camera finishes a complete circle.
  • Turn off electricity.
  • Extract the acquired photos from the camera (USB/ SD card).
  • Upload the images into the 123D catch
  • Get the 3D model


  • Step 8: Wall painting robot - check my new creation @ http://www.keerbot.com

    Wall painting robot - check my new creation @ http://www.keerbot.com
     
     

    Tag cloud

    make build easy simple arduino making homemade solar laser printed portable cheap mini building custom cardboard wooden create super lego turn paracord chocolate your paper light intel