Delta Calibration & Mesh calibration
Delta Calibration & Mesh calibration, those two have given me some headache since a while.
Sometimes when I do a calibration run the speed for a probing suddenly changes, it is usually far slower than usually and therefor does not trigger the zprobe in the same way as the other points in my piezoprecision setup.
This happens randomly at different points.
Is anyone familiar with this behavior or do I need to give more detailed information?
give more detailed information
Results of M122 and M98 P"config.g"
config.g, homedelta.g, bed.g, slicer start gcode, image of your current heightmap. other printer details.
config.g, homedelta.g, bed.g, slicer start gcode, image of your current heightmap. other printer details.
M122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.2.2 running on Duet 3 MB6HC v0.6 or 1.0 (SBC mode) Board ID: 08DJM-956L2-G43S8-6JTDA-3S06N-1B2YD Used output buffers: 4 of 40 (12 max) === RTOS === Static ram: 149788 Dynamic ram: 61788 of which 108 recycled Never used RAM 147148, free system stack 178 words Tasks: Linux(ready,75) HEAT(blocked,317) CanReceiv(blocked,817) CanSender(blocked,371) CanClock(blocked,352) TMC(blocked,51) MAIN(running,1203) IDLE(ready,19) Owned mutexes: HTTP(MAIN) === Platform === Last reset 00:27:22 ago, cause: power up Last software reset at 2021-03-18 17:59, reason: User, GCodes spinning, available RAM 146940, slot 2 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task Linu Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 Aux1 errors 0,0,0 MCU temperature: min 22.7, current 44.8, max 44.8 Supply voltage: min 24.0, current 24.0, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.2, current 12.2, max 12.2, under voltage events: 0 Driver 0: position 77876, standstill, reads 42020, writes 14 timeouts 0, SG min/max 0/0 Driver 1: position 77876, standstill, reads 42020, writes 14 timeouts 0, SG min/max 0/0 Driver 2: position 77876, standstill, reads 42020, writes 14 timeouts 0, SG min/max 0/0 Driver 3: position 0, standstill, reads 42022, writes 14 timeouts 0, SG min/max 0/0 Driver 4: position 0, standstill, reads 42022, writes 14 timeouts 0, SG min/max 0/0 Driver 5: position 0, standstill, reads 42022, writes 14 timeouts 0, SG min/max 0/0 Date/time: 2021-03-22 10:19:48 Slowest loop: 0.63ms; fastest: 0.05ms === 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 === DMs created 125, maxWait 0ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === AuxDDARing === Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 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 doing "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. === CAN === Messages queued 6497, send timeouts 0, received 19480, lost 0, longest wait 1ms for reply type 6031, free buffers 48 === SBC interface === State: 4, failed transfers: 0 Last transfer: 3ms ago RX/TX seq numbers: 57188/57188 SPI underruns 0, overruns 0 Number of disconnects: 0, IAP RAM available 0x2c884 Buffer RX/TX: 0/0-0 === Duet Control Server === Duet Control Server v3.2.2 Code buffer space: 4096 Configured SPI speed: 8000000 Hz Full transfers per second: 0.24 Maximum length of RX/TX data transfers: 4036/648
M98 P"config.g" just gives back the same line in the console.
;config_real.g funktioniert mit Simplify3D ; Configuration file for LPU02b Duet 3 (firmware version 3) by JT. 26.01.2020 ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v2.1.8 on Fri May 15 2020 18:21:38 GMT+0200 ;General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"LPU02" ; set printer name ;M665 L472.5 R310 H394.75 B160 X0 Y0 Z0 ;(Höhe plz. 394,75; war 393.3) Set delta radius, diagonal rod length, printable radius and homed height B105 (R242.28 L408.55) ;M666 X0 Y0 Z0 A0 B0 ; put your endstop adjustments here, or let auto calibration find them M665 L472.500:472.500:472.500 R275.330 H394.765 B160.0 X-0.400 Y0.021 Z0.000 M666 X0.460 Y-0.367 Z-0.093 A0.00 B0.00 ;Raspberry Pi; user: yy; password: xxx ;password for attached raspberry pi ; Drives M569 P0 S0 ; physical drive 0 goes backwards; x-Stepper M569 P1 S0 ; physical drive 1 goes backwards; y-Stepper M569 P2 S0 ; physical drive 2 goes backwards; z-Stepper M569 P3 S1 ; physical drive 3 goes forwards M584 X0 Y1 Z2 E3:4:5 ;W6 A7 B8 C9 ; set drive mapping M350 X16 Y16 Z16 E16 ; configure microstepping with interpolation M92 X100.00 Y100.00 Z100.00 E424.20 ; set steps per mm ;M92 W1500 A84 B84 C84 ; set steps per mm M566 X1200.00 Y1200.00 Z1200.00 E1200.00:1200.00:1200.00 ; set maximum instantaneous speed changes (mm/min) ;M566 W800 A1200 B1200 C1200 ; set maximum instantaneous speed changes (mm/min) M203 X36000.00 Y36000.00 Z36000.00 E3400.00:3400:3400 ; set maximum speeds (mm/min) ;M203 W2000 A6000.00 B6000.00 C6000.00 ; set maximum speeds (mm/min) M201 X900.00 Y900.00 Z900.00 E1000.00:1000.00:1000.00 ; set accelerations (mm/s^2) ;M201 W500.00 A600.00 B600.00 C600.00 ; set accelerations (mm/s^2) M906 X1800 Y1800 Z1800 I100 ; set motor currents (mA) and motor idle factor in per cent ;M906 A700 B700 C700 I90 ; set motor currents (mA) and motor idle factor in per cent M906 E700:700:700 I30; W500 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ;Axis Limits ;M208 X-5:200 Y0:200 Z0:90 ; set axis minima and maxima X Y Z M208 Z0 S1 ; set minimum Z ;M208 W0:50 S0 ; Set minimum ;M574 W1 S3 ; Set active high endstops 2, low endstops 1, S3 load detection ;Endstops M574 X2 S1 P"io0.in" M574 Y2 S1 P"io1.in" M574 Z2 S1 P"io2.in" ; axis max (2), NC endstops(1) ;Z-Probe M558 P1 I0 C"!io3.in" H5 R0.20 F350 T6000 ; set Z probe type to unmodulated and the dive height + speeds G31 P600 X0 Y0 Z-0.175 ; set Z probe trigger value, offset and trigger height M557 R120 S20 ; define mesh grid ; HEATERS ;;Bed heater M308 S0 P"temp0" Y"thermistor" T100000 B4700 ; 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 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C ; TOOLS ;SingleToolSetup ;;ToolHeater M308 S1 P"1.temp2" Y"thermistor" T100000 B4138 ; configure sensor 5 as thermistor on pin 1.temp2 M950 H1 C"1.out2" T1 ; create nozzle heater output on 1.out2 and map it to sensor 5 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit ;; M308 S1 P"temp1" Y"thermistor" T100000 B3950 ; Ino Paul ;; M950 H1 C"out6" T1 ; Ino Paul ;; M307 H1 R36.066 C10.4 D0.25 S1.00 V24.0 ; Ino Paul M143 H1 S260 ; set temperature limit for heater 5 to 280C ;;TOOLFAN M950 F2 C"out9" Q500 ; create fan 0 on pin out9 and set its frequency M106 P2 H1 T40 ; set fan 0 value. Thermostatic control is turned off ;;PARTFAN M950 F0 C"1.out7" Q500 ; create fan 0 on pin out9 and set its frequency M106 C"Partcooler" P0 S1 H-1 ; set fan 0 value. Thermostatic control is turned off ;LED M950 F4 C"out8" Q500 ; create fan 0 on pin out9 and set its frequency M106 C"LED" P4 S1 H-1 ; set fan 0 value. Thermostatic control is turned off ;;SINGLETOOL M563 P0 S"SingleTool" H1 D0 F2e ; define SingleTool G10 P0 R20 S215 ; Tool number 6, Standby temperature 20, Active temperature 215 G10 P0 X0 Y0 Z0 ; set tool 6 axis offsets
; bed.g ; called to perform automatic delta calibration via G32 ; ; generated by RepRapFirmware Configuration Tool v2.1.4 on Thu Dec 12 2019 21:34:19 GMT+0100 (Central European Standard Time) M561 ; clear any bed transform ; Probe the bed at 3 peripheral and 3 halfway points, and perform 6-factor auto compensation ; Before running this, you should have set up your Z-probe trigger height to suit your build, in the G31 command in config.g. G30 P0 X0 Y84.9 H0 Z-99999 G30 P1 X73.53 Y-42.45 H0 Z-99999 G30 P2 X-73.53 Y-42.45 H0 Z-99999 G30 P3 X0 Y42.4 H0 Z-99999 G30 P4 X36.72 Y-21.2 H0 Z-99999 G30 P5 X-36.72 Y-21.2 H0 Z-99999 G30 P6 X0 Y0 H0 Z-99999 S6 ; Use S-1 for measurements only, without calculations. Use S4 for endstop heights and Z-height only. Use S6 for full 6 factors ; If your Z probe has significantly different trigger heights depending on XY position, adjust the H parameters in the G30 commands accordingly. The value of each H parameter should be (trigger height at that XY position) - (trigger height at centre of bed)
Slcier Start gcode is irrelevant as of now, as it does not need to run to get this wonky behaviour.
The one most reliable error I can provoke it to repeatedly do is after commands in this order:
G1 Z10 F10000
than it does the mesh bed and at some point it slows to a crawl and presses down hard on the piezos...
![alt text]( image url)
It usually happens at this point first.
I notice you're using probe type P1 for the piezo, which is intended for analog probes with feedback.
I believe it's more common to use P8 for digital mode for the piezo. Perhaps there is erroneous analogue feedback/interference at those points causing it to slow down as it approaches.
Can you test with P8?
How is your piezos mounted? What type?
This is a probe with an analog output connected to the Z probe connector. The probe output must rise as it gets closer to the bed, unless you use parameter I1 in the M558 command to indicate that the probe output falls as it gets closer to the bed (the I1 parameter is supported in firmware 1.16 and later). The control signal is driven HIGH.
P1 specifies an unmodulated or smart IR probe, or any other probe type that emulates one (probe output is an analog signal that rises with decreasing nozzle height above the bed). If there is a control signal to the probe, it is driven high when the probe type is P1.