Tuesday, April 5, 2011

Tweaking Skeinforge Begins Again

Tonight was the first night since the move (and replacing the extruder!) that playing with Skeinforge's settings began again in earnest.


First things first, I wanted to correct this continual negative Z-offset that keeps occurring after a few prints. My current theory is that this is caused by the Z-flag not having a parallel edge causing it to cut the IR beam in minutely different places each time. First task for the evening was to remove the flag and verify if the end was square - it wasn't. A few seconds with a file sorted that out. 


Over the course of the evening the negative Z-offset still occurs, but it is definitely not as significant as it was previously. I think tomorrow I'll work on verifying that the X-rods are still level. They may have got knocked out of kilter during the move.


As I mentioned previously I'll be using the Skeinforge settings from mendel-parts.com as the starting point for my tweaking.


I copied the defaults into the '.skeinforge' directory in the users folder. Just using these settings as is doesn't appear to work very well on my Mendel. The feed rate of 50mm/s and  flow rate of 1400mm/s does not appear provide sufficient  flow, resulting in lots of missing threads on the test pieces and the infill gets very thin in places.


Notching the filament as it travels into the extruder shows that it is moving sporadically during periods when it should be flowing quickly and freely - e.g. around the perimeter of the object. I don't think my sprung pinch-wheel is the problem as it appears to flow freely when I run the extruder from RepSnapper. I think that the flow rate is too high for my melt zone. 


I think that the filament is being fed in too quickly for the hot end to melt it fast enough to keep a constant flow. My first tweak is then to slow down the feed rate from 50mm/s through 40mm/s to 30mm/s. This appears to give fairly consistent filament feed now. However, the extruded filament is clearly two thick in places. So I'll need to play with the flow rate and bring that down to get everything back in balance.


A quick test with the flow rate at 1300 (from 1400) gives reasonable results, but I've had better, so more tweaking needed there. Also, it appears to generate GCode that causes RepSnapper to hang once per layer and need to be kicked. Not sure why that one change should cause that, but if it keeps doing it I'll roll up my sleeves and start digging in the GCode.



Saturday, April 2, 2011

New Workshop is Up and Running - I'm Back in Business!

It's been a few months since my last post due to the house move. But I can now say that the move is complete, the 'Honey-Do' list is all done - at least all the niggly things for now - and the new workshop is organised and up and running. I can now get back to tweaking my Mendel.


The nice thing about the new house is that one of the garage bays had already been converted to a workshop with benches, pegboard and storage - which saved me some effort.


As you can see, still have to find a home for the drill press, at the moment it's living beneath one of the benches.


There's plenty of lighting and plenty of storage and work-surfaces.



Still need to find a home for my son's bikes, but at least they are fairly mobile!


Today's first Mendel task was to change the blue painters tape, re-level the bed and test the extruder still worked.


Since I last had a chance to play with my Mendel, Camiel at mendel-parts has switched to using Skeinforge as his G-Code generator. He's having some good success and has posted his settings in the downloads section on his website. I thought I'd use his values as my starting point going forward, since my Mendel is very similar to his build Mendel's.


I only had to time to run a quick test cube. The first layer went down well, although I'm still having problems with my Z-Axis zero setting getting lower with time - need to look at that when I get the chance, probably something better can be done with the flag. However, above layer five, it started to break-down. Not sure if the feed setting isn't high enough, or if the extruder is skipping or something else. 


I didn't get a chance to play more today and investigate. Now the workshop is up and running I'll be able to tinker around with it in the evenings and get things dialed in. Look for more updates shortly.

Tuesday, February 1, 2011

Extruder Update

The new extruder parts have arrived and I have built up my new extruder. The build was uneventful, which was nice. Initial tests show that it works reliably, but I still have to dial-in all the settings again as the nozzle appears to be marginally bigger than the previous one. Once I've got it dialed back in I'll be able to continue experimenting with the various skeinforge settings.

I'll document the dial-in process but there is something that's going to interrupt that process. An upcoming house move that is going to disrupt my workshop for a few weeks while it gets packed, moved and unpacked.

PreprocessGcodes.py

import sys


# Preferred Start Codes
startCode = [
'G21\n'
'G90\n'
'T0\n'
'G28 Z0\n'
'G28 X0 Y0\n'
'G92 E0\n'
]


def AppendCode(fh, codes):
   for code in codes:
      fh.write(code)




