RUG/Pennsylvania/State College/Software/Parts/Pen Plotter
Sharpie Pen Plotter
In the quest to get RepRap to be able to print more and more of its own parts, we are attempting to be able to draw circuit board traces with a sharpie based pen plotter in order to later etch the boards. This would save lots of money as we would no longer need to buy expensive PCB (printed circuit boards) and instead could print then etch our own.
A substrate with a copper top layer is drawn on and placed in acid to etch away the copper not drawn over thus creating your traces. This page does a great job explaining in depth how to print your own PCBs: 
Current generation (1.4) RAMPs boards cannot be easily etched at home but version 1.25 or lower can using utilmachine's instructions.
We are currently using a slight modification of Cad.py (located on the linux box) rewritten by SCRUG members called cadRto generate gcode for drawing. Cad.py can also be used to generate trace plots (see utilmachine's instructions) and along with the Sharpie pen plotter we could can draw traces on a piece of copper and etch away the non-trace material. We currently are using the flexy shaft holder to hold a enclosure for a sharpie that allows the tip to be resistively compressed. Printing the pen mount from utilmachine tutorial was not trivial with the top half bridging very poorly (not at all) and the treadings not lining up well between the bottom and the top portion we ended up with.
In order to use cadz.py (The z-height changing (vs solenoid use)) version of cad.py is run via terminal by calling it using python. For example if you have cadz.py on the desktop:
$ cd ~/Desktop
$ python cadz.py
- Open your picture.
- Click "cam"
- Select gcode as save type (a new section will show up)
All x,y,z measurements are referenced from (in. per unit). Using 1 as a value gives .1 inches per unit step and for metric we use 25.4 so that each step is 1cm and this makes for easy sizing.
- Modify your x,y widths (Z settings don't matter since the second script modifies them)
- Intensity min/max is how the draw paths are determined. These should be modified if you are not using a solely black and white image and in general reducing intensity max from 255 to (150-200) gets you better lines though this results vary.
- tool diameter (in inches no matter what) is good at 0.01 for a pen.
- tool overlap (a ratio) seems to be good a 0.1
- contours (fill) 1 gives an outline while -1 attempts to fill regions (time consuming)
You can increase the tool diameter and tool overlap to achieve partial fill (think of a bullseye)
Changing other settings might help though we have not had experience. (try out and report results?)
To remedy some problems with the cadz.py gcode a script (z_fix.py) is used. mendelize.py was the inspiration though it did not run for us.
- Z feed rate is reduced to achieve smooth movement on the (pre ramps)
- Z movement is sperated for X,Y movement to remove unwanted travel-based lines
- Certain commands not recognized by pronterface are removed
rehost this run with:
$ python z_fix.py input_filename output_filename
To be done:
- Printer freezes after because of checksum issue on a (unknown) command. Just disconnect and reconnect and rasie Z prior to any other movement. We should isolate this and add removal to z_fix.
- We can get the source for cad.py so we could add change what needs to be changed and simplify the gcode creation process.
Universal Pen Holder for Mendel
This is a set of files for a Universal Pen Holder made to be mounted on a Mendel Unit. As it is currently designed, you would also need a 6/32 threaded rod and at least 4 nuts of the same type. You also need 6 screws that will be threaded into the holes in the hexagon shaped parts. These screws are used to hold the pen in place, use whatever screws can screw snugly into the holes.
Solidworks Part Files