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

    RRF 3 / Duet 3 and 3 point Bed Tramming

    Scheduled Pinned Locked Moved
    Beta Firmware
    3
    14
    1.1k
    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.
    • kraegarundefined
      kraegar
      last edited by

      Board: Duet 3
      Firmware: RepRapFirmware for Duet 3 v0.5
      Printer: RailCore IIZL (3 independent leadscrews)

      Probing the bed and auto-tramming, the system never converges. It appears to over correct and vary the amount of tilt between two leadscrews. bed.g is 4 points and worked with RRF 2.x. on the same printer.

      The relevant bits of config.g:

      ; Axis and motor configuration
      M569 P0 S0 ; Drive 0 goes backwards X / Rear
      M569 P1 S0 ; Drive 1 goes backwards Y / Front
      M569 P2 S1 ; Drive 2 goes forwards Z Front Left
      M569 P3 S1 ; Drive 3 goes forwards Z Rear Left
      M569 P4 S1 ; Drive 4 goes forwards Z Right
      M569 P5 S1 ; Extruder
      M667 S1 ; corexy mode

      M584 X0 Y1 Z2:3:4 E5 ; Map X to driver 0, Y to driver 1, Z to drivers 2,3,4. E to driver 5

      ;Leadscrew locations
      M671 X-10:-10:283 Y22.5:227.5:125 S7.5 ; locations to pivot points, as measured

      ;BLTouch
      M558 P9 C"io8.in" H5 R1 F50 T6000 A5 S0.02 B1
      M950 S0 C"io8.out"
      G31 X2 Y42 Z2.64 P25 ;

      Bed.g:
      M561
      G30 P0 X10 Y43 Z-99999
      G30 P1 X10 Y228 Z-99999
      G30 P2 X195 Y228 Z-99999
      G30 P3 X195 Y43 Z-99999 S3

      Results:
      9/9/2019, 3:12:10 PM Leadscrew adjustments made: -1.884 0.116 0.002, points used 4, deviation before 1.043 after 0.011
      9/9/2019, 3:13:40 PM Leadscrew adjustments made: -1.844 0.153 -1.819, points used 4, deviation before 1.468 after 0.012
      9/9/2019, 3:15:50 PM Leadscrew adjustments made: -1.887 0.114 -0.045, points used 4, deviation before 1.048 after 0.011

      I tried going to 3 points in bed.g, and it gives similar results.

      I did notice that the first adjustment always says a negative number, but when it gets to the point where it applies the adjustments, I can visibly see the 3rd (right) lead turn but not the first (front left). No adjustment to that leadscrew actually happens. I'm not sure on the second, it may be that correction is just too small to detect.

      Co-Creator of the RailcoreII CoreXY printer
      https://www.thingiverse.com/thing:2407174

      1 Reply Last reply Reply Quote 2
      • kraegarundefined
        kraegar
        last edited by

        This appears resolved in the updated beta.

        Co-Creator of the RailcoreII CoreXY printer
        https://www.thingiverse.com/thing:2407174

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

          @kraegar said in RRF 3 / Duet 3 and 3 point Bed Tramming:

          This appears resolved in the updated beta.

          Thanks for confirming. You should also find the thermistor readings more stable when running the new beta.

          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 0
          • kraegarundefined
            kraegar
            last edited by

            That will be tested in just a bit here.
            I am seeing an oddity with all 3 leads adjusting a negative value (and it does change the Z height, it's weird) but a quick home resolves that.

            Co-Creator of the RailcoreII CoreXY printer
            https://www.thingiverse.com/thing:2407174

            1 Reply Last reply Reply Quote 0
            • kraegarundefined
              kraegar
              last edited by

              Slice thermistors still register as open with the following config:

              M308 S1 P"temp1" Y"thermistor" A"e0_heat" T500000 B4723 C1.196220e-7

              E3D's and similar are fine.

              Co-Creator of the RailcoreII CoreXY printer
              https://www.thingiverse.com/thing:2407174

              dc42undefined 1 Reply Last reply Reply Quote 0
              • kraegarundefined
                kraegar
                last edited by kraegar

                Happy to report mine's putting down plastic now. I'll run some prints through it, but it's looking good so far.

                https://imgur.com/xiSsTpV

                Co-Creator of the RailcoreII CoreXY printer
                https://www.thingiverse.com/thing:2407174

                1 Reply Last reply Reply Quote -1
                • dc42undefined
                  dc42 administrators @kraegar
                  last edited by dc42

                  @kraegar said in RRF 3 / Duet 3 and 3 point Bed Tramming:

                  Slice thermistors still register as open with the following config:

                  M308 S1 P"temp1" Y"thermistor" A"e0_heat" T500000 B4723 C1.196220e-7

                  E3D's and similar are fine.

                  What is your room temperature? I don't have a Slice thermistor yet, but a 470K resistor registers OK for me using those M308 parameters.

                  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 0
                  • kraegarundefined
                    kraegar
                    last edited by

                    19 - 20c according to the other two thermistors.

                    Co-Creator of the RailcoreII CoreXY printer
                    https://www.thingiverse.com/thing:2407174

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

                      @kraegar, as a workaround you could try connecting a resistor of about 1M or a few hundred kohms in parallel with the thermistor.

                      High resistance thermistors are difficult to read at low temperatures. The reference resistor on Duet 3 is 2.2k (optimised for PT1000 sensors, which IMO are a much better choice for covering a wide temperature range), so at 25C the Slice thermistor has about 220 times more resistance.

                      We've improved the analog grounding on the production boards, so on my production board the 470k resistors read closer to the correct reading them they do on my 0.5 prototype.

                      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 0
                      • kraegarundefined
                        kraegar
                        last edited by

                        Sounds good, I'll give it a shot. I have no problems swapping out the slice for myself, but I figure reporting it back might be helpful for others.

                        Co-Creator of the RailcoreII CoreXY printer
                        https://www.thingiverse.com/thing:2407174

                        1 Reply Last reply Reply Quote 0
                        • kraegarundefined
                          kraegar
                          last edited by kraegar

                          In case it will help anyone else out, now that things are working and I'm printing, this is my current RRF / Duet3 configuration:

                          G21						;Work in millimetres
                          G90						;Send absolute coordinates...
                          M83						;...but relative extruder moves
                          
                          ; Axis and motor configuration
                          M569 P0 S0					;Drive 0 X / Rear
                          M569 P1 S0					;Drive 1 Y / Front
                          M569 P2 S1					;Drive 2 Z Front Left
                          M569 P3 S1					;Drive 3 Z Rear Left
                          M569 P4 S1					;Drive 4 Z Right
                          M569 P5 S1					;Drive 5 Extruder
                          M667 S1						;corexy mode
                          
                          M584 X0 Y1 Z2:3:4 E5			; Map X to drive 0 Y to drive 1, Z to drives 2, 3, 4, and E to drive 5
                          ;Leadscrew locations
                          M671 X-10:-10:283  Y22.5:227.5:125 S7.5		;X -10, -10, 315
                          
                          M350 X16 Y16 Z16 E16 I1				;set 16x microstepping for axes with interpolation
                          M906 X1400 Y1400 Z1200 E800 I60			;Set motor currents (mA)
                          M201 X2000 Y2000 Z100 E1500			;Accelerations (mm/s^2)
                          M203 X24000 Y24000 Z900 E3600			;Maximum speeds (mm/min) was Z1800 tr8*4
                          M566 X1000 Y1000 Z100 E1500			;Maximum jerk speeds mm/minute E60 Z60
                          M208 X240 Y240 Z230				;set axis maxima and high homing switch positions (adjust to suit your machine)
                          M208 X0 Y0 Z0 S1				;set axis minima and low homing switch positions (adjust to make X=0 and Y=0 the edges of the bed)
                          M92 X200 Y200 Z1600 E819.5			;steps/mm
                          
                          ; End Stops
                          M574 X1 S0 P"io3.in"				;Map the X endstop to io3.in
                          M574 Y1 S0 P"io1.in"				;May the Y endstop to io1.in
                          
                          ; Thermistors
                          M308 S0 P"temp0" Y"thermistor" A"bed_heat" T100000 B4240 H0 L0 		;Bed thermistor - duet 3, connected to temp0
                          
                          M308 S1 P"temp1" Y"thermistor" A"e0_heat" T100000 B4725 C7.06e-8 H0 L0	;duet3 e3d
                          ;M308 S1 P"temp1" Y"thermistor" A"e0_heat" T500000 B4723 C1.196220e-7	;duet3 slice
                          
                          ;Define Heaters
                          M950 H0 C"out0" T0				;Bed heater is on out0
                          M950 H1 C"out1" T1				;Hotend heater is on out1
                          
                          M307 H0 A90.0 C700.0 D10.0 S1.00 B1 		;Keenovo duet 3 configuration
                          M307 H1 A548.8 C298.6 D4.6 S1.00 B0 		;Hotend  duet 3 configuration
                          
                          M570 S360					;Hot end may be a little slow to heat up so allow it 180 seconds
                          M143 S285					;Set max hotend temperature			
                          
                          ; Fans
                          M950 F0 C"out4"					;Hotend fan on "out4" connector
                          M106 P0 S255 H1 T50 				;enable thermostatic mode for hotend fan
                          M950 F1 C"out5"					;Layer fan on "out5" connector
                          M106 P1 S0 					;Layer Fan
                          
                          ; Tool definitions
                          M563 P0 D0 H1 F1                       		;Define tool 0
                          G10 P0 S0 R0                        		;Set tool 0 operating and standby temperatures
                          
                          ;BLTouch
                          M558 P9 C"io8.in" H5 R1 F50 T6000 A5 S0.02 B1	;define the bltouch input on io8.in
                          M950 S0 C"io8.out"				;define the bltouch servo on io8.out
                          G31 X2 Y42 Z1.95 P25 ; 				;set the offsets for the bltouch
                          
                          T0						;select first hot end
                          

                          Co-Creator of the RailcoreII CoreXY printer
                          https://www.thingiverse.com/thing:2407174

                          1 Reply Last reply Reply Quote 2
                          • dc42undefined
                            dc42 administrators
                            last edited by

                            Thanks for sharing. You should change the # character in front of "Define heaters" to a semicolon.

                            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
                            • mundsenundefined
                              mundsen
                              last edited by

                              @kraegar said in RRF 3 / Duet 3 and 3 point Bed Tramming:

                              Slice thermistors

                              Stupid question? What is a "Slice thermistor" - Is this an extra thermistor I should purchase for my Duet 3?

                              On my existing printer running Repetier I have one thermistor for the hotend and one for the heated bed.

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

                                @mundsen said in RRF 3 / Duet 3 and 3 point Bed Tramming:

                                @kraegar said in RRF 3 / Duet 3 and 3 point Bed Tramming:

                                Slice thermistors

                                Stupid question? What is a "Slice thermistor" - Is this an extra thermistor I should purchase for my Duet 3?

                                On my existing printer running Repetier I have one thermistor for the hotend and one for the heated bed.

                                It's a high temperature thermistor intended for hot ends, made by Slice Engineering, https://www.sliceengineering.com/shop/high-temp-thermistor. So it does the same job as a standard hot end thermistor, except it can go to higher temperatures.

                                Unfortunately, the high resistance at low temperatures of this and other high temperature thermistors make them difficult to read at low temperatures when using the ADCs built into microcontrollers. We could make a daughter board with a precision ADC on it to better read these thermistors, but we already have other high-temperature options such as PT100, thermocouple, and PT1000 (which requires no daughter board).

                                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 0
                                • First post
                                  Last post
                                Unless otherwise noted, all forum content is licensed under CC-BY-SA