RRF 3 / Duet 3 and 3 point Bed Tramming
-
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 modeM584 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 S3Results:
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.011I 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.
-
This appears resolved in the updated beta.
-
@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.
-
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. -
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.
-
Happy to report mine's putting down plastic now. I'll run some prints through it, but it's looking good so far.
-
@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.
-
19 - 20c according to the other two thermistors.
-
@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.
-
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.
-
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
-
Thanks for sharing. You should change the # character in front of "Define heaters" to a semicolon.
-
@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.
-
@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).