Thursday, October 31, 2013

Waiting for Plastic

Waiting for Plastic

So the last update covered getting all the mechanical pieces assembled including the stepper motors, belts, pulleys, etc required to move the three different axis in order to create a 3d object. The next logical step is installing the control system that takes the control codes and drives the printer.

Ramps, Marlin, Slic3r, and Pronterface

Sure, veteran 3d printer builders know immediately what those are and likely how to use them. Me, not so much. What is a Ramps v1.4? Marlin sounds like a fish, Slic3r lethal and Pronterface like a personal problem. One thing I DID know was that somewhere in all that an Arduino micro-controller was going to be involved and I have learned a lot about them over the past year or so. I had already done some research and asked many questions at (Never really thought of a 3D Printer as a "robot" but it IS physical computing as it was point out!) and was guided to use Ramps for the stepper, hot end, etc controller board (this mounts on top of the Arduino Mega that is used at the micro-controller), Marlin for the firmware that runs on the Arduino to do the actual work of controlling things, Pronterface for the printer interface, and Slic3r for the "slicing" part.

That's pretty much the overview of how it all works. You download the firmware or your choice, review and and tweak a few settings to match your particular type of controller and printer, install that on the Arduino Mega. Then you can use Pronterface to control the printer. Pronterface lets you control the printer but also pushes the "G-Code" to the Mega to process for the print job. But before you that, you have to use something to take your 3D model, most of which are in a .STL file format, to "slice" out each layer you are going to print. Once sliced up, the G-Code file is created that the firmware reads and then controls the printer. G-Code is a common 3D system code set used in CNC equipment, etc. Something else learned along the way. You can learn more about G-Code here:

Really the best online source I found for a Prusa I2 build is here: This will NOT be exactly like your printer or build but should be very close for an I2 setup. The software area will need to be adjusted for your selection / use as well. Software wise there are some prerequisites such as Python, Py-Serial, PYreadline, etc that may or may not be required. I just followed the directions and links from the site and it worked out. I did install Skeinforge along the way as in the instructions but have used Slic3r as it seems easier to use to me. No need to repeat all that here as the link is quite good.

Read the Details

One mistake I made, and one of the reasons I am "Waiting for Plastic" is that I ordered my JHead thinking it was a 3mm OR 1.75mm by removing the inner liner for 3mm. Everyone said 3mm would be easiest to start with and is more common so I thought fine, I'll just start with 3mm and ordered some black PLA to be ready. JHead arrived, I reviewed how to remove the liner and realized that wasn't the case. I then looked back at my purchase and the site clearly says "if you want 3mm tell them and they will drill it out for you", or you can drill it out yourself. Well knowing my drilling skills I was NOT going to try to drill a hole through the liner and cap so after more input from the LMR experts I decided to just go with 1.75mm. It's supposed to be better in the long run anyhow. No problem, 1.75mm ordered, went ahead and picked a couple different colors so should be here by print ready time. Well that's part of the story.

It's Alive!

Commissioning is always that weird exciting, scary, anxious, ready to make it happen experience. Similar to the first firing up of that hot rod engine you just spent a few grand putting together and hoping it doesn't all blow up, or in this case turn to blue smoke. Mine went really unceremoniously as the Mega took the first load of the Marlin firmware without issues. I did follow the Commissioning steps for the most part on the site above and only had to tweak a few configuration variables. Thanks for jinx, hoff, ossipee, birdmun and others online they cleared the path to understanding what I was actually doing. Without the Hot End hooked up I could get all the motors to move except the extruder which will not be allowed to work unless to hot end is up to temp. Since I do have GT2 belts and pulleys the default settings work but I did have to change the z axis from the Marlin defaults to get properly  Z height values.

Buzzy Steppers - No Move

