Archive for the 'Uncategorized' Category

The Delta Router + 4th Axis

deltarouter

Overview

Every year I make a new thing for ORD Camp.  This year I made a delta router.  The ORD contraptions I make, have one primary function; to spark conversation.  This means they have to be interesting, a little whimsical and a little cool looking.  They are generally rather small for portability and to keep the costs down. Practicality and suitability are way down the list, so go ahead and snark away.  If you do, you are missing the point.

This year there happened to be a session on creativity with constraints.  The question we debated for an hour was, do constraints help or hurt the creative process. Constraints can move you out of your comfort zone and maybe that is a big part of creativity.  The topic was perfect for me because I had intentionally challenged myself with a few constraints on this project.

  • Use non captive stepper motors. Not a lot of people have seen these in use, they are cool to watch and they simplify the design.
  • Limit myself to 3 unique fabicated parts.  People keep thinking deltas are more complicated than .  This was to demonstrate the simplicity.  Go ahead, design a Cartesian machine with only 3 unique fabricated parts.  All other parts had to be commonly available parts.
  • Use stock reprap software.  I could only touch the configuration files.

Design

I met all the constraints except for one.  I designed a common top and bottom bulkhead, but at machining time I decided it was silly to to spend the time to add holes only used on the top to the bottom and the same with the top.  So the four unique fabricated parts are the top, the bottom, the carriages and the end effector.  The top and bottom are 3/4 inch Baltic birch.  The other fabricated parts are 3mm carbon fiber.  All parts were setup and cut in less than 30 minutes on my homemade CNC router.  A 3D STEP of my design is here.

Mechanicals

The vertical rails are MakerSlide.  I used steel V wheels because I had them laying around.  The rest of the mechanical parts are Actobotics parts from Servo City.  I thought they were an awesome discovery and then the next day I saw that Sparkfun started to sell them.  They really worked out great.  My only complaint is that they are imperial thread based parts.  I prefer all metric on my designs.

The non captive stepper motors are really cool.  The thread is a 2 start 8mm trapoidal, so it moves 4mm per rev.  They are quite fast and strong.  I custom ordered them at Robot Digg.  The only drawback is you cannot move them by hand.  You can’t spin the rod or the motor.  In this design they are a little vulnerable too.  If they get banged hard they could bend.

The linkages are Acrobotics heavy duty ball ends attached to some standoffs I got at McMaster.

Electronics

I used some mini arcade style switches for the limit switches.  They are pretty nice snap acting switches, but probably a little less accurate than microswitches.  I chose them because they would be super simple to mount without adding mounting brackets.

redbut

The controller is my favorite reprap controller; the Azteeg X3.

2014-02-09_10-17-20_373

Spindle

The spindle is a brushless DC hobby motor.  It is a Turnigy Trackstar.  The speed controller is a Turnigy Plush 30.  The shaft is 1/8″.  I used a simple shaft coupler to mount the bit.  This added a lot of vibration so the motor could not run at full speed, but that was OK becuase the full speed is close to 30,000 RPM and 550Watts!.  I eventually manually balanced the coupler and it runs a lot smoother now.  I did it by drilling through the existing set screw holes to the other side with a small bit.  I enlarged that hole until it was balanced.

balanced

ttsmn

 

TR-P30A

4th Axis

2014-02-09_11-48-11_382

Later when I got home, I thought it would be cool to add a rotary axis to it.  The challenge was going to be using the extruder motor logic for the rotary axis.  I had this attachment laying around that was bought from eBay a few months ago.  A typical 4 axis machine simply disables one of the axes while using the rotary.  That is not possible with a delta, so all 4 axes need to run at the same time.  It is quite fun to watch.

rotary_attachment

 

It was perfect because it was so small.  It has a 6:1 reduction gear inside.  I made a simple base for it that would allow it to be quickly mounted to the router.

rotary_base

 

Firmware Changes.

The firmware changes to Repetier were pretty simple.  Extruders use millimeters as the feed unit, so I just converted that to degrees.  The motor is 200 steps/rev with 16x microstepping plus 6: 1 gear reduction.  This yielded 53.333 steps per degree.   I changed the safe extruding temperature to a very low value and then just wired a 100k resistor across the thermistor pins so it read a constant value above the safe temperature.

 CAM Software

