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

    Delta Calibration Not Completing

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    2
    8
    281
    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.
    • GoremanXundefined
      GoremanX
      last edited by

      My custom delta build is almost complete, but I'm having a weird issue with performing the Delta Calibration. A few weeks ago I had no issues with this, and now it's not working anymore and I'm not sure how to fix it.

      I'm using a Duet 3 6HC in SBC mode with a Duet3D Smart Effector with firmware 3.2.0 beta 2 from the unstable repository and all other packages up to date.

      While doing the calibration, the print head will often tap the same location 2-3 times, then skip the next point or two in the sequence. It doesn't matter if I set it to 3-3-1 or 12-6-1 or any other number of probing points in between, or whether I'm doing a 6-factor or 8-factor or any other calibration, the issue persists every time. At the end of the calibration attempt, I get either no feedback at all, or some very random error messages like:

      "Error: Bed calibration : 6 factor calibration requested but only X points provided" (the number of points provided changes every time, is often 0)

      There's been other errors, but I can't remember them and I can't reproduce them right now. I've generated the bed.g file using both the RepRapFirmware Configuration Tool and the Escher3D Bed Wizard

      I can confirm that the LED on the Smart Effector is flashing every time it taps the bed. I've got a REALLY consistent trigger height at every location I've tested manually. I really don't get what I'm doing wrong.

      Here is my config.g file:

      ; Configuration file for Duet 3 (firmware version 3)
      ; executed by the firmware on start-up
      
      ; General preferences
      
      G90                                           ; send absolute coordinates...
      M83                                           ; ...but relative extruder moves
      M665 L600:600:600 R305 H774 B290              ; Set delta radius, diagonal rod length, printable radius and homed height
      M666 X0.533 Y0.079 Z-0.612                    ; put your endstop adjustments here, or let auto calibration find them
      
      ; Drives
      
      M569 P0.0 S1 V100                                ; physical drive 0.0 goes forwards
      M569 P0.1 S0 V46                                 ; physical drive 0.1 goes backwards
      M569 P0.2 S0 V46                                 ; physical drive 0.2 goes backwards
      M569 P0.3 S0 V46                                 ; physical drive 0.3 goes backwards
      M584 E0.0 X0.1 Y0.2 Z0.3                         ; set drive mapping
      M350 X16 Y16 Z16 I1                              ; configure microstepping with interpolation
      M350 E8 I0                                       ; extruder X8 microstepping with no interpolation
      M92 X160.00 Y160.00 Z160.00 E1900                ; set steps per mm
      M566 X1200.00 Y1200.00 Z1200.00 E6               ; set maximum instantaneous speed changes (mm/min)
      M203 X12000.00 Y12000.00 Z12000.00 E2400         ; set maximum speeds (mm/min)
      M201 X1000.00 Y1000.00 Z1000.00 E120             ; set accelerations (mm/s^2)
      M906 X1400 Y1400 Z1400 E400 I30                  ; set motor currents (mA) and motor idle factor in per cent
      M84 S30                                          ; Set idle timeout
      
      ; Axis Limits
      
      M208 Z-3 S1                                    ; set minimum Z
      
      ; Endstops
      
      M574 X2 S1 P"io1.in"                          ; configure active-high endstop for high end on X via pin io1.in
      M574 Y2 S1 P"io2.in"                          ; configure active-high endstop for high end on Y via pin io2.in
      M574 Z2 S1 P"io3.in"                          ; configure active-high endstop for high end on Z via pin io3.in
      
      ; Z-Probe
      
      M558 P8 R0.4 C"io5.in+io5.out" H5 F1200 T6000  ; set Z probe type to effector and the dive height + speeds
      G31 P100 X0 Y0 Z-0.14                           ; set Z probe trigger value, offset and trigger height
      M557 R280 S80                                  ; define mesh grid
      
      ; Heaters
      
      M308 S2 P"temp2" Y"thermistor" T100000 B4138 A"Bed"     ; configure sensor 2 as thermistor on pin temp2
      M950 H0 C"out2" T2                                      ; create bed heater output on out2 and map it to sensor 2
      M307 H0 B0 S1.00 F10                                    ; disable bang-bang mode for the bed heater and set PWM limit
      M140 H0                                                 ; map heated bed to heater 0
      M143 H0 S170 A0                                         ; set temperature limit for bed
      
      M308 S1 P"temp1" Y"thermistor" T500000 B4723 C1.196220e-7 A"Hotend"  ; configure sensor 1 as thermistor on pin temp1
      M950 H1 C"out1" T1                                      ; create nozzle heater output on out1 and map it to sensor 1
      M307 H1 B0 S1.00                                        ; disable bang-bang mode for nozzle heater and set PWM limit
      M143 H1 S425 A0                                         ; set temperature limit for nozzle
      
      M308 S0 P"temp0" Y"thermistor" T100000 B4138 A"Chamber Monitor" ; configure sensor 0 as thermistor on pin temp 0
      
      M308 S3 P"temp3" Y"thermistor" T100000 B4138 R4400 A"Chamber Heaters" ; configure sensor 3 as thermistor on pin temp3 (2 connected in series)
      M950 H2 C"out3" T3                                      ; create chamber heater output on out3 and map it to sensor 3
      M307 H2 B0 S1.00 F10                                    ; disable bang-bang mode for the chamber heater and set PWM limit
      M141 H2                                                 ; map chamber to heater 2
      M143 H2 T0 A2 S120                                      ; set temperature limit for chamber based on secondary probe
      
      M308 S4 Y"drivers" A"Drivers"                           ; configure sensor 4 as temperature warning and overheat flags on the TMC2660 on Duet
      M308 S5 Y"mcu-temp" A"MCU"                              ; configure sensor 5 as thermistor on pin eltemp for left stepper
      
      
      
      ; Fans
      
      M950 F0 C"out8" Q500                              ; create fan 0 on pin out8 and set its frequency
      M106 P0 S0 H-1 C"Part cooling"                    ; set fan 0 value. Thermostatic control is turned off
      
      M950 F1 C"out7" Q500                              ; create fan 1 on pin out7 and set its frequency
      M106 P1 H1 T45 C"Hotend"                          ; set fan 1 value. Thermostatic control is turned on
      
      M950 F2 C"!out4" Q2500                            ; create fan 2 on pin out4 and set its frequency
      M106 P2 H4:5 L0.50 X1 B0.3 T35:50 C"Electronics"  ; set fan 2 value. Thermostatic control is turned on
      
      ; Tools
      
      M563 P0 D0 H1 F0                              ; define tool 0
      G10 P0 X0 Y0 Z0 R0 S0                         ; set tool 0 axis offsets and set active and standby temperatures to 0C
      
      ; Custom settings
      
      M207 S1.5 F900                                ; firmware retraction
      M376 H10                                      ; taper off bed compensation by 5mm height
      
      ; Miscellaneous
      
      M501                                          ; load saved parameters from non-volatile memory
      T0                                            ; select first tool
      

      (the M666 commands are derived from a previous auto calibration I performed successfully weeks ago)

      Here's the current bed.g file, though I've gone through countless permutations at this point:

      M561 ; clear any bed transform
      G28  ; home all towers
      ; bed.g file for RepRapFirmware, generated by Escher3D calculator
      ; 16 points, 6 factors, probing radius: 280, probe offset (0, 0)
      G30 P0 X0 Y279.9 H0 Z-99999
      G30 P1 X242.4 Y-139.95 H0 Z-99999
      G30 P2 X-242.4 Y-139.95 H0 Z-99999
      G30 P3 X0 Y139.9 H0 Z-99999
      G30 P4 X121.16 Y-69.95 H0 Z-99999
      G30 P5 X-121.16 Y-69.95 H0 Z-99999
      G30 P6 X0 Y0 H0 Z-99999 S6
      
      ;G29 S1   ; load current bed mesh compensation map
      

      And this is my homedelta.g file, since that gets called by bed.g:

      ; homedelta.g
      ; called to home all towers on a delta printer
      ;
      G91                           ; relative positioning
      G1 H1 X1305 Y1305 Z1305 F6000 ; 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 F6000                  ; move down a few mm so that the nozzle can be centred
      G90                           ; absolute positioning
      ;G1 X0 Y0 F6000                ; move X+Y to the centre
      

      There are no M665 or M666 commands in my config-override.g since that's what I'm trying to generate with auto calibration.

      1 Reply Last reply Reply Quote 0
      • jay_s_ukundefined
        jay_s_uk
        last edited by

        That sounds like the issues with beta 2 rather than your setup.
        Either roll back to 3.1.1 or wait for beta 3 to be released.

        Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

        1 Reply Last reply Reply Quote 0
        • GoremanXundefined
          GoremanX
          last edited by GoremanX

          Ugh, I already tried that and it's not trivial. My SD card is super difficult to get to right now, otherwise I'd just flash a new image. If it is something wrong with beta 2, I haven't seen any activity about it in github, so it's likely something that still needs fixing. I'd like to hear from the devs to confirm or deny it.

          1 Reply Last reply Reply Quote 0
          • jay_s_ukundefined
            jay_s_uk
            last edited by

            It's to do with macros that are called being processed out of order.
            I reported it pretty much as soon as beta 2 was released last month. It's also covered in the release notes for the imminent beta 3.
            Beta 3 was due on Monday but that got missed...

            Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

            GoremanXundefined 1 Reply Last reply Reply Quote 1
            • GoremanXundefined
              GoremanX @jay_s_uk
              last edited by

              @jay_s_uk When I tried to revert the software back to 3.1.1, I was having issues with DCS connecting to the board. Am I correct in assuming that this is caused by the board firmware being at 3.2 and not being compatible with 3.1.1 software on the SBC? Can I downgrade the firmware before downgrading the software packages?

              1 Reply Last reply Reply Quote 0
              • jay_s_ukundefined
                jay_s_uk
                last edited by jay_s_uk

                Yes, that's correct. They changed the SPI protocol in beta 2 and it can't connect to any version of DSF below that.
                To downgrade from beta 2 to anything beneath you must first downgrade the firmware on the board to the version you are aiming for.
                After that, you can downgrade the software on the pi

                Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                GoremanXundefined 1 Reply Last reply Reply Quote 2
                • GoremanXundefined
                  GoremanX @jay_s_uk
                  last edited by

                  @jay_s_uk Thank you!

                  1 Reply Last reply Reply Quote 0
                  • GoremanXundefined
                    GoremanX
                    last edited by

                    That works as expected now and I was able to complete the calibration

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