Adventures with PLA temperatures

Kinda rhymes, no?

Given Rick Pollack’s PLA printing success and temperatures at barrel entry rather than nozzle, I should probably start delineating between temperatures at the barrel and nozzle.  If barrel entry temperature is truly a critical factor, then he’s totally right about how going by nozzle temperature is like driving a bus with just the rear view mirrors.

However, this gives me pause.  Everything I’ve read about ABS suggests it may be best to melt it right at the nozzle as quickly as possible.  I’ve found that ABS cools very rapidly too.  PLA on the other hand takes a while to cool (but, then again, I was running my extruder too hot) – with the parts being quite flexible for some time after printing.  If barrel entry temperature is that important, then it seems that PLA must need a longer time to melt.  If this is the case, should the nichrome be wrapped higher on the barrel?  If so, then Rick’s heater cores (which already seem very convenient) are downright brilliant – since you can probably easily adjust where the heat is being applied.

From Nophead’s comment I gather that I was, indeed, running my extruder too hot.  I found that at my ABS temperatures (220+) made the PLA just drip right out of the heater – and once that had basically stop it would then intermittently release little amber droplets of plastic.  I must have been really cooking it.

With the limited printing I managed with PLA I found that it printed well with my non-temperature ABS Skeinforge settings.  So, before I go back to PLA I think I’ll finish tuning my ‘bot using Nick Ames’ Skeinforge tutorial.

MakerBot extruder clog experiment

DO NOT USE THIS extruder unclogger setup

DO NOT USE THIS extruder unclogger setup

UPDATE: DO NOT USE TILES!!!  THEY WILL SHATTER!  READ LATEST POST!

The bad news is this is my first clogged extruder.  The good news is I have all the spare parts to whip up a new extruder, no problem.  That means I can experiment with wild abandon!  My backup plan is to slice and dice the PTFE insulator into washers.

Having drilled out most of the plastic clog from the barrel, it’s mostly empty.  The PTFE is in pretty good shape with the threads intact, if a little worse for wear.  My plan to get the remaining plastic out of the nozzle is to put the nozzle/barrel assembly into the large washer upside down and prop it up on some ceramic tiles.

My hope is that by applying a heat source to the nozzle the plastic will just drip/fall out.  The suggestion for using a blow torch to clear out the barrel and nozzle comes from Rick Pollack / MakerGear.  Thanks again Rick!

By the way, wicked Google Sketchup skillz, no?

How to caliberate and tune Skeinforge for your MakerBot

Update 4/21/2011: This post is more than a year old.  Since then I’ve created ProfileMaker which should eliminate the need for almost all of these steps.  Share and enjoy!


A MakerBot Operators group member, Cliff Biffle, has posted a very comprehensive list his Skeinforge tuning and calibration procedure.  Cliff owns MakerBot #69 from Batch#4, named Kallisti.  Although Cliff has a MakerBot Skeinforge tuning page, it looks like he hasn’t had a chance to transcribe his lab notebook yet.  However, Cliff has been patient enough to type up his Skeinforge calibration information twice for the benefit of the MakerBot Operators group.  Here are links to his original postings on 1/6/2010 and another on 1/15/2010.

The other day I wanted to go back and find his calibration procedure, but had forgotten who had posted it, when it was posted, and which thread it was posted.  Having now found it, I don’t want to lose it again.  It turns out that Cliff had posted it once in response to my own question about dialing in Skeinforge settings in order to print up lego pieces!  Thanks Cliff!

I’ve mashed his two posts together to put together this checklist:

  1. Adjust Temperature:  Skeinforge -> Raft
    1. Find a temperature that allows you to extrude quickly and easily without too much popping or smoking
    2. MakerBlock: I have one of the 1mm thermistors, use the Zach 1 temperature table, and print reliably at 220
  2. Adjust Layer Height: Skeinforge -> Carve -> Layer Thickness (mm)
    1. Cliff uses the default of 0.36
  3. Adjust Extrusion Speed: Skeinforge -> Speed -> Flowrate PWM Setting (if PWM Setting is Chosen)
    1. Make the extruder go slower and lower the PWM value
    2. Cliff uses 230
  4. Adjust Feedrate: Skeinforge -> Speed -> Feedrate (mm/s)
    1. Too fast and you lose the fine detail and introduce errors.  Too slow and it will be too… slow.
  5. Adjust Skeinforge to understand how much plastic is being extruded
    1. Raise the Z axis and perform a test extrusion into the air
    2. Do not pull or stretch the extrusion
    3. Using calipers, measure its diameter, D
    4. Go into Skeinforge and look up the configured layer thickness, T, from Skeinforge -> Carve -> Layer Thickness (mm)
    5. Divide the diameter by the thickness, D/T
    6. Set Skeinforge -> Speed -> Extrusion Diameter Over Thickness (ratio) to D/T
    7. Print a test piece with thin walls
    8. Measure the width, W, of a single extrusion somewhere above the first few layers
    9. Divide the width by the thickness, W/T
    10. Set Skeinforge -> Carve -> Extrusion Width Over Thickness (ratio) to W/T
      • Cliff said this setting may be in Fill, but I think he may have meant Carve

    11. Nick Ames has suggested setting Skeinforge -> Carve –> Extrusion Width over Thickness (ratio), Skeinforge -> Inset -> Extrusion Perimeter Width over Thickness (ratio), and Skeinforge -> Speed -> Extrusion Diameter over Thickness (ratio) all to the same value.  His post also has a lot of information and links about other potential Skeinforge tuning resources.
  6. Adjust other Skeinforge settings
    1. Overlap of grid corners
    2. Infill density
    3. Unpause
    4. Stretch

