PrusaCalibrationNotesBraino

From RepRap
Revision as of 14:16, 5 February 2015 by Prof braino (talk | contribs) (Measure)
Jump to: navigation, search

2015 January

This is in addition to my original build log http://reprap.org/wiki/PrusaBuildNotesBraino

The current task is to print Emmet's Gear Bearing.

http://www.thingiverse.com/thing:53451

With the "Perimeter width Test object" calibration block http://www.thingiverse.com/thing:264782 printed ok and seemed fine, emmets gear bearing is fused. The filament diameter and E-steps correction (Skeinforge) and extrusion multiplier (Slic3r) were tweaked until the Perimeter width Test object printed with the BOX width slightly LESS than 10mm and the SEAT opening was slightly greater than that. The 10mm box was 9.6 mm and the 10mm seat was 9.8 mm. However, there were gaps in the top solid layers. Ptining Emmet's gear bearing resulted in fused gears. So, back to the first principles. Re-check the machine calibration before adjusting the tolerances of the part itself.

Previous firmware

Last time I did calibration (November 26, 2011), I did not really know what I was doing. Here are my notes:

  Arduino tool -> D:\program_extra\arduino-0023 -> D:\program_extra\Sprinter\Sprinter.pde
  Sprinter
            Serial.println("start heater Cal test 20111126");
            
  Configuration.h
             #define MOTHERBOARD 62
             
             float axis_steps_per_unit[] = {57.2655, 57.2655, 3200/1.25,700}; 
          
             #define BAUDRATE 115200

             const int X_MAX_LENGTH = 190;
             const int Y_MAX_LENGTH = 180;   //20111126 DAW - Fender washers
             const int Z_MAX_LENGTH = 94;
    
  NOTES: Edit files and upload new firmware to Sanguino using  "upload" icon
Pronterface.py (python) -> 
port COM3
baud 115200
monitor printer (checked)
connect... (connecting..)   Printer is now online
ok T:22 B:0

NOTE: PLA = 185 c  ABS = 230 c

Promnterface.py -> Settings -> Options:

    bed_size_x = 200.0 -> 190 ? 
    bed_size_y = 200.0 -> 180 ?


changes

Y axis is still 180 mm X axis is now 200 mm (below 50 mm) but 150 mm above 50 mm (the extruder motor would hit the frame!!!)

Z axis is 90 mm ( but I have to be carefull of frame for prints taller than 50 mm Z)

Hobbed bolt is different, now it grips consistently. I think I fixed this but did not go back and redo print calibration.

New firmware

So, I think I got some of the numbers wrong in my initiw (2011) firmware.

I'm generating new firmware, my notes are at:

http://reprap.org/wiki/PrusaFirmwareBraino

After a month, I have the ability to burn new firmware. It was a lot harder that during the original build, because the tools have been updated, but the (original) documentation is mostly out of date at the crtitical points.

Print Calibration Process

I will use Triffid Hunter's Calibration guide. http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide

Since I am unfamilliar with this process, I will copy the relevant instruction, and replace the formula with my printer's information. This will form my checklist to ensure I don't miss a step.

Requirements

  • A tool to precisely measure 100mm. A vernier caliper is ideal: Harbor freight digital caliper $4
  • A tool to precisely measure something 0.5mm wide. A micrometer is ideal, but a vernier caliper will do: Harbor freight digital caliper $4
  • Know your stepper motors' full steps per revolution value. steps = 360 / angle, so 1.8° = 200 steps: my 1200 pololus are 1.8° = 200 steps
  • Know your stepper drivers' microsteps setting. Most Pololus are set to 16x.: -- my Pololus are 16x
  • Know the number of teeth on your pulleys. T5 belt: X axis 11 teeth; Y axis 11 teeth
  • Know your belt pitch! XL and T5 belts /look/ the same, but the difference is important!: T5 belt
  • Know the number of teeth on your extruder gears, or at least the gear ratio.: Large Gear: 43 teeth. Small Gear: 10 teeth. Ratio 43:10
  • Remove all sources of backlash. Your parts won't be usable as calibration pieces if you have lash! : No lash that I can detect at this time,; belts are tight.
  • Open the Online RepRap Calculator to find XY and E steps, layer heights, and acceleration. - must figure this out after I complete the above.

http://prusaprinters.org/calculator/

Steps

Notice that steps per mm are calulated separately for each of Extruder, Z axis, and XY axiis (X and Y have the same pullies)

XY steps

Previously, I had 57.11 for XY steps per millimeter. I don't recall how I arrived at that number. This exercise is to determine what the correct number should be.

Do I have T5 or XL? Better look for the order invoice...

Instructions say:

