weird z behavior on prusa reprap- FIXED

EDIT: over on the #reprap irc Rhys-jones and a few other helpful folks figured this out for me. Since the endstops aren’t working on my machine yet, the 0,0,0 position was based on wherever it was when it started up. I guess the x and y were similar to that same position, but the z wasn’t. The fix was to add “G92 X0 Y0 Z0;” to the beginning of the gcode. That sets the current position to 0,0,0 on the printer. This can be done in the Start/End Gcode tab in Slic3r. Thanks again all who helped!

I have something weird going on with my reprap where it will take the first z move and scale it dramatically. Then all of the others will behave normally. I made a video to illustrate it.

Machine will jog correctly through pronterface. when it encounters the first .4mm z move it ends up moving significantly farther. It ended up moving around 1 cm.

This is the code for that abrupt z move “G1 Z0.400 F7800.000″

at the end of the video you see it begin the second layer, and it moves the correct amount! This is the code for that z move “G1 Z0.800 F7800.000″

I am very confused.

For those interested, this is a gen6 board running sprinter and controlled by pronterface on my mac. The gcode was a single walled box sliced by slic3r 5.5. The config.h for sprinter is below.

Continue reading

gen 6 and sprinter homing issue

I’m at the point of troubleshooting where I either give up and go for a bike ride, or seek help. So I’m seeking help, and then I will go for a bike ride!

I am having an issue where I can’t get the gen 6 board to properly home. I have tried to home it by sending gcode (G28 X0) through slic3r and through the slicer home buttons. It recognizes the x end stop when jogging and refuses me to push past the limit, but it will not home for me.

Here is a pic of my printer. On the x axis the endstop is on the far left side.

Here is my configuration.h file

To boil down my problem into one bite: if the x axis endstop is defined on the correct side, homing does nothing. If it is defined on the wrong side, homing does a few mm shutter and then resets to the original position.

Continue reading

marlin, slic3r, pronterface and me

Ok. A recent move has kept me away from my prusa for a few months now. In that time all of the “cool kid” software has changed. Naturally I want to be running a similar setup with all of the new bells and whistles, so off I go.

I am going to go about uploading marlin onto my gen6 mendel-parts.com board. Installing pronterface on my Macbook running lion, and eventually get to using slicer to generate the stl files.

Step 1: Get marlin on my gen6 main board

I downloaded the most recent version of marlin from github.

https://github.com/ErikZalm/Marlin/tree/Marlin_v1/Marlin

I got the newest version of arduino (23) from here

http://arduino.cc/en/Main/Software

I got the sanguino arduino add-ons from here (Updated to arduino core 0023)

http://code.google.com/p/sanguino/downloads/list

Ok, enough downloading for now. Install the arduino first. There is a driver included with the download called the ftdi driver. Install that as well. That enables usb connectivity for some boards.
Now go here and follow the directions for installing the sanguino add-on. What you are doing is adding support for the specific chipset included in many main boards.

http://sanguino.cc/softwareformac

Now your mac side should be set for marlin. Go into the marlin folder you downloaded and open marlin.pde with arduino. It should open up a sketch with a bunch of other tabs behind it. The main one you will need to play around with is configuration.h. In there you should comment out or in the specific hardware and features you have/want.

Here is an example:

This is from the top of configuration.h

#define BAUDRATE 250000
//#define BAUDRATE 115200
//#define BAUDRATE 230400

The // that starts most lines tells the arduino to ignore it. These three lines represent a multiple choice for you. In the above example the first line is the one that is currently setting the baud rate. This is an important change. The default marlin firmware has the baud rate set to 250000 for some reason. I don’t think that will work out very well. Change it to 115200 and you ought to see better results.

Some other lines that I changed are:
#define MOTHERBOARD 5
#define THERMISTORHEATER_0 3
#define HEATER_0_USES_THERMISTOR
//#define ULTIPANEL

Feel free to look around and get a grip of all of the options available. There are a lot. Don’t play with the pid settings unless you really know what you are doing, though.

Now you should be ready to upload the firmware to your board. Before you connect your board to your computer, select the board from the pulldown menu in the arduino app. Mine was “Sanguino with atmega 644p” Hit the verify button and wait for it to verify. If it fails, then you need to determine if it is a software issue, or a config issue. Look at the error message and do what it tells you to do. The firmware will check to see if your board in arduino matches the board that you defined. If it doesn’t then it will throw an error.

With a valid verification under your belt, plug your reprap in to the wall, connect it to your computer and turn it on. In the arduino app go to tools / serial port and select your machine. It should begin with /dev/tty.usbserial and not have anything to do with bluetooth in the middle. Once that is successfully uploaded you are done flashing marlin!