I don’t have any high end CAM software that does anything really cool on a rotary.  I did have an evaluation copy of DeskProto, but that timed out.  I did have Vectric V Carve that does have a wrapped rotary feature.  That would be good enough to do my Hello World project.  I had to write a post processor for it.  I basically hacked the Mach3 wrapped rotary post processor.  I had to make it really simple and tell it convert “A” moves to “E” moves.  There were a couple other changes too. The post processor is here.

hellopath

Changes and Issues

  • I really need a tail stock to support the stock and help set up the job level.

tailstock

  • The feed rate on rotary axes are tricky because millimeters per minute is quite different than degrees per minute and there is no way to deal with that in GCode.  The actual feed rate through the material depends on the radius (Z).  Programs like Mach3 can compensate for it.   I could really hack the firmware or maybe write a post post processor to compensate the speed based on the Z.
  • I need to get some real software to some interesting carving with this thing.

hs

First Job Video

Go Deltas!

 

vld

 

 

RepRap Brushless DC Spindle Control

I need a tiny spindle for a CNC Build Club project I am working on.  I decided to use a Brushless DC  Hobby motor.  These motors have a huge amount of power for their size and cost.   I want the machine to be able to turn the spindle on and set the speed via GCode so I spent some time testing this out.

You need to power these motor with special 3 phase controller.  These are typically controlled like a hobby servo, so the interface is a little different than a typical spindle motor.  The machine is going to be a delta type machine, so I will be using RepRap firmware.  Marlin was selected over Repetier because it has built in servo control.

Part Used

The motor is a Turnigy Track Star motor.  I like it because it is sealed and air cooled and it is 550W.  That is over 2/3hp.

ttsmn

This is the Brushless Electronic Speed Control (BESC) I used.  It is a Turnigy Plush 30A.  It has a battery eliminator circuit, which is basically a 5V output to eliminate the need for a battery for the RF receiver and servos.  This is the thin red wire on the 3 wire connector.  This should not be used because the Arduino has it’s own 5V supply.

TR-P30A

 

The controller I used is an Azteeg X3.

800px-Azteeg_x3

 Hobby Servo PWM

Hobby servos use pulse width to control the position of the servo.  You basically use a pulse from about 1ms (off) to 2ms (full speed) to control the servo.  This must be repeated about every 20ms.

untitled

 

The BESC has a safety feature where you must turn it on in a special sequence.  You must set the pulse length to minumum (1ms), turn on the motor power supply, wait until you hear the startup beeps, then a few more beeps which tell you the count of batteries connected.  You can then vary the pulse length to control the speed.

Basic Arduino Control.

schm1

schm2

The first thing I worked on was basic manual control using an Arduino.  I started with the “Servo…Knob” example that comes the Arduino IDE.  I modified it a bit to match the pins I was using.  It reads the voltage on a potentiometer and uses the value to set the pulse length.  The sequence was, turn the knob to the minimum, turn on the power supply, wait for the startup beeps, then use the pot to control the speed.  At first it did not work.  I looked at the servo library code and found it used 540 microseconds for the minimum pulse and 2400 microseconds for the maximum pulse length.  I switched from myservo.write(val) to myservo.writeMicroseconds(val) to use the actual time values and it worked.

Here is the code.

// based on the servo...knob example.
#include <Servo.h> 

// define the min and max because the servo library has a wider range 
#define MIN_PULSE 1000
#define MAX_PULSE 2000

Servo myservo; // create servo object to control a servo 

int potpin = 0; // analog pin used to connect the pot
int val; // variable to read the value from the analog pin 

void setup() 
{ 
 Serial.begin(9600); 
 myservo.attach(3); // attaches the servo on pin 3

} 

void loop() 
{ 
 val = analogRead(potpin); // reads potentiometer (value between 0 and 1023) 
 val = map(val, 0, 1023, MIN_PULSE, MAX_PULSE); // scale between 1ms and 2ms
 Serial.println(val); // show the values
 myservo.writeMicroseconds(val); // sets the servo using microseconds 
 delay(20); // wait a bit
}

Automatic Startup Using Arduino

The next step was to try semi-automate the startup sequence.  In the previous step, I found that holding the pulse to the minimum length for about 4 seconds was long enough.  This code would test that.  After startup the Arduino output the minimum pulse, lit an LED as a signal to turn on the power supply, then wait for 4 seconds.

// based on the servo...knob example.
#include <Servo.h> 

// define the min and max because the servo library has a wider range 
#define MIN_PULSE 1000
#define MAX_PULSE 2000

Servo myservo; // create servo object to control a servo 

int potpin = 0; // analog pin used to connect the potentiometer
int val; // variable to read the value from the analog pin 
int led = 13; // led pin