The biggest issue was initially the steppers could step if I used the .1 or 1mm movements but at 10 or 100 they just sat there and buzzed. Troubled by the fact I didn't really find anything online that suggested any solution besides adjusting the current settings on the stepper controller boards which did not help I was stumped a bit. I finally found a bit of info online that was also suggested by jinx in regard to the jumpers UNDER the stepper boards. Unless the jumpers are all on, the board is not setup to microstep, a requirement for printing properly. I can't quite understand why the Sainsmart electronics kit I bought for a printer did not have any jumpers with it but I savaged enough  from some cheap PIR sensors I have to install them for the main steppers and viola it worked. Thanks to jinx for saving me on that one.

Continued Commission

Once I could see I could move the motors I moved on to getting all the end stops installed and working. My electronics kit included some fancy endstop switch boards. To me these ended up being a waste as they are quite limited on how you can mount them making it a little difficult to find the best mounting locations. I could not scrounge up enough normal micro switches or I would have just replaced them. Once installed jinx helped me with the M119 command to check if they are on/off, I immediately found I had wired them up backwards (although I wired them as noted on the Sainsmart website) as normally closed when they should be normally open. Since they were enabled it wouldn't let me move any motors. At least I knew they could work. A quick swap out of the connections yielded the correct status.

Bed Leveling

An important process for the whole thing is getting your bed level, especially as compared to the print head axis. By now I felt pretty confident that the printer was square and everything was as level as I could get it. So now I needed to mount the heated bed (heat not wired yet, just printing PLA for a while so no heat needed) and glass and get it leveled out more precisely. Originally I was going to get some springs for the bed from the hardware store but rummaging around in my Dads old parts bins that I've had forever turned up some pretty usable springs. They are bee-hive type springs and were the perfect height for the screws I had for the bed mount. Also with the smaller top area the screw fits in perfectly keeping it centered. At first I had tried to run the screws from the bottom up so I could adjust the nuts on the top of the bed. Mistake! For one I didn't drill the holes close enough for it to work if I locked the screws in the bottom plate. I should have done like hoff says and used the bed as the template, drill one, screw it together and drill the rest. The other reason having the screws coming up from the bottom is it's just messy. Must easier to simply press down on the bed/spring a bit and move the nut. And yet another reason is you have longer screws poking up around that sub millimeter sized hot end outlet. No need to risk damage more. Once the printer is working I will likely print some of these or similar to make using the nuts even easier:

Printing Air

So with the endstops setup, basic bed leveling done, and the software figured out I thought I could do a test print but without plastic. Here you'll see no extruder activity since the hot end is not fired up but it really seems to be moving ok and rough measurements show it's not completely off base. I also ran some test with the hot end fired up and the extruder moves the right directions as needed.

Now if I just had some filament.

Waiting for Plastic

So I'm still waiting for plastic. Wait, I said I already ordered some right? Yes I did, but one week later I checked the vendor website for status and the order still says "Pending"... Nooooo! I did send a contact email asking what was up but no answer a day later so I jumped back online, found a vendor close to home again and bought another color. In this case within a couple hours the vendor sent a shipped status and a couple hours later the tracking said it was already processed and sorted at the sending PO.

So hopefully waiting for plastic will not be a long term status.

Wednesday, October 23, 2013

3D Printer - Progress

Assembly Continues

My hardware kit was supposed to have the needed metric cap screws, washers, nuts, etc for a Prusa I2 build but since there are many different iterations of the I2 it really wasn't complete. I found a couple additional kits of 25 pieces of M3 screws and picked up some different 10mm, 15mm, and 25mm lengths to have during the process. With the needed screws on hand I could try to move froward with more assemble.

JerZ to the Rescue

Although my parts kit came with some lower Z stabilizers, it did NOT come with the plastic caps required to use them. The kit had two caps that are used on the top of the Z smooth rod but nothing for the bottom. After discussion in the LMR forum, it was advised to NOT use the stabilizer bearings and instead let the threaded Z rods dangle in the air allow some end movement. The point is that if you lock the ends down and the threaded rod isn't perfect, you will get X Axis movement that will create print errors.

