• Tags
  • Documentation
  • Order
  • Register
  • Login
Duet3D Logo Duet3D
  • Tags
  • Documentation
  • Order
  • Register
  • Login

RRF3.2Beta4.1 Heightmap vs. Spindle/Driver Mapping

Scheduled Pinned Locked Moved
Tuning and tweaking
4
49
2.3k
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • undefined
    Frederik
    last edited by Frederik 22 Dec 2020, 09:33

    Good Morning,

    I´m trying to understand what's going on and why it is looking like that 🙂

    2020-11-20_15h00_22.png 2020-11-20_22h08_05.png 2020-12-22_08h10_39.png 2020-12-22_08h11_00.png 2020-12-22_08h11_13.png 2020-12-22_08h11_22.png 2020-12-22_08h11_29.png

    after editing my BLTouch Settings with these additional Parameters and half the Probing Speed quite repeatable Measurements.

    M558 P9 H5 F60 T6000 A10 S0.003 B1 (R0.75???)
    

    deployprobe.g:

    M280 P0 S10
    

    is saw there is an additional R Parameter but I can't find any documentation about it.

    is there anything to optimize?
    My Spindles are at the left Front, rear center, right front about 50mm outside the Bed.
    The Bed is a 4mm Aluminium Plate with a PrimaCreator MagneticFlex Steel Plate.

    This measurement was @ Room Temperature ~21°C

    The BLTouch needed about 2-3 attempts to achieve the tolerance specified in the config and go to the next Probing Spot.

    my bed.g:

    ;Probe 3-point
    M561 ; clear any bed transform
    G28 ; Home all
    G30 P0 X40 Y80 Z-99999 ; Probe near the front left lead-screw
    G30 P1 X215 Y395 Z-99999 ; Probe near the rear lead screw
    G30 P2 X415 Y80 Z-99999 S3 ; Probe near the front right lead-screw
    G30 P0 X40 Y80 Z-99999 ; Probe near the front left lead-screw (Second Pass)
    G30 P1 X215 Y395 Z-99999 ; Probe near the rear lead screw (Second Pass)
    G30 P2 X415 Y80 Z-99999 S3 ; Probe near the front right lead-screw (Second Pass)
    G91 ; Switch to relative positioning moves
    G1 H2 Z5 F1000 ; Drop the Z-axis (the bed) by 5mm relative to its current position
    G90 ; Revert back to absolute positioning moves
    G1 X215 Y210 F6000 ; Position the nozzle at the center of the bed
    G30 ; Probe and set the height as probed
    G29 S1 P"heightmap.csv" ; Load the heightmap

    my config.g:

    G90 ; Send absolute coordinates...
    M550 P"vcore" ; set printer name
    M669 K1 ; select CoreXY mode
    ; Drives
    M569 P0.0 S1 ; physical drive 0.0 goes forwards
    M569 P0.1 S1 ; physical drive 0.1 goes forwards
    M569 P0.2 S0 ; physical drive 0.2 goes forwards
    M569 P0.3 S0 ; physical drive 0.5 goes forwards
    M569 P0.4 S0 ; physical drive 0.5 goes forwards
    M569 P0.5 S0 ; physical drive 0.5 goes forwards
    M569 P121.0 S0
    M584 X0.0 Y0.1 Z0.2:0.3:0.4 E0.5 ; set drive mapping
    M350 E16 I0 ; configure microstepping without interpolation
    M350 X16 Y16 Z16 I1 ; configure microstepping with interpolation
    M92 X159.00 Y159.00 Z806.00 E830.00 ; set steps per mm
    M566 X1500.00 Y1500.00 Z50.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X18000.00 Y18000.00 Z1000.00 E750.00 ; set maximum speeds (mm/min)
    M201 X1500.00 Y1500.00 Z75.00 E250.00 ; set accelerations (mm/s^2)
    M906 X1800 Y1800 Z1000 E900 I20 ; set motor currents (mA) and motor idle factor in per cent
    M84 S90 ; Set the idle timeout
    ;Position of Leadscrews
    M671 X0:215:450 Y80:450:80 S5 ; Position of Leadscrews
    ;Define Mesh Grid
    M557 X40:395 Y40:395 S100 ; define mesh grid
    ; Endstops
    M574 X1 S1 P"121.io2.in" ; configure active-high endstop for low end on X via pin 121.io2.in
    M574 Y1 S1 P"io0.in" ; configure active-high endstop for low end on Y via pin io1.in
    M574 Z1 S2 ; configure Z-probe endstop for high end on Z
    ; Z-Probe
    M950 S0 C"121.io0.out" ; create servo pin 0 for BLTouch
    M558 P9 C"121.io0.in" H4 F60 T6000 A10 S0.005 B1 ; set Z probe type to bltouch and the dive height + speeds
    G31 P1000 X0 Y0 Z0.81 ; set Z probe trigger value, offset and trigger height
    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; set axis minima
    M208 X415 Y395 Z400 S0 ; set axis maxima
    ;Duet Laser Filament Monitor
    M591 D0 P5 C"io3.in" R30:130 E3.0 S0 ; Tolerance 30 to 130%, 3mm comparison length, diabled
    ; Pressure Advance Tuning
    M572 D0 S0.05 ; Extruder pressure advance
    ; Cancel Ringing at the defined Freuquenzy
    ;M593 F40.5 ; Ringing Frequency
    ; Heaters
    M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0
    M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0
    M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
    M140 H0 ; map heated bed to heater 0
    M143 H0 S150 ; set temperature limit for heater 0 to 200C
    M308 S1 P"121.temp0" Y"thermistor" T500000 B4723 C1.19622e-7 ; configure sensor 1 as thermistor on pin 121.temp0
    M950 H1 C"121.out0" T1 ; create nozzle heater output on 121.out0 and map it to sensor 1
    M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
    M143 H1 S500 ; set temperature limit for heater 1 to 500C
    M308 S2 P"temp1" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 2 as thermistor on pin temp1
    M950 H2 C"out1" T2 ; create chamber heater output on out1 and map it to sensor 2
    M307 H2 B0 S1.00 ; disable bang-bang mode for the chamber heater and set PWM limit
    M141 H2 ; map chamber to heater 2
    M143 H2 S120 ; set temperature limit for heater 2 to 120C
    ; Heater Model Parameters
    M307 H0 R0.641 C945.3 D3.18 S1.00 V24.1 ; PID Parameters Heated Bed
    M307 H1 R2.770 C158.7 D5.63 S1.00 V24.0 ; PID Parameter Mosquito Magnum
    M307 H2 A202.7 C76.2 D3.1 S1.0 V24.0 B0 ; PID Parameters Build Chamber
    ; Fans
    M950 F0 C"121.out2" Q500 ; create fan 0 on pin 121.out2 and set its frequency
    M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
    M950 F1 C"121.out1" Q500 ; create fan 1 on pin 121.out1 and set its frequency
    M106 P1 S0 H-1 ; set fan 1 value. Thermostatic control is turned off
    ; Tools
    M563 P0 S"mosquito magnum" D0 H1 F0:1 ; define tool 0
    G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
    T0 ; select first tool
    ; Custom settings are not defined
    M912 P0 S-14.8 ; MCU Temperature Calibration
    M308 S3 P"drivers" Y"drivers" A"TMC" ; Create sensor for drivers

    heightmap.csv

    RepRapFirmware height map file v2 generated at 2020-12-22 02:28
    xmin,xmax,ymin,ymax,radius,xspacing,yspacing,xnum,ynum
    45.00,390.00,45.00,390.00,-1.00,70.00,70.00,5,5
    0.467, -0.045, -0.356, -0.373, -0.037
    0.619, 0.124, -0.105, -0.077, 0.139
    0.765, 0.325, 0.077, 0.042, 0.269
    0.991, 0.517, 0.245, 0.222, 0.445
    1.245, 0.723, 0.398, 0.331, 0.578

    PrintHead:
    IMG_20201219_084307.jpg

    The BlTouch is around 20mm right of the nozzle and 4mm in front
    and is at x0 and y5 when homed at x0 y0
    Wiring of the Z-Motors:

    left front Spindle - driver 0.2
    rear center - driver 0.3
    right front - driver 0.4

    Duet3 Mainboard
    Toolbard LC1

    RRF 3.2Beta4.1
    DWC 3.2Beta4

    any Tips that I can improve?

    Regards Frederik

    1 Reply Last reply Reply Quote 0
    • undefined
      gringo
      last edited by 22 Dec 2020, 14:41

      Please check your M671 command.
      As I see, the Position of the Leadscrews does not match the Axis minima and maxima.
      You write your Leadscrews are 50mm outside the print bed, then they can't be at X0.

      M208 X0 Y0 Z0 S1
      M671 0:215:450 Y80:450:80 S5

      undefined 1 Reply Last reply 22 Dec 2020, 15:22 Reply Quote 1
      • undefined
        Frederik @gringo
        last edited by Frederik 22 Dec 2020, 15:22

        @gringo i will change the value as soon as i am home and post the results.

        its a bit unclear whats the right settings:

        from the duet gcode dozuki:

        M671: Define positions of Z leadscrews or bed levelling screws
        Parameters

        Xnn:nn:nn... List of between 2 and 4 X coordinates of the leadscrews that drive the Z axis or the bed levelling screws
        Ynn:nn:nn... List of between 2 and 4 Y coordinates of the leadscrews that drive the Z axis or the bed levelling screws
        Snn Maximum correction to apply to each leadscrew in mm (optional, default 1.0)
        Pnnn Pitch of the bed levelling screws (not used when bed levelling using independently-driven leadscrews). Defaults to 0.5mm which is correct for M3 bed levelling screws.
        Fnn Fudge factor, default 1.0
        Order dependency

        M671 must come later in config.g than any M667 or M669 command.
        Example

        M671 X-15.0:100.0:215.0 Y220.0:-20.0:220.0 ; Z leadscrews are at (-15,220), (100,-20) and (215,220)

        but i cant find anything about the Fudge Factor ?

        undefined 1 Reply Last reply 22 Dec 2020, 18:03 Reply Quote 0
        • undefined
          gringo
          last edited by 22 Dec 2020, 16:06

          I have configured it like this:

          M671 X-132:148:428 Y-25:385:-55 S5 ;Leadscrew Position
          M208 X-88: 290 U0: 380 Y-25: 325 Z0: 270 ; Axis minima and maxima

          undefined 1 Reply Last reply 22 Dec 2020, 19:38 Reply Quote 1
          • undefined
            Phaedrux Moderator @Frederik
            last edited by 22 Dec 2020, 18:03

            @Frederik said in RRF3.2Beta4.1 Heightmap vs. Spindle/Driver Mapping:

            but i cant find anything about the Fudge Factor ?

            It can be used to exaggerate the amount of correction in cases where it doesn't correct enough per pass.

            M558 R is a rest period after the probing move to allow the probe to settle. For the BLTouch R0.5 or so works well and causes it to rest for half a second before probing again.

            M671 defines the position of the lead screws
            The order must match the order of the motors defined in M584
            In bed.g you probe as close to the lead screws as you can in the same order as the lead screws are defined.

            Z-Bot CoreXY Build | Thingiverse Profile

            undefined 1 Reply Last reply 23 Dec 2020, 13:49 Reply Quote 0
            • undefined
              3dML
              last edited by 22 Dec 2020, 19:17

              @Frederik
              I have found that slowing down the maximum Z speed can help with tolerance. Try adding a M203 Z100 before any bed probing moves and M203 Z1000 after the bed probing is finished to restore the speed back to your config settings. You may be able to push the speed a little higher Z100.

              Once you have your setting dialed in correctly you can use a While loop to get a perfect bed level.

              while true
              G30 P0 X40 Y80 Z-99999 ; Probe near the front left lead-screw
              G30 P1 X215 Y395 Z-99999 ; Probe near the rear lead screw
              G30 P2 X415 Y80 Z-99999 S3 ; Probe near the front right lead-screw
              M409 K"move.calibration.initial.deviation" F"f"
              if move.calibration.initial.deviation <= 0.001 && move.calibration.initial.deviation >= -0.001
              echo "Passed"
              break
              continue

              Please do not try this until you know your setting are correct as this code has no safety checks and will break parts if misconfigured. You can add safety checks if you wish.
              Also if your bed temp is not stable it will not pass these tolerances.

              undefined 1 Reply Last reply 22 Dec 2020, 21:11 Reply Quote 0
              • undefined
                Frederik @gringo
                last edited by Frederik 22 Dec 2020, 19:38

                @gringo @Phaedrux @3dML

                Console output of 3 point Leveling:

                G32
                Leadscrew adjustments made: 0.810 0.762 0.377, points used 3, (mean, deviation) before (0.623, 0.151) after (-0.000, 0.000)
                Leadscrew adjustments made: 0.013 0.161 -0.115, points used 3, (mean, deviation) before (-0.012, 0.105) after (-0.000, 0.000)
                Height map loaded from file heightmap.csv

                after i edited the standard BLtouch Line to:
                ´´´
                H4 F60 T6000 A10 S0.005 B1 it got from around 0.xx1 values to 0.0xx values at the second round probing with F120 i never saw values like that. if i change the value S0.005 to 0.003 i got an Error Message: unconsistend Z Values.... i also tried to play sith the setscrew on top of the bltouch and generated makro Files for Selftest and Error Reset. after i send these 2 Makkros the sensor is working again without touching the cabling . so i think thats probably a setting /software issue.

                i try to make some photos for reference

                Head at Endstops = X0 Y0

                Nozzle Tip is at

                1 Reply Last reply Reply Quote 0
                • undefined
                  Frederik
                  last edited by 22 Dec 2020, 20:11

                  what a timing, the last Time i posted a question about trigger heigt Problems i ordered a few shottky diodes bat 43 -do35:

                  Bauform DO-35
                  Elektrische Werte
                  URRM 30 V
                  UF 0,33 V
                  IF(AV) 0,2 A
                  IFSM 4 A
                  IR 0,5 µA

                  I have an unsused inductive Probe here thats working witht 24 V .
                  could i connect it with that diode savely to an unused IOpin only for testing purposes , if there is a hardware error or other problem on the bltouch ?

                  1 Reply Last reply Reply Quote 0
                  • undefined
                    Phaedrux Moderator
                    last edited by Phaedrux 22 Dec 2020, 20:26

                    For the BLtouch try this command

                    M558 P9 H4 F60 T6000 A10 B1 R0.5

                    Don't specify S at all, let it use the default.

                    Now if you do a test of G30 S-1 several times in a row, how consistent are the results?

                    Why do you think there is a problem with the BLTouch?

                    Error Message: unconsistend Z Values

                    That will happen if you use too tight a tolerance in S.

                    Z-Bot CoreXY Build | Thingiverse Profile

                    undefined 2 Replies Last reply 22 Dec 2020, 20:58 Reply Quote 0
                    • undefined
                      3dML
                      last edited by 22 Dec 2020, 20:31

                      @Frederik
                      It looks like the second pass is better then the first.
                      If your setting are not prefect it may take several more rounds depending on the tolerance you want.

                      This is my output and it starts out much closer then your first attempt. I only have two Z motors instead of three hence only two probe points. As @Phaedrux said I also use the default S value and it works fine.

                      Leadscrew adjustments made: 0.005 0.005, points used 2, (mean, deviation) before (0.005, 0.000) after (-0.000, 0.000)
                      Leadscrew adjustments made: -0.007 0.016, points used 2, (mean, deviation) before (0.004, 0.004) after (0.000, 0.000)
                      Leadscrew adjustments made: -0.012 0.026, points used 2, (mean, deviation) before (0.006, 0.006) after (-0.000, 0.000)
                      Leadscrew adjustments made: -0.014 0.047, points used 2, (mean, deviation) before (0.015, 0.010) after (0.000, 0.000)
                      Leadscrew adjustments made: -0.080 0.095, points used 2, (mean, deviation) before (0.004, 0.029) after (-0.000, 0.000)
                      Leadscrew adjustments made: -0.098 0.245, points used 2, (mean, deviation) before (0.066, 0.056) after (0.000, 0.000)
                      1 Reply Last reply Reply Quote 0
                      • undefined
                        Frederik @Phaedrux
                        last edited by Frederik 22 Dec 2020, 20:58

                        @Phaedrux I was reading on the antclabs web page that the v3. 1 is measuring within 0.005 mm and the results im getting are different every time I generate a Heightmap

                        Here are the pictures of my head and in green the position of my spindles and white the position of mgn15 rails to eliminate any z wobble

                        IMG_20201222_214450.jpg IMG_20201222_214522.jpg IMG_20201222_214657.jpg IMG_20201222_214857.jpg IMG_20201222_214936.jpg

                        undefined 1 Reply Last reply 22 Dec 2020, 21:02 Reply Quote 0
                        • undefined
                          Frederik @Frederik
                          last edited by 22 Dec 2020, 21:02

                          IMG_20201222_214358.jpg

                          1 Reply Last reply Reply Quote 0
                          • undefined
                            3dML
                            last edited by 3dML 22 Dec 2020, 21:04

                            @Frederik The different Heightmaps is because your Leadscrew deviation is not 0 before you generate the Heightmap.

                            undefined 1 Reply Last reply 22 Dec 2020, 21:07 Reply Quote 0
                            • undefined
                              Frederik @Phaedrux
                              last edited by 22 Dec 2020, 21:05

                              @Phaedrux one moment. I probing single spots and checking the values before and after the z probe code change

                              1 Reply Last reply Reply Quote 0
                              • undefined
                                Frederik @3dML
                                last edited by 22 Dec 2020, 21:07

                                @3dML I delete the Heightmap and compensation bevor generating a new mesh.

                                Is that wrong?

                                And after startup only a g32 - 3 point level +loading of Heightmap.csv (bed.g)

                                1 Reply Last reply Reply Quote 0
                                • undefined
                                  Frederik @3dML
                                  last edited by 22 Dec 2020, 21:11

                                  @3dML the showed Heightmap was generated at room temperature. To have a baseline when starting test at different standard bed temperatures. Like 60, 90, 100 etc

                                  How Lo g would you give the bed before starting the measurements, so that the temp is as evenly as possible

                                  1 Reply Last reply Reply Quote 0
                                  • undefined
                                    3dML
                                    last edited by 3dML 22 Dec 2020, 21:15

                                    If you run the 3point calibration multiple time it should return a smaller deviation each time hence the reason I use a while loop and an if statement to check the deviation value. It will continue to run until it passes the tolerance set by the if statement.

                                    You could put this code in a macro and run it multiple time to see how small you can get the deviation.

                                    G30 P0 X40 Y80 Z-99999 ; Probe near the front left lead-screw
                                    G30 P1 X215 Y395 Z-99999 ; Probe near the rear lead screw
                                    G30 P2 X415 Y80 Z-99999 S3 ; Probe near the front right lead-screw
                                    1 Reply Last reply Reply Quote 1
                                    • undefined
                                      Frederik
                                      last edited by 22 Dec 2020, 21:33

                                      @Phaedrux

                                      Changed bltouch config to H3 F60 T6000 A10 B1 R0.5

                                      IMG_20201222_223234.jpg

                                      1 Reply Last reply Reply Quote 0
                                      • undefined
                                        3dML
                                        last edited by 22 Dec 2020, 21:47

                                        @Frederik said in RRF3.2Beta4.1 Heightmap vs. Spindle/Driver Mapping:

                                        And after startup only a g32 - 3 point level +loading of Heightmap.csv (bed.g)

                                        generate a Heightmap

                                        If you can do a 3point calibration the a deviation of 0 or as close as you can get it you should not have to generate a new Heightmap every time you do a 3point calibration.

                                        The time to temp all depends on your setup.

                                        I have a 750w heater that covers the entire 300mm bed with a temp sensor to control the heat in a slot cutout of the magnet for the flex sheet so very close to the top of the bed. I also have a temp sensor on the heater pad itself so once they both stabilize its good to go. If you are only measuring temp at the heater pad it will take a while for the top of the bed to reach an even temp unless the bed is very thin.

                                        @Frederik said in RRF3.2Beta4.1 Heightmap vs. Spindle/Driver Mapping:

                                        @Phaedrux

                                        Changed bltouch config to H3 F60 T6000 A10 B1 R0.5

                                        IMG_20201222_223234.jpg

                                        What was the max Z speed for this test? The last 4 readings look good. Too high of a Z speed can cause the shift between the second and third reading.

                                        undefined 1 Reply Last reply 22 Dec 2020, 23:05 Reply Quote 0
                                        • undefined
                                          Frederik @3dML
                                          last edited by 22 Dec 2020, 23:05

                                          @3dML Z Probing speed F60 normal in the RRF config tool was F120

                                          1 Reply Last reply Reply Quote 0
                                          4 out of 49
                                          • First post
                                            4/49
                                            Last post
                                          Unless otherwise noted, all forum content is licensed under CC-BY-SA