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.5k
    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.
    • Frederikundefined
      Frederik @Phaedrux
      last edited by Frederik

      @Phaedrux
      @3dML
      left spindle is connected to 0.2
      back center to 0.3
      front right to 0.4

      the wiring from the specified drivers to the spindles is correct
      i map the Z steppers: Z02:03:04 - that should be ok

      my homeall.g

      ; homeall.g
      ; called to home all axes
      ;
      ; generated by RepRapFirmware Configuration Tool v3.1.10 on Sat Dec 19 2020 21:32:05 GMT+0100 (Mitteleuropäische Normalzeit)
      G91                     ; relative positioning
      G1 H2 Z5 F6000          ; lift Z relative to current position
      G1 H1 X-425 Y-405 F6000 ; move quickly to X or Y endstop and stop there (first pass)
      G1 H1 X-405             ; home X axis
      G1 H1 Y-405             ; home Y axis
      G1 X5 Y5 F6000          ; go back a few mm
      G1 H1 X-425 F360        ; move slowly to X axis endstop once more (second pass)
      G1 H1 Y-405             ; then move slowly to Y axis endstop
      G90                     ; absolute positioning
      G1 X215 Y210 F6000      ; go to first bed probe point and home Z
      G30                     ; home Z by probing the bed
      

      homex.g

      ; homex.g
      ; called to home the X axis
      ;
      ; generated by RepRapFirmware Configuration Tool v3.1.10 on Sat Dec 19 2020 21:32:05 GMT+0100 (Mitteleuropäische Normalzeit)
      G91               ; relative positioning
      G1 H2 Z5 F6000    ; lift Z relative to current position
      G1 H1 X-425 F6000 ; move quickly to X axis endstop and stop there (first pass)
      G1 X5 F6000       ; go back a few mm
      G1 H1 X-425 F360  ; move slowly to X axis endstop once more (second pass)
      G1 H2 Z-5 F6000   ; lower Z again
      G90               ; absolute positioning
      

      homey.g

      ; homey.g
      ; called to home the Y axis
      ;
      ; generated by RepRapFirmware Configuration Tool v3.1.10 on Sat Dec 19 2020 21:32:05 GMT+0100 (Mitteleuropäische Normalzeit)
      G91               ; relative positioning
      G1 H2 Z5 F6000    ; lift Z relative to current position
      
      G1 H1 Y-425 F6000 ; move quickly to Y axis endstop and stop there (first pass)
      G1 Y5 F6000       ; go back a few mm
      G1 H1 Y-425 F360  ; move slowly to Y axis endstop once more (second pass)
      G1 H2 Z-5 F1000   ; lower Z again
      G90               ; absolute positioning
      

      homez.g:

      ; homez.g
      ; called to home the Z axis
      ;
      ; generated by RepRapFirmware Configuration Tool v3.1.10 on Sat Dec 19 2020 21:32:05 GMT+0100 (Mitteleuropäische Normalzeit)
      G91                ; relative positioning
      G1 H2 Z5 F1000     ; lift Z relative to current position
      G90                ; absolute positioning
      G1 X215 Y210 F6000 ; go to first probe point
      G30                ; home Z by probing the bed
      
      
      1 Reply Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator
        last edited by

        Can you show an image marked up with where the motors driven by the 02,03,04 drivers are positioned?

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 0
        • 3dMLundefined
          3dML
          last edited by 3dML

          @Frederik
          Add an M291 between the M409 and the if statement. I have updated the macro below with this

          M291 P{move.calibration.initial.deviation} S3
          

          Based upon these values

          M208 X0 Y0 Z0 S1                 ; set axis minima
          M208 X415 Y395 Z400 S0           ; set axis maxima
          G10 P0 X0 Y0 Z0                  ; set tool 0 axis offsets
          

          the nozzle should be considered at x0 y0 and the BLTouch at x-38 y-10 in the comment below.

          when my printhead is homed at x0 y0 (left front corner) the bltouch is around x-3 y-2

          the nozzle x35 y8

          This

          G31 P1000 X0 Y0 Z0.81                                              ; BLTouch offset
          

          should be updated to this

          G31 P1000 X-38 Y-10 Z0.81                                              ; BLTouch offset
          

          Printer.jpg
          For M671 move the tool head to the position indicated by the (1) of x0 y(align the nozzle to the spindle). Measure from the center of the nozzle to the center of the spindle and subtract that number from x0. The Y value will be the Y position as indicated by the DWC tool position.

          Next move tool head to position 2 of x(align the nozzle to the spindle) y395. Measure from the center of the nozzle to the center of the spindle and add that number to y395. The X value will be the X position as indicated by the DWC tool position.

          Next move tool head to position 3 of x415 y(align the nozzle to the spindle). Measure from the center of the nozzle to the center of the spindle and add that number to x415. The Y value will be the Y position as indicated by the DWC tool position.

          Update the M671 with the values collected from the above steps.

          M671 X0:215:450 Y80:450:80 S5 				     ; Position of Leadscrews
          

          Next copy your first G30 command from the 3point calibration

          G30 P0 X40 Y80 Z-99999
          

          to the console and send it the printer. Once the command has finished record the tool position as indicated by the DWC. Use this x and y value in a G1 x## y## command at the beginning of the 3point calibration followed by G30 to set the z height.

          Update the 3point calibration macro to something like

          M203 Z100 ; set a low z max speed to increase accuracy. Run multiple G30 S-1 to determine the speed needed to achieve the accuracy you need.  
          G28
          while true
                  G1 X## Y## ; enter the tool position as indicated by the DWC after running the first G30 command in the 3point calibration
                  G30 ; sets the first point of the 3point calibration as Z0
          	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" ;displays deviation in console
                  M400 ; wait for move to complete
                  M291 P{move.calibration.initial.deviation} S3 ;displays deviation value
          	if move.calibration.initial.deviation <= 0.001  ; change the 0.001 to your needed value
          		echo "Passed"
                          M203 Z1000 ; set this z max speed to match your config file. Note if you cancel this macro by selecting the cancel button on the M291 message box this command will not run. You will need to run this command from the console to restore the max z speed
          		break
          	continue
          

          Follows these steps above to double check all your setting are correct. Lets the 3point calibration macro run until the deviation no longer decreases and post the results.

          @Phaedrux
          This is my understanding of the calibration process for 3 motor Z axis calibration.
          If something is not correct please update it. This is the process I used to set mine up and it works perfectly.

          Edit: {
          Added M203 to start and end of macro to increase probe accuracy.

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

          @Frederik
          I have found that slowing down the maximum Z speed can help with tolerance.

          }

          1 Reply Last reply Reply Quote 1
          • Frederikundefined
            Frederik
            last edited by

            @3dML @Phaedrux

            this is the online fusion 360 CAD Model of my build. perhaps it helps to show the position oh everything and offsets ....

            https://myhub.autodesk360.com/ue2c6242f/g/shares/SH56a43QTfd62c1cd9689aec54c27a170106

            1 Reply Last reply Reply Quote 0
            • 3dMLundefined
              3dML
              last edited by 3dML

              @Frederik
              The drawing looks correct. My above post still applies.

              Based on these values

              M208 X0 Y0 Z0 S1                 ; set axis minima
              M208 X415 Y395 Z400 S0           ; set axis maxima
              G10 P0 X0 Y0 Z0                  ; set tool 0 axis offsets
              

              all offsets are relative to nozzle position with the tool at x0 y0.

              Base on that drawing and your height map I'd say the bed has a large sag along the Y axis.

              alt text
              In this image your 3point calibration deviation is close to 0 but the sag in the bed is causing the skew in the Heightmap.

              Frederikundefined 2 Replies Last reply Reply Quote 0
              • Frederikundefined
                Frederik @3dML
                last edited by

                @3dML ok, i will post the values as soon as im finished. i will send the manufacturer a photo, perhaps its was damaged during shipping

                1 Reply Last reply Reply Quote 0
                • Frederikundefined
                  Frederik @3dML
                  last edited by Frederik

                  @3dML I will save 4 workspace positions on the outer corners so that i am always probing at the same spots, and check the mounting of the bed + possible options for what to improve...

                  right now it sits on 4 silicone pads.
                  i could change to springs or to 4 solid openbuild Blocks

                  2020-12-23_23h08_13.png 2020-12-23_23h13_50.png

                  @Phaedrux
                  position of spindles+mapping.png

                  V-Core Pro V1_snapshot.png

                  IMG_20201224_000838.jpg

                  1 Reply Last reply Reply Quote 1
                  • 3dMLundefined
                    3dML
                    last edited by 3dML

                    @Frederik
                    Post a picture of the current mount you are using to mount the bed to the z sub-frame. If you are using the mounts I think you are they may be be the cause of sum of the sag.

                    Frederikundefined 1 Reply Last reply Reply Quote 0
                    • Frederikundefined
                      Frederik @3dML
                      last edited by

                      @3dML Good Morning,

                      Merry Christmas

                      The last if loop after modifying the accel values of Z to 20 and max speed to 100

                      M98 P"0:/macros/1 test if loop - Z deviation new"
                      Leadscrew adjustments made: 0.351 -1.187 0.554, points used 3, (mean, deviation) before (0.049, 0.626) after (0.000, 0.000)
                      {"key":"move.calibration.initial.deviation","flags":"","result":0.626}
                      Leadscrew adjustments made: 0.346 -0.771 0.107, points used 3, (mean, deviation) before (-0.010, 0.392) after (-0.000, 0.000)
                      {"key":"move.calibration.initial.deviation","flags":"","result":0.392}
                      Leadscrew adjustments made: 0.093 -0.459 0.023, points used 3, (mean, deviation) before (-0.066, 0.200) after (0.000, 0.000)
                      {"key":"move.calibration.initial.deviation","flags":"","result":0.200}
                      Leadscrew adjustments made: 0.077 -0.390 -0.087, points used 3, (mean, deviation) before (-0.095, 0.158) after (0.000, 0.000)
                      {"key":"move.calibration.initial.deviation","flags":"","result":0.158}
                      Leadscrew adjustments made: -0.032 -0.217 -0.052, points used 3, (mean, deviation) before (-0.084, 0.067) after (0.000, 0.000)
                      {"key":"move.calibration.initial.deviation","flags":"","result":0.067}
                      Leadscrew adjustments made: -0.170 -0.222 -0.008, points used 3, (mean, deviation) before (-0.125, 0.068) after (0.000, 0.000)
                      {"key":"move.calibration.initial.deviation","flags":"","result":0.068}
                      Leadscrew adjustments made: -0.142 -0.175 -0.105, points used 3, (mean, deviation) before (-0.137, 0.022) after (-0.000, 0.000)
                      {"key":"move.calibration.initial.deviation","flags":"","result":0.022}
                      Leadscrew adjustments made: -0.15 actual 2 -0.165 -0.158, points used 3, (mean, deviation) before (-0.157, 0.004) after (0.000, 0.000)
                      {"key":"move.calibration.initial.deviation","flags":"","result":0.004}
                      Leadscrew adjustments made: -0.164 -0.177 -0.151, points used 3, (mean, deviation) before (-0.163, 0.008) after (-0.000, 0.000)
                      {"key":"move.calibration.initial.deviation","flags":"","result":0.008}
                      Leadscrew adjustments made: -0.182 -0.158 -0.160, points used 3, (mean, deviation) before (-0.168, 0.008) after (-0.000, 0.000)
                      {"key":"move.calibration.initial.deviation","flags":"","result":0.008}
                      Leadscrew adjustments made: -0.165 -0.169 -0.172, points used 3, (mean, deviation) before (-0.168, 0.002) after (0.000, 0.000)
                      {"key":"move.calibration.initial.deviation","flags":"","result":0.002}
                      Passed
                      

                      My NOZZLE !!! is now x0 Y0, like you mentioned, and bltouch x-35 y-15 d, i would thay after looking at the different values, the measurements are getting overall closer and more consistent 🙂

                      @3dML

                      Yesterday i changed the mounting from silicone spacers back to the standard springs from the Kit. now its mounted 1:1 like the CAD above wiht 4 springs at the corners

                      Frederikundefined 1 Reply Last reply Reply Quote 0
                      • Frederikundefined
                        Frederik @Frederik
                        last edited by Frederik

                        @3dML
                        the old mounting:
                        img_20201224_101915.jpg) IMG_20201224_102124.jpg

                        at the moment mounted with this original springs:

                        IMG_20201224_102026.jpg ![IMG_20201224_101939.jpg]

                        The openbuild blocks:
                        IMG_20201224_101915.jpg

                        the subframe assembly from the side:
                        2020-12-24_11h23_24.png

                        on top is a Prima Creator Magnetic Flex Steel Plate
                        and the Keenovo Silicone Heatpad below + isolating padding

                        1 Reply Last reply Reply Quote 0
                        • 3dMLundefined
                          3dML
                          last edited by

                          @Frederik
                          My guess is excessive force got applied to the center of the bed at some point and the nature of the L brackets with a single bolt allowed them to swivel inward creating the bend in the bed along the Y axis. I don't have any experience with that style of bed mount so not sure what would be the best recommendation for mounting.

                          Frederikundefined 1 Reply Last reply Reply Quote 0
                          • Frederikundefined
                            Frederik @3dML
                            last edited by Frederik

                            @3dML The Bed was shipped with DHL Express from Portugal to Germany. Perhaps it got damaged along the way?

                            What are the most thermal stable and least problematic solutions for the bed ?

                            i wanted to print a 3 or 4 point kinematic mount like the Hevort V2 without the need of a subframe . only 3x sfu1204 Spindles and a mgn12 or 15 rail behind to eliminate the ply of the floating mount (without FK/BK Blocks).

                            option 1: borosilikat plate 400x400mm without flex plate or similar
                            option 2. Aluminium Plate, 10-20mm thick with precision ground surface to +0.025 to -0.025 and flex plate or something like that

                            option 3 the same precision plate , only with a DIY coating with Ultem Pellets (PEI) solved in dichloromethane

                            1 Reply Last reply Reply Quote 0
                            • Frederikundefined
                              Frederik
                              last edited by Frederik

                              2020-12-24_23h18_21.png

                              the corresponding .csv values:
                              xmin,xmax,ymin,ymax,radius,xspacing,yspacing,xnum,ynum
                              10.00,400.00,10.00,390.00,-1.00,43.30,42.20,10,10
                              0.238, -0.344, -0.824, -1.021, -1.114, -1.004, -0.833, -0.581, -0.169, 0
                              -0.003, -0.475, -0.694, -0.875, -0.938, -0.924, -0.785, -0.514, -0.146, 0
                              0.029, -0.307, -0.608, -0.732, -0.866, -0.804, -0.649, -0.469, -0.089, 0
                              0.132, -0.153, -0.518, -0.618, -0.739, -0.704, -0.600, -0.338, -0.053, 0
                              0.280, -0.028, -0.245, -0.518, -0.637, -0.599, -0.485, -0.265, 0.003, 0
                              0.421, 0.117, -0. 114, -0.345, -0.470, -0.528, -0.417, -0.231, 0.083, 0
                              0.631, 0.253, -0.006, -0.208, -0.333, -0.352, -0.258, -0.115, 0.202, 0
                              0.842, 0.446, 0.163, -0.082, -0.162, -0.266, -0.206, 0.006, 0.268, 0
                              1.037, 0.647, 0.309, 0.086, -0.064, -0.107, -0.045, 0.151, 0.456, 0
                              0, 0, 0, 0, 0, 0, 0, 0, 0,

                              Thats the last map after i tested a few little things, i thought could help to validate the measurements and improve the probing further:

                              firmware upgrade to 3.2RC2

                              Then only for safety 🙂
                              M997 B121
                              M997 B0

                              • new macros with every BLTouch command including the EEProm Conversion request from open drain to 5v and vice versa
                                additional, i measured how deep the set crew is on top of the BLTouch and tryed if the ^ on the input pin made a difference in accuracy or error count (error on every probing try or only on every 10th...).
                              1. loosen the mounting screws to the subframe, so that the bed was only held by its own weight on top of the springs to release every little bit of mounting stress like you mentioned above (perhaps a force was applied in the center...).

                              next, i will rotate the bed 90° and 180 ° to see if the Heightmap in DWC is changing accordingly.

                              If it doesn't change, i try and change driver 0.3 and 0.4 (Hardware wiring) and check what happens with the compensation map

                              1. Set the Heater to 120°C, because I thought the thermal expansion could help a little bit, or it flexed while printing PLA with 50°C Bed Temp.

                              2. Trying to bring it down on the left lower, upper and right corners with the mounting screws and shim it on the right lower corner

                              1 Reply Last reply Reply Quote 0
                              • Frederikundefined
                                Frederik
                                last edited by

                                i made a few tests with different bed mounts.

                                when i probe 4 points on the outer corners i get these values:

                                RepRapFirmware height map file v2 generated at 2020-12-28 19:39
                                xmin,xmax,ymin,ymax,radius,xspacing,yspacing,xnum,ynum
                                10.00,380.00,10.00,380.00,-1.00,350.00,350.00,2,2
                                  0.083, -0.042
                                 -0.082,  0.077
                                

                                and the corresponding graphic in DWC:

                                2020-12-28_20h41_14.png

                                when probing more points i get this values:

                                RepRapFirmware height map file v2 generated at 2020-12-28 19:52
                                xmin,xmax,ymin,ymax,radius,xspacing,yspacing,xnum,ynum
                                10.00,380.00,10.00,380.00,-1.00,55.00,55.00,7,7
                                  0.067, -0.716, -1.026, -1.035, -0.892, -0.648, -0.194
                                 -0.543, -0.832, -0.956, -1.031, -0.845, -0.609, -0.239
                                 -0.586, -0.778, -0.884, -0.869, -0.774, -0.577, -0.268
                                 -0.531, -0.686, -0.745, -0.789, -0.716, -0.558, -0.302
                                 -0.446, -0.559, -0.581, -0.624, -0.567, -0.474, -0.275
                                 -0.328, -0.423, -0.451, -0.486, -0.405, -0.334, -0.193
                                 -0.150, -0.201, -0.192, -0.164, -0.126, -0.115, -0.083
                                

                                2020-12-28_20h55_05.png

                                1 Reply Last reply Reply Quote 0
                                • Frederikundefined
                                  Frederik
                                  last edited by

                                  and this a second map generated right after the first two:

                                  2020-12-28_21h19_03.png

                                  the values from heightmap.csv:

                                  RepRapFirmware height map file v2 generated at 2020-12-28 20:15
                                  xmin,xmax,ymin,ymax,radius,xspacing,yspacing,xnum,ynum
                                  10.00,380.00,10.00,360.00,-1.00,37.00,35.00,11,11
                                    0.654,  0.049, -0.369, -0.588, -0.709, -0.703, -0.634, -0.514, -0.327, -0.081,      0
                                    0.105, -0.311, -0.518, -0.634, -0.707, -0.710, -0.635, -0.561, -0.365, -0.162,      0
                                   -0.046, -0.310, -0.495, -0.571, -0.688, -0.729, -0.654, -0.570, -0.404, -0.206,      0
                                   -0.118, -0.321, -0.484, -0.575, -0.659, -0.693, -0.621, -0.582, -0.434, -0.243,      0
                                   -0.121, -0.301, -0.431, -0.529, -0.636, -0.618, -0.610, -0.552, -0.451, -0.276,      0
                                   -0.113, -0.293, -0.383, -0.503, -0.560, -0.549, -0.601, -0.555, -0.456, -0.266,      0
                                   -0.110, -0.225, -0.334, -0.405, -0.512, -0.547, -0.524, -0.474, -0.436, -0.339,      0
                                   -0.051, -0.171, -0.239, -0.339, -0.444, -0.478, -0.474, -0.456, -0.409, -0.342,      0
                                    0.002, -0.133, -0.213, -0.276, -0.329, -0.369, -0.348, -0.359, -0.339, -0.285,      0
                                    0.086, -0.059, -0.100, -0.133, -0.233, -0.228, -0.225, -0.246, -0.260, -0.226,      0
                                    0.116,  0.061,  0.006, -0.048, -0.033, -0.045, -0.047, -0.141, -0.179, -0.155,      0
                                  
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • Phaedruxundefined
                                    Phaedrux Moderator
                                    last edited by

                                    The heightmap shows a bowl shape. The 4 point map shows that the bed is basically level.

                                    Now the question is whether the mesh compensation is enough to compensate for the shape of the bed surface.

                                    bedlevel_nozzle_0.4_200x200-0.3-0.8.stl

                                    Print a test file once with compensation active and again with it disabled and see if the first layer is better with it active.

                                    Z-Bot CoreXY Build | Thingiverse Profile

                                    Frederikundefined 1 Reply Last reply Reply Quote 0
                                    • Frederikundefined
                                      Frederik @Phaedrux
                                      last edited by Frederik

                                      @Phaedrux thanks for the file. i will test it and report back whats happening .

                                      the last time i tried a 350x350 X as test, i had to abort the print after i saw that the printed line was getting squished more and more...and before the nozzle starts digging in the bed i stopped the test. that was perhaps 10 cm from the center

                                      parts up to perhaps 8x8cm from the center where i home Z are no problem, but as soon as i try bigger parts with 15x 8 i already can see the height changes in the actual layer

                                      You can see it goog here in the picture below. The actual part is 6.5cm wide

                                      IMG_20201229_001750.jpg

                                      1 Reply Last reply Reply Quote 0
                                      • Phaedruxundefined
                                        Phaedrux Moderator
                                        last edited by

                                        That amount of brim is going to show some heavy over extrusion no matter what.

                                        Z-Bot CoreXY Build | Thingiverse Profile

                                        Frederikundefined 2 Replies Last reply Reply Quote 0
                                        • Frederikundefined
                                          Frederik @Phaedrux
                                          last edited by Frederik

                                          @Phaedrux the picture was only to visualize the problem. The right side is where the height starts to decrease, and another 3-5 cm to the right the nozzle would hit the bed. Note: I was not at the printer and had no other Pic showing the differences:)

                                          1 Reply Last reply Reply Quote 0
                                          • Frederikundefined
                                            Frederik @Phaedrux
                                            last edited by

                                            @Phaedrux there are a lot of things that I had to improve. at the moment I think a combination of pressure advance 0.45 and FW Retract 6.5mm with 45mm/s solved my extrusion problem quite well.

                                            for information:

                                            the Bowden tube between my Bondtech and the start of the Heat block in the mosquito is 1065mm.

                                            when I am running a g32 and start a print with ~ 75x75mm in the center...everything looks good.

                                            the next thing I will test is your test file with and without compensation activated and with varying probing points around the bed.

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