For me, I really liked the method that the Z smooth rod end mounted down low making it much more likely to keep the rods parallel so JerZ offered to print up a couple end caps that were missing and mailed them to me. The worked great and it was much appreciated! This removed the extra wide lower center threaded rod and cross bar clamps and the need to make a lot of adjustments to keep the Z rods parallel. That's what I think anyhow.

Step Step Step - Steppers

The stepper motors move the print bed forward and backwards, the head carriage left and right and the whole head assemble up and down. X/Y/Z - three planes and you have 3D. The recommended steppers for many printers are "NEMA17" units but of course I found out quickly there are many variations of them online. Different voltages, holding torque, some with D-shafts, others without, and on and on. Once again to keep it simple I searched specifically for 3D printer ads to try to at least narrow the choices down some. I also have some good input from birdmun in regard to selecting steppers with connectors at the motor.. which you can see in the pics I did NOT follow and may ultimately wish I had. His point is if you have socketed steppers you can more easily swap one out if you have an issue or dead motor. Very true, guess I'll be cutting/splicing wires if something happens.

After looking/poking/questioning around I locked down on a set found on ebay that are NEMA17, 76 oz-in holding torque, 4.2v, have the D Shaft, and are 1.8 degrees per step which I believe is the correct specs for what I'm doing. The actual part number is KL17H248-15-4A. They do NOT have sockets at the motor but they do have nice 750mm leads on them making it much easier to route the wiring back to the electronics.

"Some Clearancing May Be Required"

You see this with most printed printer parts you find online. Basically it's saying "Hey, these are printed parts, they are pretty dang close but you have to cut on them some to make them work". And cut on them I did have to. The worse areas were the 3mm nut capture areas that the nuts just would not fit into. Exacto knife skills saved the day but be warned, it's still easy to split parts due to the layered method of printing. I also just smoother some of the edges up, cleaned up stray strings, etc to try and make it all work and look a little better.

This was especially true on the extruder build and I did split out a couple parts slightly. I used some superglue to fill in the split and hope that will resolve any long term issues.
Another issue was getting the extruder Hobbed Bolt, the bolt that has a grove in it and ribbing to grab the plastic filament and push it through the extruder. The area where the head is supposed to fit into was pretty nasty in the print so I had to clean it up and try to make things fit. After that I still couldn't get it to fit at a perfect 90 degrees to the gear so I had gear wobble. It meshed ok, but I didn't like the wobble so the suggestion was to heat up the head enough to kind of melt it into place and 90 degrees position. Used a butane lighter, a little heat and it seems to have works. You can see the head doesn't quite fit into the socket on the gear though here. It's solid but I think I'll drop a bit of super glue in to make sure. I bought two hobbed bolts to have a spare so even if I move to a herring bone gear set I have a bolt.

The hobbed bolt is another part that could have been built at home I guess. It's a basic 8mm bolt with a notch and ribbing done on it but for $12 I found two online with the nuts and washers and figured it would take me longer to try to do it myself than $12 worth of time.

Hot End
To melt the plastic and get it down to the sub millimeter stream needed to print something, you need a "hot end". After research, reason, and lots of input from LMRians I went with the tried and true J-Head design. Since I picked mine up on ebay it is likely some knockoff but should work. It has a 0.4mm output, was supposed to be able to use 3mm or 1.75mm filament and had the heater and thermistor already installed and setup. I also had to get a mounting plate to hold it in the carriage and extruder. Hot end in hand, moving on. I had already ordered some 3mm black filament so I decided to do whatever was needed to make the J-Head use that size filament as I could tell it was setup for 1.75mm when I got it. After pulling it apart and discussing with hoff70 it became apparent that the head was MADE for 1.75mm but COULD be drilled out for 3mm. Looking back I can see the ad for the unit said THEY will drill it out for 3mm if you want before shipping. So another minor setback, can't use the 3mm filament I have now but the recommendation was to go with the 1.75mm size. It is supposed to be better/cooler/tighter/etc anyhow. So I coughed up some more money and ordered some 1.75mm black and went ahead and ordered some red as well as I really didn't want to be stuck printing black for too long.