'...Using belts and pulleys, the XY steps-per-mm can be accurately calculated using your motor, pulley, and belt characteristics, and once set they shouldn't need to be calibrated further. Check. The basic formula is:'

 xy_steps_per_mm = (motor_steps_per_rev * driver_microstep) / (belt_pitch * pulley_number_of_teeth)

// NEMA 17 motor with T5 belt and 11-tooth pulley: (200 * 16) / (5 * 11) = 3200 / 55 = 58.18181818 This moves too far.

// NEMA 17 motor with XL belt and 11-tooth pulley: (200 * 16) / (5.08 * 11) = 3200 / 55.88 = 57.265569

 xy_steps_per_mm = (200 * 16) / (5.08 * 11) 
 xy_steps_per_mm = (3200 ) / (55.88) 
 xy_steps_per_mm = 57.265569

This appears to move exactly 200 mm when commanded. I guess I have XL belt.

Z steps

...Using threaded rods for the Z axis. So to calculate how far the Z axis moves for each revolution of the motor, first you need to know how much rotation is being transmitted to the Z rods, and then use the "thread pitch" of the rod (distance-per-revolution) to determine the vertical motion.

The basic formula to calculate motion on a rotating rod is:

z_steps_per_mm = (motor_steps_per_rev * driver_microstep) / thread_pitch 
z_steps_per_mm = (200 * 16) / 1.25  [98861A080 M8 1,25 pitch threaded rod from McMaster Carr]
z_steps_per_mm = (3200) / 1.25 
z_steps_per_mm = 2560           // NEMA 17 with standard pitch M8 threaded rod:

E steps

... "Wade" extruders use a NEMA motor to drive a large reduction gear that turns a "hobbed bolt." [this is mine]

Calculate

....For a typical Wade extruder, the hobbed bolt will be made from an M8 bolt, and its "effective diameter" will be around 7mm. ... This is just a starting point to get close to the correct value, I'll measure and calibrate to get the exact value later.

The standard formula is:

e_steps_per_mm = (motor_steps_per_rev * driver_microstep) * (big_gear_teeth / small_gear_teeth) / (hob_effective_diameter * pi)
e_steps_per_mm = (200 * 16) * (43 / 10) / (7 * pi)
e_steps_per_mm = 3200 * 4.3 / (21.9911)
e_steps_per_mm = 625.70629055

Some typical examples: // Gregstruder with a 43:10 gear ratio (200 * 16) * (43 / 10) / (7 * 3.14159) = 625.70681

    • Note Triffid hunter's page is 625.70681 and I got 625.70629055. Better check my math... OK, I checked it again. I think the right number is
 625.70629055

But I don't know what difference the 4th decimal place makes. On the other hand, I used to have 700, so this might be the correction I am looking for.

Measure actual Extruder Steps

The instructions said to remove the extruder to not waste filament. I don't want to remove the extruder, it would risk damage from disaambly and re-assembly. So I will use a 500 mm scrap and run it through the extruder. Also, Triffid Hunter's Calibration Guide says:

Don't flash firmware yet. There's a further refinement to this value below. Why? The back-pressure from the hot-end alters how much plastic each hob revolution pushes, and you'll probably end up tightening your idler more which reduces the hob effective diameter. 

My though is that running the filament through the hot end will consume some filament, but will reveal the EXACT amount the hob pushes per revolution, which is what we ulitmately want.


At the entrance to the extruder I marked a zero point. Also at 100 mm, 110mm, and 120 mm. Commanded printer to extrude 100 mm. The filament stopped at about 99.5 mm.

(lost old source code when last hard drive failed, redo SPRINTER from source)

(so, I fanally redid the firmware from source, after several weeks. )

NEW ATTEMPT Pass 1: Commanded 100, filament used 92. (8mm short)

new_e_steps = old_e_steps * (100 / distance_actually_moved)

new_e_steps = old_e_steps * (100 / 92)

new_e_steps = old_e_steps * 1.08695652173913043478260869565217391304347826086957

new_e_steps = 625.70629055 * 1.08695652173913043478260869565217391304347826086957

new_e_steps = 680.1155332

... and repeat...

NEW ATTEMPT Pass 2 : Commanded 100, filament used 98. (2mm short)

new_e_steps = old_e_steps * (100 / distance_actually_moved)

new_e_steps = old_e_steps * (100 / 98)

new_e_steps = 680.1155332 * 1.02040816326530612244897959183673469387755102040816

new_e_steps = 693.995442

New Attempt Pass 3: Commanded 100, filament moved 100.1 mm. very close.

Step 6 on Triffidhunter's instructions says "repeat ... until you get between 96-104mm. Then continue with this guide. You'll dial it in perfectly later on." So I will stop at 99.5 mm feed for 100 mm commanded and continue will the calibration.

