Tuesday, 17 January 2012

Community

It never ceases to amaze me on the quality, generosity and level of sharing in the RepRap community.

I recently started using Slic3r and was getting fairly good prints, then I discovered RichRap's blog Slic3r is nicer with some excellent posts on how to setup and get the best out of Slic3r.  Excellent, and what's more my prints are now ever better.

That someone took the time to experiment with the various setting, and then made the time to share that information with the rest of the community is what makes Open Source and RepRap in particular a great place to hang out.

Saturday, 7 January 2012

Automated stl creation and slicing.

Kaizen is the Japanese technique of continuous improvement. I.E. Spotting an area in your current process where a small change would make an improvement.

Recently I posted an OpenSCAD / STL file to Thingiverse but did not realise that when being sliced it came up with the dreaded 'your mesh is not manifold' error. To fix this I went back though the OpenSCAD file commenting out an operation and running a Render/Export from OpenSCAD, then running a slice with Slic3r until I found the operation that caused the error.  Each time this involved several clicks of the mouse, selecting in dialog boxes etc.  Eventually I thought there must be a different way.

Looking at the OpenSCAD and Slic3r documentation I realised there was.  Both have a command line option, so I could write a quick script to automate the operation.

The first stumbling block, this is computers there are always stumbling blocks, was that I work on a Mac and to execute either program from a script / command line is a bit cumbersome, so I created a symbolic link for each that made them easily accessible from the command line.
   sudo ln -s /Applications/OpenSCAD.app/Contents/MacOS/OpenSCAD /usr/local/bin/openscad   
and
   sudo ln -s /Applications/Slic3r.app/Contents/MacOS/slic3r /usr/local/bin/slic3r   
Now from a Terminal session I can type openscad or slic3r and the application opens up.

The next thing was to create a shell script that uses those.

In my local work directory I created a file, oss, that contains the following:

   #!/bin/bash   
   openscad -s $1.stl  $1.scad   
   slic3r --load ~/projects/mechanical/Slic3rConfigs/yellow_abs.INI --gcode-arcs $1.stl   

The #!/bin/bash line indicates which shell processor is required.

The $1 represents the first parameter after the script name

The openscad line processes the scad file and outputs an stl file with the same filename, but stl prefix.

The slic3r line loads my standard config file for the ABS filament currently in my Prusa. This will need to be edited when I load a different filament into the machine.

The --gcode-arcs option enables an experimental option in Slic3r that uses G2/G3 codes to draw arcs.  Not all firmwares support this, I use Marlin which does.

Having saved the file I setup another symbolic link to allow oss to be executed from anywhere. So:

   ln -s full_path_to_oss /usr/local/bin/oss   

On my machine the full path is /Users/geoffd/projects/mechanical/oss, you need to use the one for your configuration.

And that's it, now I can switch to the directory containing my scad files, type oss filename, press return and within a few seconds my file has been rendered, exported as stl and sliced for my current setup.  Kaizen in action.

For more details of the available command line options see OpenSCAD and Slic3r under command line usage.

As I said I use a Mac, so these instructions will also work on a Linux machine, but with slightly different source paths for the symbolic links.  On Windows you will need to use a batch file and full paths names.  I haven't used Windows for quite some time and don't have access to a machine that I can try them on.

Happy slicing.



 

Wednesday, 4 January 2012

Prusa Adjustable Z opto Endstop

I have been finding it difficult to adjust the Z axis end stop on my Prusa. I am normally able to get it to the correct ball park, but getting the adjustment of the bed to extruder spacing correct was taking some time. Each time I moved the end stop up or down I would move it too far.

So I came up with this solution.


It consists of two parts, the top plate holds the opto sensor and has a cable tie to hold the wires securely. The bottom plate mounts to the machine and fastens two bolts with spring and nuts to provide tension for the top plate. A bolt with a locking nut is used to move the opto sensor up and down by small amounts.

Full assembly instructions and the OpenScad and STL file can be found here on Thingiverse.

Thursday, 29 December 2011

Second attempt at the PCB

This one came out much better.

I moved two connectors so that they lined up better, then made the signal lines slightly thinner.  This time the board auto-routed without me needing to manually route any lines. I then moved some of the tracks to be horizontal/vertical instead of diagonal, and I moved some of the marginal lines further apart.

When I plotted it only one pad was too close to another, but the SO08 pads still, as expected, merged and will need manual rework with a knife.

Here is the original.


And here is the annotated version.




1. Same as before these two pads should be separate.

2. These two should not be so close.

So the next step is to do that and then etch the board.

Wednesday, 28 December 2011

First PCB Plot.

So today I tried my first plot of a PCB.


Pretty pleased with it. There are some problems, but nothing too show stopping that a rework of the board layout won't cure, except one, and that can be solved by manually retouching the board before etching.



Here is the board as printed.
And here it is with marked with some of the problems.













  1. Tracks touching each other.  Most of these can be solved by making sure the tracks are not so close on the board.
  2. I reran the print to deposit a second layer of ink, but the pen went dry, so scraped the first layer off.  I will try to retouch these with the new pen I need to go and buy.
  3. The diagonal tracks seem the be drawn too thick. It needs further investigation
  4. The pads for the SO08 chips were drawn so that they touched, either I need a finer pen, or I need to retouch these manually.