How to update your Plastruder/Extruder firmware for the 1mm thermistor

Disclaimer:  This is only for Windows XP.  It worked for me and may not work for you.  I’m a complete novice, so use at your own risk.  That said, this procedure completely fixed the “avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51” errors I was getting in the Arduino environment.

  1. Download and install the Arduino IDE
  2. Download the Sanguino patch
  3. Apply the Sanguino patch to the Ardunio IDE (Directions copied from this page)
    1. Copy “\sanguino-software-1.x\cores\sanguino” to “\arduino-0017\hardware\cores\sanguino
    2. Copy “\sanguino-software-1.x\bootloaders\atmega644p” to “\arduino-0017\hardware\bootloaders\atmega644p
    3. Copy all the folders in “\sanguino-software-1.x\libraries\” to “\arduino-0017\hardware\libraries\” overwriting the existing libraries.
    4. Open the Arduino file located at “\arduino-0012\hardware\boards.txt” and append the text from “\sanguino-software-1.x\boards.txt
  4. Edit the “\reprap-gen3-firmware-1.6\ArduinoSlaveExtruder\ThermistorTable.cpp” file so that it reflects the new table information for the 1mm thermistor. (New table data courtesy of Jet)
  5. Copy the entire contents of “\reprap-gen3-firmware-1.6\libraries\” into “\arduino-0017\hardware\libraries\”
  6. Run the Arduino IDE
  7. Tools -> Board -> “Arduino Diecimila, Duemilanove, or Nano w/ ATmega168
  8. Open “\reprap-gen3-firmware-1.6\ArduinoSlaveExtruder\ArduinoSlaveExtruder.pde
  9. Sketch -> Verify/ Compile
  10. Wait for “Done compiling.
  11. Hold down the reset button on your extruder board.
  12. Click “Upload
  13. Wait for 3 seconds after you’ve clicked “Upload” and then let go of the reset button.

Congratulations!

A huge thank you to Jet and Rick Pollack for walking me through this procedure step by step.

How to diagnose and fix a burned out thermistor

Unfortunately, Bender just stopped working.  As I was keeping the nozzle warm while I was working on a new model, I looked up to see a flash of fire/spark shoot out from the nozzle area, ricochet off the build platform, and disappear.  Looking at the RepG control panel I discovered that I wasn’t getting any readings from the thermistor.  Not good.

The RepG control panel showed 0.0 as the temperature, so I shut the plastruder down, not wanting the heater to burn out of control.  I restarted Bender and RepG – but I discovered that while I could control all three axes very slugishly, I could not move the extruder motor or detect temperature.  I’m guess I couldn’t have increased the temperature either, but I didn’t want to try it since I couldn’t monitor the temperature.  That about covers the symptoms.

In order to diagnose the problem I tried to isolate the various parts.  I pulled all of the wires out of the extruder board.  Then, while the wires were still out I tested the nichrome for resistance – still around 6ohms.  Then I tested the thermistor – no connectivity.  Again, not good.  I tested the  motor for continuity, and it was fine.  Since the nichrome and motor seemed fine, that left the thermistor and extruder board.  I popped a random resistor into the thermistor ports, but still couldn’t get a reading on it.  Unfortunately, after several resets of the motherboard and extruder board, I still couldn’t get the motor to move or a reading from the thermistor.  Also, I was getting an error message that the Payload was not big enough.

Rick Pollack of MakerGear suggested on the MakerBot Operators group that I reflash the extruder firmware.  After several failed attempts, I finally figured out how to flash my extruder firmware from the Arduino environment by holding down the extruder reset button.  This got rid of the payload error message as well as the avrdude errors and let me reflash the extruder.

I pulled the entire extruder apart and did a little maintenance.  I flossed the extruder pulley teeth, pulled all the stray bits of plastic out of the idler pulley wheel area, removed the old thermistor, unwrapped the nichrome (which was wound down and then doubled over itself as the original pictures in the wiki suggested) and rewrapped the nichrome (a single layer from the nozzle up the barrel following closely in the threads to make good contact everywhere) as suggested by several people in the MakerBot operators group.  I then tested the nichrome again once it had been taped down for the proper resistance, check.

