Saturday, May 18, 2013

Setting up Rumba electronics and first prints

Once I had the Mendel Max together the next step was to load the marlin firmware. First download the arduino software so that you can edit the marlin.pde file.

I then pulled the marlin rumba configuration settings from Maker Tool Works. I just went through and made the necessary changes to the configuration.h file in the marlin to make it match up with the configuration.h settings from the Markers Tool Works file. I initially tried to just copy the whole file over but that does not work because apparently they used an older version of marlin.

I then just compiled and uploaded the firmware onto the rumba electronics. This is done by plugging in the rumba via USB, pressing the reset button on the rumba board, and then pressing the upload button in the arduino software.  

Once uploaded, I opened up pronterface or Cura and checked to see how the steps/mm match reality.
Cura jogging interface.

Pronterface movement interface. 

I told the X and Y axis to travel 100 mm and then measured what they actually traveled. It was almost spot on so then I tried the Z axis which was also correct. To make small corrections to the calibration I did the following:

Find this line in the configuration.h:
#define DEFAULT_AXIS_STEPS_PER_UNIT {80,80,1600,470} // default steps per unit for ultimaker
The numbers correspond to X, Y, Z, Extruder respectively. 

To calibrate X and Y: 80/(distance it went) * (distance it should have gone)

Replace 80 with that new number you calculate to 2 decimal places and then save the file and re-upload it to the rumba. Repeat the process several times until the movements reliably go the distance you are telling it to go +/- 0.05 mm. For me, I ended up with a calibration of:
#define DEFAULT_AXIS_STEPS_PER_UNIT {80.5,79.83,1600,470} 
so it is quite close to the original values that I used. It took about 5x before I was satisfied with the movement. 

Next, I wanted to check the extruder steps/mm setting. I measured 30 mm above the extruder and told the extruder to move 30 mm. It was spot on so I didn't bother changing that value. 

I then decided to try my luck by printing off a Z end stop so that I didn't have to worry about crashing my extruder anymore. I made sure to turn off any axis homing to prevent crashes. You can find these codes in the Slic3r or Cura software. Make sure these are not in the start gcode!

G28 X0 Y0  ;move X/Y to min endstops
G28 Z0     ;move Z to min endstops

I did not previously have experience operating a printer without endstops and it definitely felt like I was living on the wild side because any false movements led to the extruder crashing into the bed or the X or Y motors going to their extents. It is important to have your hand ready to unplug it if necessary!

Due to the custom size of the Rumba endstops, there were not any available so I had to adapt Ohmeye's design for RAMPS to work with the Rumba electronics. Here are some X, Y, and Z endstops I designed that work perfectly for the Mendel Max 2.

To start I decided to use PLA as my first print material because it can be extruded at a lower temperature and does not require a heated bed. I had good luck using blue painter's tape that was just stuck on the glass top. In setting the Z height, it is important that the gap between your nozzle and the bed is ~2 pieces of paper thick. This can be a huge pain to set up initially but is easy once you have the Z endstop mounted.

Bed Leveling is another critical aspect to printing well. You can start by using a spirit level but that requires first leveling the printer itself. For precise leveling first make sure that the nozzle is at the front left and there is ~2 pieces of paper thickness between it and the bed. Next start marching across the bed in the +X axis and adjusting the two leveling screws on the front as appropriate. When looking from above, counter clockwise raises the bed and clockwise lowers it. Once you have the front edge leveled, you can start going in the +Y direction and using the back leveling screw. Do this a couple times until you feel the same amount of resistance on the paper as you drag it under the nozzle.
Start by getting the height right on the front left. The paper should have a little bit of friction in between the nozzle and the bed.

Next, go to the right front of the bed and level using the screw underneath or by twisting the Z lead screws. It is a good idea to independently level the X axis with the Z leadscrews and then leave that and just adjust the bed after.

Your first print:
Before printing out the endstop, it is better to first make sure a calibration print comes out correctly. I like this calibration set by coasterman.
1) Print out the box at 0.3 infill and check the dimensions. Is it 20x20x10mm3? If not, apply correction factors to the marlin firmware. i.e. if it is 20.1 mm in the X: 20.1/20*steps/mm=new steps/mm.
2) At this point you are probably ready to print out the Z endstop. There is a good chance that this print won't be ideal but at this point you are mostly concerned with getting a piece of plastic that will hold an endstop long enough for you to really hone your settings.
3) After you have a Z endstop in place feel free to play around with the other things in the calibration set. I particularly like the precision block because I find that models often tend to undershoot holes so this provides a way to try and fix that. The Bridge test is a more advanced one but setting it right is critical for more advanced objects. Once you have those two set up, you can try the hollow test cube and see how flat the top comes out. 

No comments:

Post a Comment