Thursday, June 5, 2014

Delta Star Arm Carriages

The arm carriages for linear motion of the Delta Star visited many different branches in its evolution.

Legacy Kossel Rollers

The first approach was the system of the legacy Kossel design of Johann C. Rocholl. The rollers were two printed halves each with three 623 bearings. The halves were connected with long M3 screws which could be tightened to firmly close the halves around the aluminum extrusion. The only contact with the extrusion were the bearings which acted as wheels to roll them up and down the extrusion. I liked this design as it used very easily sourced parts and let the aluminum extrusion act as both the frame and rail for linear motion. The system is driven by spools attached to the stepper motors and wound with fishing line attached to the rollers. For this design, I took the additional step of making shrink wrap "tires" for the 623 bearings using the largest wire shrink wrap I had. This helped reduce the wear of the steel bearings on the aluminum extrusion.

V Bearing Rollers With Encased Line

While the kossel rollers worked adequately, I wanted to see if I could improve on the stability of the rollers and do something about the positioning of the filament lines which had the potential to entangle the effector if it got too close to the perimeter of the print area. I designed some carriages that would use 623 VV bearings to capture the ridge of the aluminum extrusion with the V-groove of the bearing. A center plate acted as a filament guide to keep the filament in the center channel of the OpenBeam. The two carriage halves were connected through the plate with longer M3 screws. These could be adjusted to control tension of the bearings on the top outer channels of the OpenBeam.
I was pleased with the performance of these carriage. The amount of plastic and hardware was reduced a bit from the previous Kossel rollers. The tricky part of working was these carriages was adjusting the tension of the two connecting screws to make sure it was tight enough to prevent wobble when in use and loose enough that they do not overcome the torque of the steppers motors driving them.

Printed One Piece Sliders

The next approach was printing sliders which would directly travel on the OpenBeam with no bearings. This would remove a lot of bearings from the design. The first slider was a single piece I created in OpenSCAD that was simply a hole for the OpenBeam and a mount for the Delta arms. I threaded the drive filament through a hole in the center of the front face. The filament is pulled through and tied off. To tension the line, I simple slid an M3 screw through the filament loop and twisted it. I was very pleased with the performance of the printed sliders. Philosophically, it removes a lot of hardware and makes the printer that much more replicatable. These were also very quiet. The drawback of this design was the precision necessary to get them to perform well. Too tight and the stepper motors cannot get them moving on the OpenBeam. Too loose and they can start to bind and stall on the beam when the lateral motion of the arms tilts them and creates too much friction. Additionally, this single piece design made it very difficult to replace them. One end of the OpenBeam needs to be completely cleared to get the slider off. In my cycles of constantly trying new ideas, this was a big drawback.

Function Plates on Printed Slider

I first went about addressing the last drawback of the previous design by making modular function plates for the front and back of the slider. The design is similar to the once piece slider with the addition of mounting holes through the sides. This allowed adding an arm mount plate. Additionally, I began experimenting with a ratchet mechanism for dealing with line tension a little more elegantly. This first ratchet took each end of the drive filament in and they were tied into a loop. An M3 screw, again, twisted the loop and the ratchet catches the screw to maintain tension. This design still had the problem of the performance of the slider was dependent on getting a perfect print of the slider block.

Multipart Printed Slider

Next up was addressing the difficulty in tensioning and mounting the printed slider. The center block was broken up into four pieces. These all came together with the same four M3 screws that mounted the function plates in the previous design. This slider could be mounted to the OpenBeam without clearing one of the ends. Additionally, tension could be adjusted at least in the front to back axis by tightening or loosening the mounting screws. The four piece slider was also an easier print in that they could all be printed with the broad flat part of the piece laying on the print bed. This led to far better results when printing the tiny rails that go into the groove on the OpenBeam. This new design used the same function plates from the previous design. Addressing the easy mounting and removal of the sliders from the rail has been very helpful in reducing the amount of time and frustration involved with the iterative experimentation that accompanies designing these parts. This was also important in that the affect of wear on the printed sliders is still unknown with this design. These may need to be replaced occasionally so ease of access to these parts will also be helpful in this regard.

Conclusion

The new design is working well and is available on thingiverse. I will do a write up on the ratchet mechanism for line tensioning when I cover the other changes in the drive system.

Wednesday, May 14, 2014

Delta Star Diagonal Rods

I wanted to avoid getting some very specific joints, magnets, or carbon fiber rods so I explored printing rods and joints for the Delta Star. I have not tried any of the non-printed common approaches to diagonal rods, but I suspect they are awesome. Many are using the Traxxas universal joints or rare earth ball magnets with carbon fiber rods. They are probably very light, very rigid, and very precise. They are not, however, cheap and printable which are two of the goals of the Delta Star

