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.

1 comment:

Pete said...

Excellent post.

One thing I have noticed about certain sites is that, even though they have tons of content, the site looks great and the headlines are eye catching is that the material is simply filler. It’s downright unreadable. You can forget it 6 seconds after you read it. Not the case with your post though, really enjoyed it reading it and it held my attention all the way through!