Ryan Hoffman's HTMAA Site

Week 3: 3D Scanning and Printing


Characterizing my printer

It just so happens that my 3D printer arrived this week and so I am super excited to actually run all of these characterization tests on my own printer, a Bambu Labs P1S. To do the characterization, I am going to use a few of the files Neil provided on our class website for the week. I downloaded the STL files from the class website and threw them into Bambu Studio.

Bambu Slicer
All the test parts sliced in Bambu Studio
There are a bunch of different test prints that Neil has posted on the website. The ones that I have printed so far are the bridging test, angle test, clearance test, and overhang test.

Bridging

Bridging Test
The bridging test print Neil provided on the class website
In the bridging test, there are no noticeable defects even in the longest bridge of 2 cm. I would like to continue this test, perhaps later this week to see where the actual limit is.

Flat Overhangs

Overhang Test
The overhang test print Neil provided on the class website
Unsurprisingly, the printer had a hard time with the overhangs. This makes complete sense as it is simply printing in thin air. It would be interesting to try and utilize the circular overhangs that are mentioned on the class website in a video by CNC Kitchen.

Tolerances

Tolerance Test
The tolerance test that Neil provided on the class website
Once I removed all of the supports, everything from 0.3 mm and larger moved freely. Surprisingly, with a little convincing, I was able to break the 0.2 mm one free and it now slides on the shaft without rotating. It also stays in place, once moved somewhere.

Angled Overhangs

Angled Overhang test isometric view
The angled overhang test that Neil provided on the class website
Angled Overhang test front view
A front view of the angled test that Neil provided on the class website
There were no noticeable defects in the print until an overhang of 40 degrees where there was some slight warping. This warping got progressively worse for the 30 and 20 degree pillars. Once we reached the 10 and 0 degree overhangs, the print failed.

Project Plan

I have a good amount of experience with 3D printing and so I want to try and focus on finding the tolerances of the machine. With that being said, I want to try and design a print in place planetary gear box. I think this would be super useful in terms of a modular robotic system while also presenting a good challenge.

For context, this is a planetary gear box:

Layout of a planetary gear box
A diagram I found online at Linear Motion Tips
Sketch

Below is the initial sketch/idea for each component I'll need to design for the system to work. It is separated into the ring, planets, sun gears and planet carrier. The main concept is to use overhangs as a means to retain the parts inside the frame.
Sketch of initial ideas
The initial sketch of the design idea

The Design

I have messed around a little bit with generating gears in Fusion using the built in spur gear add in. I wasn't quite sure on how to actually make a planetary gear box though, specifically, I wasn't sure how to find the number of teeth I would need for each gear. After some research, I found this great YouTube video about modeling a planetary gear box by RELUvance. In the video, he showed how to use some simple equations to determine the size of the gears needed for the design. \[N_s = \frac{N_r}{\frac{1}{G_r}-1} \qquad N_p = \frac{N_r - N_s}{2}\] \(N_i\) represents the number of teeth on the planetary, sun, and ring gears respectively. Gr represents the gear ratio that you want. You also choose Nr as a starting point.

Once you have found the number of teeth needed for each gear, you should use the formula below to test if they will all mesh properly together. They will mesh if the result of the formula is a whole number. \[\frac{N_r + N_s}{P}\] \(P\) represents the number of planets you want to use. Arbitrarily, I decided I wanted to use 72 teeth and make a gear ratio of 1:5. Using the equations above, I determined that \( N_p = 27\) and \(N_s = 18\). Before I leapt into Fusion and even though I was planning on using the spur gear add in to generate the gears, I wanted to read a little bit more about the design and specifications of gears and I found this document helpful.

To make the gears themselves, I used the spur gear generator add-in in Fusion.

Ring Gear Planet Gear Sun Gear
These were the settings that I used while making the spur gears. Notably, you are not able to generate a standalone ring gear using this add in and so I chose to use the generated gear in a boolean operation to subtract it from a cylinder to make the ring. Through testing and generating a bunch of gears, I learned that the backlash section shrunk the tooth thickness and widened the space width between the teeth. I used this to help add tolerances for the 3D printing so that I could actually print them in place. However, because the ring gear was used to generate its negative, adding backlash would have had the opposite effect, making the space between the teeth on the ring tighter and less conducive to printing. My solution was to add a parameter to the design and use it to make an offset to perform the cut and generate the ring gear with adequate clearance. I used an offset of 0.3 mm

After generating the gears, I moved them into the orientation using the pitch diameter to ensure they were at the correct distance from one another. I forgot to take a picture after this step and so this is a section view of the final design that shows the layout of the gears.

Cross Section view
A cross section of the design showing the layout of the gears that I generated.

After the gears were in place, I moved on to designing the system that would hold them in place. As I mentioned above, I wanted to use angled overhangs as a means to restrain the parts. To do this, I used a construction plane offset from the face of the gears and drew multiple circles to serve as the surfaces I would loft to. I learned that Fusion is particular when using the loft function. You either have to loft from a sketch to a sketch or a face to a face. You cannot loft from a face to a sketch, it will raise an error and not perform the operation.

