Using a measured z/steps value vs calculated



  • After fixing the issues I was brought aware of, i adjusted my z axis steps/mm to reflect the calculated value of 414.5 steps/mm (belted axis with 5-2/11 gear ratio). However, this causes my parts to come out short. On a 20.1mm cube (because 0.3mm layer height), its actual height is approx. 19.65mm. I had been using a measured value of 423steps/mm (or so), and had accurate parts, but obviously thats not what it's supposed to be. my 1st layer height is not the issue, as doing a single layer test, i have exactly .2mm or .3mm as requested.

    My question is should I just go back to using my measured value, or is there some other issue I'm not aware of, that i should look into correcting?

    config.g below

    ; Configuration file for Duet WiFi (firmware version 1.20 or newer)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool on Thu Jun 21 2018 19:14:32 GMT-0700 (Pacific Daylight Time)
    
    ;------------------------------------------------------------------------------------------------------------------
    
    ; General preferences
    G90                               ; Send absolute coordinates...
    M83                               ; ...but relative extruder moves
    
    M667 S1                           ; Select CoreXY mode
    
    ; Network
    M550 PBlue the D-Bot              ; Set machine name
    
    M552 S1                           ; Enable network
    M586 P0 S1                        ; Enable HTTP
    M586 P1 S0                        ; Disable FTP
    M586 P2 S0                        ; Disable Telnet
    
    ; Drives
    M569 P0 S1                     		     ; Drive 0 goes forwards
    M569 P1 S1                     	         ; Drive 1 goes forwards
    M569 P2 S1                      	     ; Drive 2 goes forwards
    M569 P3 S0                     	         ; Drive 3 goes forwards
    M569 P4 S1                      	     ; Drive 4 goes forwards
    M350 X16 Y16 Z16 E16 I1		       		 ; Configure microstepping with interpolation
    M92 X100 Y100 Z414.5 E394 ; :870(E2)       ; Set steps per mm (Start:Z415) (chimera value 870)
    M566 X700 Y700 Z240 E1000      	 ; Set maximum instantaneous speed changes (mm/min) (OG E600:600)
    M203 X18000 Y18000 Z2400 E3600; Set maximum speeds (mm/min)
    M201 X800 Y800 Z250 E3000:3000     	 ; Set accelerations (mm/s^2)
    M906 X1500 Y1500 Z1200 E850:850 I50 	 ; Set motor currents (mA) and motor idle factor in percent
    M84 S30                           		 ; Set idle timeout
    
    ; Axis Limits
    M208 X-10 Y-10 Z0 S1                ; Set axis minima (chimera/original  y value = 0)
    M208 X300 Y185 Z300 S0            ; Set axis maxima
    
    ; Endstops
    M574 X1 Y2 S0                     ; Set endstops controlled by motor load detection
    ;M574 Y2 S0                     ; Set endstops controlled by motor load detection
    
    
    ; Z-Probe
    M574 Z1 S2                        ; Set endstops controlled by probe
    M307 H3 A-1 C-1 D-1
    M558 P9 H5 F750 T7200
    G31 X25.9 Y0 Z02.58 P25             ; Probe Offset - Increase for Nozzle down, Decrease for Nozzle up (chimera value .6)
    M557 X26:280 Y5:185 S50:45           ; Define mesh grid
    
    ; Heaters
    ; Heater 0 (Bed)
    M305 P0 T100000 B3950 C0 R4700    ; Set thermistor + ADC parameters for heater 0
    M143 H0 S110                      ; Set temperature limit for heater 0 to 110C
    
    ; Heater 1 (Extruder)
    M305 P1 T100000 B4725 C7.06e-8 R4700    ; Set thermistor + ADC parameters for heater 1
    M143 H1 S275                      ; Set temperature limit for heater 1 to 275C
    
    ; Heater 2 (disable for Titan Aero)
    ;M305 P2 T100000 B4138 C0 R4700   ; Set thermistor + ADC parameters for heater 2
    ;M143 H2 S275                     ; Set temperature limit for heater 2 to 275C
    
    ; Fans
    M106 P0 S0 I0 F500 H-1            ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S165 T55 H1:2      	  	  ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P2 S0 I0 F500 H-1            ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off
    
    ; Tools
    M563 P0 D0 H1                     ; Define tool 0
    G10 P0 X0 Y0 Z0                  ; Set tool 0 axis offsets
    G10 P0 R0 S0                      ; Set initial tool 0 active and standby temperatures to 0C
    
    ;------------------------------------------------------------------------------------------------------------------
    ; Next 3 lines are for Chimera config. Disabled for Titan Aero
    ; IMPORTANT: Titan Aero Thermistors are swapped at the board. Swap them back for Chimera Use. NOT THE CASE FOR V2
    ;------------------------------------------------------------------------------------------------------------------
    
    ;M563 P1 D1 H2                     ; Define tool 1
    ;G10 P1 X9 Y0 Z0                   ; Set tool 1 axis offsets
    ;G10 P1 R0 S0                      ; Set initial tool 1 active and standby temperatures to 0C
    
    ; Automatic saving after power loss is not enabled
    
    ; Custom settings are not configured
    M501
    ; Miscellaneous
    T0                                ; Select first tool. Change to T-1 for use with Chimera
    


  • zsteps I always calculate as they are derived directly from the hardware

    esteps I always measure because the circumference of the drive gear is "unknown" as it depends on how much the teeth will dig into filament and that depends on the spring tension, filament hardness etc etc..



  • @arhi i know what youre saying but that doesnt answer my question. If the calculated z steps is giving me an inaccurate dimension, is something else wrong or is it just hardware deficiency?



  • @Turbo said in Using a measured e/steps value vs calculated:

    @arhi i know what youre saying but that doesnt answer my question. If the calculated z steps is giving me an inaccurate dimension, is something else wrong or is it just hardware deficiency?

    Hi,

    Well there is this in the documentation under M579:

    On a Cartesian RepRap you can get prints exactly the right size by tweaking the axis steps/mm using the M92 G Code above. But this does not work so easily for Delta and other RepRaps for which there is cross-talk between the axes. This command allows you to adjust the X, Y, and Z axis scales directly. So, if you print a part for which the Y length should be 100mm and measure it and find that it is 100.3mm long then you set Y0.997 (= 100/100.3).

    So if you want to stick to what you calculate as correct for M92 then you can use M579 to tweak things based on measured prints.

    Frederick


  • Moderator

    How did you measure the correct z steps?

    It's a belted z, is there some belt stretch or some backlash in the gearing?

    I'd say using the measured steps would be fine in this case. Perhaps that partially explains some of the over extrusion you also recently saw?



  • @Phaedrux no belt stretch, using 9mm wide gt2 belts. sturdy stuff. i measured steps using the pitch angle, got values for both pitch angle advertised (smaller final e-step) and the non-reduced motor (80[step ang] * 5-2/11[gear ratio] (larger steps/mm, idk why they are different values)), but those were the calculated steps given the values on the site) , and they were within 4 steps of each other, so i used the larger value (414.5). I found 423 steps to be more accurate, but it feels wrong to use something other than the calculated value.
    used this websites calculator: https://blog.prusaprinters.org/calculator_3416/
    For calculating the 0.35 step angle, i just edited as html and changed the value because i dont know the actual formula right now.


  • Moderator

    I'd probably print a larger object than just a small cube to make sure the measured steps are accurate over a larger range.



  • @Phaedrux will be back when 100mm tall cube print is done



  • @Phaedrux 100mm tall print (changed to 99.9 due to 0.3 layer height) shows up as 99.6mm. Still 0.3mm off but only slightly. if it was a steps thing wouldn't it be a greater inaccuracy due to the increase in height?



  • How thick is a single layer? (as printed)



  • @bearer 0.2 mm when requesting 0.2mm. this is before adding a scaling modifier to the z axis.



  • You should expect step/mm error to be proportional to the print height. If you're getting the same overall error regardless of the print size it's likely due to something else.

    Could be backlash or something mechanical, particularly if the first layer Z plane was approached from the opposite direction of subsequent layers. Most cheap stepper gearboxes have quite a bit of backlash, usually they're quoted at 1.5 to 3 degrees, which would be up to .33mm with a 20t 2mm pulley (40mm/rev).

    Steps/mm numbers look correct, my calc gives out 414.545455 steps/mm. Assuming 200 steps/mm motor, 20t drive gear, 5 2/11 gearbox, 2mm belt pitch.



  • @Turbo said in Using a measured e/steps value vs calculated:

    @arhi i know what youre saying but that doesnt answer my question. If the calculated z steps is giving me an inaccurate dimension, is something else wrong or is it just hardware deficiency?

    Well the topic you created is e/steps and then you are talking about Z/steps so it's not really clear what you are asking.

    I personally never measure "part" to determine machine properties. Plastic is hard to measure and can lead you astray in many ways. Attach an indicator or caliper to the head, move head known value, read actual moved value from the caliper - compare.



  • @arhi my bad, so used to seeing the term e steps and not z steps. fixed in title.
    ill try that method shortly. although having part dimensional accuracy is the point, and while i get measuring the printers accuracy like you're saying, it really wouldn't help me if the printer is accurate to 20.00mm for example, but the prints are coming out a different size.



  • @Turbo said in Using a measured e/steps value vs calculated:

    @arhi my bad, so used to seeing the term e steps and not z steps. fixed in title.
    ill try that method shortly. although having part dimensional accuracy is the point, and while i get measuring the printers accuracy like you're saying, it really wouldn't help me if the printer is accurate to 20.00mm for example, but the prints are coming out a different size.

    more than one thing is influencing part dimensions... you start with making your printer move "properly", ignore part size, make sure you printer move the way it supposed to. then if parts are wrong size find out why (extruder calibration, slicer calibration, shitty slicer, bad print surface, butterflies... ) ... but you can't start to fix other issues unless you are sure your printer movements are accurate..

    also if your cube is wrong .1mm on 10mm, is it wrong again .1mm on 100mm or is now 1mm wrong? FDM is not a super precise process, .1mm is not a big issue, 1% is a big issue



  • @arhi You were right with regards to the printer not moving "properly". So, after switching to linear rails on the z axis, I found my z axis dimensions to be spot on with the calculated value. I believe there may have been some unwanted friction using the v-rollers, causing the prints to come slightly short.


Log in to reply