Solved 1HCL probing problem with ***video***
-
@jay_s_uk at least at the moment it is not possible, 1HCL has a little bug and sometimes one of the axis drops during power on, so it would not be possible do as you describe.
-
@highfreq one of mine always drops. i don't see why it wouldn't work unless your bed is so overly constrained that it can't move when one motor is out of sync with the others
-
@jay_s_uk we would prefer to have the bug solved and we want the machine to be able to home on the end stops because we need it in our layout.
-
@highfreq sorry, i just thought you wanted to get to a position of using the machine until the bug was fixed. i won't bother next time
-
@jay_s_uk thank you for your help, we hope it won't get too long until it gets fixed.
-
@highfreq said in 1HCL probing problem with ***video***:
Now the probing works, it doesn't jump anymore but endstops on the 4 phisical axis do not work anymore, probably because the fake axis configuration is not complete. If i remove the fake axis homing works as expected.
please share an updated config.g and the homing files so we can see how the 4 real axis and this 5th z motor interact.
-
; Configuration file for Duet 3 (firmware version 3.3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.3.10 on Sat Jul 02 2022 11:44:56 GMT+0200 (Ora legale dell’Europa centrale); General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"Duet 3" ; set printer name; Wait for expansion boards to star
G4 S1; Fans
M950 F0 C"!out4+out4.tach" Q25000 ; fan 0 con tach. + pwm freq 25kHz
M106 P0 S0 ; fan al minimo; Input ports
M950 J5 C"io5.in"
M950 J6 C"io6.in"
M950 J7 C"io7.in"
M950 J8 C"io8.in"; Output ports
M950 P5 C"io5.out" Q0
M950 P6 C"io6.out" Q0
M950 P7 C"io7.out" Q0
M950 P8 C"io8.out" Q0; Drives
M569 P1.0 D0 S0 ; asse Z - accensione in Open Loop per evitare caduta durante il tuning
M569 P2.0 D0 S0
M569 P3.0 D0 S0
M569 P4.0 D0 S0
M569 P5 D0 S0 T0:0:0:0; asse Z fantasma sulla mainboard per errore G30
M569 P1 S0 T2:2:0:0 ; asse Y
M569 P0 S0 ; asse X
M569 P10.1 S1 ; extruder motor
;M917 Z0 ;riduzione di corrente a motore fermo per asse
M584 X0 Y1 Z1.0:2.0:3.0:4.0:5 E10.1 ;mappa driver per ogni asse
M350 Z16 I1 ; configure microstepping with interpolation
M92 X200 Y200 Z320 E224.6 ; set steps per mm
M566 X10000 Y10000 Z100.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X60000 Y60000 Z5000 E9000 ; set maximum speeds (mm/min)
M201 X1000 Y1000 Z200 E250.00 ; set accelerations (mm/s^2)
M906 Z6000 E2500 ; set motor currents (mA)
M84 S0 ; Disable motor idle current reduction; Brakes
M569.7 P1.0 C"out1"
M569.7 P2.0 C"out1"
M569.7 P3.0 C"out1"
M569.7 P4.0 C"out1"; accensione assi
M17 Z E
G4 S2 ; attesa per essere sicuri che la Z sia eccitata; Z Encoders
M569.1 P1.0 T2 C5 R100 I8000 D0.1 E1.0:3.0; PID asse Z
M569.1 P2.0 T2 C5 R100 I8000 D0.1 E1.0:3.0
M569.1 P3.0 T2 C5 R100 I8000 D0.1 E1.0:3.0
M569.1 P4.0 T2 C5 R100 I8000 D0.1 E1.0:3.0; Drives
M569 P1.0 D4 S0 ; asse Z - accensione in Closed Loop
M569 P2.0 D4 S0
M569 P3.0 D4 S0
M569 P4.0 D4 S0; Tuning
;polarity and zeroing asse Z
M569.6 P1.0 V1
M569.6 P2.0 V1
M569.6 P3.0 V1
M569.6 P4.0 V1; Axis Limits
M208 X0:1000 Y0:1000 Z0:1500; Endstops
M574 Z1 S1 P"1.io0.in+2.io0.in+3.io0.in+4.io0.in"; Bed plate Heaters
M308 S0 A"Dietro DX" P"temp0" Y"pt1000" ; configure sensor as thermistor on pin
M308 S1 A"Dietro SX" P"temp1" Y"pt1000"
M308 S2 A"Avanti SX" P"temp2" Y"pt1000"
M308 S3 A"Avanti DX" P"temp3" Y"pt1000"
M950 H1 C"out0" T0 ; create bed heater output and map it to sensor
M950 H2 C"out1" T1
M950 H3 C"out2" T2
M950 H4 C"out8" T3
M307 H1 R0.040 K0.060:0.000 D23.41 E1.35 S1.00 B0 ; PID
M307 H2 R0.040 K0.060:0.000 D23.41 E1.35 S1.00 B0
M307 H3 R0.040 K0.060:0.000 D23.41 E1.35 S1.00 B0
M307 H4 R0.040 K0.060:0.000 D23.41 E1.35 S1.00 B0
M140 P1 H1 ; map heated bed to heater
M140 P2 H2
M140 P3 H3
M140 P4 H4
M143 H1 S120 ; set temperature limit for heater
M143 H2 S120
M143 H3 S120
M143 H4 S120; Extruder Heaters
M308 S10 A"Top" P"spi.cs2" Y"rtd-max31865" ; configure sensor as thermistor on pin
M308 S11 A"Bottom" P"spi.cs4" Y"rtd-max31865"
M308 S12 A"Nozzle" P"spi.cs1" Y"rtd-max31865"
M950 H10 C"out5" T10 ; create nozzle heater output and map it to sensor
M950 H11 C"out7" T11
M950 H12 C"out6" T12
M307 H10 R1.070 K0.120:0.000 D25.16 E1.35 S1.00 B0 ;PID riscaldatore pulsar top
M307 H12 R0.833 K0.103:0.000 D28.21 E1.35 S1.00 B0 ;PID riscaldatore pulsar nozzle
M307 H11 R0.867 K0.115:0.000 D17.33 E1.35 S1.00 B0 ;PID riscaldatore pulsar bottom
M143 H10 S300 ; set temperature limit for heater
M143 H11 S300
M143 H12 S300; Tools
M563 P0 D0 H10:11:12 F0 S"Pulsar" ; 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; Z-Probe
M558 Z P5 K0 C"io1.in" H10 F500:20 T2000 ; definizione probe Z
G31 K0 X-3 Y54.5 Z5 ; offset rispetto alla testa
M557 X0:200 Y0:200 S100 ; define mesh gridI added this line:
M569 P5 D0 S0 T0:0:0:0; asse Z fantasma sulla mainboard per errore G30
and added motor 5 to this line:
M584 X0 Y1 Z1.0:2.0:3.0:4.0:5 E10.1
homez
; homez.g
;
G91 ; movimenti relativi
G1 H1 Z1520 F900 ; muove la Z verso l'alto fino a che il finecorsa viene toccato
G1 H2 Z-5 F2000 ; scende di 5mm disimpegnando il finecorsa
G1 H1 Z1520 F900 ; muove la Z verso l'alto fino a che il finecorsa viene toccato
G92 Z1500 ; imposta la Z nel punto di trigger a Z1500
G90 ; movimenti assolutiM291 P"Asse Z azzerato" R"INFO" S0 T2
-
@highfreq thanks for confirming the workaround. That tells me what is going wrong. Now I need to work out why it goes wrong on your system but not on my bench setup.
-
@dc42 not meaning to push you but do you have any idea how long it'll take to have a fix?
Maybe multiple motors on z axis or big motors are more exposed to this problem?
-
@highfreq please send M115 from the console, to confirm that you really are running firmware 3.4.2 on the main board. You are running in SBC mode, and I have known the SBC to downgrade RRF in the past.
The problem is that the main board firmware isn't tracking the motor steps during the probing move. This behaviour was a known bug in some earlier firmware versions. I'm reviewing the source code and I don't yet see how it could happen in 3.4.2. The flag that causes the main board to track motor steps even when there are no local drives involved is the same one that causes the move to end when the prove triggers.
-
22/9/2022, 17:15:11 m115
FIRMWARE_NAME: RepRapFirmware for Duet 3 MB6XD FIRMWARE_VERSION: 3.4.2 ELECTRONICS: Duet 3 MB6XD v1.0 or later FIRMWARE_DATE: 2022-09-13 15:19:26To rule any installation problem out we did the installation from scratch already twice.
Maybe has something to do with the relatively new 6XD?
-
@highfreq thanks for confirming the version.
Please run the following test:
- Connect a PC running a terminal emulator (e.g. YAT) t the USB port
- Set up the machine so that you are ready to send the G30 command that goes wrong
- Send M111 S1 P4 and then M111 S1 P6
- Send G30. This should produce some output in the terminal emulator screen.
- When the move completes, copy the output from the terminal emulator screen and paste it into a message here.
-
@dc42 Do i need to do this with or without the fake axis workaround?
-
This was the output of the terminal, the test was made WITHOUT workaround.
Connection to SBC established!
Executing config.g… Done!
RepRapFirmware for Duet 3 MB6XD is up and running.
Forward transformed 0 200000 0 to 0.00 1000.00 0.00
Forward transformed 0 200000 0 to 0.00 1000.00 0.00
Forward transformed 0 200000 -1600 to 0.00 1000.00 -5.00
Forward transformed 0 200000 -1600 to 0.00 1000.00 -5.00
Forward transformed 0 200000 0 to 0.00 1000.00 0.00
Transformed 0.00 1000.00 -5.00 to 0 200000 -1600
pr 1 ts=215104413 DDA: s=1.5050e+3 vec=[0.000000 0.000000 -1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000]
a=4.4444e-10 d=4.4444e-10 reqv=1.1111e-5 startv=0.0000e+0 topv=1.1111e-5 endv=0.0000e+0 cks=135474990 fp=4294967295 fl=0c00
U d=1.3889e-1 t=25000.0 b=0.0000e+0 c=4.5000e+9
U d=1.5047e+3 t=135424992.0 c=9.0000e+4
U d=1.3892e-1 t=25000.0 b=2.5000e+4 c=-4.5000e+9
DMZ: dir=B steps=481600 next=1 rev=481601 interval=3749 ssl=45 A=0.0000e+0 B=0.0000e+0 C=1.4062e+7 dsf=1.3889e-1 tsf=25000.0
Forward transformed 0 200000 480000 to 0.00 1000.00 1500.00
Transformed 0.00 1000.00 5.00 to 0 200000 1600
Transformed 0.00 1000.00 5.00 to 0 200000 1600
Transformed 0.00 1000.00 15.00 to 0 200000 4800
pr 1 ts=232476041 DDA: start=[0.000000 1000.000000 5.000000] end=[0.000000 1000.000000 15.000000] s=1.0000e+1 vec=[0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000]
a=3.5556e-10 d=3.5556e-10 reqv=4.4444e-5 startv=0.0000e+0 topv=4.4444e-5 endv=0.0000e+0 cks=350000 fp=4294967295 fl=0401
U d=2.7778e+0 t=125000.0 b=0.0000e+0 c=5.6250e+9
U d=4.4444e+0 t=100000.0 c=2.2500e+4
U d=2.7778e+0 t=125000.0 b=1.2500e+5 c=-5.6250e+9 -
@highfreq thanks, I did want the results of testing without the workaround.
-
@dc42 is it the log you were looking for?
-
@highfreq yes, thanks!
I believe I have found the reason for this behaviour, and I expect to have a new firmware build for you to test later this morning. You were right, it is specific to the 6XD board.
-
@dc42 thank you very much, looking forward to it.
-
@highfreq please try this build. In my tests, it fixes the problem.
Duet3Firmware_MB6XD.bin -
@dc42 will test asap and let you know.
Do i have to turn off any of the logging i switched on yesterday?
thanks