Getting There

With the extruder together and the recently purchased hot end in hand, I finished mounting the extruder to the carriage. Still no belt on it but wanted to make sure it all fits together, belt route clear, etc before doing that. One thing again about clearance work, be care and make sure the nuts fit in the captures. The but was a little tight on one side of the hot end mount and forcing it in created another small layer split.

With the extruder on the carriage I checked the movement back and forth and although tight I believe it is working as it should.

Mounting Steppers

Mounting the steppers is really pretty straight forward. I just needed to make sure I used the correct length cap screws that weren't too long but not too short either. Some clearance work on the mounting slots and they fit just fine. There is now a mass of wires going nowhere but I'm not routing anything until I have the electronics in hand and plan where to mount it all.

With the Z Axis motors in I hooked up the CNC aluminum couplers that connect to the Z threaded rods. These seem much better and isolating any threaded Z rod imperfections but with anything there are those who say don't use them as well. Some say they will sag/stretch over time affecting the Z axis. Maybe so but they seem to much better than a hard clamped mount that comes with the original parts kit. I think with some continuous tune ups and system checks any sagging can be adjusted out as needed.

The Print Bed

A very important piece that needs to be right is the print bed. Although many get great results from printing on anything, I figured I need to build what I want up front. With that in mind, I included a heated print bed in my kit so I could print ABS later on if desired, but also it seemed like the easiest way to mount a nice thin setup. For the base, I used some 1/4 acrylic that I picked up at the local hardware store. I noticed that many use it as their base as it's flat, easy to cut, and just looks nice. After I cut it out to the basic size, I did hear from some on LMR that you need to protect it from heat if you are mounting a heated bed as it can warp. Figures.

So with a nice piece of acrylic for the lower bed mount, I ended up covering it up with some classic Mr. Gasket exhaust gasket sheet that I plucked from my garage and my car hobbies. This stuff can handle hundreds of degrees so it should protect the acrylic  from the heat bed. I even mounted with the Mr. Gasket logo up top just for the heck of it.

I also picked up some small springs at the hardware store to use to mount the heat bed/glass on for adjust-ability as many have done. I could have used ball point pen springs but these are similar and should work fine.


Next up was to get the belts on for the X and Y axis. I mounted the Y axis bed belt first using the included belt clamps but also use the trick of using small zip ties to hold a loop at the end of each belt and then one to tighten those loops together so you can pull the belt tight with the zip tie before tightening down the clamps. Worked well for the bed and I had smooth motion to and fro.

The X carriage setup wasn't quite as easy as there is not enough room between the two clamps to do the zip tie method. For this I clamped down one belt end and then left some extra length on the other end allowing me to pull it tight and clamp it down. Carriage moves left and right fine without any issues!

Extruder Mount
Next was the final mount of for the extruder and hot end on the carriage. After putting the extruder in place and starting the screws another problem arose. With the longer, higher torque, stepper motors, the motor extends backward into the path of the belt creating interference. At first I wasn't sure what to do besides get a short stepper for the extruder but after pulling it back off I found the angled mount holes that allow mounting the extruder slightly sideways. Mounting it like that clears the belt in the back but it does make the motor hit the threaded rod on the left side before getting to the edge of the print bed. Oh well, will have to do and limit switches should keep any interference at bay.

Summary To Date

So at this point the chassis is built, lower print bed mounted, steppers mounted, extruder and hot end mounted, all axis are moving properly manually and I've started routing and organizing wires. I've also labeled all the steppers with my label machine. Electronics are here so last steps are finalize bed leveling setup with springs, wire up the heat bed eventually along with the thermistor for that. More to come!