3D-printed 3D-scanner

by TankMeister in Workshop > 3D Printing

28564 Views, 349 Favorites, 0 Comments

3D-printed 3D-scanner

DSC07924.JPG

About a year ago I bought my first 3d-printer and became addicted to 3d-printing and manufacturing my own designs and products with it. Since then I have printed/build my own CNC milling machine with my 3d-printer (https://www.instructables.com/DIY-3D-Printed-Dremel-CNC/) and love the fact that I can print new ways of manufacturing myself. About 2 months ago I saw a video of someone who designed his own 3d-scanner which made 3d-models from photos and I decided that it would be a fun project to, for the first time, design and program a 3d-scanner myself.

After about 2 weeks of modeling, 3d printing, soldering, programming and testing I finished building my 3d-scanner and must say that I'm pretty happy with the result. In this instructable I will walk you trough the process of building your very own 3d-scanner yourself.

The way this 3D-scanner works is as follows: When the 3D-scanner is turned on, the display will show a menu with the options for 'rotate' or '3D-scan'.

When the 'rotate' option is chosen, the user is shown a second menu screen with the option for 'free rotate', where the user can rotate the disk with the joystick (which for example is useful when taking pictures of an object from different angels). The second option is 'Auto rotate', where the disk will slowly rotate 1 time (which is useful for when the user wants to make an 360 rotating video of an object).

When the '3D-scan' option is chosen, the user can select the amount of pictures where the 3D-scan will be made from (the more pictures, the better the quality of the created 3D-model)

Item List

DSC07916.JPG

The following items are needed when making your very own 3d-scanner:

Materials:

  • PLA filament (about 250 grams)
  • Acrylic plate (4mm thick and at least 150x150mm in dimensions)
  • M3 x 8mm screw (14x)
  • M4 x 12mm screw (2x)
  • Hot glue
  • Super glue
  • Tyraps (20x)

Electrical:

  • Arduino Uno (1x)
  • S28BYJ-48 5v stepper motor (1x)
  • ULN2003 driver board (1x)
  • SG90 9G Mini Micro Servo (1x)
  • Arduino LCD Screen (1x)
  • Arduino joystick module (1x)
  • PCB breadboard (1x)
  • Bluetooth camera remote (1x) (https://nl.aliexpress.com/item/1005001431282608.html)
  • Dupont wires (20x)
  • Arduino upload/power cable

Software:

  • Arduino Software (for uploading the code)
  • Autodesk Photo Recap (for creating the 3D-model from the scanned model)

Tool List

2945489-40.jpg
4c489b44ea9d148e8e96562c3a7fda83.jpg

The following tools are needed for manufacturing this project:

  • 3D-printer
  • Laser cutter (part can also be produced with the 3D-printer)
  • Soldering iron (for soldering the power and ground cables to the PCB)

3D-printing

20211205_193918.jpg
20211205_091836.jpg
20211205_150145.jpg
20211205_213543.jpg
20211205_214305.jpg
20211205_214424.jpg

3D-printing plays an very important part in producing the 3D-scanner, that's why I will go into further detail about the print settings, time, etc. The following parts need to be 3d-printed:

  • Body
  • layer height: 0.3mm
  • line count: 4
  • infill: 20%
  • bottom and top count: 4
  • Speed: 80mm/s
  • Support: everywhere
  • Support overhang angle: 30 degrees
  • print time: +/- 11 hours
  • Steppergear
  • layer height: 0.3mm
  • line count: 4
  • infill: 20%
  • bottom and top count: 4
  • Speed: 50mm/s
  • print time: +/- 0.5 hours
  • Cover
  • layer height: 0.3mm
  • line count: 4
  • infill: 20%
  • bottom and top count: 4
  • Speed: 50mm/s
  • print time: +/- 1 hours
  • Circle-gear
  • layer height: 0.3mm
  • line count: 4
  • infill: 20%
  • bottom and top count: 4
  • Speed: 50mm/s
  • print time: +/- 4 hours
  • Phone-holder:
  • layer height: 0.3mm
  • line count: 4
  • infill: 20%
  • bottom and top count: 4
  • Speed: 70mm/s
  • print time: +/- 1.5 hours

Laser Cutting

Picture1.jpg

I made the rotating disk of the 3D-scanner by laser cutting the STL file out of an 4mm thick acrylic plate. Laser cutting is the preferred way of manufacturing since when using laser cut colored acrylic it will reflect less light then a 3d-printed part which is beneficial because your phone will take better pictures which results in a better 3D-scan. However, this part could also be made with a 3D-printer, since it fits most 3D-printers with it's diameter of 150mm.

Use the manufacturers given values for speed and laser power when laser cutting the acrylic.

Downloads

Assembly

DSC07916.JPG
IMG-20211205-WA0035.jpeg
IMG-20211205-WA0039.jpeg

When you have gathered all the needed items, you can assemble the 3D-scanner. I started with placing the stepper, driver board and arduino and screwing these onto the body. Then I took the bluetooth remote and placed it in it's designated place, after which I screwed the servo onto the body. Finally I screwed the LCD screen and joystick-module onto the body.

After all the components had been placed, I wired all the electric components and soldered the power and ground wires onto the PCB. After soldering the wires onto the PCB I made sure they didn't short (incase I accidentally soldered a connection between power and ground), and then applied a cover of hot glue over the soldered wires. For further information about the wiring, continue to Step 6: Electrical Wiring and Code.

After all the components were installed, wired and the software had been uploaded onto the Arduino, I pressed the stepper gear onto the stepper shaft. I attached the big circle gear onto the disk with super glue, be cautious that you place the gear exactly right so the disk spins circular and not like an oval.

Electrical Wiring and Code

20211205_223432.jpg
20211205_223747.jpg
20211205_232254.jpg
20211205_232525.jpg
20211205_233322.jpg
20211206_002234.jpg
20211206_002237.jpg
20211206_002239.jpg
IMG-20211206-WA0022.jpeg

Wiring the electrical components might seem very hard, but it is really quite easy as long as you take your time follow the electrical 'scheme' I made:

  • Joystick:
  • SW --> D2
  • VRY --> A1
  • VRX --> A0
  • 5V --> PCB power
  • GND --> PCB ground
  • Lcd screen:
  • SCL --> A5
  • SDA --> A4
  • VCC --> PCB power
  • GND --> PCB ground
  • Stepper motor driver card
  • IN1 --> D8
  • IN2 --> D9
  • IN3 --> D10
  • IN4 --> D11
  • 5V --> PCB power
  • GND --> PCB ground
  • Servo
  • Yellow wire --> D3 
  • Red wire --> PCB power
  • Brown wire --> PCB ground
  • PCB
  • Power --> 5V Arduino
  • Ground --> GND Arduino

After you have wired all the above standing components I advise using tyraps to bind the wires together and organize them and to use hot glue to make sure the wires that are plugged into the Arduino stay in.

By now you should be ready to upload the code onto the Arduino. I have written all the code myself and must say that I am pretty happy with how it works, although there are still some minor bugs that I will perhaps in the future solve, so be sure to check for software updates on this instructable in the future. Uploading code to an Arduino is pretty easy, just install the Arduino code editor software on your pc, open my, underneath standing, included code, connect the Arduino and press upload in the Arduino software and wait till it's done uploading.

Finished Product

edit2.png
DSC07917.JPG
DSC07918.JPG
DSC07921 - Copy.JPG
DSC07922.JPG
DSC07923.JPG
DSC07925.JPG
DSC07928.JPG
DSC07931.JPG
DSC07938.JPG
DSC07940.JPG
DSC07941.JPG
DSC07942.JPG
Assembly6.png

In the photo's above you can see the finished 3D-scanner. The tests that I have done thus far have been pretty good, but to get a good 3D-scan I advise turning up the photo counter all the way up to maximum when doing a scan for the best result. If you are thinking about doing this project and you have a question, feel free to hit me up by sending me a message.

Success with making your very own 3D-scanner!