Saturday, September 18, 2010

Printing Wade's Extruder without a heated bed

It's been bothering me that I can't print a Wade's extruder block in ABS. Every one I've tried to print was badly warped. I've been using an extruder I bought from Rusty Spoon, but it's in poor shape from all the drilling and cutting I've done to make it work with my quick-change nozzles. I really need a new customized one. I made one out of PLA, but it failed in less than an hour of use; the stepper melted its way out of alignment. I've been too lazy to build a heated bed, so I've been keeping an eye out for another solution.

Nophead found the solution and posted it last week. His solution improved prints with a heated bed; I decided to try it with an unheated one:



Bam! Still fully attached to the bed!



No heated bed! No raft!

I still heard the occasional loud crackling sound while it printed, but at least it stayed fully attached to the bed. Unfortunately it acted like a spring once I started pulling it up; it wanted to get off the bed ASAP. After springing, it gained a slight warp, but not nearly as much as before. Since it stayed attached while printing, its tendancy to warp didn't interfere with the upper layers. Unlike my previous attempts, this part seems usable; this is the real win.

Saturday, April 10, 2010

First shipments made

kit

We sent out our first shipments this morning! We have most of the parts produced for a couple more kits, so we expect to be able to ship new orders out quickly.

I'm working on cleaning up the Alibre assembly files and hope to have them posted today on the Wiki. I also hope to have a hardware list up today or tomorrow. Documentation is still in the works.

Tuesday, April 6, 2010

Steppers, Stops, and Skeins, oh my! (Part 1)

I recently purchased a kit for Wade's Geared Nema17 Extruder. This thing rocks! It pumps out a pretty hefty volume of material compared to the DC-motor based extruders I'm used to working with, at least on a test-bench configuration. However, trying it out on a 3D printer led to a long and continuing saga of soldering and software hacking.

Electronics Modification

This part is documented: extra wires need to be soldered onto the motherboard to connect it to the extruder controller.

This part is in the forums somewhere (I wish I saved the link): the extruder controller doesn't have a current-limiting driver, something that steppers really need to reach their full potential without burning out.

My solution (chances are others have done this also): run the extra wires from the motherboard to a stepper board instead of the extruder controller. The extruder controller now just does temperature control.

Firmware Selection

I've been using ReplicatorG and Skeinforge with the Generation 3 firmware ever since I purchased my MakerBot. Unfortunately the Gen 3 firmware doesn't currently support stepper-driven extruders. (I could have missed something; please post comments/corrections in the comments).

I decided to switch to the 5-D firmware and RepRap Host software. This sent me a long series of rabbit holes that I'm still working my way out of.

Firmware Changes

Many machine-specific parameters are compiled in the 5-D firmware. Things such as steps-per-inch, stepper polarity, and whether acceleration is needed or not are all in the header files in easy-to-change form. Everything, that is, except the stepper polarity for the extruder. This isn't a problem if your stepper is connected to your driver using screw terminals, but it is a problem if it's connected by a polarized plug. I dug deep into the sources and made the necessary change.

End Stops Part 1

The Generation 3 firmware mishandles end stops, so most people using Gen 3 don't bother putting end stops on their machines. I fell into this category. I was surprised to find out that not only does the RepRap Host software handle end stops, it requires them. I searched for a way to disable the homing sequence in the configuration window, but couldn't find one. I never bothered soldering up the end stops in my electronics kit, so I thought I'd just work around it on the software side.

Falling Back to a Familiar Standby

The RepRap Host software doesn't require end stops if it's used with externally-generated g-code. No problem! Replicator G only works with externally-generated g-code. Re-enter Skeinforge.

Skeinforge Upgrade

Skeinforge is a rapidly-moving target. Gen 3 users, including my myself, normally use an older version of Skeinforge. It's what most Gen 3 users are used to, it's what they document, and it's what they point new users to. Unfortunately this older version doesn't support the 5-D firmware, which requires a very different way of controlling the extruder.

Skeinforge Changes

Skeinforge is a rapidly-moving target; it's hard to know which version is new enough to have the features you need, but not so new that it breaks them. I went with the latest; it broke the features I need. Either that or I got confused by its large number of parameters.

