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

    Auto Bed Leveling PINDA

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    4
    15
    965
    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.
    • WillGIamundefined
      WillGIam
      last edited by

      It´s frustrating. I got everything running and Mesh Bed leveling was working fine. Until I started the first bigger print... At some points its too low and at some others it´s too high... Without any rule...

      Thats my config.g:

      ; Configuration file for Duet WiFi (firmware version 1.21)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v2.0.4 on Sat Sep 14 2019 17:19:08 GMT+0200 (Mitteleuropäische Sommerzeit)

      ; General preferences
      G90 ; send absolute coordinates...
      M83 ; ...but relative extruder moves
      M550 P"Steffens JG Aurora" ; set printer name

      ; Network
      M552 S1 ; enable network
      M586 P0 S1 ; enable HTTP
      M586 P1 S0 ; disable FTP
      M586 P2 S1 ; enable Telnet
      M552 P10.115.111.109 ; (0 = DHCP)
      M554 P10.115.111.108 ; Gateway
      M553 P255.255.255.0 ; Netmask

      ; Drives
      M569 P0 S1 ; physical drive 0 goes forwards
      M569 P1 S0 ; physical drive 1 goes backwards
      M569 P2 S0 ; physical drive 2 goes backwards
      M569 P3 S1 ; physical drive 3 goes forwards
      M584 X0 Y1 Z2 E3 ; set drive mapping
      M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
      M92 X80.00 Y80.00 Z803.37 E408.92 ; set steps per mm
      M566 X600.00 Y300.00 Z12.00 E300.00 ; set maximum instantaneous speed changes (mm/min)
      M203 X15000.00 Y15000.00 Z1800.00 E12000.00 ; set maximum speeds (mm/min)
      M201 X1500.00 Y1500.00 Z200.00 E2000.00 ; set accelerations (mm/s^2)
      M906 X1000 Y1000 Z1000 E1000 I30 ; set motor currents (mA) and motor idle factor in per cent
      M84 S30 ; Set idle timeout

      ; Axis Limits
      M208 X0 Y0 Z0 S1 ; set axis minima
      M208 X320 Y305 Z305 S0 ; set axis maxima

      ; Endstops
      M574 X1 Y1 Z1 S0 ; set active low and disabled endstops
      M574 Z1 S2 ; Set endstops controlled by probe

      ; Z-Probe
      M558 P5 H2 F5000 T12000 ; Set Z probe type to switch and the dive height + speeds
      G31 P800 X40 Y-5 Z1.54 ; 1.54 is the calculated Set Z probe trigger value, offset and trigger height
      ; The larger the number the closest it gets to the bed
      ;i.e. 1.50 puts the nozzle closer to the bed than 1.20
      M851 Z-0.25 ; Z Offset
      M557 X50:300 Y0:290 S15 ; Define mesh grid

      ; Heaters
      M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
      M305 P0 T100000 B4138 R4700 ; set thermistor + ADC parameters for heater 0
      M143 H0 S120 ; set temperature limit for heater 0 to 120C
      M305 P1 T100000 B4138 R4700 ; set thermistor + ADC parameters for heater 1
      M143 H1 S280 ; set temperature limit for heater 1 to 280C

      ; Fans
      M106 P0 S0 I0 F500 H T45 ; set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned on
      M106 P1 S1 I0 F500 H1 T45 ; set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on

      ; Tools
      M563 P0 D0 H1 F0 ; 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

      ; Custom settings
      M574 X1 Y1 Z0 S3
      M915 P0 S3 R0
      M915 P1 S5 R0

      M501 ;config override
      ; Miscellaneous
      T0 ; select first tool

      And thats my slicers beginning script:

      M104 S[first_layer_temperature] ; set extruder temp

      M140 S[first_layer_bed_temperature] ; set bed temp
      Tx

      M190 S[first_layer_bed_temperature] ; wait for bed temp

      M109 S[first_layer_temperature] ; wait for extruder temp
      G28 X;
      G28 Y;
      G28 Z;
      G32;
      G1 X0 Y0;
      G1 Z0.2
      G1 Y-3.0 F1000.0
      G1 X55.0 F2000.0

      G1 Z0.3 F1000.0
      G92 E0.0

      G1 X150.0 E25.0 F2200.0

      G1 Y-2.0 F1000.0

      G1 X55.0 E25 F1400.0

      G1 Z0.20 F1000.0

      G1 X5.0 E4.0 F1000.0

      G92 E0.0

      I hope somebody can help me.

      Have a nice day/evening.

      1 Reply Last reply Reply Quote 0
      • fcwiltundefined
        fcwilt
        last edited by

        Hi,

        Well I would suggest you first update to the most recent firmware.

        I see a M851 command - cannot find what it is supposed to do.

        I don't see a G29 command anywhere - this is used as part of mesh compensation.

        Frederick

        Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

        WillGIamundefined 1 Reply Last reply Reply Quote 0
        • WillGIamundefined
          WillGIam @fcwilt
          last edited by

          @fcwilt Hey, will do this.

          Its supposed to give me a better overview over my offsets.

          The G29 is in my bed.g which is called with G32.

          William

          fcwiltundefined 1 Reply Last reply Reply Quote 0
          • fcwiltundefined
            fcwilt @WillGIam
            last edited by

            @WillGIam said in Auto Bed Leveling PINDA:

            @fcwilt Hey, will do this.

            Its supposed to give me a better overview over my offsets.

            The G29 is in my bed.g which is called with G32.

            William

            I cannot find the M851 command anywhere. Can you provide a link to the description?

            And please post your bed.g file.

            Thanks.

            Frederick

            Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

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

              M851 is not a supported gcode in reprapfirmware. https://reprap.org/wiki/G-code#M851:_Set_Z-Probe_Offset

              You should use the G31 z value to set the offset between probe trigger point and the nozzle touching the bed at Z0. As described here. https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe

              Please include your homing files in addition to the bed.g

              If you run a G29 on it's own, what does the resulting bed height map image look like?

              Z-Bot CoreXY Build | Thingiverse Profile

              WillGIamundefined 1 Reply Last reply Reply Quote 0
              • WillGIamundefined
                WillGIam @Phaedrux
                last edited by WillGIam

                @Phaedrux said in Auto Bed Leveling PINDA:

                M851 is not a supported gcode in reprapfirmware. https://reprap.org/wiki/G-code#M851:_Set_Z-Probe_Offset

                You should use the G31 z value to set the offset between probe trigger point and the nozzle touching the bed at Z0. As described here. https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe

                Please include your homing files in addition to the bed.g

                If you run a G29 on it's own, what does the resulting bed height map image look like?

                @fcwilt thanks for your answers!

                It's not supported? It's working fine 😳😂 I'm using this command on many printers with duet an there is no problem.

                I will post the other files later this day. But everything ist working fine, he is compensating at the first layer, but wrong.

                My Pinda offset is 38mm in X. Does this mean the Pinda is right from the nozzle or left?

                My heightmap looks good too. Will post that later too.

                1 Reply Last reply Reply Quote 0
                • droftartsundefined
                  droftarts administrators
                  last edited by

                  Funnily enough, M851 is in the firmware! https://github.com/dc42/RepRapFirmware/blob/590805f79240c2ebee1ff1fed229dee3827f81e5/src/GCodes/GCodes2.cpp#L4154

                  	case 851: // Set Z probe offset, only for Marlin compatibility
                  		{
                  			ZProbe params = platform.GetCurrentZProbeParameters();
                  			if (gb.Seen('Z'))
                  			{
                  				params.triggerHeight = -gb.GetFValue();
                  				params.saveToConfigOverride = true;
                  				platform.SetZProbeParameters(platform.GetZProbeType(), params);
                  			}
                  			else
                  			{
                  				reply.printf("Z probe offset is %.2fmm", (double)(-params.triggerHeight));
                  			}
                  		}
                  		break;
                  

                  So it should work.

                  Ian

                  Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                  WillGIamundefined Phaedruxundefined 2 Replies Last reply Reply Quote 1
                  • WillGIamundefined
                    WillGIam @droftarts
                    last edited by

                    @droftarts As I said: it does. But this is not the topic. Everything is working fine, at some points I'm getting great results...

                    droftartsundefined 1 Reply Last reply Reply Quote 0
                    • droftartsundefined
                      droftarts administrators @WillGIam
                      last edited by

                      @WillGIam Sure, but as everyone who had replied to you so far had mentioned it, I thought it would be good to clear that up. So, on to the problem...

                      First, read this: https://blog.prusaprinters.org/prusa-tech-insider-1-mesh-bed-leveling/

                      It points out a number of issues with PINDA probes:

                      • "we found out that it’s necessary to minimize the measurement error with repeated measurements using the P.I.N.D.A. sensor. Therefore, there are repeated distance measurements during MBL process – typically 3 to 5 in one location."
                      • "Another thing is, the P.I.N.D.A. sensor sensitivity is highly temperature-dependent."
                      • "And then there was another issue – the magnets in the heatbed. These can throw off the readings"

                      Could these be effecting the bed mesh? Can you post an image of your bed mesh?

                      Ian

                      Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                      WillGIamundefined 1 Reply Last reply Reply Quote 0
                      • WillGIamundefined
                        WillGIam @droftarts
                        last edited by

                        @droftarts Hey, this was no offense! I´m happy you posted the firmware quote.

                        The first thing is a great hint. But how to probe more than one time at one point? thats only possible with bed.g, so I can´t probe every point I can now isnt it?

                        I read the same about the temperature, so I heat up the bed before leveling see my homez.g:

                        M203 Z500
                        G91 ; relative positioning
                        G1 Z5 F1000 S2 ; lift Z relative to current position
                        G90 ; absolute positioning
                        G1 X5 Y5 F12000 ; go to first probe point
                        G30 ; home Z by probing the bed
                        M203 Z1800

                        The heatbed is too far away from the heatbed I think. Compared to Prusa 😄

                        Thanks for your answer!

                        fcwiltundefined 1 Reply Last reply Reply Quote 0
                        • fcwiltundefined
                          fcwilt @WillGIam
                          last edited by

                          @WillGIam said in Auto Bed Leveling PINDA:

                          But how to probe more than one time at one point?

                          Check the M558 command for these parameters that you are not (it seems) currently using.

                          From the online docs:

                          Annn Maximum number of times to probe each point, default 1. Maximum, as of 2.03, is 31. Setting M558 A parameter to anything >31 set it to 0 instead of to 31

                          Snnn Tolerance when probing multiple times, default 0.03mm

                          The A and S parameters control multiple probing. Probing is repeated until two consecutive probe attempts produce results that differ by no more than the S parameter; then the average of those two results is used. However, if the number of attempts specified by the A parameter is reached without getting two consecutive results within tolerance of each other, no further probe attempts are made and the average result of all the attempts is used.

                          Frederick

                          Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

                          WillGIamundefined 1 Reply Last reply Reply Quote 0
                          • WillGIamundefined
                            WillGIam @fcwilt
                            last edited by

                            @fcwilt Yes, I did that today. The minimum tolerance is 0.1mm... That sounds a bit too much. Otherwise Im getting the unconsistent Z Probe readings error. I will try with 0.1 tolerance first.

                            Thanks a lot for your help.

                            1 Reply Last reply Reply Quote 0
                            • WillGIamundefined
                              WillGIam
                              last edited by

                              @fcwilt okay, tried it out: With S0.05 and A6 (he is only using 3) I get lower tolerance. I´m now trying to print a bigger part. Lets see what happens.

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

                                @droftarts said in Auto Bed Leveling PINDA:

                                Funnily enough, M851 is in the firmware!

                                Well whatdya know.

                                Z-Bot CoreXY Build | Thingiverse Profile

                                1 Reply Last reply Reply Quote 0
                                • fcwiltundefined
                                  fcwilt @WillGIam
                                  last edited by

                                  @WillGIam said in Auto Bed Leveling PINDA:

                                  @fcwilt okay, tried it out: With S0.05 and A6 (he is only using 3) I get lower tolerance. I´m now trying to print a bigger part. Lets see what happens.

                                  I think I recall that if you use S-1 that forces the number of readings set by A and then averages them.

                                  Frederick

                                  Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

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