Printed Joints and Dowel Rods

My first rods used the existing designs for printed universal joints with wooden dowels for the rod itself. I believe these are from some of original Rostock designs. I happened to have some appropriate sized dowels around (I like to make knitting needles out of them) so this was a good fit. I printed the rod ends and universal joints using the old cartesian printer and cut the dowels to the same length. Initially the fit was perfect and I just push fit the dowels into the rod ends and there was sufficient friction to keep them oriented and attached. 
I then used M3 screws in the universal joints. I used a drill through one axis of the universal joint to allow it to rotate around the M3 shaft and used a tap to put threads on the other axis to use two small M3 screws to create a two part axle. I later learned this is not the best approach, but it was good enough.

Printed Joints and Printed Rod Segments

I initially tried printing full rods and half rods but was having some warping and bowing problems. I decided to print the rods in smaller segments. My final attempt with this approach ended up with exploiting the segments to double as the forked rod end for connection to the joint.

Printed Joint Dependency on Threading

While the rod and joint designs worked, they had a number of shortcomings. First, it was difficult to get a very firm joint that did not wobble in use. Second, the tiny M3 screws holding the rod to the joint depend on the joint being threaded and the threads holding the screw in. This also leads to them often loosening themselves after extended use. I looked around on the internet and realized I was using the printed joints incorrectly. I looked closer at RichRap's Rostock build which used printed joints. This approach is actually using captured nuts to hold an M3 screw fixed with the joint able to float with no threading necessary. Another M3 can then go through the rod end and middle of the joint for the other axis. This obviously solves all the shortcomings of how I had implemented the printed joints. The problem now was that this would take a lot of work to switch to this because my use of the rods depended on the space efficiency of how I put together the joints. Rather than redesign my effector platform and carriages, I decided to redesign the joints and rods.
I created a wide fork for the rod end so that I could directly embed small M3 screws into the rod. This solved the problem of holding the screw fixed to create a split axle the joint could revolve around. The problem is this design would not allow inserting the screw with the joint in place and the screw is not reliably fixed in place. This could be solved by embedding a nut into the fork and screwing the M3 through the fork and nut, but this would add even more width to the fork. Instead, I designed the joint to split so that it could capture the embedded screws.
This image is of an older version of the joint, but the concept is the same. The screw goes through the two halves of the joint. This screw works as both the second axle and holds the two halves firmly together. I use a locknut to hold the entire joint together and the remaining part of the bolt can be used for mounting onto the carriage or effector.
I am very pleased with the performance of the new joint. There is no dependency on threading of the joint. The joint holds firmly together and the single piece fork keeps everything together with no wobble. The biggest shortcoming is depending on a very precise print of the fork. The recess for the M3 screw head should be very tight. Slight variations led to a crack forming in some of the screw head holders when I pressed the screw head in with pliers. They work fine, but it does not seem reliable in the long term. I will probably have to reprint some of the rods.

Future Rods

My next set of rods will have a little different design. I'd like to help with the rigidity of the rods and eventually trim away to get the rods lighter. Additionally I would like to be able to firmly connect the two rod ends with one screw using additional plastic to ensure no rotation about the screw.

Tuesday, May 13, 2014

Delta Star 3D Printer

Disclaimer: I plan on having monetized links throughout these documents to help fund more work with this printer design.

A friend started building a 3d printer a number of years ago and eventually it went into the dustbin of half started projects. When he moved, he dropped the half-printer off at my house. Last year, I decided to pick the project back up and got the early generation RepRap Mendel working. I found that all of the extra parts I needed had dramatically gone down in price from when the project started. Inspired by this and all of the new work in delta robot 3d printers (I had also seen one of the new style deltas in action at the Atlanta Mini Maker Faire), I decided to make a new printer with the help of the now functional cartesian 3d printer.

The result is the current generation of what I've been calling the Delta Star (design on thingiverse):



Design Goals

  • Low Cost - I wanted to get the price down to under $500. I really wanted something that would be affordable for someone even marginally interested in 3d printing.
  • Minimal unique parts- I wanted to eventually make a lot of these things for people and kits. I figured having a small number of parts would allow me to keep costs down and get better deals buying in bulk.
  • Predominantly 3d printed parts- I believe this allows the greatest flexibility in experimenting with new ideas and making new printers for others.
  • Speed and accuracy were secondary goals for me. The latter might sound funny, but I really just wanted something that would have repeatable performance. I figured shortcomings in these areas could be compensated for with patience and software.

