Duet3D Logo

    Duet3D

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Documentation
    • Order

    Duet 3 delta xy not square

    Tuning and tweaking
    4
    5
    94
    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.
    • sylvaindc
      sylvaindc last edited by

      Hi All,

      I recently upgraded from a Duet 0.6 to the new Duet 3.
      I got the printer to work, but my prints are not square in the xy plane, definitely less so than with the duet 0.6

      Since this is a delta printer, I assume it has to be software (also, since it worked fine with the older board).

      Any suggestions what could cause this on my delta printer?

      config.g

      ; Configuration file for Duet 3 (firmware version 3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.1.4 on Mon Nov 02 2020 22:58:05 GMT+0100 (Central European Standard Time)
      
      ; General preferences
      G90                                                   ; send absolute coordinates...
      M83                                                   ; ...but relative extruder moves
      M550 P"Duet 3"                                        ; set printer name
      M665 R173 L350 B130 H470.20                             ; Set delta radius, diagonal rod length, printable radius and homed height
      M666 X0 Y0 Z0                                         ; put your endstop adjustments here, or let auto calibration find them
      
      ; Drives
      M569 P0.0 S1                                          ; physical drive 0.0 goes forwards
      M569 P0.1 S1                                          ; physical drive 0.1 goes forwards
      M569 P0.2 S1                                          ; physical drive 0.2 goes forwards
      M569 P0.3 S1                                          ; physical drive 0.3 goes forwards
      M584 X0.0 Y0.1 Z0.2 E0.3                              ; set drive mapping
      M350 X16 Y16 Z16 E16 I1                               ; configure microstepping with interpolation
      M92 X160.00 Y160.00 Z160.00 E401.44                   ; set steps per mm
      M566 X1200.00 Y1200.00 Z1200.00 E1200.00              ; set maximum instantaneous speed changes (mm/min)
      M203 X18000.00 Y18000.00 Z18000.00 E1200.00           ; set maximum speeds (mm/min)
      M201 X1000.00 Y1000.00 Z1000.00 E1000.00              ; set accelerations (mm/s^2)
      M906 X1000 Y1000 Z1000 E800 I30                       ; set motor currents (mA) and motor idle factor in per cent
      M84 S30                                               ; Set idle timeout
      
      ; Axis Limits
      M208 Z0 S1                                            ; set minimum Z
      
      ; Endstops
      M574 X2 S1 P"io0.in"                                  ; configure active-high endstop for high end on X via pin io0.in
      M574 Y2 S1 P"io1.in"                                  ; configure active-high endstop for high end on Y via pin io1.in
      M574 Z2 S1 P"io2.in"                                  ; configure active-high endstop for high end on Z via pin io2.in
      
      ; Z-Probe
      ;M558 P1 C"io6.in" H5 F60 T6000                        ; set Z probe type to unmodulated and the dive height + speeds
      M558 P1 C"io6.in" H5 F120 T6000 A5 S0.03 ; Set Z probe type to unmodulated and the dive height + speeds. Prod 5 times max to reach 0.03 tollerance https://forum.duet3d.com/topic/11412/dc42-ir-probe-readings-not-consistent/4
      ;M558 H30                                              ;*** Remove this line after delta calibration has been done and new delta parameters have been saved
      G31 P500 X0 Y0 Z2.3410                                   ; set Z probe trigger value, offset and trigger height - https://duet3d.dozuki.com/Wiki/Calibrating_a_delta_printer
      M557 R85 S10                                          ; define mesh grid
      
      ; Heaters (see: https://duet3d.dozuki.com/Wiki/Connecting_thermistors_or_PT1000_temperature_sensors)
      ;M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0
      M308 S0 P"temp0" Y"thermistor" T100000 B3950 ; configure sensor 0 as thermistor on pin temp0
      M950 H0 C"out0" T0                           ; create bed heater output on out0 and map it to sensor 0
      ;M307 H0 B0 S1.00                             ; disable bang-bang mode for the bed heater and set PWM limit
      M307 H0 A89.9 C101.4 D2.8 V24.2 B0
      M140 H0                                      ; map heated bed to heater 0
      M143 H0 S120                                 ; set temperature limit for heater 0 to 120C
      ;M308 S1 P"temp1" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin temp1
      M308 S1 P"temp1" Y"thermistor" T100000 B4725 C7.060000e-8   ; 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 heater  and set PWM limit
      M307 H1 A346.6 C140.0 D2.4 S1.0 V24.2 B0		;Heater 1 model: gain 346.6, time constant 140.0, dead time 2.4, max PWM 1.00, calibration voltage 24.2, mode PID
      
      ; Fans
      M950 F0 C"out7" Q10                                   ; create fan 0 on pin out7 and set its frequency
      M106 P0 S1 H1 T45                                     ; set fan 0 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
      
      ; Custom settings are not defined
      
      ; Miscellaneous
      M501                                                  ; load saved parameters from non-volatile memory
      

      there is no config-override.g file

      m122
      === Diagnostics ===
      RepRapFirmware for Duet 3 MB6HC version 3.1.1 running on Duet 3 MB6HC v1.01 or later (SBC mode)
      Board ID: 08DJM-956L2-G43S8-6JKDL-3S86R-183QF
      Used output buffers: 1 of 40 (10 max)
      === RTOS ===
      Static ram: 154604
      Dynamic ram: 161756 of which 108 recycled
      Exception stack ram used: 224
      Never used ram: 76524
      Tasks: NETWORK(ready,1980) HEAT(blocked,1200) CanReceiv(suspended,3820) CanSender(suspended,1488) CanClock(blocked,1436) TMC(blocked,204) MAIN(running,5064) IDLE(ready,76)
      Owned mutexes:
      === Platform ===
      Last reset 00:00:37 ago, cause: software
      Last software reset at 2020-11-03 00:24, reason: User, spinning module LinuxInterface, available RAM 76044 bytes (slot 0)
      Software reset code 0x0010 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0444a000 BFAR 0x00000000 SP 0xffffffff Task MAIN
      Error status: 0
      MCU temperature: min 28.2, current 28.6, max 28.7
      Supply voltage: min 24.2, current 24.3, max 24.3, under voltage events: 0, over voltage events: 0, power good: yes
      12V rail voltage: min 12.1, current 12.1, max 12.2, under voltage events: 0
      Driver 0: standstill, reads 50024, writes 14 timeouts 0, SG min/max 0/0
      Driver 1: standstill, reads 50024, writes 14 timeouts 0, SG min/max 0/0
      Driver 2: standstill, reads 50025, writes 14 timeouts 0, SG min/max 0/0
      Driver 3: standstill, reads 50025, writes 14 timeouts 0, SG min/max 0/0
      Driver 4: standstill, reads 50029, writes 11 timeouts 0, SG min/max 0/0
      Driver 5: standstill, reads 50029, writes 11 timeouts 0, SG min/max 0/0
      Date/time: 2020-11-03 00:25:10
      Slowest loop: 4.12ms; fastest: 0.14ms
      === Storage ===
      Free file entries: 10
      SD card 0 not detected, interface speed: 37.5MBytes/sec
      SD card longest read time 0.0ms, write time 0.0ms, max retries 0
      === Move ===
      Hiccups: 0(0), FreeDm: 375, MinFreeDm: 375, MaxWait: 0ms
      Bed compensation in use: none, comp offset 0.000
      === MainDDARing ===
      Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0  CDDA state: -1
      === AuxDDARing ===
      Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0  CDDA state: -1
      === Heat ===
      Bed heaters = 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
      === GCodes ===
      Segments left: 0
      Movement lock held by null
      HTTP* is ready with "M122" in state(s) 0
      Telnet is idle in state(s) 0
      File is idle in state(s) 0
      USB is idle in state(s) 0
      Aux is idle in state(s) 0
      Trigger* is idle in state(s) 0
      Queue is idle in state(s) 0
      LCD is idle in state(s) 0
      SBC is idle in state(s) 0
      Daemon* is idle in state(s) 0
      Aux2 is idle in state(s) 0
      Autopause is idle in state(s) 0
      Code queue is empty.
      === Network ===
      Slowest loop: 1.43ms; fastest: 0.01ms
      Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions Telnet(0), 0 sessions
      HTTP sessions: 0 of 8
      - Ethernet -
      State: disabled
      Error counts: 0 0 0 0 0
      Socket states: 0 0 0 0 0 0 0 0
      === CAN ===
      Messages sent 101, longest wait 0ms for type 0
      === Linux interface ===
      State: 0, failed transfers: 0
      Last transfer: 22ms ago
      RX/TX seq numbers: 808/810
      SPI underruns 0, overruns 0
      Number of disconnects: 1
      Buffer RX/TX: 0/0-0
      === Duet Control Server ===
      Duet Control Server v3.1.1
      Trigger:
      Finishing macro config.g, started by system
      > Next stack level
      Code buffer space: 4096
      Configured SPI speed: 8000000 Hz
      Full transfers per second: 27.99
      
      1 Reply Last reply Reply Quote 0
      • Phaedrux
        Phaedrux Moderator last edited by

        What are you doing for calibration?

        https://duet3d.dozuki.com/Wiki/Calibrating_a_delta_printer

        Z-Bot CoreXY Build | Thingiverse Profile

        sylvaindc 1 Reply Last reply Reply Quote 0
        • Veti
          Veti last edited by

          @sylvaindc said in Duet 3 delta xy not square:

          there is no config-override.g file

          please run the calibration and save it with M500

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

            @Phaedrux everything therr, except making sure it's all squared apparently...

            So back to squaring 🙂

            1 Reply Last reply Reply Quote 0
            • lord binky
              lord binky last edited by

              To what degree is it not square?

              If you're under .5mm of X/Y distance, you'll be looking for something you think it insignificant or really small value changes in the configuration. I've seen .2-.3 mm differences clear up with a brand new nozzle (and come back the first time I run it into the bed...lol).

              The auto calibration can account for many slightly off values that are not the squareness of the frame (and really you're not going to try to physically adjust for 1% tower placements for example). There's also movement based mechanical issues so belt tightness, carriage movement, arm joints can also play havok with this too. Static mechanical issues such as the arms themselves being as close to the exact same length as possible is important, if you have different lengths within a pair you'll add twist to the effector, which you don't have calibration adjustments for, but if you have them exactly the same within pairs and different between the towers you can compensate for this software wise as well.

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