def Main(fileName):
   # Counters   
   M101Cnt = 0
   M103Cnt = 0


   # Open Input File
   try:
      fh = open(fileName, 'r')
   except:
      print 'Cannot open file: %s' % (fileName)
   
   print '\nProcessing %s' % (fileName)
   
   # Create Output Filename
   name, ext = fileName.split('.')
   name = name+'_mod'
   opFile = name+'.'+ext
   
   # Open Output File
   op = open(opFile, 'w')
   


   # Add preferred Start-up code
   AppendCode(op, startCode)


   # Remove first X lines
   # Skeinforge produces strange start-up code that isn't useful.
   X = 12
   for i in range(X):
      fh.readline()
      
   # Process remaining lines in turn
   for line in fh:
      # Remove 'M101' and 'M103' commands, Mendel doesn't use these.
      if line.find('M101')==0:
         M101Cnt +=1
         line = ''
      if line.find('M103')==0:
         M103Cnt+=1
         line = ''
      # Remove 'M113' command, stepper based extruder doesn't use this
      if line.find('M113')==0:
         M101Cnt +=1
         line = ''
         
      # Write to output file
      op.write(line)


   print 'Generated file: %s' % (opFile)
   print 
   print 'Removed %s old M101 Codes' % (M101Cnt)
   print 'Removed %s old M103 Codes' % (M103Cnt)
   
if __name__ == '__main__':
   Main(sys.argv[1])

Friday, December 10, 2010

Rebuilding the Original Heater

I've rebored the PTFE to remove the notches I previously made on the inside of the barrel. It now has a diameter of 5.5mm and is completely smooth again. I've remounted it on the extruder base and attached the nozzle.


I've also rebuilt the original nichrome wire heater wrapped around the nozzle, just in case the new heater block I've made is causing the problem with molten PLA backing up into the PTFE barrel.


The heater part works fine, unfortunately the nozzle is still filling with molten PLA. Since it never used to do this before the original catastrophic failure of the PTFE barrel that this is the cause. I'll need to make a new barrel.


The problem is I don't have a lathe, so do I spend $95 on the techshop lathe class so I can use their lathes and then pay $125 for the one month membership, or pay ~$500 for a mini-lathe for my workshop. 


I'd like a lathe, but I doubt I'd use it again after this. Perhaps Santa will bring me one?

Sunday, December 5, 2010

Extruder Problems Continue

After rebuilding the extruder and running some test prints the extruder is still having problems. After about 10-minutes of printing the filament stalled again. The PTFE of the nozzle had backed up with molten PLA again.


I think I'll try two more things tomorrow. Firstly, I'll rebuild the extruder with the original nichrome wire heater - perhaps the block heater is more suited to the new style extruder where the brass doesn't get inserted as far into the PTFE. I think that perhaps because the brass nozzle extends into the PTFE 15mm or so, it is transferring heat further up the insulator than with the new style extruder.


Secondly, I'll try boring out the PTFE insulator. There is a slight notch on the inside where the drill slipped when I was drilling out molten PLA previously. This notch appears to be catching the molten PLA, which could be causing the feed problems. This will increase the internal bore diameter slightly which hopefully won't cause any problems.


If none of this works, I'll be rdering some PTFE and joining TechShop and using their lathes.

Saturday, December 4, 2010

Building the Block Heater

As part of rebuilding the extruder I thought it would be a good idea to build the block style heater, rather than than the original heater. I made a couple of modifications to the build, we'll see how they work out.


The basic components of a block heater.
I followed the mechanical drawings and plans on the RepRap Site. It did require me to buy a drill press, metric drills and a metric tap and die set, but I do enjoy having new power tools!


I used a 3/8" ultra-machinable brass bar from McMaster. Cutting and machining it was fairly straightforward. The new drills and drill press did their job well.


I haven't tapped anything since I was at school, but the technique came back quite quickly. A quick test fit showed that everything went together easily.


I used 1mm PTFE tubing I found at Frys to insulate the leads for the thermistor.


To increase the thermal conduction between the thermistor and the resistor and the block I used Biostar Nano Diamond thermal grease. It is good up to 240c and is an electrical insulator. I filled the thermistor hole with the grease before pushing it home. The resistor was coated with the grease before sliding it in to its hole. 


With all the parts inserted.
While I was shopping for the fire cement I found a Rutland caulk good to 600F at Ace. It doesn't require heat curing and is flexible. I'll give it a try and see how it works out. It was a little messy to apply but should be better than fire cement.


After wiring it up and waiting for it to cure first tests appeared to be promising. It heated up quickly to the specified temperatures.


First tests with filament did not go so well. The filament did not feed very well and the output from the nozzle curled up! - Not sure why?


Then catastrophe struck again, the nozzle appeared to seize up. It appeared that molten PLA had backed up the PTFE and solidified.


It was another late night dismantling the nozzle and cleaning it out and drilling out the solidified PLA out of the PTFE. After it was all clean I checked the nozzle opening in case there was something stuck in there causing the curling.
Complete and back on the extruder. Note the new sprung loaded mech.


Using another thermistor as a temperature probe inside the nozzle it I checked the temperature inside the nozzle. There appears to be a significant difference between the block temperature and the nozzle temperature. The block has to register between 250 - 260c for the internal temperature of the nozzle to register between 205 - 220c. This may have been the cause of the feed problems. At a block temperature of 220c the internal nozzle temperature was only at 185c.


Cranking the temperature up to 260c and trying some manual filament feed tests shows this temperature setting was much better. Tomorrow I'll try rebuilding it completely and testing it with the motor feed.