I'm going to use this page to record my trials and tribulations with getting a RepRap printer working.
- 1 Interesting Parts to print
- 2 August 6th
- 3 July 9th
- 4 July 8th later that same day
- 5 July 8th 12:59 am
- 6 July 8th 12:10 am
- 7 July 7th
- 8 July 1st
Interesting Parts to print
z-axis support to improve prints.
Adjustble z endstop http://www.thingiverse.com/thing:11341
I have one of these fitted to my printer (the first useful thing that I printed and I love it). Getting the bed height just right and level is hard and critical. This little upgrade made the process much easier.
Thumb screws to make leveling your bed easier. http://www.thingiverse.com/thing:6599
The instructions are for a maker bot or some such thing. For a pruse just print 4 of the M3NutRossette2 thumbscrews.
Remove the bottom nut from each of the four leveling screws on your bed. Replace it with the M3NutRossette2 and a M3 nut (the nut goes at the bottom). Screw each of the Rosette's on to each leveling screw. Place a drop of glue on to the screw head at the top of the bed. And then re-level your bed. Cominbing this with the Adjustable z endstop makes leveling ridiculously easy.
Calibration efforts continue
I've just change the 'Insert Nozzle diameter' from 0.45 to the correct value of 0.35. SFACT seems to have copies of the same values everywhere :<
My aim today is to find the correct temperature to run the my hot end at. I'm experimenting using the 50mm tower calibration object.
185 - tower looks like a warped 70 sculpture
Determine at what temperature the extruder will stop being able to extrude plastic. Test material - pink PLA. 175 - OK 170 - OK 165 - OK - but extruded filament looks wider - 0.065mm compared with 0.5 160 - OK - width - 0.07 155 - OK - width - 0.0625 150 - OK - but I can hear the hobbed bolt starting to skip. So this is probably too low. 155 - OK - and confirmed that the hobbed bolt isn't skipping.
Test 2 Temperature 175 - Extruder Retraction Speed - 5 mm/s 23% infill
Test 3 Temperature 165 23% infill Failed.
Test 4 Temperature 155 23% infill - failed.
Test 4 Temperature 155 50% infill Somewhat better but the infill is still not working. I think the plastic looks a little too hard for the infill to work.
Test 5 Temperature 155 100% fill starts to become more like a dotted line than a string, and print 5-10c above that
Probably the most successful print so far. Two sides of the tower is upright for about 30mm. The other two sides are almost non-existent. I'm pretty certain the temperature is too low however. The infill is very lumpy.
Test 6 Temp: 160 100% infill
This print definitely looks better than test 5. My back walls is still collapsing. The infill whilst now looking smoother isn't touching the outer walls. This may be a lash issue. I have tighten my belts up which is likely to have reduce my lash. So I'm going to try the same settings with an adjusted lash. Actually I don't have lash turned on in sfact.
Test 7 Temp: 165 100% infill
Interestingly the infill at the lower layers is fine as the tower builds the gap between the infill and the perimeter increases.
The outer walls are definitely smoother and the infill at 15mm is definitely better.
Test 8 Temp: 170 100% infill
Maybe a slight improvement. The back edge is more intact that prior prints but the front and side faces are a bit variable.
Test 9 Temp 175 100% infill
Marginal improvement. I did a test run using the spindel from the filament spool however I'm getting some warpage (more than I 've seen previously). I've increased the temperature of the first layers and the interface layer in sfact to 180 leaving 'next layer' to 175.
October 16 th
Print a fairly large objectx last night (120x90x30). The article was just about perfect except that I got a little bit of warp at two of the corners. I'm think that this may be because I've got my bed temperate up at 95c.
Tested printing the Rosettes at 50c. The stick really well (almost too well) the base at this temperate. I've not retried the above large object yet but I suspect the lower temperature will fix the warp. The lower temp also has the following benefits:
- less power
- faster heatup times.
Tried to print my dolls bed design for my daughter.
The problem was that the two lags at the back of the y-axis were being clipped. I eventually worked out that the print position was off the back of my y - axis soft endstop. sfact has an option to tell it the size of your printable area under the 'Multiply' tab.
So now to calibration. I'm going to try the calibration set by coasterman. http://www.thingiverse.com/thing:5573
This also looks useful http://reprap.org/wiki/Calibration
Before your start calibrating you need to level your print bed. I found (and updated) the following guide rather useful.
I think its worth reviewing yesterdays test runs.
Firstly let me recap the final settings so that they are all in one spot.
Heated bed: 95c
Hotend: 200 c
Material: PLA - Pink
Layer Height: 0.40
Extrusion Width: 0.45
Filament Dimension = 2.9
Measured Width of Extrusion : 0.5
Ooze rate: 75
Retraction rate: 20
Floor Fan cooling: distance 68cm from fan head to print head Basically I'm happy with the 'look' of the print but
So I felt it was time to try a full calibration run.
I've downloaded the set of calibration objects (see the top of this post) plan on running through them all.
I should note that I've printed all of these calibration objects without cooling. I've been concerned that my cooling is causing the brittleness in my models but it could also be the incorrect layer height.
0.5 thin wall test Started with our layer height of 0.4 Looking at the print we appear to have gaps between each layer so I'm reducing the height progressively.
We took the layer thickness down to 0.32 and some parts are looking better but still not perfect.
At 0.25 mm we are getting some drag through. Although its a little hard to tell exactly what is going on. Skein seem to be oozing at the corners and right at the start. This causes the head to become a little messy even before the print starts.
0.27 gave some clean print at the back of the cube but we still seem to get some drag through at the corners.
0.29 still appears to be catching in the back left corner.
0.30 this left definite little gaps in the back wall between each layer.
0.295 I've settled on this value. The back wall looks good but we we are still getting it pulling from the back corner. For the moment I'm going to settle for these values as I think some of the later calibrations may correct the corner issue.
Change the sfact 'preface' settings turned 'home before print' on and 'reset extruder before print' off.
20 mm test box.
As advised in the calibration guide I've changed the infill solidity (ratio) from the default 0.35 to 1.0
Screwed the first test completely as I forget to change from 0.35 to 1.0. Oddly enough the print was of quite high quality. We seem to have remove the stringiness we had been experiencing when printing the mugs.. The top of the cube was however slightly concave so lets do it again.
The run with 1.0 in fill was just about perfect. the x and y dimensions are within 0.1 of a mm. For the moment I'm happy with that.
50 mm tower.
Printed the tower at: hotend 200c, bed 95c
Result was a blob so my temperatures are too hot.
Tower test 2, 195c
Still getting a blob.
Tower test 3, 190c
I've abandoned this test for the moment as I can't a clean print. The issues are that the hot end is getting messy and then not extruding during the first layer. Cooling also appears to solve the problem.
Found the problem. My bed was to far away from the hot end so it was extruding into mid air. Using my new z-axis adjuster (see above, it was fantastic) I raised the bed and suddenly no mess and i'm extruding from the start. The trick here is that the hotend must effectively compress the first layer onto the bed. I use a piece of paper to test the z home. It should just drag on the hot end as you move the paper under it.
I had a further problem printing some larger objects today. The first layer wasn't sticking to the bed consitently. I would get little warped bubbles where the pla lifted from the bed. I eventually worked out that my bed wasn't clean enough (finger print marks all over it). The simple solution was just some windex (window cleaner) and a paper towel. I give it a good clean and the next print was perfect.
Todays lessons in summary.
Layer height is important
Getting your bed dead flat is critical
A clean bed is critical
Looks like I don't actually need to cool the prints (at least not something 20mm or greater (more testing on smaller objects still required).
So I'm still not happy with my prints. I'm having a lot of problems with the print not adhering to the base. As such I've now fitted my heated bed (prusa mk1).
I've removed the masking tape with the intent of printing directly on the heated glass.
Heated bed: 50c
Hotend: 200 c
Material: PLA - Pink
Layer Height: 0.32
Extrusion Width: 0.45
Filament Dimension = 2.9
Measured Width of Extrusion : 0.5
Printed a cup with extreme prejudice. Had a problem with ooze that led to a small hole. To fight the ooze: Retraction rate from 15 to 20 Reduced to the ooze rate to 70
Very poor results, the mug did not stick. Ooze rate reset to 75, retraction rate kept at 20.
Head interfered with the mug print directly:
concerned about layer thickness, worried that the head is touching the model too much and leading to deformation. Set to 0.35 from 0.32.
Pretty terrible performance now. Started touching itself in public, got messy fast.
Set the layer thickness to 0.4. Not sticking well enough for our liking. Upping the PCB temperature to 75.
All settings as pert Test 3 but added cooling from a floor fan.
OMG almost a perfect print. The edges are clean and precise!!! Only problem was that 2/3rd of the way through the print the mug came free from the base. I assume this was cause by cooling in the early phase of the print. I also noted that the fan reduced the hot end temperature by 21c to 179 and the hotbed by 8c to 63c.
Increasing bed temperate to 95 to offset the cooling affects of the fan. I started the fan at about layer 4. Interestingly the first 2 layers printed badly as though the extruder wasn't extruding sufficient plastic. The heating of the bed to 95c certainly took a long time and I didn't bother to extrude just before the print started so that may have been a mistake. The point of the bed temperature increase was to have the mug stick better to the bed but early in the print I would say that it doesn't ook stable onteh bed. I'm also seeing some deflection of the material away from the head as it moves around. we also have a some movement of one end. After moving the fan closer to the print job things appear to have firmed up. I think I had the fan too far away. By the half way mark the print is now looking very clean as per test 4. Just hope the mug stays stuck to the base. I've been observing a little over-run on the y axis as it comes around the bottom corner of the mug on the left hand side (looking from the bottom of the mug). I'm guessing this is a bit of lash in the y axis. I will try to correct this on the next test. I'm also noticing that the left wall of the mug is slightly thicker than the right hand wall. I don't see that this can be an issue with dimensional calibration as the left and right walls are too close (I think) for there to be a significant difference. I have a bit of judder in both my x and y axis as I've not been able to obtain a suitable lubricant (currently using olive oil) my bushes may also be a little tight but I'm reluctant to loosen them as the first set i fitted ended up being too loose and my x axis was lifting.
And the result. An almost perfect mug. I have a little bit of a dent on the top right hand rim which I belive was because the cooling fan was too far away in the early part of the print and not pointed directly at the print.
This mug looks to be my first water proof mug!!! Very pleased!!!
For the record the fan was 68 cm from the mug during printing.
P.S. on testing whilst the mug looked water proof it leaked slowly. It appears that the leakage is around the area that didn't have adequate cooling.
It is interesting to compare this print to test 4. Whilst test 4 failed as it came away from the print bed, test 4 was a much cleaner print. You can see in test 5 that once I had the fan positioned correctly the remained of the print was the same as test 4. But the first part of test 5 with inadequate cooling was crappy. Basically you can see that the threads a mis-aligned (almost tangled) and that the edge of the mug is partially collapsed. The areas that are properly cooled are clean and you can see a very neat circle if you look at the base of the mug (for the portion correctly cooled). The conclusion here is that cooling is a must.
Identical settings to test 5. Fan will be start after layer 3 prints. A small extrusion will be done before the print starts.
On problem with the higher temperature is that my heated bed takes quite some time to come up to temperature. I may experiment with some lower temperatues (say 85c).
So remembering to pre-extrude before starting the print made a definite difference to the initial layer. The fan was turned on and aimed correctly at the 3rd layer. I'm now looking for a designe which lets me mount a cpu fan directly on the extruder. I'm also thinking about reducing the bed temperature after the first few layers are printed. The print appears to get cleaner as we go up layers. I'm thinking this might be a mix between the reduced temperature (further from the bed) and the fact that the preceding layers as we move up the print a progressively cleaner giving the next layer up a better start in life. This suggests to me that a raft would help. Unfortunately I've had no luck getting sfact to print a raft.
So i've managed to print something that looks a bit like a mug!!!!
Now need to start playing with skeinforge (or in my case sfact) to try and print something that actually is functional (my mug leaks badly).
So I've viewed a fairly helpful video http://www.youtube.com/watch?v=s3iXnLo0kYs&NR=1 Only problem is that it is for skeinforge and the UI for sfact is quite different.
Anyway I've change the following settings: Layer height = 0.32 mm (based on my 0.35mm hot end). Extrusion Width = 0.45 (this is a guess from the video, he shows that the extrusion should come out as a flattened cylinder). Dimsions = 2.9 ( based on measurements of my pla)
Tried a print at 200c (the movember ring) but it won't stick to the base properly. I up'ed the temper to 210c and its sticking better but still not enough.
I think I need to fit my heated bed.
I've progressed fairly rapidly in the last two days. I've gone from Pidgeon Pooh to something that looks a little like an object. But still lots of problems. I've been using the Pronterface python application but it doesn't seem to be behaving. It keeps hanging part way through a print, but at a random location. I don't think its the firmware (Sprinter) as restarting Pronterface fixes the problem. So I've decided to start using the reprap host software, which was always the intention.
So firstly some notes on setting up the reprap host to debug in eclipse.
The main issue with setting up eclipse is the share libraries (dll's) that eclipses needs access to.
Start by installing the required dependancies:
sudo apt-get install libjava3d-java
sudo apt-get install libjava3d-jni
sudo apt-get install librxtx-java
Create Debug configuration for reprap.
Open the 'Classpath' tab.
Click the 'Reprap' host.
Click the 'Advanced' button'.
Click 'Add Library'.
Select 'User Library'
Click 'User Libraries...'
Enter 'j3d' as the library name.
Select 'j3d' from the list.
Edit the Native Library location to be /usr/lib/jni
Edit the Native Library location to be /usr/lib/jni
Note the above paths may vary on your installation. To determine the correct paths run:
sudo dpkg -L libjava3d-java
sudo dpkg -L libjava3d-jni
sudo dpkg -L libjava3d-jni
sudo dpkg -L librxtx-java
I finally completed my build and extruded my first little bit of Pidgeon Pooh !!!!
Very exciting, but my wife is just giving me weird looks :D
Now begins the long (I'm guessing) process of calibrating my machine so it will actually print.
I've started off by going through and checking that each endstop is set correctly. I'm using the Sprinter firmware which supports virtual endstops so I've had to go through and calculate the number of steps from the physical endstop until the virtual endstop. This requires a change to the Sprinter firmware Configuration.h file: const int X_MAX_LENGTH = 165; const int Y_MAX_LENGTH = 145; const int Z_MAX_LENGTH = 108;
I've not done much work on my hardware in the last month as I've been waiting for my Arcol (arcol.hu) hotend to arrive.
In the mean time I've been busy working on a multi-material tool change for reprap. You can see the work in progress on gitub: https://github.com/bsutton/3dc/wiki
Now that its here I've had to adjust the thermister settings in the Sprinter firmware as I've purchase 200K thermistors when the standard is 100K.
This is a simply setting change in Configuration.h the value '2' below tells sprinter to use the 200k thermistor tables.
- define THERMISTORHEATER 2
- define THERMISTORBED 2
Of course you then have to reflash the RAMPS board.
I've been busy with building my prusa now that I have most of the parts. I've just finished the wiring and I'm going through a series of test for the electronics. For the record: Ramps 1.3 Sprinter firmware that ships with the Reprap host (although I'm not certain what version as it doesn't appear to have one). I had to make a number of minor changes to get my hardware working such as: Configuration.h MOTHERBOARD = 33 ; this identifies my hardware as Ramps 1.3 ENDSTOPS_INVERTING=true ; this was required due to the way I wired my endstops When testing the endstops I had to turn the connector into the motherboard for the X axis as the endstops were stopping the X axis from moving the the wrong direction. I think you can achieve the same end by switching the option INVERT_X_DIR in Configuration.h.
It also wasn't clear when wiring up the power just what to connect. So for the ramps you need to: Connect a USB cable from your PC to the Arduino board Connect 2 x 12V lines directly into the Ramps shield. You DO NOT use the Arduino's power supply.
OK last thing I have to do is play with the trim pots on each motor control to reduce the current. My Z motor keeps shutting down as the controller chip is overheating (I understand that it has a thermal cutout).
I had trouble adjusting the trim pots until I got a magnifying glass and realised I wasn't actually turning them. The assembly guides say to use a multi-meter to measure the voltage. I couldn't get a stable voltage so I just started running the motors. If they started shutting down a moved the trim pot anti-clockwise about a eighth of a turn until the motor would run without shutting down. I over did the Z axis trim pot at one stage and it just wouldn't move (it would sort of vibrate in place), just move the trim pot back clock-wise a quarter turn and all was good again.
As I've only got one end stop on each axis I'm using the 'software' endstops which use absolute positioning to determine where to stop at the end of an axis which doesn't have the end stop. I had to adjust these values from the defaults. I ended up with the following: const bool min_software_endstops = false; //If true, axis won't move to coordinates less than zero. const bool max_software_endstops = true; //If true, axis won't move to coordinates greater than the defined lengths below. const int X_MAX_LENGTH = 195; const int Y_MAX_LENGTH = 150; const int Z_MAX_LENGTH = 108;
You results may vary :D
I've just done my first dry run. I still don't have a hot end, heated bed or the extruder wired in, but all three axis are operational so I loaded a dolls bed I've designed for my daughter and did a dry run. I'm sitting here watching the printer sing to itself. Its a thing of beauty :)
My heated bed should be here in the next couple of days, so just need to make a decision on the hot end and a little more wiring and I should be away.
The next big job will of course be calibration. I can already see that I've got wobble on my z-axis, I'm thinking about cutting a new pair of z-motor connectors on my lathe to remove the wobble. It just feels a little too much like cheating :<
Started work on updating the debian package.
July 8th later that same day
Installed Netbeans so I can upgrade the forms to java 6. Eventually worked out how to do this.
Problem then was that the BotConsoleFrame can't be edited in the form layout tool. You can now run the form directly but it still won't display in design mode. No clear errors so I'm not certain what is going on. One theory is that the PrintTabFrame doesn't confirm to the Bean requirements.
July 8th 12:59 am
Upgraded to java 6 replacing org.jdesktop with the standard java libraries javax.swing.GroupLayout.
And then realized that most of this code has been generated using the netbeans forms library. Argh!!! Will consider what to do on the morrow.
July 8th 12:10 am
I finally have the reprap host up and running.
So some work to do as the system is reporting an incompatible serial library:
Native lib Version = RXTX-2.2pre2 Java lib Version = RXTX-2.1-7 WARNING: RXTX Version mismatch Jar version = RXTX-2.1-7 native lib Version = RXTX-2.2pre2
Downloaded the reprap host software and began the saga of getting it installed
FYI: my desktop is Ubuntu 11.04 x64
Found a couple of debian packages but neither of these work.
1) Found the ppa by Jonathan Marsden but this doesn't appear to be in working order: ppa install
2) The host git repository also has a debian package, however this appears less complete than Jonathans and again doesn't appear to work.
So I've decided to try and update then so one of them does work. The question is which one to start from?
Before I attempt to start building a debian package I thought it might be useful to work out how to get it to install manually.
The following is a log of my efforts and failures. brett's manual install
On my first attempt I received the following error:
./reprap Exception in thread "J3D-Renderer-1" java.lang.UnsatisfiedLinkError: javax.media.j3d.NativeScreenInfo.openDisplay()J at javax.media.j3d.NativeScreenInfo.openDisplay(Native Method) at javax.media.j3d.NativeScreenInfo.getStaticDisplay(NativeScreenInfo.java:48) at javax.media.j3d.NativeScreenInfo.isGLX13(NativeScreenInfo.java:36) at javax.media.j3d.NativeConfigTemplate3D.getBestConfiguration(NativeConfigTemplate3D.java:67) at javax.media.j3d.NativePipeline.getBestConfiguration(NativePipeline.java:3241) at javax.media.j3d.Renderer.doWork(Renderer.java:488) at javax.media.j3d.J3dThread.run(J3dThread.java:256)
So the UnsatisfiedLinkError basically means that its looking for a entry point javax.media.j3d.NativeScreenInfo.openDisplay in a shared library. This feels like a compatibility issue! e.g. the shared library doesn't match my jar.
After much research I found a fix for this. Basically its an incompatability issue the fix for which is described here j3dcore install
I've order the mechanical parts for a Mendel-Prusa on ebay from Investalator.
Cost $USD160 Shipping $USD45 (ouch)