void setup() 
{ 
 pinMode (led, OUTPUT);

 myservo.attach(3); // attaches the servo on pin 3 to the servo object
 delay(1000); // wait a bit for the human to get ready

 myservo.writeMicroseconds(MIN_PULSE); // go to the low end
 digitalWrite(led, HIGH); // signal p/s turn on
 delay(4000); // wait a bit
 digitalWrite(led, LOW); // ok to control with pot
} 

void loop() 
{ 
 val = analogRead(potpin); 
 val = map(val, 0, 1023, MIN_PULSE, MAX_PULSE); 
 myservo.writeMicroseconds(val);
}

RepRap Control

schm3

The plan was to use the servo control feature to adjust the speed and the heater control circuit to control the power. Here are the changes I had to make to Marlin. Search for these lines in the files indicated and change them.

Overview: The temp sensors are all disabled.  You need to remove HEATER_BED_PIN from the array of SENSITIVE_PINS or the M42 command will ignore it.  Setup what pin you want for the servo output.  I changed the default pulses to comply with what the BESC wanted.

in file configuration.h
#define MOTHERBOARD 67  //azteeg X3
#define TEMP_SENSOR_0 0
#define TEMP_SENSOR_1 0
#define TEMP_SENSOR_2 0
#define TEMP_SENSOR_BED 0
NUM_SERVOS = 1
in file pins.h
#define SERVO0_PIN         31
remove HEATER_BED_PIN, from SENSITIVE_PINS
in file servo.h
#define MIN_PULSE_WIDTH 1000 // the shortest pulse sent to a servo
#define MAX_PULSE_WIDTH 2000 // the longest pulse sent to a servo
#define DEFAULT_PULSE_WIDTH 1000 // default pulse width

I used Repetier host to talk to the controller.   Here is the GCode I used to test.  It runs the motor for 10 seconds.

; set speed to zero
M280 P0 S0
; power up speed controller
M42 P8 S254
; wait for startup tones
G4 P4000
; go to full speed
M280 P0 S180
; run for 10 secs
G4 P10000
; turn speed to 0
M280 P0 S0
; turn off power
M42 P8 S0

Problems

It turns out I was not able to get the bed heater circuit to directly control the power to the BESC.  The bed heater circuit switches the ground side of the the circuit and the positive voltage is always present.  The controller would not turn off.  It was using the servo ground wire, which is probably not rated for that.  I had to find a way to switch the positive voltage.

Solution

The easiest way to do this was with a relay.  I wired an automotive relay to the bed circuit.  I put a flyback diode across the relay to protect the bed heater circuit.  It all works perfectly now.

Update

12-/27/2013 I tried hooking both grounds to the heater power circuit and it pulled ground from the servo signal pin.  That can’t be good for the BESC or the CPU, so back the the ugly relay.

 

Camera Slider Controller Shield

10192157716_b6f884e496_o

 

Here is a quick post of a camera slider controller shield I have been working as a part time project over the past few weeks.  It is basically a simple Arduino shield with all the inputs and outputs that a camera slider needs.  I have some simple free firmware for it that does all the basic camera slider features, but it is very hackable to add new features.  It has a lot of extra digital and analog I/O brought out to a connector.  Here is the basic feature list.

  •  Hardware interrupt based motion for super smooth acceleration and motion.
  •  Hardware settable microstepping via jumpers
  • Adjustable speed and acceleration for each move
  • 2 line LCD menu interface with adjustable backlighting.
  • Can store a multi-line control profile in eeprom to run later
  • The shield supports controlling the camera focus and shutter (just about any modern DSLR)
  • Previous setting are stored in memory and will be reloaded at power on.
  • Motor can be disabled so the carriage can be manually moved.
  • Output for 2 hobby servos (pan and tilt?)

Here is the source code Cs Test File

SONY DSC

 

csc4

 

 Watch a demo video

Camera Slider Controller Hack

csc4

I have been having fun with my camera slider controller.  It is a cool, little, general purpose motion and camera controller that will soon to go on sale at Inventables. Taking a picture is very easy.  You just plug the camera into it and run the takePicture() function.  It has a lot of spare I/O pins that can be used for some cool hacks.

I always thought it would be cool to take a time lapse movie of a 3D print, but do it exactly one layer per frame and have the picture be taken at the exact same location every time so the print appears to grow out of thin air.  I know people have done this before, and I could probably hack the circuit right onto the printer controller, but camera slider controller was ready to go with the circuit and connectors all ready to go.  With less than ten minutes of coding and making a cable, I was ready to go.