So overall I am please with the way the first board came out.

Looking at the board as it printed I think I might be able to make the track widths slightly smaller, this would reduce the possibility of two tracks merging.

Tuesday, 27 December 2011

My Prusa experiences

Five years, or so, ago I was trawling the web and found the RepRap site. I was intrigued, the Darwin caught my imagination. However, work, travel and a lack of time meant that it was impractical for me to build one. Every so often I would dip into the site to rekindle my enthusiasm. February 2011 I dipped in again and discovered the Prusa. Mmmm, building one was now an achievable possibility. I visited eBay. Nophead was selling a set of printed Prusa (V1) parts with a Wade extruder at an affordable price, I was hooked.

The printed parts came from Nophead, the basic vitamins came from ThingFarm.org and the electronics, steppers, opto-endstops etc. came from mendel-parts.com.

The assembly was fairly straightforward, I have been building electronic and mechanical devices for years, so no real problems that a little thought, plus some dismantling and rebuilding could not solve.

My big problem was getting host software to communicate with the machine. I use a MacBook and either the software did not work well with a Mac, or it did not work well with the Gen6 electronics.

Eventually I found Pronterface, and it works very well and is constantly being updated.

The other problem I had was getting the machine calibrated. Originally, I started with Skeinforge 41, I got it calibrated fairly well, but was not happy with the consistency of the prints.

When in doubt pay attention to the details!

My original setup used PLA bushings and whilst watching closely I noticed that sometimes the Y axis would wobble up and down as it moved, I also noticed that the extruder nozzle would oscillate from side to side as the carriage moved up and down. Between them it meant that the layers would be uneven and inconsistent.

Once you have a machine that prints something reasonably well you are laughing! Time to use the machine to print modifications for itself.

Stage 1 was to print a new set of Y-Carriage LM8UU bearing holders.

Fitting these sorted the Y-axis wobble.

The next problem was caused by the Z axis drive shaft couplers. When I built the machine I did not understand the reason why the Z drive stepper motors were only taped into position, so I bolted them down. A mistake. A couple of months later one of the Z axis drive couplings snapped. The very helpful and generous nophead sent me a new one.

The reason that the stepper motors should not be bolted down is because the drive coupling does not hold the stepper motor shaft and the Z-drive shaft in perfect alignment, this means that as the motor turns the shaft wobbles. If you bolt the motor down this places the couplings under stress, hence they broke.

On my machine when I removed the bolts and taped the motors down this misalignment was transferred to the lower end of the z-drive shaft which traced out an elliptical orbit as the Z-axis moved up and down, hence the wobble.

I solved this by printing and fitting a Prusa Z Rod Constraint to the bottom end of each Z-axis drive shaft.

Now the machine was starting to print well and consistently.

During this process I designed and printed a mount and fan holder for my Gen6 electronics, the original mount consisted of some cardboard and duct tape.

Along the way Alessandro Ranellucci released Slic3r to the world. Once I started using it I was hooked. It is much easier to setup and use than either Skeinforge or SFact and the prints are just as good, if not better, without a lot of tweaking.

It is very much a work in progress, there are constant updated to it. It is a lot less forgiving with badly created STL files, but Alessandro is constantly improving that, and so far I have not had to drop back to using SF.

Recently Josef Prusa released V2 of his design. Whilst the machine was working well there were a few things that I wanted to change. Occasionally I had problems with my X-carriage tilting. Again I had the original designs PLA bearing, so now I printed the new Frost/Prusa V2 X-carriage that used L8MUU bearings.

When I fitted my original hotend I had to make a plate and fit it in place, not easy to change, and I wanted to be able to take it off to mount my Pen Holder etc. So I printed the new modified Wade extruder too.

I have missed out the testing and trials of various firmware and driver software, but now I have standardised on this tool chain:

OpenSCAD, or Alibre Express, for the design stage.
Slic3r for the slicing.
Pronterface to control the machine.
Marlin Beta for the firmware.

It works well and I am very happy with it.

My next modification will be to add an adjustable Z-axis opto holder. I find that trying to manually move the opto up and down by 0.1mm, or less, is pretty hard, so I have a design created that will allow adjustment using a screw, now to print it and try it out.

Monday, 26 December 2011

Pen Holder for Prusa Version 2


The original Pen holder I printed only had the STL files available on Thingiverse, so I used those as a base for reworking the design in OpenSCAD. Along the way I made a few changes to make using the pen holder easier.

a) Redesigned the top bracket so that there are channels to guide the rubber bands and a loop to hold them captive. Now if there is a balance problem, or when you take the pen out the bracket does not try to orbit the room.

b) Made the holes for the elastic band capture bolts on the top further away from the body, this made it easier to install the elastic bands.

c) Made the bottom tube longer, this should solve my problem of the pen tip being too close to the X-carriage.

d) Turned the top plate to bottom plate mounting holes through 90 degrees and sliced the sides off the circle, this allows me to mount it on my Greg Frost X-Carriage.

The next thing is to actually try to print my redesigned board with it.

The OpenSCAD and STL files are available here Thingiverse Files