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

    Rotary delta calibration not implemented?

    Scheduled Pinned Locked Moved
    LPC
    6
    65
    5.2k
    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.
    • Phaedruxundefined
      Phaedrux Moderator
      last edited by

      Are you still getting hiccups in M122 after a fresh reboot and running G32?

      You can add some commands to bed.g to lower the acceleration, jerk, and max speed before the probing and then return it to normal again at the end.

      Z-Bot CoreXY Build | Thingiverse Profile

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

        @Phaedrux said in Rotary delta calibration not implemented?:

        Are you still getting hiccups in M122 after a fresh reboot and running G32?

        You can add some commands to bed.g to lower the acceleration, jerk, and max speed before the probing and then return it to normal again at the end.

        m122
        === Diagnostics ===
        RepRapFirmware for LPC176x based Boards (biquskr_1.3) version 3.2_1 running on LPC176x at 100Mhz
        Used output buffers: 3 of 16 (11 max)
        === RTOS ===
        Static ram: 4956
        Dynamic Memory (RTOS Heap 5): 8488 free, 8448 never used
        Allocations: 212 Frees: 51
        Never used RAM 256, free system stack 16 words
        Tasks: NETWORK(ready,195) HEAT(blocked,243) MAIN(running,354) IDLE(ready,21)
        Owned mutexes: WiFi(NETWORK)
        === Platform ===
        Last reset 00:13:28 ago, cause: [power up][reset button]
        Last software reset at 2021-01-11 23:51, reason: User, GCodes spinning, available RAM 256, slot 1
        Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00428000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
        Error status: 0x00
        Aux0 errors 0,0,0
        Supply voltage: under voltage events: 0
        Driver 0: position -21712, standstill, SG min/max 0/398, error r/w 2/0, ifcnt 19, cnt r/w 25110/19, timeout 0, failedOp 0xff
        Driver 1: position -21712, standstill, SG min/max 0/270, error r/w 1/0, ifcnt 20, cnt r/w 25109/20, timeout 0, failedOp 0xff
        Driver 2: position -21712, standstill, SG min/max 0/302, error r/w 3/0, ifcnt 19, cnt r/w 25108/19, timeout 0, failedOp 0xff
        Driver 3: position 0, no-driver-detected
        Driver 4: position 0
        Driver 5: position 0
        Driver 6: position 0
        Date/time: 2021-01-12 00:08:22
        Slowest loop: 69.25ms; fastest: 0.12ms
        Step timer: target 216165456 count 808616327 delta -592450871 late 0
        USBSerial connected 0
        ADC not ready 2 ADC error threshold 10 ADC Init 1
        Ints: 0; Calls 0; fast: 4294967295uS; slow 0uS adj 0 bad 0 big delta 0
        PWM Channels
        Delta 1234083299 Start -1 End -1
        === Storage ===
        Free file entries: 4
        SD card 0 detected
        SD card longest read time 6.8ms, write time 5.9ms, max retries 0
        === Move ===
        DMs created 40, maxWait 72981ms, bed compensation in use: none, comp offset 0.000
        === DDARing ===
        Scheduled moves 38, completed moves 38, hiccups 37, stepErrors 0, LaErrors 0, Underruns [0, 0, 6], CDDA state -1
        === Heat ===
        Bed heaters = 0, chamberHeaters = -1
        Heater 1 is on, I-accum = 0.0
        === GCodes ===
        Segments left: 0
        Movement lock held by null
        HTTP 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
        Daemon is idle in state(s) 0
        Autopause is idle in state(s) 0
        Code queue is empty.
        === Network ===
        Slowest loop: 240.66ms; fastest: 0.00ms
        Responder states: HTTP(0) HTTP(0)
        HTTP sessions: 1 of 2
        - WiFi -
        Network state is active
        WiFi module is connected to access point 
        Failed messages: pending 0, notready 0, noresp 0
        WiFi firmware version 1.25B0-01L-D
        WiFi MAC address e0:3f:49:23:39:c4
        WiFi Vcc 2.93, reset reason Turned on by main processor
        WiFi flash size 4194304, free heap 35656
        WiFi IP address 192.168.1.97
        WiFi signal strength -56dBm, mode 802.11n, reconnections 0, sleep mode modem
        Clock register 00181001
        Socket states: 0 0
        
        1 Reply Last reply Reply Quote 0
        • Orang_undefined
          Orang_
          last edited by

          ; bed.g
          ; called to perform automatic delta calibration via G32
          ;
          ; generated by RepRapFirmware Configuration Tool v3.2.1 on Mon Jan 11 2021 22:12:55 GMT+0200 (Восточная Европа, стандартное время)
          M561 ; clear any bed transform
          G1 F500
          G0 F500
          G28
          G30 P0 X0.00 Y80.00 Z-99999 H33.385 
          G30 P1 X69.28 Y-40.00 Z-99999 H33.385
          G30 P2 X-69.28 Y-40.00 Z-99999 H33.385 
          G30 P3 X0.00 Y40.00 Z-99999 H33.385 
          G30 P4 X34.64 Y-20.00 Z-99999 H33.385 
          G30 P5 X-34.64 Y-20.00 Z-99999 H33.385 
          G30 P6 X0 Y0 Z-99999 S6
          
          Phaedruxundefined 1 Reply Last reply Reply Quote 0
          • Orang_undefined
            Orang_
            last edited by

            https://drive.google.com/file/d/17lobb0XFThtsjyVlk1SSF1ID_IGeao0-/view?usp=sharing

            M350 X16 Y16 Z16 E16
            M92 X440.375 Y440.375 Z440.375 E440.375

            1 Reply Last reply Reply Quote 0
            • Orang_undefined
              Orang_
              last edited by

              it seems to be a problem with the firmware in particular rotary delta kinematics

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

                @Orang_ said in Rotary delta calibration not implemented?:

                G1 F500 G0 F500

                That won't have any effect on the G30 moves. You'll need to do something like this.

                ; bed.g
                ; called to perform automatic delta calibration via G32
                ;
                ; generated by RepRapFirmware Configuration Tool v3.2.1 on Mon Jan 11 2021 22:12:55 GMT+0200 (Восточная Европа, стандартное время)
                M561 ; clear any bed transform
                G28
                M566 X400 Y400 Z400       ; set maximum instantaneous speed changes (mm/min)
                M203 X6000 Y6000 Z6000    ; set maximum speeds (mm/min)
                M201 X400 Y400 Z400       ; set accelerations (mm/s^2)
                G30 P0 X0.00 Y80.00 Z-99999 H33.385 
                G30 P1 X69.28 Y-40.00 Z-99999 H33.385
                G30 P2 X-69.28 Y-40.00 Z-99999 H33.385 
                G30 P3 X0.00 Y40.00 Z-99999 H33.385 
                G30 P4 X34.64 Y-20.00 Z-99999 H33.385 
                G30 P5 X-34.64 Y-20.00 Z-99999 H33.385 
                G30 P6 X0 Y0 Z-99999 S6
                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 X500.00 Y500.00 Z500.00 E1000.00       ; set accelerations (mm/s^2)
                

                You might also want to reduce the travel speed in M558

                M558 P5 C"^zstop" H5 F120 T1000

                @Orang_ said in Rotary delta calibration not implemented?:

                hiccups 37

                That's much better

                Also, is your motor current set appropriately for your motors? 60-85% of rated max is the rule of thumb.

                Z-Bot CoreXY Build | Thingiverse Profile

                1 Reply Last reply Reply Quote 0
                • Orang_undefined
                  Orang_
                  last edited by

                  @Phaedrux said in Rotary delta calibration not implemented?:

                  Also, is your motor current set appropriately for your motors? 60-85% of rated max is the rule of thumb.

                  yes

                  Orang_undefined 1 Reply Last reply Reply Quote 0
                  • Orang_undefined
                    Orang_ @Orang_
                    last edited by

                    M566 X400 Y400 Z400 ; set maximum instantaneous speed changes (mm/min)
                    M203 X6000 Y6000 Z6000 ; set maximum speeds (mm/min)
                    M201 X400 Y400 Z400 ; set accelerations (mm/s^2)
                    also has no effect((((

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

                      @Orang_ said in Rotary delta calibration not implemented?:

                      M203 X6000 Y6000 Z6000 ; set maximum speeds (mm/min)

                      Try to halve the speed values to 3000

                      Z-Bot CoreXY Build | Thingiverse Profile

                      1 Reply Last reply Reply Quote 0
                      • Orang_undefined
                        Orang_
                        last edited by

                        sorry I have M203 X1000 Y1000 Z1000

                        1 Reply Last reply Reply Quote 0
                        • Orang_undefined
                          Orang_
                          last edited by

                          could this have something to do with that t2 tool? the printer is set up so that 0 is the effector, or rather the fisheye center

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

                            @Orang_ said in Rotary delta calibration not implemented?:

                            ; Tools M563 P0 D0 H1 F0 ; define tool 0 G10 P0 X0 Y0 Z ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C M563 P2 S"2rr" D0 H1 F0 ; define tool 2 G10 P2 X0 Y0 Z-23.3 ; set tool 2 axis offsets G10 P2 R0 S0 M563 P5 S"TEST" D0 H1 F0 ; define tool 2 G10 P2 X0 Y0 Z-29.3 ; set tool 2 axis offsets G10 P2 R0 S0

                            You mean this?

                            Why does it go from P0 to P2 then P5, but P5 still uses G10 commands with P2?

                            Z-Bot CoreXY Build | Thingiverse Profile

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

                              @Phaedrux said in Rotary delta calibration not implemented?:

                              Why does it go from P0 to P2 then P5, but P5 still uses G10 commands with P2?

                              I switched to rrf firmware not long ago

                              1 Reply Last reply Reply Quote 0
                              • Orang_undefined
                                Orang_
                                last edited by

                                @Phaedrux said in Rotary delta calibration not implemented?:

                                You mean this?

                                I mean that during normal movement the printer moves correctly, during arc calibration you can see it on the video. it can be related to the offset of the tool and the sensor

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

                                  I'm not exactly sure how the -Z offset on tool2 is going to have an effect. I'm not even really sure what the reasoning or intension is there.

                                  You're using an IR sensor though, so you should have an XY offset configured for it in G31

                                  G31 X0 Y0 Z33.385 P25

                                  And the Z trigger height should be calibrated.

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

                                  I would try simplifying your tool definitions to
                                  ; 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

                                  And then select T0 at the end of config.g instead of T2

                                  Then try G32 again.

                                  Z-Bot CoreXY Build | Thingiverse Profile

                                  1 Reply Last reply Reply Quote 0
                                  • Orang_undefined
                                    Orang_
                                    last edited by

                                    https://github.com/Duet3D/RepRapFirmware/blob/dev/src/Movement/Kinematics/RotaryDeltaKinematics.cpp

                                    221 bool RotaryDeltaKinematics::DoAutoCalibration(size_t numFactors, const RandomProbePointSet& probePoints, const StringRef& reply)
                                    222 {
                                    223 	return true;	// auto calibration not implemented yet
                                    224 }
                                    225 
                                    226 // Write the parameters that are set by auto calibration to a file, returning 227 true if success
                                    228 bool RotaryDeltaKinematics::WriteCalibrationParameters(FileStore *f) const
                                    229 {
                                    230	return true;	// auto calibration not implemented yet
                                    231 }
                                    
                                    Orang_undefined 1 Reply Last reply Reply Quote 0
                                    • Orang_undefined
                                      Orang_ @Orang_
                                      last edited by

                                      I understand correctly that there is no calibration for rotary delta?

                                      dc42undefined 1 Reply Last reply Reply Quote 0
                                      • dc42undefined
                                        dc42 administrators @Orang_
                                        last edited by

                                        @Orang_ said in Rotary delta calibration not implemented?:

                                        I understand correctly that there is no calibration for rotary delta?

                                        That is correct. The problem is that there are potentially many calibration variables for a rotary delta. For example, there are two pivot locations (like the tower position corrections for a linear delta), three upper arm lengths, three lower arm lengths, three pivot height corrections, three homing position corrections, and the delta radius. That's 18 parameters. It's unlikely the by probing a flat bed and measuring the height errors, it would be possible to calibrate all of these. However, if some of these are known to be accurate (for example, if all the arms are manufactured to precise lengths) then it may be possible to auto-calibrate the remaining parameters.

                                        I can try adding auto calibration when I have time, but it might not give very good results.

                                        Duet WiFi hardware designer and firmware engineer
                                        Please do not ask me for Duet support via PM or email, use the forum
                                        http://www.escher3d.com, https://miscsolutions.wordpress.com

                                        1 Reply Last reply Reply Quote 1
                                        • Orang_undefined
                                          Orang_
                                          last edited by

                                          @dc42 said in Rotary delta calibration not implemented?:

                                          That is correct. The problem is that there are potentially many calibration variables for a rotary delta. For example, there are two pivot locations (like the tower position corrections for a linear delta), three upper arm lengths, three lower arm lengths, three pivot height corrections, three homing position corrections, and the delta radius. That's 18 parameters. It's unlikely the by probing a flat bed and measuring the height errors, it would be possible to calibrate all of these. However, if some of these are known to be accurate (for example, if all the arms are manufactured to precise lengths) then it may be possible to auto-calibrate the remaining parameters.
                                          I can try adding auto calibration when I have time, but it might not give very good results.

                                          Thank you, I really like your firmware, if there are any changes with the calibration, please let me know, I would be happy to test it. Also there is not a big group of people who own similar printers I think they will also support it.

                                          PCRundefined dc42undefined 2 Replies Last reply Reply Quote 0
                                          • jay_s_ukundefined
                                            jay_s_uk
                                            last edited by

                                            I'll just make @gloomyandy aware of this thread

                                            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

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