Notice that I pushed 100 mm of 3mm filament through the hotend with the idler tighened correctly and the hotend temperature set correctly. The esteps number I use was 693 (i guess it should really be 694). This is important due to issues with the fine tuning steps and Slic3r automatic setting, below.

Back to Triffid hunter's guide....

Fine tuning =

Z height

'At Z=0, you should be able to have a single piece of paper between your nozzle and the bed, and move it with a little "grabbing" but not quite enough to bend the paper when you push it. This is a simple, quick and effective test to use when levelling your bed. This small gap almost perfectly compensates for thermal expansion, which causes your hot-end to actually get longer as it heats up! '

So, COLD the gap between the nozzle and the bed should grab but not bend when pushed. HOT the nozzle should be true zero when commanded to zero (Z home).


NOTE on 3 point / 6 spring bed

Three points determine a plane, 4 point determine space. I found that I could easily get any three points on the same plane, but it was almost impossible to get a bed level with four corner screws.

So I started with a standard 4 corner bed, with retractable pen springs on each of the four bed leveling screws. On the left side I added another (fifth) hole mid way between the two left side holes. To keep is even, I also added a final (sixth) hole midway bewteen the right leveling screws as well. Now I have two levelint screws on the the right and one leveling screw on the left. This leaves the left side with only one spring supporting the bed. I added screws and springs (but no nuts) to the corner holes on the left, and (may eventually) add a screw and spring (but no nut) to the middle hole on the right. There are smaller spring on the extra corner screws on the left, the bed just begins to touch these.

The result is there are three leveling screws, but still the bed is supported on both sides by the same (force). I need only adjust the leveling screws and measue the resultant clearance with the extrude directly above each leveling screw. I do have to go around twice, but when I notice I'm only chnaging by a quarrter or eight of a turn, I imagine the bed is pretty level.

The final measurement is the exact center of the bed. This turns out to be slightly tighter than the over the leveling screws, the mirror I use as print surface might be a tad warped. I have to back out the Z endstop adjustment screw an additiona 1/8 turn to pass the paper test.

Layer height, Extrusion width

Best results are obtained when layer height < 80% of nozzle diameter, and extrusion width >= nozzle diameter.

Nozzle diameter is 0.5 mm, 80% is 0.40 mm, so layer height should be less than 0.40 mm.

Layer height 0.30 mm should be fine. (recommended by prusa calculator)

Extrusion width >= nozzle diameter, so Extrusion width 0.60 mm >= 0.5 mm.

'You can use a lower layer height (than 0.30 mm) or larger extrusion width (than 0.60 mm) if you wish, it will work fine.'

You can use a lower layer height or larger extrusion width if you wish, it will work fine.

Ok (for this printer) to use these layer heights 0.40, 0..35, 0.30, 0.25, 0.20, 0.15, 0.10, 0.05


layer height 0.30, extrusion width 0.60

limit is layer height 0.40, extrusion width 0.50

Nozzle Temperature

PLA at 165°C (opaque), 180°C (translucent)

Make sure your idler is tight! really tight! "it hurts my fingers to pull on it and I still can't move it" tight! A too-loose idler gives exactly the same symptoms as too low temperature.

  1. Start printing
  2. Lower temperature by 5° every 2-3 layers
  3. When infill starts being a row of dots instead of a line, increase temperature by 10°.
  4. Keep monitoring print, increase by 5° if your infill goes dotty again

Bed Temperature

I don't have a heated bed on this one. Not Applicable.

Fine tune E-steps

'Now, with everything very close to ideal values, we can finally dial E steps in that final little bit!'

  1. Find an object with flat tops on a number of levels, such as this cube stack test (scale this object by 250% after loading in Slic3r)
  2. Slice at 95% rectilinear infill. Use the lowest layer height you're comfortable with - the lower the layer height used for this test, the finer your resulting E steps calibration will be. I use 0.2mm for first run, and if I'm feeling ambitious I'll repeat this process at 0.1mm.
  3. Print.
  4. Ignore the first 5-6 layers because they're too sensitive to the exact height of the first layer. If it's obviously over-filling or under-filling, alter E steps or Z=0 point and restart the print.
  5. Observe infill. If you can't see tiny little gaps between the lines, reduce E steps by 0.5% every 2 layers until you can see tiny gaps.
   Observe solid top layers. If you can see tiny gaps, increase E steps by 0.5% every 2 layers until there's no gaps in the top.
   Send the new E steps to your printer with M92 Ennn without even pausing the print - you will see the result in a couple of layers when the change is this small.
   Goto 5 until the infill has tiny gaps AND the solid top layers do not.
   Now, your E steps value is extremely fine-tuned! Save this value in your firmware's configuration and flash to make permanent. 


end