How to Raise Your MakerBot from the Dead

Happy Zombie Day

Happy Zombie Day!!!

… or Happy Zombie Day!

My extruder is back online! Huzzah!  Since I had it disassembled I made a few minor modifications.

  1. I’ve added binder clips to the front and back edges of the build platform.  I found that my acrylic build base is slightly deformed and probably getting more so with each build.  This is a temporary fix while I get around to picking up a new build base.
  2. You’ll notice I’ve also added pieces of rubber band.  I cut a long rubber band into two pieces about an inch long, tied them off to make small loops, and put them around the handles to the binder clips.  I don’t want to take the handles out of the binder clips because then they’ll be difficult to move/remove/replace.  But, as I printed they tended to vibrate creating unnecessary noise.
  3. When ABS oozed down my PTFE threads and around the barrel, I sliced off about 1mm to use as a washer between the nut and large washer.  The reason I’ve heard suggested for the PTFE washer is that it keeps the large metal washer from acting as a heat sink.  The nut is right on the barrel and is able to heat right up along with the rest of the barrel.  When the large washer is pressed on the nut (as it is supposed to) it is able to absorb heat through the nut as well as it’s contacts to the barrel.  The thin surface area contact between interior hole in the large washer and the barrel probably doesn’t allow for much heat to be transferred to the large washer.
  4. I’ve read it mentioned that wrapping an extruder with nichrome is a two person or three handed job.  I’ve found it to be fairly easy with just my two hands.
    1. I use a small piece of kapton to tape the nichrome to the extruder head/nozzle oriented so that it is lined up parallel to the barrel. 1
    2. From the point where I can see the nozzle touch the barrel I leave about 2-3cm of nichrome hanging off the edge, with the rest of the nichrome pointed up towards the barrel.
    3. Then I wrap the nichrome up the barrel in a single layer keeping a tight contact with the threads until there’s about 2cm or so left.
    4. Then I tape down all of the nichrome on the barrel, except the last 2cm.
    5. I untape the part of the nichrome on the nozzle.
    6. As I was out of those little metal connectors provided by MakerBot, I had to improvise a little.
      1. I stripped the leads on the nichrome so that about 3mm was exposed and used needle nose pliers to put it into a hook shape.
      2. Then I stripped the leads to the insulated wires so that about 15mm was exposed, used my fingers to twist the leads, doubled it back along itself, twisted it again so that there was a little loop.
      3. I hooked the nichrome into the loops of braided copper leads and crimped it down using the needle nosed pliers.
      4. Solder and done.
    7. I then liberally applied kapton to wrap the barrel and nichrome so that it would be unlikely the wire or leads would ever have to bear any of the stress should I move the extruder around.
  5. With my last two extruder assemblies I’ve taken a slightly different approach to attaching the thermistor.  This method makes it easier to pull the thermistor out, but slightly more difficult to install it in the first place.  Here’s what I do:
    1. I laminate the thermistor between two layers of kapton tape just past where it meets the insulated wires.  Only the very tip of the thermistor is exposed.
    2. I wrap the barrel in nichrome as above, then ceramic tape, then wrap that in kapton – without the thermistor inside.
    3. Once the entire barrel is wrapped up just as I want it, I use a utility knife to make a vertical slice up the ceramic tape starting at the edge of the nozzle until I reach the point where the nozzle meets the barrel.
    4. I then peel back the ceramic tape and kapton, exposing a V shaped portion of the nozzle.
    5. I put the tip of the thermistor down into the V, replace the ceramic tape and kapton over it, and tape it down.
    6. I then re-wrap the barrel in kapton again.
    7. The first time I disassembled my extruder I screwed up my thermistor when unwrapping the barrel.  While this makes it more difficult to get the thermistor into the assembly, it also makes it so much easier to pull it out and reuse it.
  6. At the top left of the above photo you can see a small black box with green and white wires coming out of it.  That’s where I added an ethernet jack connector to the extruder assembly to make it easier to connect/disconnect the extruder.
    1. When I assembled my MakerBot I used insulated wire out of an ethernet cable.  Since I only needed a few sets of insulated wire, I ended up with one piece of ethernet cable that still had the ethernet jack on it with four wires sticking out.  I also had two ethernet ports left over from my opto-endstop kits.
    2. I plugged the ethernet jack into the ethernet port and tested the leads on the wires against the leads on the port.  Once isolated I soldered wires to the four leads that lead to the four wires from the jack.
    3. I then soldered the four wires from the ethernet jack to the thermistor and nichrome.
    4. I took the wires I soldered to the ethernet port and ran them through the hole on the right side of the MakerBot in the back on the top.  Then connected those leads to the appropriate ports on the extruder board.
    5. Once the wires were soldered up and extruder assembled I plugged the ethernet jack into the ethernet port and checked ReplicatorG to see if I could get a thermistor reading (yes) and heat the barrel (yes).

