It's a minimug!
I've been completely stymied by the extruder ever since the last post. Everything else has been working fine, but the extruder would jam after less than one layer had been printed. Nothing I did seemed to help.
After many attempts, I gave up on the original extruder and started figuring out how to build a stepper extruder without being able to print it. I spent a couple of days building a version of the Mendel extruder multiple times in various 3d apps, finally trying out OpenSCAD and loving it. It's far better to code the relationship between objects once and then tweak variables to make changes than it is to keep doing the math by hand in a traditional 3D CAD app. I'll be using it from now on - and if you're a programmer, you should too!
Of course, a 3D model is only useful if it can be instantiated, and for this I dug out my McWire mill. Sure, it's never actually milled anything yet, but what better time to try it out? Unfortunately, I hit a problem in converting the model into a g-code toolpath for running the mill. It's a solved problem, so long as you're running windows and have paid for a commercial app... the free linux tools left much to be desired. I can get close to a decent toolpath using Skeinforge (which is supposedly capable of milling as well as printing use) but not close enough to convince me to run the mill with it yet.
Therefore, I put together a version of the crudestruder out of various crap I had lying about. Unfortunately it looks like the small NEMA 17 motors we have lying about the space aren't nearly strong enough to drive the filament without being geared down; so this attempt was a bust too.
I was planning on borrowing the geared mendel extruder parts from Buzz that we received from Adrian a couple of weeks ago, except they require the new smaller bearings I have none of. I raced out at 4pm today to go to Hobbyparts.com.au, which is the best local supplier - they close at 5pm and aren't open on the weekend, so it was a real rush... only to discover the huge traffic jam that already occupied the Pacific Motorway. No bearings (and hence no mendel extruder) for me this week!
I was forced to return to the original extruder - but I had learned a couple of things about it and the hot end this week. Buzz brought in a thermocouple which I was able to stick down into the molten PLA in the heater barrel, and it read around 165 degrees when the barrel thermistor read 190. That makes the PLA far more viscous and hard to extrude. Therefore I increased the temperature of the barrel to '210', making the PLA much more fluid.
I also found a significant amount of friction in the extruder where the filament first enters it - there's a long section that the filament has to pass through before it gets to the drive screw, and it's perfectly straight. Unlike the filament, which has a significant curve to it. Disassembly (aaargh), lots of filing (aaargh) and some oil (eh) helped prevent the filament from jamming in that area. The oil also made the filament path far more transparent, improving visibility in the entire extruder.
Finally, the gearing at the top of the extruder wasn't correct - this being the first version of the rapman extruder, it placed the motor too far away from the drive screw gear, so that the gears would regularly skip teeth when the required force went up. I filed out the holes for the motor, tilted it, and drilled a new bolt hole for the motor at the gear end, which keeps the motor gear much closer to the drive gear. Now it no longer skips, regardless of the drive resistance.
And suddenly the extruder came good!
Now I need to go back into Skeinforge and start tweaking. It placed a ridiculous amount of inter-layer cooling time into the minimug gcode, the cooling movements on the bottom ten layers or so also significantly damaged the outer perimeter of those layers. Fixing that should speed up printing by about 5 times or so. Also, I don't think the minimug completely finished; it got somewhere close and then stopped, oozing a large blob onto the mug and causing the gcode uploader to spazz out a bit. I've heard about spurious serial corruption from other people, so that may be the culprit. Reducing the amount of useless gcode movements, and using one of the newer firmwares with checksumming should help. Finally, the aspect ratio of the minimug is off, as I have yet to properly calibrate the steps/mm values for the three axes.
Friday, April 30, 2010
Wednesday, April 21, 2010
Mo' hacking, mo' problems.
Not a lot of progress to show unfortunately, just lots more fixing. Fixed the extruder, fixed the Z belt (which had bloody well better not come apart again now that Buzz has sewn the damn thing together) fixed the entire X assembly, fixed the extruder AGAIN. The biggest problem now is actually getting the extruder pulling filament reliably, as PLA is quite hard and tends to resist the drive thread. I've sharpened the threads with a hacksaw, and will be testing it out today.
I'm also fiddling with Skeinforge instead of the reprap host - far more complicated, but it looks like it'll give me the output I want. More importantly, it gives me a great preview of the generated layers so I know what I should be seeing on the print bed.
The mendel parts from Adrian Bowyer have just arrived at the hackerspace, and they look amazing. I'll be happy if I get parts even half that good.
I'm also fiddling with Skeinforge instead of the reprap host - far more complicated, but it looks like it'll give me the output I want. More importantly, it gives me a great preview of the generated layers so I know what I should be seeing on the print bed.
The mendel parts from Adrian Bowyer have just arrived at the hackerspace, and they look amazing. I'll be happy if I get parts even half that good.
Thursday, April 15, 2010
First pri... oh.
The reprap is essentially finished; it's now just a matter of finding all the little things that fail in the middle of a print and getting them nailed down. The X and Y axes were swapped so that the prints aren't mirrored. The Z and (now) Y belts were significantly tightened. The PSU was replaced after the old one went BANG and FLASH and stopped working when I added the Z stepper driver for the first time. A bunch of nuts had threadlocker put on them - some before they came off in the middle of a print... and some after. Yet another crack in an acrylic piece (although Buzz wasn't to know how fragile the stuff is...) The list keeps expanding.
We now have a filament spool made from junk and hot glue. And some appreciation of just how much more annoying a tangle is when it's in a filament that can't be arbitrarily bent and twisted. :P
Also, the stepper drivers now no longer overheat, after a liberal application of giant random heatsinks.
All hail our new giant random heatsink overlords.
Wednesday, April 14, 2010
Launch the goo!
It took some doing, but the reprap is finally squirting plastic.
A lot of faffing about with the firmware and the thermistor started reading approximately the right temperature, so I could start testing the hot end. Unfortunately I soon discovered that the thermistor would short out when it got above about 130 degrees, and start reading 255 permanently until it cooled down and I fiddled with the leads. Since the short appeared to be somewhere in the thermal epoxy I ended up digging away at it to try and expose more of the thermistor leads... and broke one in the process. Oh no! Some more digging and I was able to expose enough of the broken lead to solder back to it. After that the thermistor started behaving reliably. Yet another bullet dodged! Then we had a bit of trouble getting the hot end to heat up enough, so Buzz wrapped some fire blanket around the hot end to insulate it a bit, and finally the hot end was working well.
And the smell? It gave off a bit, but only enough to notice it and not enough to act like mustard gas now that the control loop is closed - thank god.
I sent the G-codes to start the extruder motor... and watched as the machine stubbornly refused to activate it. Aargh! A couple of hours of hardware testing didn't get me or Buzz anywhere, so I had to come back after a nights sleep to attack the firmware code and find out what was happening. Turns out that the firmware defaults to an extrusion speed of ZERO, and will faithfully turn on the extruder motor at that speed - the reprap host software isn't explicitly setting the speed. Changing the extruder speed manually to 255 before turning it on got it going immediately.
Setting the heater on to 190 degrees and starting the extruder motor gave me some nice little blobs of goo, which I then stretched out by moving the head most of the way across the print bed. And then the X-axis stopped moving - turns out that the shaft coupling on the stepper had worked it's way loose, and I ended up having to disassemble it to realign and tighten the grub screw down hard(-ish) again. There's only so far I can do that without ripping the acrylic coupling apart, so I might have to get in there with some superglue or epoxy if it comes loose again.
Speaking of the steppers, there's something of a heat problem with them. The steppers themselves get very hot, which isn't too big a problem (and I have a couple of random CPU heatsinks stuck to them now) but the stepper drivers get even hotter, which is. The heatsinks aren't sufficient to keep the chips cool, and when they get too hot (i.e. ten seconds after power on) they start sending lots of random steps to the motors. I've got a fan set up, but it's only able to keep the X and Y drivers cool. Before I finally start the Z axis up, I need to sort out a much better heatsinking solution for all three driver boards.
A lot of faffing about with the firmware and the thermistor started reading approximately the right temperature, so I could start testing the hot end. Unfortunately I soon discovered that the thermistor would short out when it got above about 130 degrees, and start reading 255 permanently until it cooled down and I fiddled with the leads. Since the short appeared to be somewhere in the thermal epoxy I ended up digging away at it to try and expose more of the thermistor leads... and broke one in the process. Oh no! Some more digging and I was able to expose enough of the broken lead to solder back to it. After that the thermistor started behaving reliably. Yet another bullet dodged! Then we had a bit of trouble getting the hot end to heat up enough, so Buzz wrapped some fire blanket around the hot end to insulate it a bit, and finally the hot end was working well.
And the smell? It gave off a bit, but only enough to notice it and not enough to act like mustard gas now that the control loop is closed - thank god.
I sent the G-codes to start the extruder motor... and watched as the machine stubbornly refused to activate it. Aargh! A couple of hours of hardware testing didn't get me or Buzz anywhere, so I had to come back after a nights sleep to attack the firmware code and find out what was happening. Turns out that the firmware defaults to an extrusion speed of ZERO, and will faithfully turn on the extruder motor at that speed - the reprap host software isn't explicitly setting the speed. Changing the extruder speed manually to 255 before turning it on got it going immediately.
Setting the heater on to 190 degrees and starting the extruder motor gave me some nice little blobs of goo, which I then stretched out by moving the head most of the way across the print bed. And then the X-axis stopped moving - turns out that the shaft coupling on the stepper had worked it's way loose, and I ended up having to disassemble it to realign and tighten the grub screw down hard(-ish) again. There's only so far I can do that without ripping the acrylic coupling apart, so I might have to get in there with some superglue or epoxy if it comes loose again.
Speaking of the steppers, there's something of a heat problem with them. The steppers themselves get very hot, which isn't too big a problem (and I have a couple of random CPU heatsinks stuck to them now) but the stepper drivers get even hotter, which is. The heatsinks aren't sufficient to keep the chips cool, and when they get too hot (i.e. ten seconds after power on) they start sending lots of random steps to the motors. I've got a fan set up, but it's only able to keep the X and Y drivers cool. Before I finally start the Z axis up, I need to sort out a much better heatsinking solution for all three driver boards.
Thursday, April 8, 2010
First Movement!
Unfortunately it was hard into one end of the Z carriage and broke off the opto flag. Yay! :S
Something weird is going on between the firmware and the host software - with the firmware in test mode I can get it to move both directions no problem, but when I'm using the firmware proper things only move one way.
I also discovered that passive cooling isn't sufficient for the stepper drivers; when the chip gets hot enough it starts sending spurious steps to the motor. Blowing on it was enough to get it to stop. I repurposed the extruder fan as a driver cooling fan, only to have the sinking realisation that Buzz nicked the molex connector off the end a while back... so I had to find another one to replace it. *sigh*
Off camping for a few days, so no progress until early next week. Cya!
Edit: just figured out my movement problem - it's what will happen if the endstop is being read with the wrong sense. Now I won't be obsessing over it all weekend!
Something weird is going on between the firmware and the host software - with the firmware in test mode I can get it to move both directions no problem, but when I'm using the firmware proper things only move one way.
I also discovered that passive cooling isn't sufficient for the stepper drivers; when the chip gets hot enough it starts sending spurious steps to the motor. Blowing on it was enough to get it to stop. I repurposed the extruder fan as a driver cooling fan, only to have the sinking realisation that Buzz nicked the molex connector off the end a while back... so I had to find another one to replace it. *sigh*
Off camping for a few days, so no progress until early next week. Cya!
Edit: just figured out my movement problem - it's what will happen if the endstop is being read with the wrong sense. Now I won't be obsessing over it all weekend!
Monday, April 5, 2010
Even ridiculously closer now!
The wiring was a pain, though - I was particularly short on wire that was thick enough to handle the high currents that could be going to the steppers and heater coil, so in the end every one of them used a different type and colour of wire to every other one. Sigh. Cable ties are liberally applied in an attempt to keep the ratsnest under control.
The wiring to the moving carriage at the top is all tied to a loop of the PLA filament, which is springy enough to keep it out of the way. I had to superglue a bit of scrap acrylic to the x carriage to provide somewhere to cable tie the filament to; I'm fairly confident it'll be robust enough. Also, every wire to the extruder head has some kind of connector in-line before being attached to the guide filament; hopefully this will let me detach the entire head without too much fuss in the future. When it inevitably goes kablooie.
Friday, April 2, 2010
Oh, so close!
Not much left to do now! Mostly just wiring the X carriage and fine tuning the Z axis, followed by putting thread locker on some important nuts.
Subscribe to:
Posts (Atom)
