The best way to troubleshoot something is to find where the problem is and gradually work backwards. At each step you try to confirm that a part works the way it’s expected to work. When a part fails a test, you either fix it or bypass it and see if that solves the problem. If it doesn’t, you make a note and continue moving backwards. Of course, it’s always preferable when you can just fix the problem. Or, maybe replace a part, that’s good too.
Plan C is usually to alter the design to compensate for something that simply can’t do what you’re trying to make it do. When it comes to the Generation 4 electronics and the Kysan DC motor on the extruder (all of them) … I’m down to Plan C.
I tried replacing the old Extruder Controller (EC) circuit board with a new one that Makerbot was kind enough to RMA (thanks Ethan!). I also tried replacing the actual motor driver chip (A3949) on the old board with a new one from Digikey (no joy, also, I’m not sure how happy support was about that). The closest I got to a solution was that the totally new EC would drive the motor for a little while (the old one wouldn’t put out any voltage at all). I backed out the delrin plunger’s thumb screw on the extruder so that there was no load on the motor, and just watched the multimeter. Sometimes it would work fine (11.98v), sometimes it would try (~7v) and sometimes it would give up (80mv).
For what it’s worth, by running through this failure mode several times I was able to find that when the motor stopped turning its resistance was basically shorted out (1.4 ohms). When it was turning fine it was resisting fine (30-45 ohms). So, I suspect that it could very well be a problem with the motor (a bad winding maybe) that’s causing a problem with the motor driver. My guess is that the motor is basically shorting out while it’s spinning, which dramatically increases the current in the circuit, triggering the A3949 to shut down. It’s probably turning back on a microsecond later, applying 12v again, and shutting down again. Repeating that over and over again is probably what produced the 7v-ish reading.
At any rate, replacing the broken part didn’t fix the problem. It merely illustrated that the new part would probably break too. Several people seem to agree that the current design is beyond fixing. Time for Plan C.
“… I’m using the motor just fine to push plastic , powered from the 12v rail of the power supply in the TOM, using a relay connected to the usual motor control to turn it on and off. There hasn’t been a single glitch in this setup.” – ScribbleJ
“Instead of connecting [the EC] to the motor (which fails just as described in these posts), I connected it to a couple of relays. This works in both directions…” – MakeALot
“The relay kit did it for me. Motor started working perfectly.” – g00bd0g
I didn’t feel like waiting for support to maybe send me a relay kit, so I cobbled something together from Radio Shack. I am happy to report that I just got through 20 minutes of printing without a single problem (that hasn’t happened in weeks). What I did is basically like what rwensley did, but with only one relay (forward or stop).
- Relay (SPDT10A 12V M RLY) $4.99
- Perf Board (23/4x6x1/16 MICRO) $2.99
- Diode (PK2 1N4005 DIODES) $ 0.99
- Terminals (PCB TERM 2P 5MM) $1.99
- Molex Connector (DISK DRIVE EXTCABL) $3.99
- Figure out where to mount the new components. I cut a small piece off the perf board and drilled 1/8″ holes so that I could mount it in between the EC and stepper driver using the existing mounting points.
- Test fit the components. I then elongated the holes because I’d mounted the board too close to the edge of the bottom panel. Remember that the outside edge of the electronics are butted right up against a wall when the bot is closed.
- Mark the perf board. I suggest, if you mount the DIY relay board underneath the two existing circuit boards on the same bolts, that you mark it with a sharpie to show where you have room for components. Remember to connect the RJ cable.
- Cut the female Molex connector. I left a couple inches of wire, then stripped a half inch off of the end of each.
- Drill holes for the Molex connector wires. I used a 5/64″ drill bit to enlarge four of the holes (at least one hole apart).
- Hot glue the components in place. You don’t have to do that, but the perf board I used didn’t have any copper on it, so I wanted a better mechanical connection then just soldered wires. It doesn’t take much hot glue, tho.
- Wiggle everything. The idea is that things aren’t going to fall apart when you start connecting/disconnecting things and trying to stuff them inside the bottom of the bot.
- Wire it up. Wiring a relay is pretty straight forward. Remember to put the stripped end of the diode on the positive wire.
- Test it. Not strictly necessary, but it’s good to make sure you got polarities right. I plugged everything in like it was finished, except that I left the two control wires free and just hooked them up to an external 12v source. This simulated the motor controller sending 12v to the motor (actually the relay now).
- Connect everything and close the bottom. Yay!