DIY 3D Scanner (Arduino, 3D Printing, PCB Design, Stepper Motors, IR Sensing) - Super Make Something
HTML-код
- Опубликовано: 23 июл 2024
- Learn how to make a 3D scanner to digitize and clone objects around your house!
The STL files for the 3D scanner can be found at: www.thingiverse.com/thing:1413891
The Arduino and MATLAB code can be downloaded here: github.com/SuperMakeSomething...
Order a copy of the PCB in this video for yourself at: bit.ly/22ov2Es
In addition to the STL files and a 3D printer, you will need the following components to build the scanner:
1x Arduino Pro Micro
2x Nema 17 stepper motor
1x IR Distance sensor (2cm-15cm range) - (Sharp GP2Y0A51SK0F)
2x EasyDriver stepper motor shield
1x Micro SD TF card shield
1x Z-axis ACME threaded rod with anti-backlash nut
2x 8mm linear shaft, 200mm length
4x 8mm linear ball bearing
7x 2.54mm 2 position screw terminal
1x Mini push button switch
1x 1x40 Pin 2.54mm male header pins
1x 1x40 Pin 2.54mm female header pins
1x DC 12V power supply
1x DC power female plug adapter connector with screw terminals
Want to play with the MATLAB code? A copy of the scan in this video can be downloaded here: github.com/SuperMakeSomething...
Comments or questions? Connect with me on Twitter @SuperMakeSmthng
Also check out the newly-launched home of Super Make Something on the web! www.SuperMakeSomething.com
Want to support Super Make Something? You can buy me a coffee here: www.buymeacoffee.com/SuperMak...
Some of my favorite tools:
amzn.to/2gv1LCS - Maker Select V2 3D Printer
amzn.to/2ghCE90 - Jackly 45 in 1 Screwdriver Kit
amzn.to/2ghA9TX - Dewalt 18V Drill/Driver Kit
amzn.to/2jJ5Rcq - Silhouette Portrait Craft Cutter
(Note: All Amazon links are affiliate link. As an Amazon Associate I earn from qualifying purchases.)
Music credits:
Video: "Planet of Arps" - Play on Loop (www.playonloop.com)
Outro: "Clear Mind" - Play on Loop (www.playonloop.com) Наука
NOTE: Due to various hardware differences, some Arduino variants may not be able to handle 12V at their input. It is recommended to start with a 5V source and then slowly increase the voltage until the scanner works and your motors turn. A variable power supply is handy to test what voltage needs to be applied at the input. These can be purchased here: amzn.to/461FTrR
Thank you for the most informational video I have ever seen on youtube. You covered the entire process, showed your software processes, and kept the voiceover going through the construction which helped me learn the engineering process. This is the kind of content I want to see.
robin armstrong Thank you so much! I’m happy that you like the video!
If there'll ever be an apocalypse, I want to have you in my team to rebuild technology and society
Watching this 8 years later, I know there's a much of software to do this more easily now, but man I'm impressed you coded this all up yourself
Thank you so much! 😊
Probably the best video for the way you explain the electronic part! Thumbs up mate!!
Saifuddin Mohit Thank you!
Super Make Something
Very nice! Good job on this project!
the Hacksmith Thank you very much! Also, congratulations on your recent subscriber milestone!
the Hacksmith o
Found you guys! Again it like every project I go to to build you guys are there, lol!
Nice video. You could calibrate the IR scanner by adding a calibration shape on the rotating platform (below the object) and include that in the object scan. Since the calibration shape would have a known shape, you could use the values from that part of the scan to calibrate the distance values for the object. A spiral shape would probably work pretty well.
Amazing job compressing all that work into a thoroughly understandable video that's just over 10 minutes. Great project.
You just blew my mind man!!! Awesome work, I want to try and make this as soon as I recover from my jaw hitting the floor.
Subbed 👍👍👍
Holy cow! What a really cool video! Loved how you talked about the improvements at the end. Great job!
+Make Something Thank you so much! Really glad that you like the video!
This is awesome!! I was just at a Make-a-thon at my university a couple weeks ago where I built a 3D scanner like yours only I used K-nex, two hobby servos instead of steppers, and an ultrasonic sensor instead of an IR sensor. Just like you mentioned, the sensor had a ton of variability and MATLAB post processing was pretty involved. Wish I had steppers and an IR sensor at the time though. Great vid all in all, keep it up!
+Ian Sunyecz Thanks! Your scanner sounds awesome. Out of curiosity, how was the scan resolution with the ultrasonic sensor? Is it possible to get a usable scan with the "spread" of the ultrasonic "beam?"
+Super Make Something The scan resolution was really not that great with the ultrasonic sensor. We played around with the best distance to put the sensor relative to the object and found it to be around 10cm. We took the average of 20 readings per turn but still had difficulties measuring distances around sharper corners/edges of the object. Your IR sensor seemed like it had much better resolution on your object than our ultrasound sensor. I would love to redo the project with a laser rangefinder like you mentioned to see how accurate the scan would be.
Wow.The mere effort taken for designing the system is tremendous
Your simplicity for create and assembling every part is amazing.
Thank you!
Another improvement would be a paper with circles for the table. So you could center your item much better.
Man, that's an intense project! Earned my subscription for sure. Keep it up!
Thanks!
One of the greatest video on yt about this things. You won my attention! Well done, bro!!
wow!!! dude you're awesome man, takes lots of time to do the video and explain in detail the entire process, thumbs up well deserved
Thanks! Glad to hear that you like the video!
Really cool project! Would be very interesting to see an upgraded version of this, i e how good you can get it with better sensor hardware compared to commercially available scanners. Anyway, awesome build, thanks for sharing.
Hi Alex, That was very cool!! I do have an idea for your offset problem for objects out of center. you could add another sensor on the exact opposite side across from the one you already have. taking the readings from both sensors and subtracting the difference should give you a more accurate model. maybe an idea worth playing with. none the less I am in awe, thank you very much! :)
with out a dought the best and comprehensive vid I have watched on making something!!!!!!!! AWSOME!!!!!
Thank you for the properly detailed documentation provided, came here from the video of that one uploader that just took the idea and didn't give any credit, thankfully you noticed it and we can actually properly do it and give the correct credits.
I wouldn't have imagined that a distance sensor like this would be that precise or specially, that it would measure pretty much a point in front of it instead of a wider area. I think I'll give it a try, since the Ciclop camera based scanner is a heck of a pain to calibrate if I can even get it to do it.
As a sort of unrelated comment, it's pretty funny to see how much 3D printing has evolved in the past years. 2016 is by no means stone age no matter how much at least phone manufacturers might want us to believe, but 3D printing has evolved massively since then, slicers specially, but even machines that at the price point they are now would be hopeless glorified glue guns in the earlier days.
in one video, I learned great things..... Thanks for sharing it !!!
Subscribed! Great video! Just the type of content i like seeing.
The way you quickly explain all the steps is really cool
Julien Carayol Thanks!
you are extremely underrated for all your work! never give up on what you do on this channel
+Cahen Thank you!
this is amazing! :D I think I will try building it one day...and I'll wait to see the upgrade :D
Very well made video, great quality. Subbed within one minute. ☺ 👌
I was overwhelmed within the first 2 minutes of the video. You're one of those smart guys who intimidate me. lol
Well done that way you documented and researched your project it at the level of and engineer.
Thank you!
You are a very good teacher, thank you.
Watched this and then subbed right after. I have recently gotten a 3D printer and am excited about what I could make with it. :)
You got another subscriber! The world need more people like you :) (And yeah your videos are very inspiring, it inspire me a lot)
Please clarify connecting with Arduino, stepper motor , motor ,and sd card
I'm really impress, you are a genius, and a great communicator.
palaskecea Thank you! I'm happy you enjoyed the video!
Dude, this looks like a future tech project. Congratulations!!
One of the best DIY projects tutorial, Bravoooo!
you'll soon blow up, never saw such a good video from a such small youtuber. of course subscribed and I hope the best for you!
Thank you!
Totally agree!!! very professional.. Thanks heaps!
awseome video!! great job!! to bad the resolution is a bit bad and missing the top of the object. Maybe with some integration of a kinect could help?
Great Videos, I really like the pace of your videos. And the depth of Introducing new tools, hardware and software, is just enough to know what they're for and how they're used. Keep up the good work..
+Dallas NYC Thanks!
likely some of the best arduino tutorials/project. very cool thanks for sharing and explaining in decent resolution
+Valentin Uzunov Thank you for your kind words!
+Super Make Something
may what if any formal training have you had? electrical/mechanical engineering?
I am personally really glad that you built this project and you built it right. I had a similar concept in mind but never broke motuvstion inertia. Seeing you built it validates the concept so I dont feel this itching need to built it myself to see if it will work. I will get to pop my arduino DYI cherry on some other project. Also, look forward to your site launch. Your work will really help me (and many others no doubt) out eventually, but will teach me lots quickly.
+Valentin Uzunov I studied mechanical engineering, but I think the best way to really learn is to apply knowledge by doing a cool project. I really like to build things and learned a lot of the "tricks of the trade" by getting my hands dirty -- for example, I have no formal training with microcontrollers/electronics, but I picked up a little here and there as I needed to learn during various builds.
I'm really glad that my video has helped you! It makes me happy to know that my video has taught someone something that they didn't know before and inspired them to try out a project!
I have a few questions.
1.Can we get the resolution down to 0.1mm?
2. Would it be better to use an algo that throws out the high and low then take the median not the average for more accuracy?
3. Does your circuit use a ground plane or separate routed grounds?
I'm curious to see where this goes it's an amazing project great work and thanks for sharing it.
+bmmcwhirt Thank you! Those are all good questions.
1. While the resolution can go "arbitrarily low" depending on how many samples you take per revolution and then how aggressively the object is filtered in post-processing, at the scan settings/processing options I used in this video, the resolution seems a little higher than 0.2mm. Printing at 0.2mm layer height still produced some "noise artifacts" that made the overall surface finish a little jagged.
2. Taking the median is a great idea! Assuming that the sensor has Gaussian white noise, the mean should approach the median value with enough samples, but that is probably not an accurate assumption. Definitely something worth trying -- it is an easy change in the code.
3. The circuit uses separate grounds that are all connected together. I believe you are suggesting separate ground planes to prevent "contamination" between digital ground and the analog reference? (Something like this? www.hottconsultants.com/techtips/split-gnd-plane.html) I actually do not have much experience with this, as I don't do much analog sensing, but this is potentially a really good idea to lower the noise of the IR sensor further.
+Super Make Something Great, I'm looking at building something like this soonish since it's so relatively inexpensive. I don't know if you do or have used simplify3d as it's a tad pricy but it does a pretty good job at smoothing things out when you go to print them.
Even if you use the average, dropping the high and low values (or if you want to write an algo to detect all outliers) will result in a smoother surface in some cases where you might get some interference or dust particle or something.
I just recently learned about using the ground plane on a radio project I did. I have a friend that explained it to me then I used this instructable: www.instructables.com/id/PCB-Creation-with-Eagle-for-Beginners/?ALLSTEPS
Again awesome work, it's projects like this that will continue to push consumer 3D printing forward.
Well that was really cool, you won a subscriber :)
Thanks!
+Super Make Something you just got 1 more sub and like keep up the great work this is the coolest thing on RUclips and the best use of a Arduino!!
+InspireAndInnovative Thank you!
+Super Make Something Subscribed... I like this!
+Super Make Something And just like that! You won another one :)
Absolutely amazing video! Subscribed ! love the little details !
just dipping my feet with Arduino amazing watching you swim through such a complex project. Amazing work nice job.
Corey Wear Thank you!
I am feeling sad about the less number of views and subscribers you have....I am not sad about you but the people who missed your videos...,...anyways hope your number of subscribers increase and you will do many more of these kind of videos......best wishes 😄😄😃😃
Thanks for watching and for your kind words! Hopefully the channel will continue to grow as time goes on. It seems that the audience grows a bit every day! :)
вот это алгоритм действий и все так чётко
This made me feel so good watching it all . It inspired me to learn this stuff . And i subbed to you . You are awesome !
USBEN Thank you!
Holy ****! That was very cool! Keep up the good work!
and i found heaven!
ah i see your a man of culture as well (9gag)
TheDankOona ಠ_ಠ 👍😂😂
Hey Alex. FYI you were re-uploaded at watch?v=KxUFrT6zdzU FYI. Cheers Bud.
Thanks for the heads up! I really appreciate it!
You are welcome. Creators have to look out for each other :) Cheers
Simply flabbergasted by the amount of pertinent information in a very short amount of time.
Extremely good presentation! Very concise with no extra bs. You have yet ANOTHER subber.
+Nasty2015 Thanks!
+Nick Coombe No worries! New episode is currently in progress and will hopefully be up soon! Stay tuned!
To build a 3d printer you need a 3d printer... o.O
Liam Sream He's building a 3d SCANNER😑
no you dont.
Liam Sream I bought my 3D printer's 3D printed frame parts on eBay for $20 USD, and then I built the 3D printer/sourced electronics etc. I then printed spare parts for it ;)
absolutely spot on video making skills there. subscribed! and im gonna make it surely with some upgrades in mind.
Wow, very nice work. Very clean and very descriptive. Thanks!
Thank you!
Just spotted @SuperMakeSomething's comment about the lack of attribution on another video I was a few seconds into. Needless to say I'm very glad the *original* video by the author was easy to find. Genius project BTW!
Thank you! Yea a bummer that they never gave attribution, but I’m glad that this video was easy to find! Cheers!
I love this, i got an idea. A redesign to basically have a fitted ring that can sit on someone shoulder that this can travel, thus making scanning someones head easy. The resolution maybe good enough with ones head
Thomas Heisler cool idea!
Absoluty amazing project and the explanation are so clear and afficient very nice job
you sir have earned a subscriber and another member of the notification squad. :)
Thanks!
Very nice video, you reaally have great knowledge and control. Compliments
I know this is old but I saw Mr. Innovation ripped off your project and immediately came here to see the original. I needed a way to make a vertical lift to raise & lower a lidar to map the contours of a person, the idea being that the distances wouldn’t be distorted if the lidar just sat flat and had to be looking up & down. Thanks for the tip!
Awesome build, thank you. Suggestion: It looks as though there's wobble in your turntable that little friend is mounted on.. surly this would warp the distance as the object is turned.. Machined (cnc) piece of aluminum? And perhaps an IMU of sorts on that for even better accuracy. First video of yours I have watched - and im subscribed.
Really cool stuff. I'm going to try that Eagle software!
Very thorough video. Great work!
+SeanHodgins Thanks! Glad you like the video!
Amazing ,you are a real super maker.Thank you
This is such a high quality and informative video that would be very helpful for any beginner !! U got my sub
Thank you!
thank you make! but i have question. why you used motor shilder? i used motor driver (drv8825) . and motor very very hot hot (maybe The motor temperature is about 103 degrees Celsius. so... my 3dprinting body melted. Should we replace it? very painful.
Hy there . its really nice project and well explained. i decided to build it. but am facing problem in finding sensor 2-15 cm range. can i use 10-80 cm range sensor ?any changes to be done in code if sensor is changed ?
very comprehensive and professional tutorial. thanks dude
Thanks!
well actually this video didn't teach me anything because of its fast pace and lacking information, but it gave me some ideas and that's great! thanks for that
very informative, thanks a lot! your channel deserves a subscribe for sure.
curious if placing a box over the scanner so that the ambient light is cut would help as well as almost like a blinder setup so the ir beam is more focused. all those ideas aside great base for expansion!
+Calvin Witt Interesting idea. The closest thing I've done in this regard is scan in a dark room at night, which should have cut out most of the ambient IR that could have interfered with the scan quality. Though I did not do a formal analysis, there did not seem to be a significant improvement in scan quality, so I think that the resolution of the current scans are primarily limited by the "spread" of the IR sensor's beam and the analog "noise" of the reading. As you say, keeping the beam more focused would definitely help. Instead of a laser range finder, I've also recently found some other IR sensors online that seem to have a little bit of a narrower beam profile at greater ranges. While I'm not sure if they are a one-to-one drop-in replacement, these may improve the scan quality as well.
Makes sense, obviously for a benchtop scanner made with basic components you won't be able to get perfect scans but the fact that it even works is honestly amazing. I wonder if using something like a polarizing lens would help reduce the "scatter" effect on the sensor. While there is a lot that you can try out I feel that is the overall beauty of the system! It is easily hacked for experimentation.
Very cool !
Very clean !
congrats !
Hi again Alex, do you have some documentation for this project? I would like to use it as a school project
Thanks.
Very good at explaining, you won a sub mate !
Nice!
A simple improvement would be to add a "zero" switch, like on most CNCs and 3D printers, to initialise the course of the head, and start your scan with zeroing the scanner.
I just stumbled upon this video and I was surprised that my current study taught me how to use almost all of the programs. Everything except the "Makerbot slicer".
hi,which stm32f models can use in this project can you help me please tanks
Good morning a question on the vine you used: Is 8mm in diameter step 2 how many principles? Normally the 8mm screws have a pitch of 1.25 while the 8mm for cnc use have 4 principles step 8
YOU Super Nailed It !!!
Great video
Wow I am less then a minute in and am already impressed what an awesome way to break down the machine
I’m going to stop watching but only to browse your library to see if you made a CNC router. I’d love to see you breakdown the components of a CNC router in the same style
Okay now I’m subscribing because I see you don’t have a ton of content and that’s probably because you need more recognition. Awesome stuff.
Thank you so much for watching! New content is on the way, though it takes a bit longer than other channels because this channel is a one person production. 🙂
Best diy tutorial on youtube !
rasmus :! Thank you!
Thanks! Is it possible to scan black objects, e. g. black consumer video camera like CANON or SONY?
Great question! I would assume it would since the objects aren’t perfectly black and should reflect some IR. Not sure if it would work with Vanta Black objects though! 😅
Hello @SuperMakeSomething , I liked this project a lot and decided to use it for my college project. I was wondering if I could use a HC05 Bluetooth module to transmit data wirelessly and thus removing the SD card. Some research later I’m really confused if it could work. What can I do ?
I’m not familiar with the HC05 module, but sending the data via Bluetooth as a virtual serial stream may work. However this will likely require different connections and you may not be able to use the PCB I made for this project. Hope this helps and good luck!
Man you are awesome.
Hope you get RUclips Golden button.
Thank you!
I seriously enjoy this
thank you very much for this project. Please I have a question how have you calculated this senseDistance=-5.40274*pow(senseDistance,3)+28.4823*pow(senseDistance,2)-49.7115*senseDistance+31.3444;
really awsome but what is the use of this over something like say the openscanpi
This channel is such a great find. Love it. Subbed here!
Thank you, John! I’m glad that you like the channel!
Great project. What if we replace the IR sensor with
GY6180 VL6180X Optical Time-of-Flight Distance? I think it would add accuracy
Listen Nice find! A 10cm range with 1mm resolution seems like it would be perfect for this application. I’d definitely like to try it!
Hi Alex !
An excellent narration. I am also experimenting with such ideas. I have built a XY plotter using some of sub assemblies designed and fabricated by me using commonly available items. I love the Penholder sub assembly in your project. In my project I have used a door bolt and slide rails. Well I appreciate your work. Well done.
Thank you so much! I’m happy to hear that you like the video! Your XY plotter sounds like a great design!
Thanks !
Thanks !
I didn't want to shoot myself after hearing your voice and your designs are great. subscribed*
This was a cool video!! Could you make another with the upgrades that you mentioned at the end of the video? Great content!!
Another improvement would be to have the base spin more level. It appears a bit wobbly in the video.
Really impressive though :) I could actually build one with everything you've given here thanks so much for sharing. I'd love one that used a laser :)
okay, maybe dumb question, but could doing the scan with a white box over it to absorb the ir light bouncing off the object, and block exterior light out?
Is the table you put the object on out of round or not properly attached to the shaft or ? In the time lapse it looked like the table had wobble... is that the right word I'm looking for? Wouldn't that give the end result a " ~ " in the scan, and the print , too?
Great video! Can you recommend an alternate more capable distance sensor?
Thanks! I have not tried them yet, but the Sparkfun LIDAR modules may work well for this application (especially if the printer size is scaled up). If you end up trying this, please let me know! I would be very interested in seeing the results!
Hi, I really like the look of this. I'd like a copy of the sch file that shows the connections between the boards, stepper motors etc. I've been looking in Thingiverse and githut but cannot find it. Are you able to make available the schematic, either in sch format or even an image file of it please?
i need help!!! i didn't now how to use the matlab to run the scan. i have error on line 23. after i put the path from sd card like this "rawData=load('M:\scn000.txt');" next error came from line 115.
Can you share me the schematic of this project ? Thank you :D