Step 2: installing Pronterface on osx Lion

I basically followed the directions here https://github.com/kliment/Printrun and I only had one hiccup. I will paste them below.

Download and install [wxPython2.8-osx-unicode] matching to your python version (most likely 2.7 on Lion, check with: python –version) from: http://wxpython.org/download.php#stable

Download and unpack pyserial from http://pypi.python.org/packages/source/p/pyserial/pyserial-2.5.tar.gz
In a terminal, change to the folder you unzipped to, then type in: sudo python setup.py install

I then tried to run it by typing “python ” (including the space) and then dragging in the pronterface.py file. It gave me an error about not finding any 64 bit resources, so I scrolled down a bit on the github page and found the answer. I typed “export VERSIONER_PYTHON_PREFER_32_BIT=yes” into terminal.

That’s it! Pronterface is installed. Select your port and your speed and hit connect. Now you have the firmware and the front end gui set up. I did a bunch of little tweaks to the firmware because my board was reporting really high temps. I had the thermistor set incorrectly in the firmware, so I would disconnect the machine in pronterface, change the setting in arduino, upload it, and then reconnect in pronterface. That is going to be your loop whenever you change something from here on out.

Why NOT to buy a clonedel

For the uninitiated, a clonedel is a set of molds with which you can cast a reprap with polyester resin. It made a big splash in the reprap circles when it first came out, but Clonedels have really died off in popularity since then. I know why. It seems like a great idea. It can theoretically produce an entire set in an hour or so, and the material cost is significantly cheaper as well.

Unfortunately, clonedel is only a good idea in theory. I bought my clonedel set for $50 when printed prusa kits were $80-$120. Then I had to drill all of the pieces out, sand pieces flat, cut off the mold lines, and deal with missing pieces in my kit. Oh, I also forgot to mention that my parts ended up coming in a fruity flavored assortment of colors that looks pretty hideous.

The thing that really put me over the edge is that the parts just aren’t strong enough. My x-axis motor mount is now flexible enough that the motor shaft isn’t perpendicular to the belt, and my prusa hasn’t printed a single thing yet! In the top view you can see how far off the belt is deflected, and the side view is just for fun. Is there anyone out there who can print me both x axis parts? Pretty please? Those are the only two big parts that I haven’t replaced, and There is no way I can print their replacements with the belt constantly slipping off of the motor.

After a fair bit of thinking, I have changed my stance on how people should build their first reprap. Unless you have a strong community around you. I really think that a kit is the best idea for your first machine. Provided you buy it from a reputable vendor (I like makergear) then you should get all of the parts you need and support to help you get it together. Then feel free to self source your second one!

Go buy a Makerbot Grab bag!

I don’t remember who tweeted it, but I saw a tweet a week or so ago saying that the makerbot grab bags were a good deal. I looked at them and bought three. I figured that at $9 each they would be a good deal.
even if they had nothing but the ftdi cable.
I got my box today and Wow!

I got two of the grab bag #1 and one #2. Each of the #1’s had TWO ftdi cables, two early nozzles, 5 pfte barrels, 2 brass barrels, a bunch of thermistors, pulleys, a fan, and some plastic build plates. They said that the grab bag could or could not include those items, but I didn’t think it would come close to having them all!


The second grab bag was similarly stocked, with a ton of pulleys, belts, some rods, some wooden build platforms and a ton of fasteners and plastic bearings.

They said it in the description, but I want to reiterate it: If you are a cupcake operator, you should probably get this. It is a great source of spare parts that would have cost you hundreds to buy a few weeks ago from makerbot. It will hopefully keep your bot printing for a long time to come.

If you are not a cupcake operator: it’s still a damn good deal.

Thanks makerbot!

mini free-day @ sparkfun?

The other day I saw a tweet from sparkle labs saying that they were ‘participating’ in American Express small business saturday. The jist of that event is that Amex will give you a $25 statement credit if you register your card on their sbs site and then use it to buy more than $25 from a small business on November 26th.

I did a little sleuthing and it seems like Sparkfun also qualifies. They show up on the sbs page in a search for Boulder, CO. There is no sure-fire way of knowing if it will work, but all signs point to yes.
If you want to give it a shot, be sure to actually register your card on their site, buy some stuff, and have (spark)fun supporting small businesses!

Please note: This has nothing to do with sparkfun themselves, and I doubt they even know about the programs existence. Don’t bug them with questions. Call up Amex if you want to ask someone. Either way you end up with cool stuff. One way you get a $25 credit for buying it. Oh yeah, it also seems like you can get the credit for every Amex card you have with them that you register(!)


