A Lazy Susan style filament spool system seemed like a natural addition to this printer. The problem was the filament had to go down the center. This was solved by a nylon bolt with a hole drilled through it. That bolts a flange bearing to the top. A disk to support the spool is glued onto that. It then uses a tube attached to a piece on the side to guide the filament from the edge to the bolt. It also has 2 extra keeper to prevent the filament from a full spool from falling off the edge.
Magnetically attached bed
When a part is firmly attached to the bed, I get a little nervous pulling hard on it when it is attached to the rods and carriages. The answer was to attach it with a few Neodynium disk magnets. I used (3) 3/8″ x 1/16″ thick diameter N52 magnets. The magnets on the end effector are in pockets with 0.75mm thick base. This means the magnets never actually contact each other. The bed has them in pockets too, but the pocket is only as deep as the magnet.
I added a ring of LEDs. These LED ring lights are sold for use on cars. I bought mine on Amazon.com.
RAMPS controllers don’t have a lot of options for high current I/O so I hooked this to the unused bed heater output. You can control I/O pins M42 Pn Snnn command where Pn is the output pin number and Snnn is the PWM level. The bed heater pin is 8 on RAMPS. The Marlin firmware protects you from messing with “sensitive” IO pins, so you need to remove HEATER_BED_PIN from SENSITIVE_PINS which is defined near the end of the pins.h file. For some reason “M42 P8 S255″ only flashes the LEDs briefly. All other values below 255 work. You can put M42 P8 S254 at the beginning of the G-Code of your parts or in a script of the host program.
My name is Greg and in this blog post I’d like to give you some tips on working with a laser machine. I own a Trotec Speedy 300 laser engraver/cutter. Most of the time I do my own designs, but from time to time I take a look at the Trotec website to find some samples and templates there. The samples are located here: http://www.troteclaser.com/en-us-us/laser-samples/Pages/Samples-Overview.aspx
My Speedy 300 laser machine is great for engraving all kinds of materials. I prefer working on wood and glass, because the precise engraving results you get are just awesome. Below you can find some of my work I did in the last few months.
I tried a lot of different wood types but I think alder wood is the best for laser engraving because it’s very dry. The dryer the wood, the better the engraving results. I do wood engraving mainly to make birthday presents or decorative items.
Glass engraving also offers many possibilities for picture engraving. You can engrave virtually anything on glass trophies, bottles or dring glasses. On their website Trotec mentions that you can engrave any design that can be printed. Just take care about the right contrast of the image you are using.
Laser cutting can be pretty useful if you want to make some nice invitation cards made out of paper or cardstock. The software that comes with the laser lets you use any graphic as a template for the cutting.
My favorite cutting applications are greeting cards, business cards and decorative items made from wood. The tricky part is to correctly set the laser parameters according to the material you are working with. I really recommend having enough material to test the parameters several times. At the beginning it might be a little difficult to find the correct settings and you have to test them a couple of times. As soon as you have got some experience with the laser settings it will be very easy to set the parameters right.
Here are some examples of what I cut with the laser:
If you have any questions regarding laser cutting or engraving feel free to contact me.
Editors Note: This is a guest post from Greg Weber. Greg lives in Detroit and is not affiliated with Trotec. He has has the Speedy 300 for about three years. The machine with a lot of accessories and exhaust system cost about $28,000.
The 3D Printer Experience is opening on Monday April 22 in Chicago. The store is design to introduce people to 3D printing. They have 20 printers in the store including an awesome looking EOS Formiga P100.
They are going to have 3D printing workshops, scan and print people and have some cool interactive apps to design your own things.
I know several of the people involved and I wish them the best of luck.
I was doing an “Intro to 3D printing” event at the Chicago HackerSpace, Pumping Station One. We were showing about 5 or 6 flavors of printers. Someone commented how complicated the delta printer looked. I tried to explain that they were actually simpler in my opinion. Rather than having 3 different designs for each axis, a delta uses three common linear actuators. The delta was a Rostock Max and it does look a little complicated. I decided to try to design the simplest delta I could.
I wanted to make it small to keep the cost down. Once I decided to make it small, I decided to make it really small. I used the Tantalus and Up Mini as the benchmark for small.
Try to use parts I had laying around. I only had about 3 days to before the first build day.
Try using the Spectra Filament instead of timing belts.
Clean look and simple wiring.
Limit fabrication to 3D printed parts, laser cut parts and simple tools.
Try to build it in 1 night at the weekly PS:One meetup and involve as many people as possible.
Somewhere early in the design I got the idea to invert the end effector. The bed would move and the extruder would be stationary. This vastly simplified the design and I could use an extruder I already had. If I limited it to PLA, the bed would not have to be heated and no wires would have to go to the end effector. With the extruder on top, all electronic items except limit switches could be placed on a single laser cut plate.
The design was bounced off Jeremy BP of tinyworkshop.org a few times in an email thread titled “Latest Crazy Idea”. This is the rendering of the design going into the build. There is a pop can rendered on top for size reference.
I sent a note to the CNC Build Club forum asking if a few people wanted to help with the build. About 10 people showed up. I spent all my time handing out jobs. Jeremy BP was the primary fabricator and ran the laser cutter and other shop tools. There were a lot of newbies there so many of the jobs like setting the current levels on the stepper drivers turned into mini classes. There was a little SNAFU with the laser origin which wrecked the middle round piece. PS:One had plenty of replacements, but no black, so the middle piece is a creamy white
Here is a part of the team, One is tapping extrusions, one is pressing inserts into brackets, one is assembling V wheels and Jeremy is setting up the laser job.
Everything was going well until it came time to assemble the Spectra filament driven linear actuators. It was sort of a puzzle to work with the tiny pieces. AVRC and I could not agree on the best way to do it. Finally we each grabbed one and did it successfully different ways. The actuators worked but it was clear the design was not robust and might wear quickly. At about midnight we had the basic thing assembled less the rods and end effector.
I had posted the progress on the Delta Robot 3D Printers forum and several good suggestions came through. The best was the suggestion to use off the shelf rods. At this rod size there were a few that would work right out of the box. These are Traxxas 5538 parts. They are actually a turn buckle so they can be finely adjusted. I ordered them from eBay and got them just in time. They were only about $3 per linkage.
We laser cut a template that was used to set the rods all exactly the same length.
The template holes have been added to the lower circle piece so an extra piece is not require in the future.
The Spectra drive systems was replaced with pulleys and 1/8″ wide MXL Belt. Jeremy laser cut some toothy clamps out of delrin.
Motor mounts for the NEMA 14 motors and 18 tooth pulleys. The mounts have a captive nut on one side that can be used to pull the motor up to tension the belts.
Here is the electronics plate. It gets pretty tight even with small motors.
Limit switches were wired with a common ground under the base and (4) wires were run up to the controller inside one of the edge t-slots.
We assembled the end effector but the rods touched parts of the carriage as the outside edges. This was limiting the range. We installed some spacers to fix the problem. We also configured the firmware. We called it a night early this time at about 10:00pm.
All that really needed to be done was to setup the limit switch actuators to level the bed and enter the Z height information into the firmware and Repetier Host.
The first test was a simple calibration cube and printed perfectly. The part stuck tight to the tape and was a little tricky to get off the bed.
Everyone kept saying the printer looked inverted so we tried flipping the printer upside down while it printed. It finished the print without any problems. You could see a little line in the layering where we flipped it but both sides of the line looked perfect.
OK, that’s a lie. This is a 3D printing themed longboard. The project started by wanting to do something artistic with the Open Source Hardware logo. I stumbled across the Prusa tattoo as I was researching the logo.
The tattoo is the OSHW logo with a simulated 3D printing hexagonal infill. The tattoo is fantastic looking, but I really did not want to just rip an existing design, even though I’ll bet it is open source.
I played with some ideas and thought it would look cool to make the lines look more like filament by giving them some height off the surface. I kicked around a lot of materials from paracord to thick wires, to actual 3mm filament. I finally decided to use rubber oring cord stock. It would be a low cost, practical material and also be durable with a nice feel under the feet. As I played with that, it hit me that I should switch concepts and make it look like the whole board was printed. The OSHW logo was a little complex to work in the new design, so I switched to the simpler reprap teardrop logo.
I start by loading some really ludicrously large values into Slic3r, like a 4mm nozzle diameter and giant work envelope. It actually did not mind and sliced the long board up like it was ready to print it. I snipped out one of the inner layers from the G-code and loaded it into a CAD program. I had to manually make a lot of changes for aesthetic and practical purposes. The oring was going to lay into a groove cut with a ball end mill. To look best, the number free ends needed to be reduced and I needed to add a reasonable bend radius to the corners. I really wanted to do a hex infill pattern, but there was just not enough space on the board to do a good job of it, especially around the logo. The logo was printed about 4mm thick in bright green ABS.
Here is the process I followed
Cut the blank on aa CNC router out of 18mm baltic birch
Pocketed holes for inserts for the truck mounting screws on the back (I did not want them to show on the top)
Rounded the edges with a 1/4″ radius bit on a manual router table.
Finished with several coats of water based semi gloss varnish.
Cut a pocket for the printed logo using a 1/8″ bit.
Cut the grooves for the oring with a 9/64 (0.141) ball end mill.
Glued in the oring using super glue. For some areas I pretreated the oring with accelerator.
Installed the oring.
What I learned
I normally use spare varnish for a job like this, but I had to do all the coating inside and had limited time. Oil based spare varnish cuts cleanly on the router. The water based stuff did not cut cleanly and needed about an hour of manual cleanup arfter.
I would get a needle tip for the glue. A tiny bead down the center of the groove would have been best.
This is the Delta ORD Bot. Just like the original ORD Bot, this was done in a crazy short design, fabrication build cycle to have something to bring to ORD Camp this year. The only way I could pull that off is through the people before me that have paved the way.
Help helpful advice from my forum friends on my buildlog as I went along.
This is purely a project for my own enjoyment and as another demo use of Makerslide. This was a clean sheet design. All of the pieces were custom designed and fabricated for this project. I really wanted a clean look to it, so I planned way ahead for all the wiring. I went back and forth a few times on whether to put the electronics on the top or bottom. I decided on the top top and am happy with the decision. It was really easy to work on with the top plate removed.
I started with three linear actuators made with MakerSlide. The motors are mounted on blocks with integral limit switches. The wiring is done inside the blocks and exit a hole that is hidden in the final installation.
The linkages use stock hobby ball ends from Dubro. The rods are carbon fiber tubing. They are adjustable, but they were assembled on a build fixture to insure they are all exactly the same length.
The linear actuators were mounted to a CNC routed piece of 18mm Baltic Birch. The four point mount made it easy to adjust the angle of them.
The electronics (Except LCD) were all mounted to the middle plate. This is what I used.
Azteeg X3 (does everything I need and is the coolest looking controller)
12V 30A switching power supply from eBay
ViKi LCD and control panel.
Anywhere a cable or wire had to go from top to bottom, it went inside the MakeSlide. Any exposed wires like ones to the hot end or filament drive stepper were decoratively sheathed. The wiring on the plate was covered by a piece of black acrylic.
The base is made out of 18mm Baltic Birch. The hot bed is a custom 1/4″ thick 6061 plate with power resistors. It takes about 8 minutes to reach 90C due to the mass of the aluminum. It also takes forever to cool down, so you need to be careful removing prints.
It will be replaced with a round PCB style bed when that is available. There are screw on rubber feet underneath set in from the edge to give it a floating look.
To keep the weight of the end effector as light as possible I went with a custom designed Bowden style extruder.
Hot End – I used the heater block, nozzle, cartridge heater and tube for a QU-BD extruder. The parts were mounted to a CPU heatsink, which is cooled by a small 30mm fan. The cables were run to the top inside a mess wire cover. The high current heater circuit was run on super soft and wire strand count 16AWG test lead wire.
Drive End. I used the motor from a QU-BD extruder and an MK7 drive gear. It is connected to the system on a 4 pin microphone connector. The mate is mounted to one of the MakerSlides and has a hidden hole drilled to pass up the center channel.
Tube – The tubing is 1/4″ O.D. Teflon tubing. The fittings are super light, Delrin quick release fittings.
Spool Holder. I mounted the drive end on top of my existing filament cartridge. This was a quick and easy solution, but also provided a near perfect position, length and bend for the tubing leading between the drive and hot end.
Firmware – I am running the development version of Repetier. I have also run the customized version of Marlin, but I found Repetier a little easier to work with.
At the monthly DIY CNC night at PS:One some people were complaining about the CNC Toolchains they were using with their ShapeOkos. I decided to write a blog post on the process of hacking or tweaking your CNC toolchain.
A toolchain is the series software programs you use to get a completed product. I will use CNC routing as an example throughout this post, but other digital fabrication processes have their own toolchains and can be tweaked using the same process. My toolchain goal was to be able to use my commercial CAM programs, use a state of the art machine controller like Marlin and have a nice GUI interface, like PrintRun.
The purpose of this post is to show how to hack a toolchain. I am not suggesting that any of these programs are better than any other programs. This just shows you the steps typically done to tweak your existing toolchain. Here is a typical CNC routing toolchain.
CAD – This is the software where you draw or model your part. For the ShapeOko that would typically be a 2D vector drawing. AutoCAD, InkScape, CorelDRAW are typical programs I use. The only requirement is that it exports to a format that the next link in the chain can handle. Most people export in DFX format, but SVG, AI, EPS are also popular.
CAM – This is where you determine how the item will be machined. For example: Cut this shape with a 3mm bit to a depth of 2mm in one clockwise path. This then outputs machine code that the machine to cut. It is usually G-Code. I use programs from Vectric, like Cut2D, V-Carve and Aspire.
Machine Interface – This is the software that lets your computer talk to the CNC machnie. It could be a simple as a text prompt like GRBL uses or a GUI like PrintRun.
Machine Controller – This is the software that runs on the machine. In this case it is software that runs on an Arduino. If you use EMC2 or Mach3, the machine controller and machine interface are typically the same program.
With the ShapeOko, most people are using GRBL. (Garble? Gerbil?). I have not hacked GRBL in a while, but last time I looked, it did not compile straight from the Arduino IDE and the pace of new versions was slower than some other controller projects. The pace of development and new features in the 3D printer area appears to be faster and Marlin is very popular right now.
Programs like Marlin are well commented easy to modify, but if you hack the actual code, you will need to re-hack it every time a new version comes out. My goal was to only touch the configuration file. That way upgrading to the latest version is very easy.
I don’t own a ShapeOko, so I used my ORD Bot to simulate a CNC router. This ORD Bot was using a RAMPS 1.4 controller. It already had the three axes and I attached a simple 12V fan to simulate a spindle.
Since Marlin is a 3D printer controller, spindle control is not included, so you need to find a work around. All of the M and G codes implemented by the software can be found in the main Marlin.pde file. For a good reference on G-Codes, check out my G Code commentor page. It will show you the meaning of most codes.
The typical spindle control codes are M03 for on and M05 for off. Neither of these are present in Marlin, but the cooling fan controls (M106 and M107) looked like they would work well. I could have simply added the M03,M05 codes into Marlin, but that would create a customized version, which is what I wanted to avoid. I did the M03/M05 to M106/M107 swap in the post processor.
The fan in Marlin can also be speed controlled which is a cool feature for a spindle. The RAMPS board has many options to hook up a fan, but I chose to use the D9 connection because it is 12V and can drive 5amps which would be perfect for a relay to run a dremel tool. BTW: Don’t try PWM speed control through a mechanical relay
With this method I only needed to modify one line in my Marlin configuration.h file. The motherboard type needs to be 33 so that D9 is used for a fan and not a second extruder. That is it for Marlin…compile and upload.
#define MOTHERBOARD 33
The CAM software still wants to send M03 to turn on the spindle. That needs to change to the fan control codes. No two CNC machines are exactly the same, so CAM programs use a file called a post processor to tweak the G-Code that is produced. The post processor file tells the CAM software what flavor of G-code to use for each operation. There is no standardized format for post processor files. They are unique to each CAM program, but they are pretty easy to figure out and most CAM programs have a guide on how to use them. I use CAM programs from Vectric and their guide to editing a post processor is here.
This is how the header section of my Marlin post processor looks. The stuff in the quotes what is outputed. This is the how each G-Code file will start. The lines starting with “;” are just comments about the file and are ignored by Marlin. The items in square brackets are variables supplied by the CAM program. The first line of G-Code starts with G90. I have added comments to each line. The line M106 is where the fan (spindle) turns on. The [S] variable sets the PWM speed. It comes from the speed you set when you create the toolpath in the CAM software. If you don’t supply this it will run full speed or if you supply it, it should be 0-255 for 0 to full speed. I would change the line to “M106 ; turn on spindle full speed” if you were using a relay and did not have speed control.
“; [TP_FILENAME] “ “; File created: [DATE] – [TIME]“ “; for Marlin by Bart” “; Material Size” “; X= [XLENGTH], Y= [YLENGTH], Z= [ZLENGTH];” “G90 ; Absolute mode” “G21 ; Use millimeter mode” “G01 [ZH] ; go to z rapid height” “M106 [S]; turn on spindle” “G04 S3; dwell/wait for spindle to reach speed” “G01 [XH] [YH] [F] ; Go to XY home”
This is the G-Code that will result. In this case I have my spindle speed set for 60.
; Profile 3
; File created: Friday, August 10, 2012 – 11:42 AM
; for Marlin by Bart
; Material Size
; X= 100.000, Y= 100.000, Z= 10.000;
G90 ; Absolute mode
G21 ; Use millimeter mode
G01 Z20.000 ; go to z rapid height
M106 S60; turn on spindle
G04 S3; dwell/wait for spindle to reach speed
G01 X0.000 Y0.000 F1800.0 ; Go to XY home
Here are some screen shots from my CAM program. I made 2 toolpaths. The first is a square with the spindle set to a speed of 60. The second is a circle with a ramping plunge move and a speed of 255.
This is the GUI interface you will have with the machine controller using PrintRun. You will have to ignore the heater controls, but the interface is nice for jogging and you can see the macro buttons I have added to limit manual typing. BTW: The other neat trick about this hack is you could quickly attach a 3D print head to the ShapeOko and print without any changes to the controller or controller software.
Here is a video of the ORD Bot standing in for a CNC router. Here are the sequence of events.
Spindle (fan) turns on at speed 60
It waits 3 seconds for the spindle to reach speed.
The Z drops down to the rapid movement height from the safe Z height (start)
It plunges into the material.
It cuts the square.
It goes up to the rapid Z height and moves to the XY start of the circle.
Here is a new alternative method to mount the MakerSlide V wheels. These are eccentric nuts rather than spacers. They can be used to mount wheels very close to the plate. The closer you are to the plate, the stiffer the carriage assembly is. They are intended to be mounted on the back side of the carriage rather than as a spacer, but they can still be used as a spacer/nut if you like. The nut is thread for a 5mm x 0.8 screw.
Here is a wheel mounted only 1mm away from the carriage using a shim washer.
One of the worst jobs with the 2.x Open Source laser is the hardware kit. I hate counting out all the parts. Some of the part counts are like 150+. The MakerSlide reward kits have a lot of parts too for the wheels and spacers, etc.
I finally decided to get a part counting scale. Essentially what this scale does is weight things in part weight units. The scale has a resolution of 0.0001 lb. It can only weight up to 3.3lbs, but that is fine for what I do. You can get higher rated scales, but the resolution goes down. When weighing light things like nylon spacers, you need the resolution.
First you zero the scale with the container you want to use, then you go through a calibration routine. The scale tells you how many parts to load. It has a few options for this, but I generally use the 10 piece count. You then load the 10 pieces in and tell it when you are done. It then tells you if the scale has enough resolution to do the job with a “PASS” message.
You can then dump parts in and it tells you how many are in the container. You actually get quite good at estimating hand fulls, so you get quite close with the initial toss. You then know how many more you need.