Monday, November 4, 2013

We Have Print

We Have Print

 
After the little delay in getting filament, it finally arrived from the new vendor. In the mean time I had almost forgotten that I need something to hold the spool so I scrounged around in the garage and found a bunch of leftover PVC T’s from my compressed air piping runs in the garage but had no PVC pipe left over. So I started looking around and found a sacrificial  broom whose handle fit nice and snugly into the PVC T’s A few 4.5” cuts later (btw, broom handles are much easier to cut that M8 rod :-/ ) I had a stand that should handle both the larger and smaller rolls of PLA.

 
Final Checks and Test

 
Before printing I went through the final checks again; bed level check, re-home everything, reviewed the whole printer and loaded up the PLA. the first thing was to finally check out the extruder and make sure it will work. I used the Pronterface default 185C setting, although recommendations from LMR experts would lower that later. Clicking on the Extrude button in the lower right of Pronterface pushes out the plastic. One thing I had read was to measure the amount extruded against the set amount in Pronterface which was 5cm. Sounds easy but on each extrude the output curls back up on itself making it hard to get a good idea. I finally pulled the curled up piece off and straightened it out to measure. It’s a little over 5cm but maybe I’m stretching it pulling it off?

 
Test Print #1

 
With all apparently in place, I figured I’d try the nickel test part to start with. It’s small, flat and provides some idea if you are on scale or not. First print, first fail. It tried to print but the very first failure was having the 1.75mm filament jump out of the hobbed bolt channel and run it’s way off the facing bearing. Nice. Not bad though. So I think maybe it’s a fluke and load everything back up and try again. Nope. Not only did the filament move off the bolt BUT the bed nuts that I thought lock washers would hold spin lose and the bed is too tight creating more issues.

 
So back to bed leveling and looking for a guide solution for the filament. The bed nut issue was simple, do what everyone tells you to do and put a dab of nail polish on each nut/thread when you’re level. Did that and done. The other issue wasn’t quite so simple. How to keep the 1.75 in the channel. I figured there were a few possible reasons; 1) I didn’t get the clamp bolts tight enough, 2) I didn’t tighten them evenly so it walks out one side, or 3) the hobbed bolt is really for 3mm and it’s just not a sharp enough cut to hold it in the center. So just to make sure and get a clean print, I retightened the bolts trying to get them even but the bolt issue was so easy. To test a guide I cut up a small piece of aluminum, slotted it and servo taped it to the extruder.

 
Ran another test print and it worked! You can see that item #3 looks pretty good for a 3rd print try. Testing the nickel fitting the slot didn’t go so well though. About .381mm off or .02% is what we calculated. Instead of making major changes I thought I’d try a cube of box to check outside dimensions so I printed a 2x2x1cm box. Outside dimensions were slightly LARGE so 

I’m not sure if I have a scale issue. Jinx, ossipee and hoff agreed that maybe there is too much filament being extruded so it’s making everything slightly fat. The default setting was 300mm/min so I backed it down to 275 for future tests.

 

In the mean time I wanted to print a few “fun” parts just because, those that didn’t have minute scaling needs so I loaded up the most impressive part to me, the beer can handle! Cool, nice, big print to test too. Load / Print / Fail - Extruder jam. Ok, better try a smaller part and get this extruder thing resolved. I went back and thought I’d really tightened it down, maybe it’s still just walking out because it’s not tight enough. So I tightened it, and tightened it and finally squashed the filament so it wouldn’t feed either direction. Not the solution.

 
Think Smarter

 
So the filament is drifting off / out of the bolt groove, maybe a better inbound alignment. I’m sure there is something else going on here as even when I was assembling the extruder I wasn’t really happy with the loose feel of the whole thing. But since I can’t fix that right now, how about a better feed guide? I found one online that snaps on top of the extruder but it didn’t really go down any deeper than my existing aluminum one. Think Protowrxs, think… Ouch, that hurt.

 
Digging around in the garage again I started thinking I need a small tube that can go deep enough into the extruder right down to the hobbed bolt to keep the walking to a minimum. Small tubes were abundant but none had any good mounting options. Then it hit me to try a
small pop rivet housing. I found one the right length and the filament fit in there just perfect. Wow, dumb luck. I knocked the riveting piece out and make a new more stable guide top, pressed the rivet into the hole and found a small nylon nut that I slightly drilled out to press fit on the bottom side to hold the rivet in.

 
It Works

 
So back to the big beer handle print, why not. Loaded it all back up, test extrusions, re-home, cross fingers and print. This time I watched it, and watched it, and watched it keeping an eye on the feed the best I could. By now it was getting late and after about half way through it was still working so off to bed and leave it be.

 
Results

 
The next morning low and behold a handy dandy beer can handle was done and a pretty clean print as you can see here. There are three locations where there is extra filament dangling around. They are consistent all through the layers so I’ll have to start researching what can cause that. The handle is slightly smaller than the stl measurements so I DO some scaling issues to fine tune.  Overall I have to say I am very happy with the output so far. I know it’s only day two of printing but I was pretty concerned it would be weeks before getting this working. Partly dumb luck, partly good assembly, but mostly good help from the LMR printer experts willing to share and assist a newbie.

 
Fine Tuning

 
So it was printing but as I noted it was still not perfect scale. The nickel doesn’t fit through the hole and the big beer can holder I made worked but was super tight to get it on a can. Obviously things are slightly too small. How to fix? Ossipee explained the process to me and I had already looked at the steps per mm settings in the configuration.h file in Marlin, but I still wasn’t exactly sure which direction to make the change, although it is obvious now. Instead I found another calibration site similar to the one that Birdmun had provided me a link to. What I liked about this one located here:http://mendelmax.com/RepRapCalculator.html, is that you just plug in the disired size, what you measured on your output, what your current configuration is and it calculates you a new number to plug in. So I plugged in my settings and measurements, obtained the value and updated the firmware. Much better.

 
Go Big

 
As ossipee recommended from the beginning, it may look fine at small scale but the real test is to “go big”... and fail likely in my case but none the less that is needed to get it right. So the next step from to reprint something bigger to see if the scale works and then re-adjust as needed. So needing a correct size beer can holder I re-printed it using the new scaling. Results were I ended up with too much scale at that level so re-calculated with the big scale measurements and re-print again. Pretty much the process. Of course you don’t have to print the whole thing, let it lay down enough layers that you can measure and stop the print, pull it and re-check / re-tune.

 
Experience

 
So beside some more really fine tuning the printer is working. It wasn’t too hard overall. I liked the mix of hardware of building the printer, especially since I’m a mechanical bicycle/goKart/motorcycle/car kind of guy at heart. I also like the electronics/software side of things and learning the basics of how it works, maybe because I’m an IT/coder/manager professional.

 
Other Resources:

 

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 LetsMakeRobots.com (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: http://reprap.org/wiki/G-code

Really the best online source I found for a Prusa I2 build is here: http://www.nextdayreprap.co.uk/prusa-mendel-build-manual/. 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: http://www.thingiverse.com/thing:152043


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.