As I tinker and modify my MakerBot it seems I’m moving towards a system where I try to make the extruder assembly as modular as possible.  I didn’t have this as a conscious thought when I started, but that’s where these modifications have been headed.  While it is very convenient to have a totally modular extruder only connected to the robot by four bolts and an ethernet cable, that system is most useful if you are using drastically different print heads (such as a frostruder, Paxtruder, Bowden extruder, etc).

If you’re just swapping between PLA, ABS, or other plastic filament or color variations thereof, you can reuse the vast majority of the extruder assembly – the board, the motor, and the entire acrylic plastruder.  If you had a different heater assembly you could just undo the two screws that attach the heater to the extruder, disconnect the thermistor, disconnect the nichrome, and swap in a new set.  Although I don’t have a fully assembled second heater section yet, this set up makes a lot of sense to me just for ease of maintenance and repair.

  1. While I sing Christmas carols with my friends Meryl and Cheryl. []

Christmas, Birthday, etc

It’s not that I’m not materialistic or a complete stoic.  It’s just that my interests are so simple, narrow, and specific there just isn’t a whole lot I require out of life.  But for other happy and fortunate life complications1 I’d live in a studio apartment almost completely devoid of furniture except for a futon, small table, one (perhaps two) and book shelf.  Give me a library card and a laptop and I’ll show you a content man.  For example – one of my hobbies is origami.  Which boils down to basically a lot of paper. 2

While this means I’m easily content, it means those family and friends are frustrated at the thought of having to find me a gift. 3  So, for basically the first time ever I’ve put together a wish list with stuff I would love to get (in rough order):

  1. aka family []
  2. A hobby which, hundreds of years ago could only be practiced by those precious few who had access to a luxury such as paper, can now be practiced by anyone in reach of a paper recycling bin. []
  3. 500 sheets of A4 bright white multipurpose paper???  Score! []
  4. Since I have none of the equipment or skills to perform SMT soldering []
  5. Someone mentioned the modular thermistor set ups don’t detect temperatures properly – about 10 degrees too low?! Update:  Rick of MakerGear clarifies this was the result of a ring terminal mounted thermistor.  His modular thermistor kit pictured at the bottom of the this page shows that this kit allows you to make the entire thermistor attachment far more modular by covering it’s terminals in PTFE sleeves and then adding a connector.  This only makes me want this kit more.  Thanks Rick! []
  6. Preferably one with George Plimpton’s face []
  7. That’s a Simpson’s reference, FYI []

Rebuilding my extruder

Over the weekend I rebuilt my extruder after some adventures with a blowtorch.

I used Rick’s single nichrome wrap method, which served me well on my last re-build.  The documentation of his method is absolutely fantastic and a must-read if you’re rebuilding your heater.  (That page is about PLA, but the nichrome wrapping is pretty universal).

I’m not sure if I wrapped my thermistor better or what, but I seem to be getting more consistent readings from it.  Perhaps this is due to RepG v12?  I would tend to think not since I’m using RepG v12 with the Zach 1 temperature table – the same table I was using before RepG v12.

An idea for checking the temperature of an extruder at the barrel entry

Several people have suggested that the temperature at the entry of the barrel is very important to printing with PLA.  This makes sense.  If the temperature at the barrel entry is above the melting point for PLA, it can melt right there and ooze down around the threads.

Maybe I should assembly my extruder with just the thermistor on the barrel entry, and heat it until it is just below the melting point of PLA – then check the temperature at the nozzle.

Or, I could get a second thermistor and use it at the top of the barrel while keeping the original thermistor at the nozzle.  I could only use one set at a time (since I don’t know how to hack the electronics/extruder board), but that shouldn’t be an issue.

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”

PLA on the way!

I just saw MakerBot’s blog post saying they finally got in a batch of MakerBot approved PLA.  This is supposed to be nigh magical stuff.  It prints at a cooler temperature than ABS, it has a low shrinkage factor meaning it won’t warp much if at all, it will stick to blue masking/drafter’s tape not requiring the use of an acrylic build platform, and it’s very clear.

While I was at it, I also ordered an extra brass nozzle, brass barrel, PTFE insulator, ceramic tape, nichrome wire, thermistor, and I asked for some MakerBot stickers to adorn my laptop.  :)

Heater barrel – backasswards?

Dangit.  According to the very latest changes to the MakerBot assembly wiki, I put the heater assembly together with the heater barrel upside down.  I’m not entirely sure what this means for my heater.  Clearly it was working well enough that I could extrude reasonably well.

The questions is – do I leave it as is or disassemble/reassemble?

If I leave it as is, I suppose there’s a chance I could bulge the insulator, ruining it.

I’ve already disassembled/reassembled once because of a bad thermistor connection.  If I disassemble again, I’m thinking the ceramic tape and nichrome may have had it.  Not to mention that I’m probably going to have a royal mess of plastic inside the barrel and nozzle to clean up.

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! []