Commit c8da9164 authored by Jake Read's avatar Jake Read

machine week ready

parent eb238b86
**/*.bak
/local
**/*.rhl
**/*.3dmbak
\ No newline at end of file
**/*.3dmbak
/capstan-ways
\ No newline at end of file
# Machine Design
jake: ctrl+f TODO
- stock, hardware orders
- 4x4'
- T15 PLSTF
- FHCS for Motor Mounting
# Machine Week
## Intro
......@@ -14,9 +8,9 @@ jake: ctrl+f TODO
OK, welcome to Machine Week.
If you're reading this, chances are you're about to design a machine, and then build it, and then 'bring it online', and then do something with it. Exciting! There's a great deal of complexity here! I have done this a few times now<sup>1</sup>, and every time it's a new adventure.
So, you're about to design a machine, and then build it, 'bring it online', and then do something with it. Exciting! There's a great deal of complexity here! I have done this a few times now<sup>1</sup>, and every time it's a new adventure.
The type of machine you build is your discretion. Besides making a straightforward 3-axis CNC Machine (a-la Shopbot, as documented in the following guide) - there are a few cool variations you can explore:
The type of machine you build (with your section) is your discretion. Besides making a straightforward 3-axis CNC Machine (a-la Shopbot, as documented in the following guide) - there are a few cool variations you can explore:
[5-axis CNC Machine](https://www.youtube.com/watch?v=CqePrbeAQoM)
......@@ -32,7 +26,7 @@ The type of machine you build is your discretion. Besides making a straightforwa
etc!
This document will serve as a guide for how to make a 3-axis machine. In linear time, I'm going to run through my design and fabrication processes, including links, resources and asides when relevant. You should read through it as a launching point for your machine. As a default, you are free to use all of the resource here to replicate the machine, and develop an end effector of your own.
This document will serve as a guide for how to make a 3-axis machine. In linear time, I'm going to run through my design and fabrication processes, including links, resources and asides when relevant. You should read through it as a launching point for your design. As a default, you are free to use all of the resource here to replicate the machine, and develop an end effector of your own.
*!ALERT! ~ This is a design process ~ !ALERT!* so please bear with any ambiguities and nonlinearities. When possible, I will take asides to explain my reasoning<sup>2</sup>, but overall, I hope to demystify CNC D&B<sup>3</sup> in fairly broad terms. Think of it as a style guide (?) more than direct instructions. Good luck, have fun!
......@@ -64,6 +58,8 @@ This document will serve as a guide for how to make a 3-axis machine. In linear
#### End Effectors
- Open Season: Design your own!
# Design
## Layout
First thing, you'll want to get a hang of what rough sizes / shapes / orientations your machine is going to have. In this case, I'm interested in designing something of an 'everything machine'. I.E it should be useful for a few different processes: 3D Printing, CNC Milling, Flat-Sheet Cutting (a-la the ZUND), and (maybe) eventually Laser Cutting. Normally I would not advise this<sup>4</sup>, but here we are.
......@@ -206,36 +202,7 @@ Talk about a CAD Marathon! Some notes:
- Not even sure this would have gone faster in Parametric CAD. HOWEVER - if I had to change anything, I would make time back in maybe one shot.
- That's a lot of fasteners! I don't even want to count. I'm going to estimate 100 ? A real count gives me 140. A bit of a bummer, these screws are $10 / 50.
## Prepping Your (already-existing) Machine
*CRITICAL NOTE*
These linear axis **absolutely** require you to face off the spoilboard on your milling machine. If the XY Plane that your material rests on is not truly parallel to the XY Plane that your gantry moves along<sup>TODO: imperfections note</sup> you will have axis whose chamfered-edges vary in width. This will cause some areas on the gantry to jam up, and others to be loose!
*END CRITICAL NOTE*
First thing, I surfaced the bed. We have this big gnarly cutter at the CBA:
![fly-cutter](https://gitlab.cba.mit.edu/jakeread/machineweek/raw/master/images/fly-cutter.jpg)
I made a tool for this in Fusion (TODO: include in table), it's included in the table below.
![fly-cutter-fusion](https://gitlab.cba.mit.edu/jakeread/machineweek/raw/master/images/fly-cutter-fusion.jpg)
And I ripped out a 'face milling' toolpath:
![face-mill-fusion](https://gitlab.cba.mit.edu/jakeread/machineweek/raw/master/images/face-mill-fusion.jpg)
Then I got on the shopbot, and ran the job! I set the Z (in the program, it just faces along Z0.0) such that the machine thought 0.0 was about 0.1" below the surface. I had to run the job twice, bringing it down by 0.1" each time, to get all of the low spots. Nice circular turnaround courtesy of Fusion 360 CAM:
![the-face-milling](https://gitlab.cba.mit.edu/jakeread/machineweek/raw/master/images/doing-the-face-milling.gif)
*NOTE* objects in GIF appear faster than real life *NOTE*
I ended up doing this a second time, with a better toolpath and a bigger bite.
![milling-second-face](https://gitlab.cba.mit.edu/jakeread/machineweek/raw/master/images/milling-second-face.jpg)
![pic](https://gitlab.cba.mit.edu/jakeread/machineweek/raw/master/images/pic.jpg)
# Manufacturing
## CAM:
......@@ -251,21 +218,43 @@ Then I brought this into Fusion to do some CAM. From Rhino, select the geometry
![cam-fusion-setup](https://gitlab.cba.mit.edu/jakeread/machineweek/raw/master/images/cam-fusion-setup.jpg)
Now, I'm not going to try to relay exactly what I did - you can take a look at the Fusion files here TODO if you want to check that out. Instead, I'm going to try to (briefly-ish) do a rundown of how to approach CAM - feeds, speeds, fixturing... It's a lot, but hopefully this discussion and the example files above will be enough to get you off on the right foot.
* careful with excessive import-cycles - i.e. the STEPs I brought in were slightly degraded in sections, I had to be careful when selecting contours to CAM.
- Setups, wcs, zeroing
- Fixturing
- Tool Selection
- Tool Libraries, Feeds, Speeds Calculator
- Path Type Selection
Now, I'm not going to try to relay exactly what I did. CAM is an art-ish. Here's a basic breakdown of the steps I took:
I go to the CAM section right away, and setup some stock. First thing, our Shopbots are setup in Inches, so check that in the 'units' in the top of the tree. I'll use a 0" offset on top of the model, 0.05" on the bottom (then we can be sure to cut through later on) and a 0.75" offset on the sides - I want to be sure to clear the screws I'll be using to fixture my HDPE sheet.
- Mill all of the Holes First
- Use those holes to fixture parts to the bed
- This is critical, because it's important the material is consistently flat w/r/t the bed
- This means you can avoid using tabs
- Use a Bore Toolpath to generate Holes
For tools, I set up with a 1/8" 'O-Cutter' - as in, one flute. This is going to be my detail workhorse - it'll cut teeth and holes. I also have 1/4" O-Cutter to do profiles and cutouts. My two other tools are a Chamfer Endmill, used for, well, the chamfers, and a 1/16" 2-flute endmill for some detailing on the pinion. Here's a quick table of the tools, and their feeds and speeds. I used [the CBA Feeds and Speeds Calculator](https://pub.pages.cba.mit.edu/feed_speeds/) to ballpark these, and I'll dial them in as I test the first axis.
- Clear Pockets and Faces
- I.E. Countersunk Screws, Holes for Indexing Tabs
- Use a 2D Pocket or Adaptive Clearing Toolpath
- Use 'multiple depths' to generate step-downs when the pockets are deep.
A note on plastics - TODO heat, why single flute, sharp bits, what chips should look like
- Contour to Cutout
- Cut sheets now that you're fixtured
- Parts w/o holes for fixturing should be 'tabbed' to prevent them moving about as they are cut
- Use 'multiple depths'
## Milling
- Remove Excess Stock
- Now you can peel the 'rest' of the material away.
- Contour Details
- Use a Contour to detail the Teeth, using a gentle stepover.
- Pocket beforehand to remove the majority of the material prior to detailing
- Chamfering
- Start a sketch *on* the chamfered surface
- Use this plane / sketch to draw a line parallel to the chamfer, offset by 1.25mm
- Use this line and a Trace toolpath to drag the chamfering bit along
- Tangential Offset will allow you to 'clear' the edges well
- Multiple Depths (z-offset) means you won't be taking a huge cut
- Use a gentle stepdown so that the machine makes a very clean cut - this will improve your machine slipperyness!
- Feeds and Speeds
- [CBA Feeds and Speeds Calculator](https://pub.pages.cba.mit.edu/feed_speeds/)
#### HDPE:
......@@ -293,7 +282,40 @@ Fly Cutter* | 2 | 2 & 3/8" | Facing the Bed | 130 | 50 | 6500
* I used a 1.5" stepover, and ~ 0.03" stepdown. I set the facing pattern up to only cut on the 'climb side' of the bit - that was pretty critical. I think it's possible to be more aggressive - the bit we have at the CBA is quite dull. The job ran about ~50 minutes.
## Doing the Milling
## Machining
### Prepping Your (already-existing) Machine
*CRITICAL NOTE*
These linear axis **absolutely** require you to face off the spoilboard on your milling machine. If the XY Plane that your material rests on is not truly parallel to the XY Plane that your gantry moves along<sup>TODO: imperfections note</sup> you will have axis whose chamfered-edges vary in width. This will cause some areas on the gantry to jam up, and others to be loose!
*END CRITICAL NOTE*
First thing, I surfaced the bed. We have this big gnarly cutter at the CBA:
![fly-cutter](https://gitlab.cba.mit.edu/jakeread/machineweek/raw/master/images/fly-cutter.jpg)
I made a tool for this in Fusion (TODO: include in table), it's included in the table below.
![fly-cutter-fusion](https://gitlab.cba.mit.edu/jakeread/machineweek/raw/master/images/fly-cutter-fusion.jpg)
And I ripped out a 'face milling' toolpath:
![face-mill-fusion](https://gitlab.cba.mit.edu/jakeread/machineweek/raw/master/images/face-mill-fusion.jpg)
Then I got on the shopbot, and ran the job! I set the Z (in the program, it just faces along Z0.0) such that the machine thought 0.0 was about 0.1" below the surface. I had to run the job twice, bringing it down by 0.1" each time, to get all of the low spots. Nice circular turnaround courtesy of Fusion 360 CAM:
![the-face-milling](https://gitlab.cba.mit.edu/jakeread/machineweek/raw/master/images/doing-the-face-milling.gif)
*NOTE* objects in GIF appear faster than real life *NOTE*
I ended up doing this a second time, with a better toolpath and a bigger bite.
![milling-second-face](https://gitlab.cba.mit.edu/jakeread/machineweek/raw/master/images/milling-second-face.jpg)
![pic](https://gitlab.cba.mit.edu/jakeread/machineweek/raw/master/images/pic.jpg)
### Doing the Milling
![milling teeth](https://gitlab.cba.mit.edu/jakeread/machineweek/raw/master/images/milling-teeth.gif)
......@@ -319,13 +341,15 @@ So I get all of the bits together, and clean the edges up where I need to with a
I started with the X/Z Block, tapping the guideblock's back-side. With tapping plastics, I normally just chuck the tap in a drill. Careful to go in straight, though!
There's a subtlety to putting the glideblocks together. The M5 SHCS goes through three layers - this is not common / encouraged in 'precision' machine design, because there is some uncertainty about how exactly the layers line up.<sup>aside, motor concentricity</sup> Critically, the middle block (the one with the chamfer) is a *very slight* slip-fit (5.1mm), the outer block is a large slip (5.4mm) and the final block is threaded. ALSO: Don't forget a washer!
![assembly-tap](https://gitlab.cba.mit.edu/jakeread/machineweek/raw/master/images/assembly-tap.jpg)
There's a subtlety to putting the glideblocks together. The M5 SHCS goes through three layers - this is not common / encouraged in 'precision' machine design, because there is some uncertainty about how exactly the layers line up.<sup>TODO aside, motor concentricity</sup> Critically, the middle block (the one with the chamfer) is a *very slight* slip-fit (5.1mm), the outer block is a large slip (5.4mm) and the final block is threaded. ALSO: Don't forget a washer!
![assembly-guideblock-hardware-stack](https://gitlab.cba.mit.edu/jakeread/machineweek/raw/master/images/assembly-guideblock-hardware-stack.jpg)
![assembly-guideblock-hardware-stack](https://gitlab.cba.mit.edu/jakeread/machineweek/raw/master/images/assembly-hardware-stack.jpg)
I got two sides together to test it oot:
I got two sides together to test it out:
![assembly-slide-test](https://gitlab.cba.mit.edu/jakeread/machineweek/raw/master/images/assembly-slide-test.jpg)
![assembly-slide-test](https://gitlab.cba.mit.edu/jakeread/machineweek/raw/master/images/assembly-ways-test.jpg)
There's a reason one side of the glideblocks is mounted on a slot - this way you can adjust the spacing between the blocks - which is important! This way we can slide the gantry over the rail and then *tune* the stiffness.
......@@ -335,11 +359,11 @@ OK, there's the block, ish
![assembly-xz-no-motors](https://gitlab.cba.mit.edu/jakeread/machineweek/raw/master/images/assembly-xz-no-motors.jpg)
Now I'm going to get some Set Screws tapped into the Pinions, and try mounting motors to this block. M4 Tap Drill Size is 3.3mm, (TODO: Link Chart), so a #30, so a 0.1289", etc
Now I'm going to get some Set Screws tapped into the Pinions, and try mounting motors to this block. M4 Tap Drill Size is 3.3mm<sup>TODO: Link Chart</sup>, so a #30, so a 0.1289", etc
![assembly-tapdrill-select](https://gitlab.cba.mit.edu/jakeread/machineweek/raw/master/images/assembly-tapdrill-select.gif)
![assembly-tapdrill-select](https://gitlab.cba.mit.edu/jakeread/machineweek/raw/master/images/assembly-drill-select.gif)
Same drill here for the hole-tapping<sup>pun</sup>. This time, M4.
Same drill here for the hole-tapping<sup>pun</sup>. This time, M4. I put the pinions in a vise, using the index markers to drill perpendicular to the shaft.
To get the pinion teeth in the right spot w/r/t the rack, there should be about 24mm between the motor flange and the top of the pinion. Check this against the actual machine. Also, make sure one of the set screws is aligned with the 'D' cutout on the motor shaft.<sup>note on bearing->load distance, slocum</sup>
......@@ -347,32 +371,35 @@ To get the pinion teeth in the right spot w/r/t the rack, there should be about
Now I get the motor on the motor-plate - countersinking the M5 FHCS<sup>flat head</sup> into the plate. This way, the plate can ride flush against the rest of the gantry.
- pic, motor on plate
![assembly-motor-plate](https://gitlab.cba.mit.edu/jakeread/machineweek/raw/master/images/assembly-motor-plate.jpg)
And mount that on your gantry. I used those plastic self-tapping screws here. AND I left them a bit loose. You'll notice that the motor slides, also, relative the gantry:
- gif, motor and plate on gantry, sliding.
![assembly-motor-slid](https://gitlab.cba.mit.edu/jakeread/machineweek/raw/master/images/assembly-motor-slide.gif)
Adjustment: it's a theme.
Now, I got a good look at my pinion -> rack engagement. Feeling good about this, so I celebrated with a [knoll](https://www.youtube.com/watch?v=s-CTkbHnpNQ). Nothing like it.
Now, I got a good look at my pinion -> rack engagement.
- pic, knolled
![assembly-pinion-check](https://gitlab.cba.mit.edu/jakeread/machineweek/raw/master/images/assembly-pinion-check.jpg)
Feeling good about this, so I celebrated with a [knoll](https://www.youtube.com/watch?v=s-CTkbHnpNQ). Nothing like it.
![assembly-knoll](https://gitlab.cba.mit.edu/jakeread/machineweek/raw/master/images/assembly-knoll.jpg)
To get the rest together, I'm using a 1/8" drill diameter to pre-drill for these plastic screws, and then driving them in with a T20 bit. In addition to this, I don't screw them all down 'in sequence' - I add screws kind of sporadically to the structure - this way I don't pre-stress it in any particular direction. And make sure to use washers!
* a note on rigidity / 'deep' structures - here's the frame w/o any boxiness:
- gif, flappy frame
and with
![assembly-flap](https://gitlab.cba.mit.edu/jakeread/machineweek/raw/master/images/assembly-flap.gif)
- gif, rigid frame
The rest of it is pre-drilling holes and fastening with Plastic Thread Screws
OK - I got it all together - the axis just slide together once they're set up. At this point, you'll want to adjust the position of your motor, and of the 'second rail' to get smooth motion.
![assembly-fasteners](https://gitlab.cba.mit.edu/jakeread/machineweek/raw/master/images/assembly-fasteners.jpg)
## Ways Adjustment
Now draw the rest of the owl
![assembly-owl](https://gitlab.cba.mit.edu/jakeread/machineweek/raw/master/images/assembly-owl.jpg)
## Plugging in Motors
......@@ -380,16 +407,15 @@ I made no concessions for wiring while I was designing - if you're going to 'rev
I got lucky and had accidentally spaced my bed-rails at the pitch of some mount holes on the Power Supply. Rad.
- pic
I mounted those, and the TinyG. To bring power to the PSU, I cut up a DIN connector and plugged the GND, Line and Neutral lines in like so:
- pic
I mounted those, and the TinyG. To bring power to the PSU, I cut up a DIN connector and plugged the GND, Line and Neutral lines in.
The TinyG gets power here - polarity should be obvious. Obviously, you should be being safe and not turning anything off yet! Careful with the TinyG polarity - it will die if you reverse these.
Next, I drilled some holes in the chassis for my motor wires. I also found this rad 4-conductor cable in the basement at the CBA, I'll use that to route out to my motors.
![assembly-ee](https://gitlab.cba.mit.edu/jakeread/machineweek/raw/master/images/assembly-ee.jpg)
*~ BEGIN INCOMPLETE DOC ~*
- Coils are connected
- One and two
......@@ -401,28 +427,23 @@ Next, I drilled some holes in the chassis for my motor wires. I also found this
- Should enumerate on a serial port
- Use https://github.com/synthetos/TinyG/wiki/TinyG-TG-Updater-App to flash new firmware
- Make sure you don't have the serial port open anywhere else
- Now complete setup
- Open in a serial terminal (Arduino has one built in, or see Neil for links) TODO
45.045 mm/rev
eighth microstepping
- make sure y axis are flipped relative
- motor wiring is dependent on ur business
![its alive](https://gitlab.cba.mit.edu/jakeread/machineweek/raw/master/images/axis-moving.gif)
## Chilipepper
- It's Rad
- Like Mods, Chilipeppr uses a local serial server to pass messages from the browser to your serial port.
- Download the Serial Port Json Server after configuring TinyG
- http://chilipeppr.com/tinyg
- Steps / mm
- 45.045 mm/rev
- eighth microstepping
- make sure y axis are flipped relative
- Acceleration
- Travel, etc
## Talking to, loading firmware on, TinyG
- Arduino, I hope?
- Chilipeppr (rad alert!)
# Moving Along
Now, you should be ready to move some motors about.
![assembly-flap](https://gitlab.cba.mit.edu/jakeread/machineweek/raw/master/images/config-move.gif)
## Gcode Basics
- may it RIP
......@@ -473,7 +494,6 @@ eighth microstepping
- Camera / Scanning
- Cutting
# Footnotes
1. [Five Axis](http://ekswhyzee.com/index.php/project/tinyfive/), [Metal Laser Cutter](http://ekswhyzee.com/index.php/project/mako/), [and here](http://3dfablight.com/), [Dual Head 3D Printer](http://openassemblies.com/index.php/fdm4md/), and [Ongoing Robot Arm Adventure](http://openassemblies.com/index.php/rsea/)
......@@ -486,6 +506,10 @@ eighth microstepping
8. So I want an H-style layout, because I want to keep the machine small relative it's total work area. One of the biggest drawbacks with an H-machine is that the two sides of the Y-axis are not always set up parallel. The result is what's called 'racking' - i.e. imagine opening a screen door, and the top or bottom exhibits more friction - the 'jam' that this causes happens in CNC Machines as well. A drawing. By cutting both Y-axis rails out of the same 'frame', Jakob gets around this issue - the parallelness of the two rails is a mirror of the parallelness of the machine which cut them. It makes it a bit bulletproof to novice assemblers. He has also done a really good job of keeping the X-axis loads really close to the Y-axis rails (so, a small structural loop).
9. AKA Acetal, AKA POM
# To Do
- Link to Fusion 360 w/ cleaned Cam files
to be linked - dan gelbart
talk about resolution vs. accuracy - repeatability vs absolute accuracty - global vs. local resolutions
......
## but what does it say
- face the mating surfaces of rails, this way you can be sure of chamfer-to-bottom distance
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment