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

    3 Motor Z axis Automatic bed levelling using G32 RRF 3.01-rc3

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    6
    25
    1.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.
    • Dr_Ju_Juundefined
      Dr_Ju_Ju
      last edited by

      Thanks, everything moves correctly & can even print ok, so I'm back to swapping motors around & re-configuring....

      ROFL I may just forget it & manually set up, in the end it may well be quicker....

      Another thought, instead of modifying config.g, make changes to the probing order in bed.g ?? I'll play....

      Julian,

      Old goat, learning new things….

      Danalundefined 1 Reply Last reply Reply Quote 0
      • Danalundefined
        Danal
        last edited by

        @Dr_Ju_Ju said in 3 Motor Z axis Automatic bed levelling using G32 RRF 3.01-rc3:

        in the end it may well be quicker....

        Not when you do it a hundred times over weeks or months. And, the printer will do it to the repeatability limits of the probe.

        Delta / Kossel printer fanatic

        1 Reply Last reply Reply Quote 0
        • Danalundefined
          Danal @Dr_Ju_Ju
          last edited by

          @Dr_Ju_Ju said in 3 Motor Z axis Automatic bed levelling using G32 RRF 3.01-rc3:

          modifying config.g, make changes to the probing order in bed.g

          Don't change config.g, nor the bed.g. Change plugs.

          Physical plug ordering matching M584 matters. Probing order in bed.g does not.

          Delta / Kossel printer fanatic

          Dr_Ju_Juundefined 1 Reply Last reply Reply Quote 0
          • Dr_Ju_Juundefined
            Dr_Ju_Ju @Danal
            last edited by

            @Danal Back to it this Morning & thanks, & yes just needed to swap 2 motor connectors....

            I also see what you mean, that the process needs to be run multiple times, as I'm finding that the system makes a change but doesn't quite get it right, so subsequent runs get things closer.....

            Methinks the process should be more like the process used for Auto Focusing Telescopes (another hobby of mine) where the process goes back and forth through the focus point, till the optimum setting is found...

            Julian,

            Old goat, learning new things….

            1 Reply Last reply Reply Quote 0
            • Laskoundefined
              Lasko
              last edited by

              Hello,
              I have a similar problem.
              I have configured a BL-Touch Z-Probe using "M574 Z1 S2"
              and I am trying to to 3 Point Bed Levelling via the "G32" command.
              My bed.g:

              M402
              G1 X20 Y60 F1400
              G28 Z ; home
              G30 P0 X20 Y60 Z-99999 H0		; probe at point 1
              G30 P1 X40 Y100 Z-99999	H0	; probe at point 2
              G30 P2 X60 Y60 Z-99999 S3 H0	; probe at point 3 and calibrate the 3 z motors
              

              Doing this, I only get:

              Warning: 3/4-point bed compensation is deprecated and will be removed in a future firmware release. Please use G29 mesh bed compensation instead.
              Bed equation fits points [20.0, 60.0, -4.305] [40.0, 100.0, -6.194] [60.0, 60.0, -5.399]
              

              My M678 looks like this:

              M671 X-396:171:-54 Y--86,82:235,88:-86,82 S5	   ; Koordinaten der drei Z-Achsen
              

              So S is set to 5mm. I want the bed to physically level itself instead of only giving me this console message.

              Thank you already,
              Lasko

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

                Hi,

                I cannot make sense out of your bed.g file and your M671 command.

                What are the X and Y axis min/max values?

                Do you have a diagram showing the position of your lead screws in relation to the bed?

                Frederick

                Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                Laskoundefined 1 Reply Last reply Reply Quote 0
                • Laskoundefined
                  Lasko @fcwilt
                  last edited by

                  @fcwilt Thank you for your response,

                  i just noticed that I used commata instead of decimal points at the M671 command, what could be problematic...
                  The x-Coordiantes of the leadscrews are +396mm, +171mm and -54 mm. The y-Coordinates of the leadscrews are -86.82mm, +235,88mm and -86.82mm. The S parameter allows height correction up to 5mm per leadscrew.

                  This is my config.g

                  ; General preferences
                  G90                                            ; send absolute coordinates...
                  M83                                            ; ...but relative extruder moves
                  M550 P"My Printer"                             ; set printer name
                  
                  
                  ; Network
                  M552 S1                                        ; enable network
                  M586 P0 S1                                     ; enable HTTP
                  M586 P1 S0                                     ; disable FTP
                  M586 P2 S0                                     ; disable Telnet
                  
                  ; Drives
                  M569 P0 S1                                     ; physical drive 0 goes forwards		(X-Motor)
                  M569 P1 S1                                     ; physical drive 1 goes forwards		(Y-Motor)
                  M569 P2 S1                                     ; physical drive 2 goes forwards		(Z-Motor front left)
                  M569 P3 S1                                     ; physical drive 3 goes forwards		(Z-Motor back mid)
                  M569 P4 S1									   ; physical drive 4 goes forwards		(Z-Motor front right)
                  M569 P5 S1									   ; physical drive 5 goes forwards		(Extruder1)
                  M584 X0 Y1 Z2:3:4 E5                           ; set drive mapping 					(0-X, 1-Y, 2,3,4-Z, 5-E)
                  
                  M669 K1                                        ; select CoreXY mode		(Muss nach M584 kommen, da dort neue Achsen definiert werden)
                  
                  M671 X-396:171:-54 Y--86,82:235,88:-86,82 S5  ; Coordiantes of the three Z-Leadscrews
                  
                  M350 X16 Y16 Z16 E16 I1                        ; configure microstepping with interpolation
                  M92 X160.00 Y160.00 Z1600 E420.00              ; set steps per mm
                  M566 X900.00 Y900.00 Z12.00 E120.00            ; set maximum instantaneous speed changes (mm/min)
                  M203 X3000.00 Y3000.00 Z100.00 E1200.00        ; set maximum speeds (mm/min)
                  M201 X500.00 Y500.00 Z20.00 E250.00            ; set accelerations (mm/s^2)
                  M906 X1330 Y1330 Z1330 E800 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 Y272 Z300 S0                         ; set axis maxima
                  
                  ; Endstops
                  M574 X1 S1 P"xstop"                            ; configure active-high endstop for low end on X via pin xstop
                  M574 Y1 S1 P"ystop"                            ; configure active-high endstop for low end on Y via pin ystop
                  M574 Z1 S1 P"zstop+e0stop+e1stop"              ; configure active-high endstops for low end on Z via pin zstop
                  
                  ; Z-Probe
                  M558 P9 C"^zprobe.in" H10 F150 T2000           ; BL-Touch Implementation: Set Input Pin
                  M950 S2 C"duex.pwm5"						   ; BL-Touch Implementation: Set PWM Pin 
                  G31 X0 Y-47.53 Z2.7 P25                        ; BL-Touch Implementation: Set Z probe trigger value, offset and trigger height
                  M557 X25:105 Y25:105 S20                         ; define mesh grid
                  
                  ; Heaters
                  M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
                  M950 H0 C"bedheat" T0                          ; create bed heater output on bedheat and map it to sensor 0
                  M307 H0 B1 S1.00                               ; enable bang-bang mode for the bed heater and set PWM limit
                  M140 H0                                        ; map heated bed to heater 0
                  M143 H0 S120                                   ; set temperature limit for heater 0 to 120C
                  M308 S1 P"e0temp" Y"thermistor" T100000 B4138  ; configure sensor 1 as thermistor on pin e0temp
                  M950 H1 C"e0heat" T1                           ; create nozzle heater output on e0heat and map it to sensor 1
                  M307 H1 B0 S1.00                               ; disable bang-bang mode for heater  and set PWM limit
                  
                  ; Fans
                  M950 F0 C"fan0" Q500                           ; create fan 0 on pin fan0 and set its frequency
                  M106 P0 S0 H-1                                 ; set fan 0 value. Thermostatic control is turned off
                  M950 F1 C"fan1" Q500                           ; create fan 1 on pin fan1 and set its frequency
                  M106 P1 S1 H1 T45                              ; set fan 1 value. 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
                  

                  Before running my bed.g file, I home every axis with the opctical endstops at every leadscrew. Because this is not that exact, I want to level the bed using the BL-Touch afterwards. To Do this, i reconfig the endstop definition like this:

                  M574 Z1 P"nil"              ; deactivate leadscrew endstops
                  M574 Z1 S2		 	; Z1: Enstop at low end, S2: Using Z-Probe
                  

                  After that is done, i run my bed.g

                  I hope you understand better what I did there now 🙂

                  Greetings,
                  Lasko

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

                    Hi,

                    In the M671 command you have a hyphen after the X and the Y. Why is that?

                    I don't know if commas are allowed in place of decimal points.

                    And unless I am confused there is no reason to disable your Z end stops to use the Z probe for auto bed leveling.

                    I didn't when I experimented with auto bed leveling and it all worked fine.

                    Frederick

                    Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

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

                      @Lasko Please create a new thread for your issue rather than tacking on to the end of someone else's solved issue.

                      Z-Bot CoreXY Build | Thingiverse Profile

                      1 Reply Last reply Reply Quote 0
                      • Laskoundefined
                        Lasko
                        last edited by

                        @Phaedrux
                        I would do it, but my problem got solved by @frederikv 🙂

                        The problem was the commata and the "-" in the M671 command 😉

                        I chnaged a lot of code because it didn't work as I wanted for a long time. Thank you @frederikv for the Help!

                        Greetings,
                        Lasko

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