Once I pulled the thermistor out of the heater assembly, I tested the thermistor at its own leads, rather than at the wires soldered to it (in case the thermistor had come apart from the wires).  Still nothing.  I plugged a random resistor into the thermistor ports and was now able to get a reading off the extruder (as well as move the extruder motor). Concluding my problem was the thermistor, I forged ahead with a plan to replace it.

Luckily, I had placed an order for some PLA and nearly every single part needed for a secondary extruder (or what would be needed to fix a broken extruder) including a new thermistor.  If you haven’t picked up backup parts, I highly recommend it.

I clipped the old thermistor off the wires, pulled out the new thermistor and taped it to a white piece of paper immediately, putting the tape across the leads just below the bead.  I then bent the leads upwards, tinned them, soldered them to the wires, taped down the wires, pulled up the original piece of tape, and then sandwiched the thermistor in tape as per the instructions.  I then plugged the heater, the motor, and the thermistor back into the extruder board – and was able to get a temperature reading, apply a little heat to the barrel, and move the extruder motor.  I also noticed that this removed the sluggishness from the 3 axes stepper motors.

With the heater, motor, and thermistor working separately I put everything back together and reassembled the plastruder, plugged it back into the board and tested it again – readings, heat, and extruder motor working.  I then popped it back into the dinos, did a test extrusion, and starting printing again.

“Rock on completely with some brand new components”

With a little help from my friends

Thanks to the kind folks at the MakerBot Operators Group I’ve been diagnosing what’s going on with my Y axis stepper board and plastruder.

1. Y Axis Stepper Board

No matter what I was doing I couldn’t get the Y axis stepper board to respond to any commands.  Also, the power light on the board would light up as the MakerBot powered on – however it would immediately dim to nothing.  I swapped out every single cable, the motor, and it was always the Y axis board!  Finally, I completely pulled the board off the ‘bot, pulled every cable, and started adding the cables back one by one… and it worked!

I was concerned with why it wasn’t working, but happy it was working.  So, I bolted it back on, connected the wires… and it didn’t work any more!  What went wrong?  It was one of the opto-endstop cables.  I discovered that when I connected the front opto-endstop cable it would kill the power to the Y-axis board – or any other board!

The Y-axis three prong cable is easy to insert upside down.  And that’s what I was doing – because it fit better in that orientation.  Well, flip it upside down and rock on!

2. Plastruder / Extruder Temperature 0.0

Now that I could manipulate the 3 axes, I tried to use the plastruder.  I noticed that even at room temperature the thermistor was reading 0.0.  Also, the heater was smoking a little, I could smell something burning faintly, and the extruder was oozing something clear and sticky.  Not ideal.

With a lot of help from the guys at the MakerBot Operators Group I attempted to diagnose the problem.  Here’s what I tried:

  • Testing the resistance of both the nichrome and thermistor while both were still plugged into the plastruder board.  Both seemed okay – but I still could not get a reading from the thermistor.
  • One suggestion was to plug a random resistor into the thermistor ports to see whether the board and software was receiving information.  Being a complete novice and having zero spare parts around, I actually had to make a trip to the local electronics store for a single resistor. 1  Once plugged in the resistor (a quarter watt 10k) must have been resisting stuff because the board interpreted it as a temperature.  Thus, the board and software are probably fine. 2
  • Thus, I disconnected the heater wires and thermistor wires and tested them away from the board.  I really should have done this in the first place.  It would have told me that the thermistor was either burned out or no longer connected to the wires.
  • Taking the heater apart was almost painful.  The ceramic tape was a little scorched, parts of the kapton tape closest to the print head were actually burned to a blackened crisp and flaking off.  It was just not pretty.
  • The nichrome seemed to still be intact and giving the proper resistance, but the thermistor was not showing connectivity.  I was pretty bummed that I may have cooked it.  But, when I started to peel that tape away, I tried to test the resistor leads – which did show the proper resistance!  I checked the connections between the thermistor leads and the solder and discovered that one of the leads had lost its connection with the solder/wire.
  • I then tried to resolder the wire to the thermistor and then rewrap it into the kapton tape and tried its resistance again – and got a proper reading.   Then I taped it to the extruder head, to see if I could get a heat reading off of it – and I did!
  • This time, I went VERY slowly.  I tested the heater/extruder head completely apart from the printing assembly with the thermistor taped to it – I could heat and read the temperature.  I then wrapped it in tape, tried again, success again.  Then I wrapped it back in the ceramic tape, heated/read again with success.  Then I put the assembly back on the plastruder, heated/read again.
  • Now, a decision I made that I may very well regret later was to leave the nichrome wrapped as it was and not pull it all off and rewrap it.  The testing showed it was intact, it was still in its fiberglass insulation, and I had done a pretty good job of wrapping it in the first place.  In rewrapping the heater I took out as much of the burned kapton tape as I could and then wrapped it back up.
  1. I picked up a lot of other stuff while there, but this a single resistor was the actual purpose for the trip. []
  2. Thanks Rick Pollack! []