GCode Hacking

The first task was hacking the GCode to output a a signal I could read remotely.  Kisslicer has a feature where you can add a few lines of Gcode every “N” layers.  I added the following GCode.  Note the “1″ in the layers box.  This means do it every layer.

 

kiss

 

G1 X0 Y0 means move to 0,0

G4 P500 means dwell for 500 milliseconds.  This was added because the next command was happening before the move completed.  I think this has to do with the way commands are buffered.  I think there is a more elegant fix for this, but adding a little delay here was a quick fix.

M42 P11 S255 means set I/O pin 11 to full on (255  is max).  Pin 11 is the first of the “servo” pins on my RAMPS controller.  This three pin connector would map directly to the servo connector on the camera controller.

G4 P1000 is a 1 second delay.  I had my DSLR on “auto” so it would need to focus for each shot, so I gave a little extra time.

M42 P11 S0 turns pin 11 off.

I ran a few test layers with my volt meter hooked up to the connector and it looked great.

Camera Slider Controller Hacking

The controller has 2 servo connectors that are intended to be used for hobby servos in a pan and tilt arrangement.  The signal pin on the connector can also be used as and input.  The code is simply going to watch for that pin to go high.  When it does it will display the next layer number and take the picture

 

Arduino Code

In the setup() section you need to make the PIN_SERVO_1 pin an input because that is connected to the printer controller.

pinMode(PIN_SERVO_1, INPUT);

The loop() section looks for the PIN_SERVO_1 pin to go high. When it does the layer number is incrememented the picture is taken and the LCD is updated. The camSignalRead flag is set so we don’t go read the same pulse more than once. The flag is cleared as soon as the signal

void loop() {

   if (digitalRead(PIN_SERVO_1) == HIGH) {
     if (!camSignalRead) { // make sure we read once per pulse
       camSignalRead = true; // 
       layerNumber++;

       lcd.cursorTo(2, 0);
       sprintf(sVal, "Layer %d", layerNumber);
       lcd.printIn(sVal);

       takePicture();
     } 

   }
   else {
     camSignalRead = false; //reset this. the pulse is over 
   }

}

Wiring

Simply connect the signal pin (D11) on the servo 1 connector of the printer controller to the signal pin on the servo 1 (J7) connector of the camera slider controller. You also need to connect together a ground pin on each controller.

ramps_servo

 

 

csc2

 

Camera Setup

I setup my DSLR on fully automatic and disabled the flash. I am sure the movie would have been better if I manually focused and locked the speed and aperture settings, but I just wanted a quick result. The controller first sends a focus signal and then a shutter signal. The focus signal acts like the half button push you do to focus most cameras.

The Print

The printing was done on the Quantum Delta printer.  I used my CNC Ninja Squirrel as the test print. It was scaled to 50mm tall. At at 0.25mm layer height, that gave 200 layers. The print took about 45 minutes with the added delays. It was run in a busy room at Pumping Station One so there was a lot of activity in the background and some light level changes.

csc3

 

The Result

Click here if the video is not displayed below.

SONY DSC

Quantum Delta 3D Printer Updates

 Filament Spool Holder

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.

LED Lights

 

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.

Greg’s Trotec Speedy 300

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

Laser Engraving

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

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.

Greg

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.

3D Printer Experience

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.

The Quantum Delta 3D Printer

 

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.

  • Make it smaller than a Tantalus or Up Mini
  • Use as few parts as possible (part count).
  • Use as few unique parts as possible (part type count).
  • Use MakerSlide because….duh.
  • 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.

Meetup 1:

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.

Meetup 2:

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.

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.

Meetup 3:

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.

 

Source Files.

The source files are on Thingiverse and the STEP file is here.

YouTube Video

3D Printed Longboard Deck

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.
  • It has an awesome feel under bare feet.

 

 

The Delta ORD Bot

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.

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.

  Electronics

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.

Base

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.

Extruder

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

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.

Source files

The source files are on the wiki

Future Plans

  • I want to try a double drive end bowden.  I will put a NEMA 14 at the nozzle and a NEMA 17 at the spool end.  This might eliminate bowden issues while still keeping it light.
  • Lighting.  I want to add something to light up the work area.
  • Release the source (soon)
  • I do not plan to sell and kits or parts.  If you want to buy a Delta consider the Rostock Max or this Kickstarter Project.