Using the loft tool Result of loft tool
An example of how I used the loft tool to generate the tapers and angles that would retain the gears
I used a similar process for the ring and the sun gear. I then moved on to the planet carrier that would have to hold the planets in their relative position to one another while also being free to spin. To do this, I extruded a 10 mm hole through the planets and then chamfered them 8 mm. This resulted in a 45 degree angle that should be easily handled by the printer while also retaining the planet gears. These cuts as well as the structure of the gear box after the rest of the retaining features have been added. Here are the final gear components of the assembly.

Ring Gear Planet Gear Sun Gear
Hollowed planets for carrier
The hollowed out planets as well as the completed ring and sun.

With that, the final step was to add the carrier and design it to fit in the holes in the planets while still being free to rotate. I decided to use another offset plane and loft the pins that I had designed to a circle sketch on the new offset plane. Importantly, I adjusted the offset distance until the angles created by the loft would be able to print without supports, adjusting the distance of the offset plane from the gears until.

Isolated carrier
The planet carrier that I designed

The Final Model

Using the loft tool Result of loft tool
The completed design of the gear box

3D Printing

With the design completed, it was time to move on to printing! While in the slicer, I kept most of the initial settings the same, however, I made the seam position random. The seam position determines where the printer starts each layer. While it is nice to have it all start in the same place on each layer for a nice, consistent look, I figured that it would potentially come through in the final motion of the gears as a bump every time and wanted to remove it.

SlicedGears
Slicing the gears using Bambu Studio
In the end, it only took two attempts. The first print failed as the small roll of filament that came with my new printer was wound poorly and the strands were laid on top of each other. This meant that sometimes, as the extruder would try and pull filament off the spool, the filament would tighten around what it was trying to pull and stop it from continuing to spool off, thus the machine was no longer extruding material. That being said, the failed print provides a great opportunity to look at the internals of the design and see how the tolerances fit together.
Failed Print
The first failed print
From the failed print, I learned that my tolerances worked fine, arguably, they were too large and could have been made smaller for a tighter fit of the parts but I didn't want to push it with my first design, especially as I hadn't seen a completed version so I left them alone when I retried the print. The second print turned out great! I picked it up off the build plate and it just worked! Below is the final print.
Planet Side of Print Carrier Side of print
This is a video demonstrating the function of the gear box. I designed a little handle to help spin the sun gear and show the motion.

3D Scanning

I thought it was fitting to try and scan my 3D printer and see how it could handle a complex object. I tried using an app called Polycam with its photogrammetry option. It was super simple to get started, all I had to do was press "start scan" and then move my phone around the printer and it began automatically taking a bunch of photos. It then uploaded them all and then spent a few minutes doing all the computation and returned the scan. I was able to navigate through the scan on my phone, using two fingers to move around, zoom in, or pan.

Front of the scan
This was the front of the scan. I was surprised that it had a hard time with the frame. I figured that would be somewhat straightforward but now I realize that I have no basis for that thought or any reason as to why that should be easier. Interestingly, to the left of the printer, there is actually a glass door! It almost entirely didn't show up in the scan but you can see a trace of it in the bottom left on the floor. I was pleasantly surprised by the accuracy of the extruder though. I spent maybe half of the scan inside the printer which likely is why it is more accurate.
Scan from inside the printer
I mean, it's obviously not perfect, however, it is still quite good considering the whole process of scanning and processing took about 15 mins. You can make out the head of the printer clearly, even the extruder tip. You can also see all of the gantry axes and most of the cable connecting the extruder to the electronics and filament.
View of the scan top right Back of the scan
Here you can definitely see some of the shortcomings of the scan. There is a giant hole in the right side of the printer and two thirds of the filament spool appear to have gone missing. I will give the program the benefit of the doubt and blame myself, I definitely could have used more of the scan on the outside of the printer as opposed to the inside. All in all, however, I am impressed with the ease of use and relative accuracy of the program. I'm sure with more practice, I could use it to get some useful scans.

Thoughts and Reflection

I think this week went pretty well! I was super excited to be able to use my own printer and do all of the characterization prints on it to get a better understanding of the machine's capabilities. I might do a few more in the future and add them to this page where I test clearance but done in the xy plane and maybe longer bridging as it didn't seem to have a problem.

As for the design, I am super happy with how the gear box turned out. In particular, I think it's great that I was able to stick almost entirely to the design outlined in the original sketch. I mentioned it above, but, I think I was a little too cautious with my tolerances and could have made them slightly tighter achieving a better final fit. That being said, everything moves very freely with no resistance which is also important to a gear box. It would simply take further exploration to determine what the best fit would be.

In regards to the scanning, I was surprised by the ease of use of the program that I used, Polycam, but was less impressed with the accuracy of the scan itself. I think a lot of it was in fact user error and with more practice I could get better scans. I also think it would be better for smaller objects where all the photos you take can be more localized as opposed to spreading them out across such a large space with so much detail.

Project Files

⬇ Step File of Model