Problem 1: E-axis handling. It was generating g-code which drove the E axis a much longer distance than the other axises (by at least an order of magnitude). I dug into the code to figure out why. I closely examined the formula it used, but was unable to make heads or tails of it. I replaced it with the following:

E distance = movement distance * flow rate / 255. Why /255? I'm used to the flow rate being a PWM setting in the range 0-255. I'd probably be better off dropping that old mentality and the /256.

Problem: Skeinforge was designed for DC motor-based extruders, which have very poor flow rate control. Skeinforge adjusts filament width for different portions of the print by varying the X-Y motor speed, which causes the filament to stretch out. My formula cancels this effect. I suspect the original formula was designed to preserve it. I should probably go back to reread it with this in mind. If I understand it, I should be able to adjust the parameters to make it come out well.

Problem 2: fast Z. Skeinforge has a Maximum Z Feed Rate setting. It pretty much ignores it. The resulting g-code was driving Z at a speed that was well beyond the set limit and what the printer could do. This effectively turns the Z motor into a speaker that makes nice sounds but doesn't turn. I did some surgery on speed.py (the code that regulates speed). No effect. I selectively disabled Skeinforge features until the problem lessened; clip.py was a culprit. It completely clobbered speeds on rapid moves. Fixed that. Tried again. Still too fast. Tracked it down again. Lots of filters modify paths but either preserve the feed rate as-is (not usable with the 5D firmware) or completely replace it with one of the fixed settings (again, not usable with the 5D firmware). At this point I gave up.

Note: this isn't a problem with Skeinforge; it just expects either the firmware or the host software to limit Z (Gen 3 / ReplicatorG does this). It also isn't a problem with the 5D firmware / RepRap Host Software; they just expect externally-generated g-code to completely control speed. It's an integration problem.

End Stops Part 2

To be continued...

Thick Sheets

Since we've modified the y-chassis a bit to better suit our design changes we wanted to make sure at least that item was included with our kits. We thought we could just use our CNC router to cut the thick-sheets but we just didn't have the right bits.

Up-spiral bits work well for thicker materials but quickly de-laminates the plywood along the cut edge. We tried sanding them but just wasn't a worthy finish.

So today started with a short road trip to visit a man with a laser. After several hours of fiddling with getting my 3D cad to produce DXF files with 'hairline' lines we finally got some pieces cut that look as good as we wanted. Its costing us more than using our own machines but I feel it worth it.




The rest of the afternoon was spent cutting blanks of parts. We've got it laid out in such a way that we produce enough of 1-2 parts at a time for 5 kits. So today I cut the z-rod-clamps and the y-motor and y-idler parts. It took a few hours but only because I didn't trust my blank layout enough to leave the machine unattended. It also didn't help that the vibration caused one of the limit switches wires to break at the solder joint. Always wire your switches to break contact, that way if a wire breaks your machine will stop like mine did; always better to know before you need it!!!

The parts still need a little more hand sanding but have turned out wonderfully.

Saturday, April 3, 2010

Batch #1

We are ready to build and ship batch #1. We are going to start with a limited run of 5 units to test the waters. NOTE: We now support shipping internationally, if you have a problem ordering from our website please contact us and we will get it fixed ASAP.

Sunday, March 21, 2010

Prototype #2 printing

Here is Prototype #2 printing. Same speed settings as before:
  • print: 36 mm/s
  • travel: 55 mm/s

Saturday, March 20, 2010

Cutting up

Well, cutting down actually. Yesterday and today I spent several hours in the shop cutting some more trial parts so we could test out our latest round of changes. We reworked the X carriage to make it easier to assemble. We also redesigned the Y carriage bearing supports to reduce both the total number of bearings and the total number of unique parts. I made parts in both the plastic/lumbar (Trex) and some random plastic from the store (chopping block). Here is a short video of our machine hard at work.




Todd and I spent the afternoon trying the new parts. This involved taking the previous machine down to nothing and putting it back together again. This process took us about 6 hours so far (still in progress); but only because we don't have to look at the pictures every 2 minutes :). The good news is that both the x-axis and y-axis changes seem to work well. The bad news is we still have more rotational play where the x motor rides up and down the z axis than we would like. It hasn't affected the print quality at all but we still don't like it. Fortunately I was anticipating this and already have a solution in mind. In the next couple days I expect to have the new parts cut and ready for another trial assembly. Maybe in a few more days we'll even be ready to sell some kits.

