Torch Table Build: Difference between revisions

From Open Source Ecology
Jump to navigation Jump to search
(→‎Motor specs: formatted in a table, I think that it's easier to read)
(→‎Shooting lasers for fun and calibration: made vimeo embed viewable)
Line 420: Line 420:
[[File:Work In Progress Joint.JPG| 400px|sub]]
[[File:Work In Progress Joint.JPG| 400px|sub]]
<nowiki>
<nowiki>
<eeeeeeeeeeeeeeeeeeeeehtml>
<eeeeeeeeeeeeeeeeeeeeeehtml>
<object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=6967679&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=6967679&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object><p><a href="http://vimeo.com/6967679">Wiggly table</a> from <a href="http://vimeo.com/user2426029">Lawrence Kincheloe</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=6967679&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=6967679&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object><p><a href="http://vimeo.com/6967679">Wiggly table</a> from <a href="http://vimeo.com/user2426029">Lawrence Kincheloe</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
</eeeeeeeeeeeeeeeeeeeeehtml>
</eeeeeeeeeeeeeeeeeeeeeehtml>
</nowiki>
</nowiki>


Line 510: Line 510:


    
    
<eeeeeeeeeeeeeeeeeeeeeeeeeeeehtml>
<ehtml>
<object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=6967410&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=6967410&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object><p><a href="http://vimeo.com/6967410">Calibrating using a laser</a> from <a href="http://vimeo.com/user2426029">Lawrence Kincheloe</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=6967410&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=6967410&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object><p><a href="http://vimeo.com/6967410">Calibrating using a laser</a> from <a href="http://vimeo.com/user2426029">Lawrence Kincheloe</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
</eeeeeeeeeeeeeeeeeeeeeeeeeeeehtml>
</ehtml>


===Dynamic Calibration===
===Dynamic Calibration===

Revision as of 05:35, 24 October 2009


Hot Updates

9.28.09

First motion of the Open Source Torch Table tested with an actuator - here a marker:

Firstsquare.jpg

Proposal

See proposal at http://openfarmtech.org/Lawrence_Proposal.pdf .
You can also see the working agreement,Lawrence Kincheloe Contract Working updates on the blog - [[1]]


Previous Work Torch Table

Overview of Blender Model
The purpose of this project is to enrich both the participant and the Factor e Farm project. The scope of this specific project is to build the seeds for a MegaRap, which is a modification of the origional Torch Table designed to expand the range of build materials and capabilities. This is in the spirit of the RepRap project, but at a larger scale and lower precision. The initial goal is to design and build a torch table that can be added on to in the future but is still functional in its own right.

Documentation

The process of documenting this project goes through three steps.

  • Figure something relevant by doing it, researching it, or scratching it out as an idea.
  • Clarify the nugget of an idea into a written document, like a project journal. (this project has one and it resides at FeF)
  • Break up the problem/rational and the steps to fix it and put them on a wiki. (this wiki)
  • So far that process has resulted in this huge mess below(at the time of writing, the whole thing is one long wiki page). So after you get all that wonderful documentation done, go through and clean it up into sections and pages. Its important to keep up the stream of crappy documentation because doing it at the end, right the first time is a hassle and usually you only have time to splash documentation around liberally anyways. The important thing is to make it a coherent document at the end.

Design Rationale

  • High performance torch table matching and exceedings standards of commercial counterparts
  • Ready adaptability to other cutting heads (router, laser, knife, etc.)
  • Rack for x, y, and z motion - cheapest, most robust solution for precise motion
  • Similar design in x, y, z directions
  • Minimal fabrication requriments, bolt-together design
  • Spring-loaded x and y motors to maintain traction
  • Support under top rail with flat ball bearings to prevent the carrage from jumping the track
  • Thin gauge (16 gauge) 1 inch square tubing for light weight strength
  • Simple, adjustable carriage design that clamps around the 3 inch cold-rolled rail
  • Ways - simplest way according to this source is bearings on cold-rolled steel.

Bill of Materials

File:BOM Alpha 3.xls

Thread Chart

| align="center" style="background:#f0f0f0;"|Item | align="center" style="background:#f0f0f0;"|Discription | align="center" style="background:#f0f0f0;"|Amount | align="center" style="background:#f0f0f0;"|Cost per item | align="center" style="background:#f0f0f0;"|Total per Machine | align="center" style="background:#f0f0f0;"|Total Cost | align="center" style="background:#f0f0f0;"|Further Info | align="center" style="background:#f0f0f0;"|Purpose | align="center" style="background:#f0f0f0;"|Aquired? |- | Computer with parallel port||Total computer system||1||$300 ||$300.00||$300.00 ||http://www.linuxcnc.org/%7C%7CTo run Linux cnc||yes, IBM Laptop |- | Xylotex 4 Axis Drive Box || with 4 stepper 425 oz.in. Motors and Cables||1||$460.00 ||$460.00||$460.00 ||Xylotex Stepper and controller||To provide motion control and movement precision||Yes |- | PowerPlasma 50 Plasma Torch||Pilot Arc 50 Amps||1||$699.99 ||$699.99||$699.99 ||Everlast||To provide the cutting torch for the cnc torch table||no |- | Bearing R6-2RS 3/8"x7/8"x9/3\" Sealed||10 pack||8||$14.95 ||$11.96||$14.95 ||VXB Part Number: Kit711||For preventing the carrage from jumping the track||no |- | V-Groove Bearings 3/8 inch||single pack||12||$9.95 ||$119.40||$119.40 ||VXB V-Groove bearings Part number: Kit8407||To provide low friction linear motion||no |- | 3/8 inch Hard Fiber Washers||Pack of 100||40||$2.50 ||$1.00||$2.50 ||McMaster Part Number: 95601A330||Holding bearings||no |- | Hot rolled steel 3"x1/8" plate||10.0 Ft.||5.32 ft||$12.70 ||$6.76||$12.70 ||Metalsdepot||To provide material for motor mounts||no |- | Hot rolled steel 1"x1" square tubes 16 gauge||24ft for $23.28||41.83 ft||$23.28 ||$40.58||$46.56 ||Metalsdepot||To provide structural support||no |- | Gear Rack (1/2” sq. x 72” 20 DP 20 Deg)||6 feet per rack||26.83 ft||$24.80 ||$110.91||$124.00 ||Standard Steel Specialty Part Number: 200011||rack for gear to ride on||no |- | 3 x 1/8 inch cold rolled Plate||6.0 Ft.||32.33 ft||$17.28 ||$93.12||$103.68 ||Metalsdepot||To provide material to make rails||no |- | 3/8 inch threaded rod, Overall Length 36"|| Each||11.43 ft||$1.94 ||$7.39||$7.76 ||McMaster Part Number: 98837A031||for connecting the top and bottom carage||no |- | 3/8 inch nuts||Pack of 100||112||$4.20 ||$4.70||$8.40 ||Part Number: 90473A031||For locking threaded rod in place||no |- | 3/8 inch washers||Pack of 140||112||$3.23 ||$2.58||$6.46 ||Part Number: 90126A031||For locking nuts and for spacers||no |- | Steel 20 Deg Pressure Angle Spur Gear 20 Pitch, 20 Teeth, 1" Pitch Dia, 1/2" Bore||Each||4||$15.37 ||$61.48||$61.48 ||McMaster Part Number: 5172T12||Attaches to stepper motors and interfaces with gear rack||no |- | sleeve bearing||Each||4||$1.34 ||$5.36||$5.36 ||McMaster Part Number: 6391K143||to connect between the stepper motor and the gear, will also add a bit of adjustable length||no |- | 10-32 set screw 7/16"||per Pack of 100||4||$5.44 ||$0.22||$5.44 ||Part Number: 92311A428||Set screw for attaching spur gear, sleeve bearing to stepper shaft||no |- | Zinc-Pltd Stl Pan Head Phillips Machine Screw 10-32 Thread, 1-3/4" Length|| Pack of 100||8||$8.45 ||$0.68||$8.45 ||McMaster Part Number: 90272A837||Connects the mount plate arms to the carrage||no |- | Zinc-Pltd Stl Pan Head Phillips Machine Screw 10-32 Thread, 2-1/2" Length||Pack of 100||48||$6.58 ||$3.16||$6.58 ||McMaster Part Number: 90272A840||For connecting the rail, rack, spacer and c channel||no |- | Zinc-Pltd Stl Pan Head Phillips Machine Screw 10-32 Thread, 3/4" Length||Pack of 100||24||$5.11 ||$1.23||$5.11 ||McMaster Part Number: 90272A831||For mounting the stepper motor to the mount plate||no |- | Zinc-Plated Steel Machine Screw Hex Nut 10-32 Thread Size, 3/8" Width, 1/8" Height||Packs of 100||80||$1.55 ||$1.24||$1.55 ||McMaster Part Number: 90480A195||For locking the mount plate swing tightness, tightening the rack and locking the stepper motor in place||no |- | Nylon 6/6 General Purpose Flat Washer Off-White, No. 10 Screw Sz, .44" OD,.02"-.04" Thk||per Pack of 100||32||$3.83 ||$1.23||$3.83 ||Part Number: 90295A120||allows the motor to swing freely||no |- | stepper spring||pack of 6||4||$10.00 ||$6.67||$10.00 ||McMaster Part Number: 3114T79||Prevents stepper motor shaft from crunching ||no |- | Multipurpose White Lithium Grease 10.25-Ounce Net Weight Aerosol||single pack||1||$5.62 ||$5.62||$5.62 ||McMaster Part Number: 1380K29||For greasing rails, bearings, gears, rack, etc…||no |- | Bright Finish High-Speed Stl Spiral Point Tap 10-32, H2 Pitch Diameter, 2 Flute||single pack||1||$5.26 ||$5.26||$5.26 ||Part Number: 2523A469||For tapping the 10 gauge threaded hole in the brass bushing and the steel bearing||no |- | 10 gauge drill bit||single pack||1||$1.74 ||$1.74||$1.74 ||McMaster Part Number: 2930A21||For drilling holes in rail, stepper plate, stepper plate swing||no |- | Gen Purp Black Oxide HSS Jobbers' Drill Bit 3/8", 5" L Overall, 3.1" Drill Depth, 118 Deg Point||single pack||1||$4.46 ||$4.46||$4.46 ||Part Number: 2931A34||For drilling holes in rail for threaded rod||no |- | Gen Purpose Uncoated HSS Jobbers' Drill Bit Wire GA 18, 3-1/4" Oal, 1.9" Drill Depth, 118Deg Point||single pack ||1||$1.52 ||$1.52||$1.52 ||Part Number: 30585A29||making the hole for the 10 gauge tap. It has to be slightly smaller than 10 gauge because we need to cut threading into it.||no |- | Military Spec Cadmium-Pltd Steel Flat Washer No. 10 Screw Sz, .44" OD, .03"-.07" Thk, MS27183-8||Pack of 100||1||$1.94 ||$1.94||$1.94 ||McMasters Part Number: 98032A469||Small enough to fit on the rack, big enough to do some good. General purpose metal washers for 10 gauge screws.||no |- | Total per machine||$1,960.19|||||||||||||| |- | Total Cost||$2,034.74 |||||||||||||| |}

Working Concepts

X axis

X axis BoM details Xaxisconcept.jpg X axis back view.jpg X axis front view .jpg X axis top plate stepper mount and y axis mount.jpg X axis bearing shot wire frame.jpg X axis bearing shot.jpg X axis barrel .jpg


Y axis

Y axis details Yaxisconcept.jpg

Y axis back view.jpg


Z axis

Z axis details


Y axis z axis front view.jpg

Z axis shot.jpg



Blender Design File Download

Blender Concept

Torchconceptlawrence.jpg File:Factor e Torch Alpha 3.1.blend

Plasma Torch

Torch vs. Plasma Cutter

  • Comes down to initial cost versus long-term cost
  • Plasma cutters - consumables cost $20 for 5 new electrodes and nozzle heads
    • Electrodes are rated for 45 minutes to 60 minutes for 1/2" steel
    • More expensive versions state they last 4 times longer - are heavier and have better temperature control
    • For anything above 1 inch, torch is better
    • Can be interfaced with a computer cheaper than Torch

Desired Characteristics

We are looking for a machine rated for 1" milled steel that will cost roughly between $700-$1100. We are limited on budget because we are funded primarily through donations at the moment.

Since we want to use the machine for cnc work, we are interested in the pilot arc starting, or touch off starting. We could also use high frequency starting, but we would have to shield our motor controller and any other equipment in the area. Would it be possible to shield the plasma cutter? We want to be able to cut thin material with the torch so it is likely we will want the pilot arc starting feature.

Do you have any suggestions on a best practice method of attaching a plasma torch head on a cnc machine?

We would also be interested in a plasma cutting head that would be easier to mount. Currently in your accessories page you only list a model that is appropriate for plasma cutting by hand. Also, since this machine needs to be flexible we would also like the option of using the plasma cutting head by hand. Through looking at competitors websites, its clear that its easy to offer one or the other and switch them at the DC power inverter, but how easy would it be to add a 45 degree flexible head that can be fixed for either cnc overhang cutting or hand cutting? This seems like an easy adaption, but I might be missing something.

Also, we are interested in the engraving feature. Especially the controlled plasma pulse feature. The reason is that we are interested in precision surface removal, and gouging because we have an idea to use this machine as a plasma lathe, combined with a cnc controlled head. This isn't a requirement, but we are very interested in getting the maximum amount of utility from this tool.

Plasma Cutters Considered

Everlast

  • cheap ($800)
  • 5 year warranty
  • made in china

60 Amp Parker MP

  • cheap
  • 1 year warranty
  • made in america
  • Out of stock/high frequency start only
  • Appears to have equivalent performance to Esab Powercut 1250

Esab Powercut 1250

  • Expensive ($2700)
  • Brand name

Plasma Cutter PC Interface

Relay circuit.jpg Newfoorpedalwiring.jpg

(ciruit drawn with [open source circuit simulator])

A simple relay circuit, the components depend on the plasma cutter interface. Since the Xylotex stepper controller pipes out unused pins to a second parallel port, we'll isolate the parallel port using an optoislolater and switch on a relay switch which replaces the manual torch ignition switch. If the torch allows for proportional current control, usually done with a voltage divider circuit built with a potentiometer, then we might use a pwm modulated rheostat control with the computer providing the pwm signal. If all that fails, there is alway hacking into the plasma cutter circuit board and taking over control using a microprocessor... maybe version 2.


build steps

So it turns out that because the plasma cutter comes with a pilot arc, there isn't an easy way to adjust current anyways. The reason is because the pilot arc circuit measures the current coming off the pilot arc and the work piece clamp comparing the two at low current values. Once it detects that current is flowing through the work piece clamp, it shuts off the pilot arc current pathway and ups the current for the plasma cutter. This means that there are several ways to interface with the plasma cutter circuit, but nothing out of the box. To turn on the torch head, you splice in an external switch that is controllable from the pc. To detect when the plasma cutter is good to go, you can watch for the signal pin that switches from pilot arc current to full cutting current. To adjust the cutting current, you could hijack the potentiometer from the front of the panel, which goes to the pilot arc circuit anyways. Ideally you could also tie into the voltage sensing element feedback loop of the constant current dc power supply to figure out how far away the torch head is from the surface of the work piece. This would allow for dynamic repositioning of the head.

Pilot arc powerplasma circuit board.JPG

The above is the pilot arc board. We won't be touching it but for future reference, the chip File:Mc14066bcp datasheet.pdf MC14066B is a Quad Analog Switch/Quad Multiplexer which means that it is a likely candidate for investigating when it switches the reference voltage from the pilot arc to the dial setting, it probably means that the plasma cutter is ready to cut. This would make a handy "ready to cut" signal for the pc once the signal is piped out and isolated from noise.

The below picture is the signal filter for the plasma cutter. Its the green circuit board in the picture. It has two extra holes where we can slip in our switch and even use the filter circuit to boot. This just means we need to add an external connector. The reason we chose not to go for a connector that fits the front plug is that the cost of that plug is prohibitive for what we want. Instead we are going to use a phone jack and wire together two pins for our interface.

Signal filter plasma cutter.JPG

The main board is where all the magic happens. We won't touch this board, but it is interesting to note that most of this plasma cutter could be replaced with a handful of microprocessors.

Main board.JPG

The data sheet for the solid state relay used File:AQV252G.pdf

An quick overview of how this is going to work. The PC uses a parallel port that uses 0-5 volt off/on to communicate to the outside world. This has a guaranteed minimum of 2.6mA at 2.4V. Or so says the internet. The AQV252G is a solid state relay, which means it is optically isolated mosfet relay switch. This is nice because it takes care of most of the heavy lifting design wise, so all we have to do is interface with it. To do so, we essentially turn on and off a built in LED which is coupled to the mosfet. Because every parallel port is different, it would of been a smarter move to put in a variable potentiometer instead of a single resister. Unfortunately, I just thought of this, so we are going to use a 680 ohm resistor instead and hope that the voltage level for the parallel port is on the high side.

Circuit diagram opto relay.jpg

Design rational is basically, I'm treating the torch trigger like a ac/dc signal so I don't have to worry about polarity, and I can adjust the resistance until I can guarantee the parallel port can trigger on the mosfets. Detailed construction notes when all the parts arrive...

Information about PC parallel ports. [2]

Ok, parts arrived. Here is how to put it together.

Phone jack input plasma.JPG

We are tyeing together two wires of the four wires in a phone wire to make a thicker wire. We only need two wires anyways. So, twist the adjoining pairs of wires so your four wires become two, tin them with solder, remove the filter board from the plasma cutter, find the input pins coming in from the torch trigger,Solder the leads.JPG stick the wires through the handy holes on the board, solder them to the board, and reattach into the plasma cutter. Put back torch plasma trigger filter.JPG

Wires all attached plasma cutter filter.JPG there it is all tucked in. Notice the bottom where the wires are soldered in place.

Plasma cutter with modification.JPG All done!

Whew, ok now on to the opto-isolated control box and pc interface.

Control box parts jumble.JPG Ok, you'll need a small project box, a female db25 connector, 680ohm resistor, a male phone chord, the solid state relay AQV252G, and a db25 cable with a male and female ends(not shown).

Project Box with holes.JPG Make a hole in the project box so the db25 connector can be set into the side of the box. Decide which pins will be connected to the optical switch.Soldered and wood screws.JPG One should be ground and be connected to pin 14. Solder the solid state relay onto the project board, solder and connect the proper wires. Use small wood screws to screw into the plastic to set the connector in place. Screw the whole mess together and test it.

Back of motorcontroller.jpg it plugs into the back of the motor controller using the same sort of cable that plugs into the pc

Mounting the Plasma Cutter

We are shooting for a sideways mounted plasma cutter that forms a crooked tee with at least two mount points for the plasma cutter to rest on.

Motor Control

G Code

Or how I actually tell the Torch Table to move.

G Code is a loose standard. That means if you take some other G Code that you did not write, there is a good chance it will not work. The reason is that each G Code interpreter, be it EMC2, RepRap motherboard, or fancy six axis robotic arm controller were all produced for a specific job which require a specific tool path, on a specific machine. Now if your a computer scientest or programmer, your going "wait a minute, why don't they just make the language more intelligent, add in a required machine descriptor and abstract the tool path away from the user which forces users to hand craft each part they want to make!" Which is a valid point, and I would encourage someone to come up with a better language, because G Code sucks.

G Code, ala EMC2

Or how prototype 1 is put together.

link to EMC2 gcode quick lookup guide
invaluable emc2 user generated documentation wiki
Link to EMC2 gcode guide with regards to using a plasma cutter

Because we don't have an "arc stable, good to cut" we will use a delay instead which means that we'll have to find someplace on the material we can "burn into" while the arc stabilizes. This will have to be hand coded to some extent I am afraid.

There is a lot of good information in the manual which will be nessisary to hand craft g code


The other option is to use a program to generate g code from a drawing or cad software. The problem with this is that it usually does a point by point move, where a human operator could use a loop and arc move instead to achieve the same results. Furthermore, because there is no guarantee that they conform to the same g code standards as your controller, it is likely that any g code that is automatically generated will need to be tweaked first. If it isn't apparent yet, g code is time intensive to produce. Its saving grace is that once you have it, you can run the same program over and over again.

Lets take a look at the below file that was generated using Inkscape and this plugin

(Found 1 paths for AllObjects:)
G20 (All units in inches)
#1=0.5000 (Height to traverse when not cutting)
#2=0.0000 (Height to cut at)
#3=10.0000 (Tool feed rate)
#4=1.0000 (X axis scale factor)
#5=1.0000 (Y axis scale factor)
(Path has size 36.000 x 54.000)
(Path has bounding box 4.500-40.500 wide by 4.000-58.000 high)
G00 Z#1 
G00 X[4.5000*#4] Y[58.0000*#5] 
G00 F#3 Z#2 
G01 X[4.5000*#4] Y[58.0000*#5] 
G01 X[36.0000*#4] Y[58.0000*#5] 
G01 X[4.5000*#4] Y[35.5000*#5] 
G01 X[40.5000*#4] Y[31.0000*#5] 
G01 X[13.5000*#4] Y[13.0000*#5] 
G00 Z#1 
G00 X[0.0*#4] Y[0.0*#5] 
M2

This program has options for some basic conveniences, but its true power is that is allows for a simple conversion path from a drawn path to actual g code. That being said, I wouldn't use it for anything more complex than making holes and contours. Luckily thats what most people want it for.

For example, the # with a number following allows for macro variable replacement, so minor changes, like going from millimeter to inches, isn't such a pain.

More info can be had at by looking to the emc2 manual for information on G code.

Other sources for g code generated goodness. TBC

Xylotex

Stepper Motors wired together for free run test Xylotex Stepper Motor Controller LinuxCNC running on IBM laptop Binary encoded wire extensions Pre crimped wires These connectors are crimped so they make a neater and easier linear wire connection. wire to extend the motor controller wires hanging not yet strung through carriage

RepRap

The RepRap project uses 12v stepper boards. These are roughly comparable with the Xylotex stepper control package. The difference is that Xylotex can step at 1/8th of a 1.8 degree step per pulse, and RepRap can step at 1/4th of a 1.8 degree step per pulse. Xylotex also has a total higher wattage potential at 24V 2A, but RepRap which runs at 12V 2A should be enough to hit the optimal energy density of the stepper motors. The only thing I would add would be a heat sink and a fan to the RepRap stepper driver so we can work the motor driver harder. Version 2 will most likely try to either incorporate a redesigned RepRap motor driver that can do 1/8th stepping or live with the standard 1/4th stepping. It is yet to be seen how useful 1/8th stepping is in practice. [3]

Linux CNC

[LinuxCNC]

The Setup

We are as of Sept. 4, 2009 using an IBM ThinkPad laptop graciously donated to the cause by Inga. It has the latest EMC2 installed from the Ubuntu 8.04&EMC2 Live CD.

If your starting from a pre-existing Linux install, like I was, then read this important user contributed wiki. I had to reinstall using the 8.4 live cd because 8.10 of Ubuntu wasn't supported.

Once you get that all installed, the best documentation available is from the user contributed wiki and the included manuals. For example, when I had trouble with getting the IBM laptop to talk to the motor controller, I used [this walk-through] to step me through a working install which lead me to the actual problem of the IBM laptop having a non-standard printer port address.

Once I got the stepper motors twitching to my every whim, I put it all down and will continue from where I left off once I get the little beasties mounted.


A quick note: this link is Very Important. It discusses how to install and use a kernel module that disables power saving features which improved our performance by an order of magnitude. Of special note, "For Hardy you don't need to compile or install it, it's already there (go to step 6)." which is what we are using because we installed off the emc2 live cd :-)

Torch Table Trouble Shooting

For those extra hard to reach bugs

  • Check stepper motors
    • They should turn when powered off, so the whole table should move freely. If it doesn't fix it.
    • When the motor controller is powered on, with the PC disconnected, the stepper motors should be locked in place or provide significant resistance.
    • If everything checks out, the motor driving circuitry and the stepper motors are at least working correctly.
  • Check the PC parallel port.
    • You can do this with a multimeter and LinuxCNC. If you test one of the pins under control and its jumping around like crazy then the computer is at the least sending something with the parallel port
    • There are options to change the parallel port address from the default. In the case of the IBM laptop, the parallel port was 3BCH, which is a hex value.
  • Check the pinout of the cable.
    • In our case we used a shielded straight pass through cable, which means each pin on either side corresponds to its matched up pin on the male/female connector.
    • If its different than what you think it should be, according to whatever motor controller your using. You can adjust the pin out in EMC2. Look up how to do this.
  • Check installed version of Linux.
    • In the version we used, there was an issue where the kernel drivers for 8.4 weren't compatible with 8.10 and above. This means that it installed fine but there wasn't an option for using the special real time EMC2 kernel. The fix is to reinstall using either the live CD which will leave you with a clean Ubuntu install with the software already installed (very convenient if it works), or installing from scratch Ubuntu 8.4 and installing the package seperately from [[4]]

Build Steps

This table uses standard stock steel parts with no finishing besides the finishing that is required.

If you caught that, then you have two options. Find a local machine shop to cut out all that steel you just purchased or live with some inaccuracies which should be adjustable.

Necessary Tools

  • Something to cut accurate holes with
  • Something to cut 3/8 inch treaded rod, 1/8 inch hot rolled steel plate, 1 inch tubing, etc...

Tools We Used

  • Drill Press
  • Hand Drill
  • Metal File
  • Phillips Screw Driver
  • Flat Head Screw Driver
  • Wrench able to fit up to 5/8 inch bolt heads and down to 1/8 inch nuts
  • 3/8 inch drill bit
  • 1/2 inch drill bit
  • 10 gauge drill bit
  • 10 gauge tap
  • bubble level
  • Builders Square
  • Tape Measure
  • Saw Horse
  • C Clamps; two of each 3 inch, 4 inch, 6 inch
  • friction jaw clamps
  • wood spacers


Building a Jig

Yes its a technical term.

For our purposes we need a reliable way to drill somewhat precise holes quickly.

To do this we need to constrain the rack in the x y and z direction during drilling but allow movement along the y axis to reposition the rack for the next hole. In this example, the direction along the length will be our y axis.

There are several products out there that will do what we want, but they all need to be modified slightly for our purposes.

For drilling the holes, you'll need a guide made out of something that won't mar the metal. Wood or plastic works nicely. If you have a vice or an x/y milling vice, these will work nicely although you'll have to make some sort of insert so the gear rack can slide easily in the vice channel. Here again wood or plastic are your friends.

If you don't have a vice and you do have some wood and some nuts and bolts that fit the mounting holes in your vice, you can make a temporary jig with blocks of wood which have to be aligned such that the drill head is above the rack, doesn't crater into the mounting plate (unless your wise enough to put a spacer block under the rail) and constrains the rail in the x direction while allowing free movement in the y direction. It'll take some practice but once you get it, you can use the same setup for all the rack.

The process is fairly simple, you mark your first hole on the rack and then every succeeding hole, you measure 8 inches (what we used) from the center of that hole. This can be achieved by adding a guide which you line up the center of the hole you just drilled with the guide such that the drill bit is over the next spot and the last drill hole you made is 8 inches away.

Lastly, you clamp down the rack in the z direction such that frictional forces and the wood blocks help constrain the rack for drilling. Releasing the clamp slightly until the rack is movable along the y direction again allows you to position the rack for the next hole to be drilled.

This documentation is quite good. The procedure for joing rack pieces, and for making a rack-CR-tube assembly should also be shown. Other than that, this is pretty impressive - MJ.

Drill Prep

  • Oil rails to allow smooth motion in the jig
  • Position loose blocks of jig
  • use c clamps to force the jig against table surface
  • make sure the 6 foot rack is well supported and is level with the drill table
  • use c clamps and a spacer if nessisary to keep the rail clamped in between the jig and the drill table. (otherwise the rail can lift up off the table and the holes drilled won't be straight)
  • slightly loosen all the c clamps such that an oiled rail can move freely in the jig.
  • Now tighten up the jig, while leaving the c clamp that prevents the rail from wandering up such that the rail can still move back and forth.
  • Make a shallow test indention and make sure that the drill bit isn't wandering and the hole lays between the bottom of the teeth and the edge of the rail. If you make a mistake, favor the edge of th rail.
  • lock the drill press, rail, etc in place and begin drilling slowly.

The Table

The table uses half inch bolts. In the future, use four bolts instead of three, put the legs at the end of the table, add legs that have feet that are wide on all sides on the bottom, and frankly, never use this table design. Its too heavy to manufacture by one person and doesn't have any outstanding benefits besides "life time design" which is a fancy way of saying the damn thing will never be moved.

Work in progress of torch table frame.JPG Work In Progress Torch Table Leg.JPG Work In Progress Joint.JPG <eeeeeeeeeeeeeeeeeeeeeehtml> <object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=6967679&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=&fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=6967679&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=&fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object><p><a href="http://vimeo.com/6967679">Wiggly table</a> from <a href="http://vimeo.com/user2426029">Lawrence Kincheloe</a> on <a href="http://vimeo.com">Vimeo</a>.</p> </eeeeeeeeeeeeeeeeeeeeeehtml>

To correct the wiggle, the legs were moved to the corners of the table.

The 3/8 inch threaded rod

Get all the 3/8 nuts lined up. This allows you to cut the rod to size and use the nut to reshape the cut threads. S5000537.JPG Mark the cut lines. I used a red grease market. Nuts all in a row.JPG This is what we want. Note the grease marker, springs, and other odds and ends. The final arrangement of nuts and washers has changed significantly due to life having different constraints than blender models. V-groove bearing on shaft.JPG

The Motors

Quick note on corrections and motor info. In the final design we switched from using nylon thrust bearings to ball bearing thrust bearings. This greatly decreased fristion under load and allowed the arms to work properly. The purpose of the arms is to allow the motors to slip before becoming damaged. Because of this modification, we redesigned the motor mount arrangement such that the motor mount had one metal washer and one nylon washer. This allowed for very good spacing between motor and mount plate. Another note, get screw heads that fit with the motor mount holes. While we are on the topic, also instead of using the arms which are nifty and cool, use one long moment arm instead. It will drop the number of thrust bearings required from 8 to 2. Those thrust bearings aren't cheap so be warned.

Motor specs

Axil 1/4 inch diameter, 7/8 inch in length

Holes are a size 10

Tools ready to insert gear to shaft.JPG To make one of the motor carriages, we used a steel gear head with a brass insert to get the inner diameter size we needed.
Squeeze brass into gear.JPG Because the tolerances were so tight, we were lucky we chose a harder and a softer material, because this allows us to squeeze the brass spacer into the gear.
Gear and drill.JPG Once you get the gear on the brass spacer, use a drill bit to deburr the inside of the brass spacer so the motor fits again.
Screws all in a row.JPG We made a mistake on what screws to get for the motor. The heads of the screw were too large so we had to cut them down using a hand held grinder.
Grinded screws.JPG And after some tough love.
All the parts for motor.JPG Now on to putting it together.
Fuzzy pic of washers and screws.JPG Put the screws into the motor mount holes and use them to mount the washers. In this iteration, we used two nylon thrust bearing and eight metal washers. The goal is to give a smooth slippery surface for the arms to swing on and the metal bearings are spacers essentially.
Its got bunny ears.JPG And now put on the arms with another nylon bearing on the other side.
Ten and two.JPG once you get this all in place, hold the screws in position and gently shove the motor plate on. If the holes aren't aligned, feel free to "liberally" drill/file them larger.
Finished motor assembly and carriage.JPG Now screw it together and lets mount it to the carriage!
Motor with gear and spring.JPG Notice the previously unmentioned spring dangling off the side... well on the motor mount construction section you drill a hole and that hole fits the spring, which you slip on. This is also a good time to put the gear on and tighten it down. Also, while your at it, slip in the two screws and slip on some more nylon washers.
Almost done with motor.JPG Slip the arms onto the carriage and add some more nylon washers, nuts, etc.
Attaching the spring.JPG Now to attach the spring. This part is somewhat tricky, first put the bolt through the 1 inch square tube, then add a nut to the end, with just enough space to slip on the spring. Then slip on the other end of the spring. It should stretch the spring but also be possible to attach by hand. If its too loose/tight it means that one of the drill holes are off or something is backwards, like the motor plate. Once you have it on, slip on another nut as best you can. Then use a screw driver to turn the bolt such that both nuts stay roughly close to the spring. The goal isn't to tighten anything down super hard, but to catch both nuts in the spring and keep the spring from, well springing loose.
Put it on the rail.JPG With that all done, now you can put it on the rails. In theory to adjust the carriage and motors, you loosen and tighten the top and bottom 1 inch tube pieces until the bearings sit on the rail. Then adjust the distance of the bearings from the 1 inch tube pieces such that they sit comfortably on the rails. Also make sure the gear is making good contact with the gear rack and that it isn't rubbing against the rail. The gear can also move slightly back and forth on the motor shaft which might come in handy.

Calibration

Test square looks good. Only problem was that the step size was supposed to be 1/4 of that. First Square.JPG

EMC2 motor scale

One problem turned out to be that the software was expecting half stepping and the stepper board was expecting eighths stepping.

According to the EMC2 Scale documentation, input scale = (# steps / degree precision of stepper motors) * (360 degrees/revolution * # revolutions / inch)

So our input scale was, 8 steps/ 1.8 degrees * 360 degrees/ 1 revolution * 1 revolution / 3.14 inch = 509.29581789. The 8 steps is set via the Xylotex jumper configuration on the motor controller(default is 8 steps), the 1.8 degrees comes from the stepper motor specifications, the 1 inch comes from the outside radius of the gear attached to the stepper motor, and the rest comes from unit conversions.

Software step generation info

tightening bolt pattern

Because we are tensioning bolts, bearings and rail all at the same time; it is a good idea to tighten the nuts in a particular order. The reason is to give better distribution of force over the entire member. In general, pick a point that is affected by gravity near the top and tighten it such that it is finger loose. Then pick its farthest companion bolt, (usually diagonally from origional bolt) and tighten it finger tight as well. Continue tightening bolts that are holding weight due to gravity and continue to select the bolt that will most greatly effect its adherence to the surface. Usually this ends up with a top left, bottom right, top right bottom left pattern. Continue tightening in 1/3 turn increments until the proper tensioning has been achieved.

Shooting lasers for fun and calibration

Using a laser to help characterize motion is a fast and easy way to figure out how level something is. It can be used to determine how flat a surface is by sprinkling salt on a table and using a refracting lens that produces a laser line to shine on the sheet sideways. The desired effect is to light up every grain of salt. Dips and bumps will show up as places where the salt crystals don't glow red.

It can also be used in a similar manner to characterize how smooth the motion of travel over the length of the table by using a similar method. Using a straight beam of laser light, shine it along the axis of motion, such that the beam hits a scattered field of salt. For ease of reading, you can brush away unlit salt. Ideally there should be several places along the beam that you can use to help increase accuracy. Now move the table slowly so as not to disrupt the salt crystals and watch for crystals blinking out. If you find them blinking out, move the gantry back and record the point on the table the curve is happening. This indicates a place where some sort of bend is. Continue measuring and detect if the salt crystals ever become lit again. If they do, then its a bowing distortion which needs to be flattened by pulling it tight. If ti doesn't come back, then its a curve and something is causing the path to diverge. It could be dirt between the rail and the table, or it could be something major like a misaligned screw hole.


<ehtml>

<object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=6967410&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=&fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=6967410&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=&fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object>

<a href="http://vimeo.com/6967410">Calibrating using a laser</a> from <a href="http://vimeo.com/user2426029">Lawrence Kincheloe</a> on <a href="http://vimeo.com">Vimeo</a>.

</ehtml>

Dynamic Calibration

There is also the option of using a touch off pad that has a conductive probe or a switch that allows for the tool head to come down. Here is a link to an example. Another idea is to get a dual position momentary contact switch that is calibrated to be in the range of the optimal torch head distance. That way the calibration stick is depressed into the material and follows the contour of the material. the torch head stays between the two contact zones so it can back off if it begins to get out of bounds. The tolerance isn't great but would make an easy addition.

Work piece table

I designed a modular table that could be used by itself or strapped together to make a larger table. I also designed a method to use bricks as the under surface to protect the metal the table is made from getting cut by the plasma cutter.

To accomplish this feat I chose a space frame structure made up of eight 2.5' by 2.5' by 1' cubes. They used 11 gauge 1.5" diameter square tubes and used 26 inches of tube. Some material is lost due to cutting and the exact dimensions aren't as important because the height will be adjustable with bolts on the feet.

Space frame lengths drilled.JPG Space frame pieces 2.JPG More space frame goodness 3.JPG How the joints look on space frame.JPG Another picture of space frame joint, less fuzzy.JPG Space frame and bricks in all their glory.JPG

The bricks are held in place by placing 2.5 foot long angle beams across the top of the square such that a brick can be placed so the sides of the brick rest on the walls of the angle beam, not on the apex. The weight of the brick keep the angle beams in place and the angle beams rest against the inside of the space frame to keep the bricks from pushing the angle beams apart and slipping through.

Another neat aspect of this idea is that there are several ways to adjust the height of the table. One method is to raise and lower the bolts, but this will only net you an inch or more of precise motion. The other option is to rearrange the brick pattern such that they stand taller lenghwise, this uses more bricks but also makes the table taller by several inches without doing something you might be doing anyways like switching the bricks over to a less burnt section. It is still unknown how good a work surface bricks actually are. It is hoped that they will be sufficient as they are a bountiful resource at FeF.

Review

Please submit comments here. Please review our design rationale first.

Particular points:

  • Suitability of 3x1/8" cold rolled rail as a guide
  • Suitability of thin gauge 1" square tubing for most of the gantry
  • Structural or stability issues?
  • Acceleration issues?
  • Feasibility of using a laptop and compromises therefrom?
    • run [realtime latency test] before getting too attached - laptops are notorious for hardware timing glitches.
      • Lawrence: Performed, just not documented. We were getting in the 30-50 micro seconds range which is acceptable for right now. We have several other computers but the laptop was the only one that didn't have an immediate hardware issue.
    • dust generated by plasma will get in keyboard and fan, wear out quickly. hard to replace laptop parts.
      • Lawrence: Good catch. this is especially relevant since the recommended parallel cable length is 3 feet to 6 feet and the motor controller box itself has rather shortish cables. The ideal solution is to use something that is more robust and able to be isolated like an embedded processor in an enclosure. Best for version two. for now however,the best option will probably be a dust cover for an external keyboard and a foam fan filter for the motor controller and final pc configuration.
  • Suitability of plasma cutter?
  • Potential improvements?

Team

  • Deep in the continental US underground...

Workteam.jpg