Reprap Prusa: pushing plastic, almost ready to roll!


Here’s an overview shot of the prusa, E-stop switch, and macbook. I still have to build the bed, but the rest is all there. Yesterday I flashed it with the sprinter firmware and I like it so far! The biggest thing is that it has acceleration. That enables lower torque motors to start slow and ramp up faster over time. I also installed pronterface, because replicatorg has been very buggy with my prusa. One quirk is that the default z-axis speed is set to 200mm/minute. That was way too fast for my 80oz/in motors. Perhaps with a slow acceleration curve they might get up to that. I cut it down to 100 and they were much happier.
Continue reading

Prusa Update

It’s been a busy start to the summer! I was able to go to Maker Faire, and now that I’m back I’ve spent every spare second on my bike or at the new hackerspace in town. One benefit of being a hackerspace member is that I finally have a place to keep my big /noisy / messy projects!

Here’s a pic of where it stands right now. I have everything together, but it’s not wired up yet. I’m also replacing the clonedel parts as fast as I can. They are causing more trouble than they are worth right now.
Here’s a link to solid state depot’s wiki on my prusa.

Here’s a pic of my monster e-stop button. It came out of a printing press. It is wildly overkill, but it looks cool. It is currently wired up to the psu, so if the switch is tripped, it cuts power to the machine. dead stop.

I’ll update more when I do more. I’ve been learning how to use a lathe in order to drill out some hot ends. It’s been exciting so far…

super easy measuring rod

rulers are nice, but when you want to tell the difference between 470mm and 469mm, there is no better way than with a stick that is 469mm long.

The reprap build instructions suggest you cut some sticks of precise lengths in order to verify that your threaded rod lengths are exact when the frame is all bolted together. That is a good idea, but it seemed like a little too much effort. What I did was to use the last threaded rod from the reprap build. Before I installed it, I put two nuts on with a washer in between. Now I can move the washer to whatever length I need to measure and I can stick it between two vertexes. It’s less steps, and it already uses parts that you have!

completely unsorted reflections on building a clonedel


1) Last weekend I completed drilling out my clondel kit and started bolting things together. Here’s a list of things I realized.

2) Having precisely cut threaded rods is nice, but not necessary provided they are longer than spec.

3) Drilling out the metrix createspace clonedel kit is difficult verging on impossible to do exactly. The vertex pieces that require precision don’t have flat, 90 degree sides. Also, some of my pieces varied +- 3mm in thickness. That is a big problem when the piece is 15mm thick, and it’s off in the – direction. I had to do a fair bit of eyeballing on those undersized pieces or else the drill bit would have just ripped through one side. This kit is a lot better than nothing, but the first thing to print is definitely replacement pieces. I also think I have one of their earlier versions judging by the way my z motor brackets look, so potentially they have improved since the first few batches.

4) I scavenged some 8mm rod from two desktop printers. That gave me enough for the z and the y axis. To get the long rods needed for the x axis I think I will probably need 2 more printers to destroy. I’ve been toying with looking into the rods from ikea filing cabinets to see if they are even vaguely straight or consistent. I doubt it.

5) Looking at the printers made me wonder if dc motors could be used with opto-encoders for this project as a replacement for the steppers. I’m not sure what would be the best way to do it, but I’m considering making a “stepper driver board” out of an arduino to see if I can get it to behave as a drop in replacement.

6) It appears like the thin and thick sheet are unnecessary for a prusa. Well that’s nice.

7) I’m looking into using my xylotex 3 axis kit as the stepper interface for this prusa. I think that just means I need to put the mosfets, end stop pins, and thermistor circuits on a shield for my mega and I ought to be good to go.

Nema 17 on the left, Nema 23 (with 260 oz/in of torque) on the right
8) I’ve got 3 nema 23 260 oz/in steppers that would be delightfully overkill for this. I’m wondering if it is worth the trouble of building new brackets for everything. I know that torque does not necessarily equal speed, but I would like to see how fast those would print. I would try the extruder (possibly) and the x and y with those monsters. The z axis doesn’t need that kind of speed.

9) I ended up buying some 8mm linear ball bearings from ebay. 12 for $15 isn’t too bad considering they will last a lot longer than the pla.

10) Using the testing setup of repg from Ben Jackson I have been able to connect to a mega 1280 and a 328. I can’t do much else before it crashes, but at least its a start. Repsnapper seems to work flawlessly with the 1280, untested on the 328.