Initial Designs

I combed the Internet with these goals in mind. Two major aspects of the work in delta printers caught my attention: aluminum extrusions and fishing line drive systems. I was especially enamored with the fishing line drive systems. I found the old Mendel design highly dependent on parts that were not as easy to source as I would like. I settled on OpenBeam aluminum extrusions and a fishing line drive system. The OpenBeam choice was driven heavily by the affordable cost and availability on Amazon Prime. I got a set of 6 meters in 2 days from Amazon. 


My build started using Johann C. Rocholl's old design of the kossel. I liked the 623 bearing on OpenBeam design of the rollers. I built the first iteration of the Delta Star using these rollers and some kossel frame designs.

Eventually, I wanted to try some new carriage designs and tried some ideas inspired by the Cerberus Pup. I liked the design but did not want to get involved with the custom wheels associated with it. I eventually landed on using some generic 623VV bearings which are just 623 bearings with V grooves around them. These let me lock onto the OpenBeams as well as use them as pulleys for the fishing line.

This design proved decent, but I was not pleased with the 'slop' introduced if the carriages weren't tuned just right (a testimony to the need the Cerberus Pup found for the custom wheels although I have not tried them). The performance of the carriages I designed led me to a new design with three main contributions:
  • Printed slider carriages which just use 3d printed sliders directly on the OpenBeam
  • Fishing line drive guided directly into the OpenBeam
  • Friction pulley system and winding to keep a consistent tension throughout the entire slider travel

Printed Sliders

Looking for information on directly sliding on the aluminum extrusions led to some discussions with a proof of concept video by Jay Couture showing some printed sliders being driven on a test beam (he gives credit to Bill Plemmons for the original idea).

The benefits of the idea are numerous. First, a well printed slider leads to very little wobble available for the carriage on the beam. All of my bearing based carriages were very finicky about how loose they could get before introducing slop and how tight they could get before introducing too much friction. Additionally, the problem of steel bearings on aluminum extrusions leads to a great amount of wear on the beam. I experimented with wire shrink wrap 'tires' on the bearings. This worked but would exacerbate the above problem of the tightness 'sweet spot'. Additionally, it was a pain to put the tires on the bearings. Second, this approach just removed 9 bearings from the bill of materials which at the budget I was targeting is not insignificant. Finally, the printed bearings are very simple in design and flexibility compared to the older carriages. I eventually settled on a very simple block with an extrusion sized hole in the middle with mounting holes. This allows me to experiment with different accessories on the carriage very easily. That being said, the sliders must be printed very precisely. Too tight and they introduce too much friction. On the too loose side, the wobble doesn't introduce slop as much as it introduces a significant spike in friction when the delta arms are in motion. The slider cants slightly when the arms move laterally making the slider get stuck on the beam.

Fishing Line in The Beam

My first design had the fishing line drive system arranged very much like a belt system would be arranged on a delta. I found this very annoying in that the line was just waiting to foul the arms in motion. I then started experimenting with threading the fishing line directly into the groove of the OpenBeam. This proved a lot harder than I initially though. First, it moved me away from directly driving the line at one end with the stepper motor. I thought this would be no big deal as I would just redirect the line with 623VV pulleys. It turned out that when you get to very intricate routing of the filament line, you start introducing very subtle changes in the fishing line tension. I eventually found a design that kept very strict routing of the line into the groove and up into the carriages.

Friction Pulley System

I initially used a drive system similar to the older kossel design with the motor spool at one end and an idler at the other end. When I started feeding the fishing line into the beam, I ended up routing the lines at the ends with pulleys which then went to a spool away from the vertical beam. These system used a spool system where the filament would actually wind and unwind onto the spool. This system works well but can introduce variations in the length of the filament on the rail which alters tension. This is due to both the path the filament takes feeding onto and off the spool as well as filament overlapping on itself on the spool. I found it problematic to get an ideal tension. Too loose and the carriages take on a vertical slop when changing direction. Too tight and you hit spots where the tension gets high enough to overcome the stepper motors. I eventually moved to a friction drive system which maintains a constant filament length. I came across an interesting proof of concept by Rob Povey for a friction drive system which inspired my current design. This has its own problems in maintaining adequate friction to prevent vertical slop from slipping but helps with maintaining constant tension.

Conclusion

I'm pleased with my current design for this printer and will continue to update this blog with improvements. I'm currently working on a unified cooling system and self leveling calibration. I will also follow up with a number of posts detailing the individual parts. I've greatly benefitted from the 3d Printer community building this printer and I hope to return the favor with these posts. Also, please let me know of any errors in attribution as I very much want to give credit where credit is due.