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

    Tower clash in bed calibration - firmware update - fisher delta

    Scheduled Pinned Locked Moved Solved
    General Discussion
    3
    9
    279
    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.
    • racitupundefined
      racitup
      last edited by racitup

      Hi,
      I have just upgraded my duet 0.6 firmware from 1.23 to 1.26.1
      Before the upgrade mesh bed compensation worked fine, I set the grid to 65 mm radius and 20 mm spacing either in the web UI or config.g or the end of bed.g:

      M557 R65 S20
      

      Then run

      G29 S0
      

      Now the first thing the head does is slowly move over to the Z tower until it hits it!

      Also it looks like auto calibration has broken, G32. I guess I need to adjust my bed.g?

      Any idea how I fix that please?

      racitupundefined 1 Reply Last reply Reply Quote 0
      • racitupundefined
        racitup @racitup
        last edited by racitup

        @racitup The plot thickens.

        I tried running the web config tool and not only does it fail with an error, it also lists the firmware version as 1.21. Maybe version 1.26.1 is not compatible?

        racitupundefined droftartsundefined 2 Replies Last reply Reply Quote 0
        • racitupundefined
          racitup @racitup
          last edited by

          @racitup I have managed to get a new set of configs from the tool, but I'm still seeing the same problem. It appears to be a bug.

          When I run G32, the head slowly vectors to the Z tower. The Z tower drive barely moves. Here's my bed.g. I just re-ordered the points to be in XYZ order.

          The reason I think this is a bug is that manually moving the head with the buttons works fine.

          ; bed.g
          ; called to perform automatic delta calibration via G32
          ;
          ; generated by RepRapFirmware Configuration Tool v3.4.0 on Mon Jan 29 2024 11:54:44 GMT+0000 (Greenwich Mean Time)
          M561 ; clear any bed transform
          ; Probe the bed at 3 peripheral and 0 halfway points, and perform 3-factor auto compensation
          ; Before running this, you should have set up your Z-probe trigger height to suit your build, in the G31 command in config.g.
          G30 P0 X-56.21 Y-32.45 H0 Z-99999           ; X tower
          G30 P1 X56.21 Y-32.45 H0 Z-99999            ; Y tower
          G30 P2 X0 Y64.9 H0 Z-99999                  ; Z tower
          G30 P3 X0 Y0 H0 Z-99999 S3                  ; centre
          ; Use S-1 for measurements only, without calculations. Use S4 for endstop heights and Z-height only. Use S6 for full 6 factors
          ; If your Z probe has significantly different trigger heights depending on XY position, adjust the H parameters in the G30 commands accordingly. The value of each H parameter should be (trigger height at that XY position) - (trigger height at centre of bed)
          
          G29 S1                                ; load the saved height map from mesh bed compensation; must be run AFTER G32
          
          racitupundefined 1 Reply Last reply Reply Quote 0
          • racitupundefined racitup referenced this topic
          • racitupundefined
            racitup @racitup
            last edited by

            @racitup

            Bug reported here:
            https://github.com/Duet3D/RepRapFirmware/issues/953

            casesolved-co-uk created this issue in Duet3D/RepRapFirmware

            closed [Bug]: Releases after 2.02 (RepRapFirmware.bin 1.23) broken calibration for delta on duet 0.6 #953

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

              @racitup Configurations created for RRF v1.21 should work with 1.26.1, however these haven't been tested for a while, and I've had problems with the Fisher default configuration (I run a Fisher with a Maestro board).

              Could you post your config.g? The probing speed is set by M558 F parameter in config.g, and the dive height H and travel speed T are also important. See https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m558-set-z-probe-type

              You may also not have set your homed height in M665. When you home X Y and Z at the top of the towers, what does it report the Z value as? When probing starts, there should be a travel move (at speed M558 T#) from the current Z height to Z height M558 H# above the bed, and then probing happens at speed M558 F#.

              Though you have posted a bug report, I think it is (a) not a bug and (b) even if it was, never going to be fixed, because RRF 1.x and 2.x are not developed any more.

              See https://docs.duet3d.com/User_manual/Tuning/Delta_calibration for info on Delta calibration.

              For reference, here's my config.g, though it is for RRF 3.x so not directly usable:

              ; Configuration file for Duet Maestro (RRF 3)
              ; executed by the firmware on start-up
              ;
              ; generated by RepRapFirmware Configuration Tool v2 on Tue Jul 30 2019 15:07:02 GMT+0100 (British Summer Time)
              
              ; General preferences
              G90                                         ; Send absolute coordinates...
              M83                                         ; ...but relative extruder moves
              M550 P"FisherIan"                           ; Set machine name
              M665 L161.282:161.282:161.282 R81.878 H174.458 B75.0 X0.008 Y0.270 Z0.000
              M666 X0.525 Y0.205 Z-0.730 A0.35 B-0.15
              ;M665 L160:160:160 R81 B75 H173.674          ; Set delta radius, diagonal rod length, printable radius and homed height
              ;M666 X0.909 Y-0.405 Z-0.504                 ; Put your endstop adjustments here, or let auto calibration find them
              ;M575 P1 S1 B57600                          ; enable PanelDue
              M918 P1 E4 F2000000                         ; configure direct-connect display
              
              ; Network
              M552 P0.0.0.0 S1                            ; Enable network and acquire dynamic address via DHCP
              M586 P0 S1                                  ; Enable HTTP
              M586 P1 S0                                  ; Disable FTP
              M586 P2 S0                                  ; Disable Telnet
              
              ; Drives
              M584 X0 Y1 Z2 E3                            ; Set drive mapping
              M569 P0 S0                                  ; Physical drive 0 goes backwards
              M569 P1 S0                                  ; Physical drive 1 goes backwards
              M569 P2 S0                                  ; Physical drive 2 goes backwards
              M569 P3 S1                                  ; Physical drive 3 goes forwards
              M350 X16 Y16 Z16 E16 I1                     ; Configure microstepping with interpolation
              M92 X87.49 Y87.49 Z87.49 E419.00            ; Set steps per mm
              M566 X1200.00 Y1200.00 Z1200.00 E1200.00    ; Set maximum instantaneous speed changes (mm/min)
              M203 X15000.00 Y15000.00 Z15000.00 E9000.00 ; Set maximum speeds (mm/min)
              M201 X4000.00 Y4000.00 Z4000.00 E4000.00    ; Set accelerations (mm/s^2)
              M906 X800.00 Y800.00 Z800.00 E1200.00 I30   ; Set motor currents (mA) and motor idle factor in per cent
              M84 S30                                     ; Set idle timeout
              
              ; Axis Limits
              M208 Z-0.2 S1                               ; Set minimum Z
              
              ; Endstops
              M574 X2 S1 P"xstop"                            ; configure active-high endstop for high end on X via pin xstop
              M574 Y2 S1 P"ystop"                            ; configure active-high endstop for high end on Y via pin ystop
              M574 Z2 S1 P"zstop"                            ; configure active-high endstop for high end on Z via pin zstop
              
              ; Z-Probe
              M558 P5 C"e0stop" H5 F120 T12000 A5            ; Z probe connected to E0 endstop input
              G31 P500 X0 Y0 Z-0.2                           ; Set Z probe trigger value, offset and trigger height
              M557 R75 S20                                   ; Define mesh grid
              
              ; Heaters
              
              ; 12V bed heater test
              ; M308 S0 P"bedtemp" Y"thermistor" T100000 B3988         ; configure sensor 0 as thermistor on pin temp0
              ; M950 H0 C"bedheat" T0 Q50                              ; create bed heater output on out0 and map it to sensor 0
              ; M307 H0 R0.313 K0.220:0.000 D9.48 E1.35 S1.00 B0       ; RRF 3.5b2 12V tuning
              ; M307 H0 A215.5 C661.6 D5.8 S1.00 V11.6 B0              ; RRF 3.1 tuning
              ; M140 H0                                                ; map heated bed to heater 0
              ; M143 H0 S120                                           ; set temperature limit for heater 0 to 120C
              
              M140 H-1                                                 ; Disable heated bed
              
              M308 S1 P"e1temp" Y"thermistor" T100000 B4138            ; configure sensor 1 as thermistor on pin e0temp
              M950 H1 C"e1heat" T1                                     ; create nozzle heater output on e1heat and map it to sensor 1
              M143 H1 S280                                             ; set temperature limit for heater 1 to 280C
              
              M307 H1 R7.165 K1.568:0.014 D3.51 E1.35 S1.00 B0 V18.8   ; RRF 3.5b2+ 19V tuning
              
              ; M307 H1 R2.369 K0.923:0.004 D7.08 E1.35 S1.00 B0 V12.1 ; RRF 3.5b2 12V tuning
              ; M307 H1 R7.046 K1.519:0.006 D3.58 E1.35 S1.00 B0 V18.7 ; RRF 3.4 RC2 tuning
              ; M307 H1 R6.870 C61.3:54.6 D3.61 S1.00 V18.8            ; RRF 3.3 tuning
              ; 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 H1 T45                           ; set fan 0 value. Thermostatic control is turned on
              
              ; M950 F1 C"fan1"
              ; M106 P1 S0 H-1                            ; set fan 0 value. 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
              
              ; Automatic saving after power loss is not enabled
              
              ; Custom settings
              ;M301 H1 P12 I0.4 D80 W180 B300              ; Set nozzle heater PID parameters (from RepRapPro config)
              

              homedelta.g

              ; homedelta.g
              ; called to home all towers on a delta printer
              ;
              ; generated by RepRapFirmware Configuration Tool v2 on Tue Jul 30 2019 15:07:02 GMT+0100 (British Summer Time)
              G91                        ; relative positioning
              
              G1 H1 X184 Y184 Z184 F1800 ; move all towers to the high end stopping at the endstops (first pass)
              G1 H2 X-5 Y-5 Z-5 F1800    ; go down a few mm
              G1 H1 X10 Y10 Z10 F360     ; move all towers up once more (second pass)
              G1 Z-5 F12000              ; move down a few mm so that the nozzle can be centred
              G90                        ; absolute positioning
              G1 X0 Y0 F12000            ; move X+Y to the centre
              

              bed.g (called by G32)

              ; bed.g
              ; called to perform automatic delta calibration via G32
              ;
              ; generated by RepRapFirmware Configuration Tool v2 on Tue Jul 30 2019 15:07:02 GMT+0100 (British Summer Time)
              M561 ; clear any bed transform
              G29 S2
              G28
              ; Probe the bed at 3 peripheral and 0 halfway points, and perform 3-factor auto compensation
              ; Before running this, you should have set up your Z-probe trigger height to suit your build, in the G31 command in config.g.
              G30 P0 X0 Y74.9 H0 Z-99999
              G30 P1 X64.87 Y-37.45 H0 Z-99999
              G30 P2 X-64.87 Y-37.45 H0 Z-99999
              G30 P3 X0 Y0 Z-99999 S3
              ; Use S-1 for measurements only, without calculations. Use S4 for endstop heights and Z-height only. Use S6 for full 6 factors
              ; If your Z probe has significantly different trigger heights depending on XY position, adjust the H parameters in the G30 commands accordingly. The value of each H parameter should be (trigger height at that XY position) - (trigger height at centre of bed)
              G91            ; relative positioning
              G1 Z5 F360     ; lift Z by 5mm
              G90            ; absolute positioning
              G1 X0 Y0 F5000
              

              And the file I use for 9 point calibration

              ; bed9factorG32.g
              ; called to perform automatic delta calibration via G32
              ;
              ; generated by RepRapFirmware Configuration Tool v2 on Tue Aug 06 2019 23:29:51 GMT+0100 (British Summer Time)
              M561 ; clear any bed transform
              G28  ; home all towers
              ; Probe the bed at 12 peripheral and 3 halfway points, and perform 12-factor auto compensation
              ; Before running this, you should have set up your Z-probe trigger height to suit your build, in the G31 command in config.g.
              G30 P0 X0 Y74.9 H0 Z-99999
              G30 P1 X37.45 Y64.87 H0 Z-99999
              G30 P2 X64.87 Y37.45 H0 Z-99999
              G30 P3 X74.9 Y0 H0 Z-99999
              G30 P4 X64.87 Y-37.45 H0 Z-99999
              G30 P5 X37.45 Y-64.87 H0 Z-99999
              G30 P6 X0 Y-74.9 H0 Z-99999
              G30 P7 X-37.45 Y-64.87 H0 Z-99999
              G30 P8 X-64.87 Y-37.45 H0 Z-99999
              G30 P9 X-74.9 Y0 H0 Z-99999
              G30 P10 X-64.87 Y37.45 H0 Z-99999
              G30 P11 X-37.45 Y64.87 H0 Z-99999
              G30 P12 X0 Y37.4 H0 Z-99999
              G30 P13 X32.39 Y-18.7 H0 Z-99999
              G30 P14 X-32.39 Y-18.7 H0 Z-99999
              G30 P15 X0 Y0 H0 Z-99999 S9
              ; Use S-1 for measurements only, without calculations. Use S4 for endstop heights and Z-height only. Use S6 for full 6 factors
              ; If your Z probe has significantly different trigger heights depending on XY position, adjust the H parameters in the G30 commands accordingly. The value of each H parameter should be (trigger height at that XY position) - (trigger height at centre of bed)
              

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

              racitupundefined 1 Reply Last reply Reply Quote 0
              • racitupundefined
                racitup @droftarts
                last edited by

                @droftarts Thanks for the info.

                It turns out I had deployprobe.g and retractprobe.g in sys which was causing the problem. I'm now testing with 1.26.1 but appears to be working okay.

                I'll have a look into M558...

                I have calibrated and saved the M665 and M666 using M500 and 4 point bed calibration (and the heaters)

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

                  @racitup Okay, no problem. Your issue has been marked as closed. In future, it would be good to have a conversation here on the forum before raising an issue, particularly as we have no plans to continue development or fix bugs in RRF 1.x or 2.x.

                  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

                  o_lampeundefined 1 Reply Last reply Reply Quote 0
                  • Phaedruxundefined Phaedrux marked this topic as a question
                  • Phaedruxundefined Phaedrux has marked this topic as solved
                  • o_lampeundefined
                    o_lampe @droftarts
                    last edited by

                    @droftarts I remember dimly that I fell in the same trap with a Duet2 controller.
                    Downloaded the latest rrf2.x zip-file and unpacked it on the SD-card, not knowing, that it included these two files.

                    Would it count as debugging if they would no longer be part of the zip-file?

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

                      @o_lampe I don't think we've ever included deployprobe.g and retractprobe.g in a firmware release, or indeed anything in the sys file. If you start with a factory or blank SD card and use the SD_Card_Contents.zip from https://github.com/Duet3D/Duet-2-Hardware/tree/master/Duet2/SD Card Contents you don't get those two files, though confusingly you get a homedelta.g that must be deleted if you are running a cartesian or coreXY machine.

                      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

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