Family Banner

Family Banner
Once upon a time...

Saturday, 24 March 2012

Calibration Time

End Stops

As mentioned, I need to get on with calibration of the Mendel, first the first step being sorting out the end stops.
With the change to Sanguinolo from TechZone Gen3, my end stops have changed from Opto's to limit switches.  This means I don't have the correct mountings.  I had a look at the Prusa Mendel assembly guide provided by Gary Hodgson.  From this I could see where and how they mounted the limit switches.  As I didn't have these printed parts, I quickly cut and drilled these pieces of Dibond shown below.  Fitting these would allow the switches to move if bumped hard so one of the first things to print will be these endstop holders (possibly this one by triffid_hunter).

Calibration
Starting with the calibration page on the wiki, I changed the order of the steps a bit as I still don't have some glass to print on, and I want to first do the mechanical calibration )i.e. by measurement, then the "print" calibration.

All these steps should be executed with a finger on the power button in order to cut power if it looks like things are going wrong!

Also, I accept no responsibility if you follow my steps and something goes wrong.  This is what I did, it may work for you, but use your common sense PLEASE!!!
  1. Checking the motors (based on steps 5-15) listed on the "Prusa Mendel Assembly" wiki page (starting with "Get a piece of paper")
    1. Instead of paper, I used this blog article.  Wrote down "X,Y,Z,E".
    2. Fired up Pronterface
    3. Standing in front of the machine.
    4. X-axis
      1. Move forward 10mm.  Bah!! it moved left.  It's meant to move right, so note "REV"
    5. Y-axis
      1. Move forward 10mm. Yay!! it moved towards me.  Note "OK"
    6. Z-axis
      1. Move up 10 mm.  Yay!! it moved up.  Note "OK"
    7. E-axis
      1. Extrude 5 mm.  Yay!! it moved towards the nozzle.  Note "OK"
  2. Checking the endstops
    1. Fire up Pronterface and connect to the printer
    2. As before, standing in front of the machine.
    3. X-axis
      1. Ensure the axis is about in the middle of it's travel (for safety).
      2. Keep a finger on the limit switch and select x-home (press the switch after movement to get it to stop)
      3. Did the X-axis move towards the limit switch? 
        1. No!! - BUT, I was expected this as the axis is reversed (see above, and I haven't fixed this yet!)
      4. Did pressing the switch stop the movement? 
        1. Yes!!
    4. Y-axis
      1. Ensure the axis is about in the middle of it's travel (for safety).
      2. Keep a finger on the limit switch and select x-home (press the switch after movement to get it to stop)
      3. Did the X-axis move towards the limit switch? 
        1. Yes!!
      4. Did pressing the switch stop the movement? 
        1. Yes!!
    5. Z-axis
      1. Ensure the axis is about in the middle of it's travel (for safety).
      2. Keep a finger on the limit switch and select x-home (press the switch after movement to get it to stop)
      3. Did the X-axis move towards the limit switch? 
        1. Yes!!
      4. Did pressing the switch stop the movement? 
        1. Yes!!
  3. Ok, so I need to fix the X-Axis.  I'm not going to swap the wires, I'm going to change the firmware.  So off to load up the firmware and software on my PC.  (See separate blog article here). 
    1. As part of setting up the software I made the change to INVERT_X_DIR, so we can now repeat steps 1 & 2 above.
    2. All axes and end stops are now working correctly.
  4. Z-axis end stop position
    1. I read somewhere that for a 0.5mm nozzle the Z-axis home should be about 2 paper thicknesses from the bed.  I set it up like that with X & Y at 100mm.  I will refine this after the "levelling the bed" calibration.
  5. Stepper motor currents
    1. I didn't see anything about tweaking the currents on my stepper drivers, but remembered that during my trials and tribulations with the TechZone electronics & Scrapstrap I had to tweak the pots on the drivers to get the best out of the motors (I was using old scrap motors).  I found this forum post which made me realise I might not have to do anything if my steppers are behaving themselves.
    2. Anyway, I went to measure the voltages as suggested by Nophead, and found that mine are all 0.6V (or thereabouts).  As he suggests 0.4V to get 1A, this means mine are currently putting out around 1.5A (if I have my formula right), so I think I will tweak them down a bit.
    3. This becomes a hit and miss affair with making a small change, measuring, change again, measure again until you get there.  I started with one, figure I could work out approximately how many turns (or fractions of a turn) I had to make to get to the correct value.
    4. Starting values as follows:
      1. X-axis
        1. 0.600
      2. Y-axis
        1. 0.617
      3. Z-axis
        1. 0.650
      4. E-axis
        1. 0.620
    5. Results as follows:
      1. X-axis
        1. 0.403
      2. Y-axis
        1. 0.404
      3. Z-axis
        1. 0.409
      4. E-axis
        1. 0.402
    6. As I'd now messed with things I thought I would do a quick run through the axes to make sure all are still working.
      1. I noticed an issue with the Z-axis.  One of the threaded rods was misaligned.  I rectified this by adjusting the brackets.
  6. Levelling the bed
    1. I homed the machine (making sure Z was high).  I then tweaked Z at the home position by adjusting the bed screw until it passed my Go-NoGo test using 2 and 3 sheets of paper respectively.  The was then repeated for the other 3 corners as below:
      1. Next up, I raised the Z-axis and moved X across the bed, taking note how far I could move for max X (170mm - uncalibrated).
        1. Now tweak the Z-axis home at this position by adjusting the bed screw until it passes the Go-NoGo test. (No adjustment needed).
      2. Next up, raise Z and move to max Y (170mm - uncalibrated)
        1. Now tweak the Z-axis home at this position by adjusting the bed screw until it passes the Go-NoGo test. 
      3. Last corner, raise Z and home X
        1. Now tweak the Z-axis home at this position by adjusting the bed screw until it passes the Go-NoGo test.
    2. Now, as changing one corner might affect another, re-test all the corners. (If any are wrong, adjust as per step one and keep looping till you're done)
      1. I got pretty darn close, but started to get bored as the corners do all impact each other.  So I left at that for now.
  7. Calibrating distance.   I have a digital vernier so I used this and the following steps (all of these with Z high up):
    1. X-axis
      1. Home the X-axis.
      2. Measure between to known points, one on the frame, one on the X-carriage (I zero'd my vernier, but you can make a note and then subtract this value later).
      3. Tell the software to move the X-axis 100mm.
      4. Measure the distance again.  99.82mm (not too bad - which it should be for a standard Mendel X-axis, but as printed gears and hardware can vary I feel it's best to tweak this)
        1. I decided to measure this a few times to be sure it's as accurate as I can get it.
          1. 99.82
          2. 99.88
          3. 99.81
          4. Average: 99.8367
      5. Calculate new Steps/mm figure for configuration.h file as follows:
        1. NewSteps = OldSteps*100/measured value
        2. NewSteps = 80*100/99.8367 = 80.131
    2. Y-axis (pretty much same as for X)
      1. Home the Y-axis. (My vernier is only 150mm, so I found starting at around 12mm, un-calibrated, I could find a good measuring point.
      2. Measure between to known points, one on the frame, one on the bede (I zero'd my vernier, but you can make a note and then subtract this value later).
      3. Tell the software to move the Y-axis 100mm.
      4. Measure the distance again. (multiple times and average)
        1. 99.20
        2. 99.20
        3. 99.62
        4. Average: 99.34
      5. Calculate new Steps/mm figure for configuration.h file as follows:
        1. NewSteps = OldSteps*100/measured value
        2. NewSteps = 80*100/99.34 = 80.531 (I kept the decimals on the average on my calculator)
    3. Z-axis
      1. I raised the Z-axis about halfway and then found a measuring point.
      2. Tell the software to move the Z-axis down 10mm.
      3. Measure the distance again. (multiple times and average)
        1. 3.81
        2. 3.71
        3. 3.74
        4. 3.76
        5. 3.78
        6. Average: 3.76
      4. Calculate new Steps/mm figure for configuration.h file as follows:
        1. NewSteps = OldSteps*10/measured value
        2. NewSteps = 3200/1.25*10/3.76 = 6808.511 (I kept the decimals on the average on my calculator)
      5. At first I was worried about the discrepancy, then I realised that the Prusa Mendel Z-axis is driven directly, whereas the Sells Mendel (which I have) has pulleys in the mix as well.
    4. E-axis
      1. As I have my hot end fitted, and don't want to kill it, I decided to test with the hot end running.
      2. Mark the filament so you can measure it.
      3. Tell the software to Extrude 30 mm, and then measure again.
      4. Measure the distance again. (multiple times and average)
        1. 34.82
        2. 34.25
        3. 34.46
        4. Average: 34.51
      5. Calculate new Steps/mm figure for configuration.h file as follows:
        1. NewSteps = OldSteps*30/measured value
        2. NewSteps = 700*30/34.51= 608.519 (I kept the decimals on the average on my calculator)
      6. We got some interesting shapes, see pictures below.
    5. I updated the configuration.h file with these values and re-flashed the firmware.
      1. Open sketchbook in Arduino (having made sure to shutdown Pronterface first)
      2. Ctrl-R to Verify/Compile
      3. Ctrl-U to Upload to I/O Board
      4. Shutdown Arduino and continue.
    6. After the new configuration was loaded I did some quick tests to see whether the calibration had helped.  (My 10 year came in to help which was great as he could control the software while I took the measurements.)
      1. We had to tweak them a number of times, but got them to within the measuring tolerance of the tools being used.
      2. NEW! I thought I would record the final values here (for my own purposes if no-one elses)
        1. X-axis = 80.262
        2. Y-axis = 80.445
        3. Z-axis = 6723.349
        4. E-axis = 608.519
OK, let's call it a night there.  The hardware is calibrated.  

Next step is preparing the bed.  Seems like ABS Juice - Acetone & ABS mixed is the way to go, although I do also have quite a bit of Kapton tape, just in case!!

I will be using RichRap's Slic3r is Nicer article as my printing calibration.  See you soon.


    No comments:

    Post a Comment