Saturday, March 13, 2010

Isaac's First Print Video

Isaac's First Print

Isaac completed its first print today! Brett is stitching the video footage together. In the meantime, here are some photos:






Some more photos

Movement Testing

Here is Isaac flexing its motors:

Monday, March 8, 2010

Some goals of the Isaac-Mendel

The Isaac-Mendel is a derivative of the RepRap Mendel and can be classified as both a RepRap and a RepStrap. We tried to preserve as much of the Mendel's characteristics as possible:
  • All of the machinable parts are printable. An Isaac-Mendel can print its own replacement parts. It can also produce a child Isaac-Mendel.
  • It has roughly the same form factor. It uses the same lengths for stud-frame-side and stud-frame-end. Other stud lengths vary to match the new parts.
  • It's belt-driven.
  • It's GPL. Once we start selling kits we'll post the plans publicly, most likely on the RepRap wiki.
We have some additional goals to support its use as a RepStrap:
  • All of the printable parts are machinable. A 2-1/2-D milling machine or a gantry router can cut out the parts. The only part with cross holes is the frame vertex; the cross holes are easy to drill using a jig.
  • It includes an adapter plate to mount MakerBot's Plastruder MK4. This combination is optional; the Mendel extruder should also fit (untested).
The Isaac-Mendel is a work in progress, but it looks like we're nearing the home stretch. We hope to have it printing sometime this week or next and post videos.

Part 1 (Literally)

Back in November of 2009 Todd started working on printing a Mendel on his CupCake CNC. He brought his work in progress over to a family dinner one night. He hadn't gotten very far at that time because of the hours required to print parts.

As we were all sitting around admiring the Mendel design when discussion turned to the cost of it. The cost of Mendel isn't bad, but you need access to a Reprap type machine like Todd's CupCake, and 60 hours of free time. At that point dad jumped in and said "Why don't you just cut them all out on the CNC?".

Mendel wasn't designed to be cut, it was designed to be printed. We all knew that it wouldn't be an easy endeavor to generate a Mendel design that can be machined. We looked hard at several other pioneers including the wooden mendel, the metal mendel, and others. They weren't very far along at the time enough to know that the idea was reasonable.

Todd got excited about the idea so I helped him finish upgrading his Shirline Mill into a CNC Mill so he could prototype without having to travel to Dad's to use the big one. At that point we were ready, with fresh licenses of Alibre Design in hand we started with one part, the infamous frame-vertex.

Long Winter

It's been a long winter, but first let me introduce myself.

My whole family has been into computers since I was little. Our first family computers consisted of Timex Sinclair 1000's, Vic 20's, Commodore 64's etc. We even had an original Pong. Pretty much had everything up through the first 486's. That was a long time ago, and none of us have left it.

Mom started her own software company in the early 80's selling educational software to school systems all over the US. My father got out of programming but helped mom manage her company. When we moved to Virgina he got re-involved in commercial construction management. My whole life Dad has been an avid woodworker, making everything from Christmas toys to custom cabinetry. My brother Todd went on to Virginia Tech's Computer Engineering school where he got all the way into his PhD program. Now he's doing stuff I'm not allowed to know about :)

Myself, well my name is Brett, and I'm the youngest. I also went to Virginia Tech, and also got into Computer Engineering. I stopped at my Bachelor's and went straight to work. Currently I write avionics software for a small company, and have work on some pretty cool things such as the X-31 control software, X-43C, GlobalHawk, C-130J moving maps, etc.

About 3 years ago dad approached me to help him build a CNC router for his wood shop. He already had a frame from a router duplicator, and so it begun. About 4-5 months later we had a crude CNC machine that would run at 30-40 ipm (inches per minute). We fiddled with it for about a year, constantly tweaking the design trying to resolve issues that crept up.

We started to grow tired of it, and dad decided we should start over from more solid plans. We started with a Joe's CNC design but added provisions for a lathe/rotary axis at one end of the machine. After about a year of working on it, and two rounds of electronics, we finally have a monster on our hands. We can cut almost 4'x6' sized sheets at a time, and turn up to 8"x36" blanks on the lathe, all at up to 200 ipm.

That's where the history ends, and this blog begins.