Manual bed probing / Mesh bed compensation Issue [DUET3]
-
Hi everyone,
Running on a Duet 3 mainboard 6HC with the following configuration:
; General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"MA64" ; set printer name; Drives
M569 P0.0 S1 ; physical drive 0.0 goes forwards
M569 P0.1 S1
M569 P0.2 S0 ; physical drive 0.2 goes forwards
M569 P0.3 S0 ; physical drive 0.3 goes forwards
M569 P0.4 S1
M569 P1.0 S1 ; physical drive 1.0 goes forwards
M569 P1.1 S1 ; physical drive 1.1 goes forwards
M584 X0.0:0.1 Y0.2 Z0.3:0.4 E1.0:1.1 ; set drive mapping
M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation
M92 X128.14 Y128.14 Z1600.00 E492.45:800.00 ; set steps per mm
M566 X1500.00 Y1500.00 Z12.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X6000.00 Y6000.00 Z1500.00 E1200.00:1200.00 ; set maximum speeds (mm/min)
M201 X1000.00 Y1000.00 Z40.00 E250.00:250.00 ; set accelerations (mm/s^2)
M906 X1200 Y1200 Z1200 E800:800 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X550 Y470 Z450 S0 ; set axis maxima; Endstops
M574 X1 S1 P"!io0.in" ; configure active-high endstop for low end on X via pin io0.in
M574 Y1 S1 P"!io1.in" ; configure active-high endstop for low end on Y via pin io1.in
M574 Z1 S1 P"!io2.in" ; configure active-high endstop for low end on Z via pin io2.in; Z-Probe
M558 P0 H8 F120 T3000 ; disable Z probe but set dive height, probe speed and travel speed
M557 X20:540 Y40:460 S420 ; define mesh gridI have some issues while trying to use the mesh bed compensation without probe. Before suggesting to add a probe to my printer, I can't do this due to the very high enclosure temperature (240°C).
I am using a Glass bed (850x850mm built volume reduced to 550x470) for thermal dilatation reason and cannot home lower than the surface or outside of it. My Z home is around 3mm above the glass and the average probed height is -3mm.When moving the Z axis to make the nozzle touch the bed, the machine often randomly goes back to the starting height (dive height) of the point. But the worst happens at points different than the first one. The machine goes back to the first point calibration for no reason...
-
Somehow I also get "Push(): Stack Overflow" when jogging the Z axis too fast and the machine goes back to Point 1
-
What firmware version specifically are you using? Please provide the results of M122.
-
I am using the 3.1.1 on the Mainboard 6HC and the 3.0 on the expansion 3HC, in SBC Mode. I thought the Expansion was on 3.1.0 but it seems that even though the 3.1.0 bin is here the machine never acknowledged it
Here is the result of M122:
M122
=== Diagnostics ===
RepRapFirmware for Duet 3 MB6HC version 3.1.1 running on Duet 3 MB6HC v0.6 or 1.0 (SBC mode)
Board ID: 08DJM-956L2-G43S4-6J1DL-3SD6Q-1S5AF
Used output buffers: 1 of 40 (13 max)
=== RTOS ===
Static ram: 154604
Dynamic ram: 163684 of which 52 recycled
Exception stack ram used: 224
Never used ram: 74652
Tasks: NETWORK(ready,1972) HEAT(blocked,1212) CanReceiv(suspended,3520) CanSender(suspended,1488) CanClock(blocked,1452) TMC(blocked,204) MAIN(running,4928) IDLE(ready,76)
Owned mutexes:
=== Platform ===
Last reset 00:01:26 ago, cause: power up
Last software reset at 2020-07-20 15:10, reason: User, spinning module LinuxInterface, available RAM 73960 bytes (slot 1)
Software reset code 0x0010 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0444a000 BFAR 0x00000000 SP 0xffffffff Task MAIN
Error status: 0
MCU temperature: min 22.9, current 33.0, max 33.1
Supply voltage: min 24.0, current 24.0, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes
12V rail voltage: min 12.2, current 12.2, max 12.3, under voltage events: 0
Driver 0: standstill, reads 30616, writes 14 timeouts 0, SG min/max 0/0
Driver 1: standstill, reads 30616, writes 14 timeouts 0, SG min/max 0/0
Driver 2: standstill, reads 30617, writes 14 timeouts 0, SG min/max 0/0
Driver 3: standstill, reads 30617, writes 14 timeouts 0, SG min/max 0/0
Driver 4: standstill, reads 30617, writes 14 timeouts 0, SG min/max 0/0
Driver 5: standstill, reads 30621, writes 11 timeouts 0, SG min/max 0/0
Date/time: 2020-07-21 08:10:04
Slowest loop: 5.43ms; fastest: 0.14ms
=== 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 ===
Hiccups: 0(0), FreeDm: 375, MinFreeDm: 375, MaxWait: 0ms
Bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1
=== AuxDDARing ===
Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1
=== Heat ===
Bed heaters = 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamberHeaters = 6 -1 -1 -1
=== GCodes ===
Segments left: 0
Movement lock held by null
HTTP* is ready with "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.
=== Network ===
Slowest loop: 1.02ms; fastest: 0.01ms
Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions Telnet(0), 0 sessions
HTTP sessions: 0 of 8- Ethernet -
State: disabled
Error counts: 0 0 0 0 0
Socket states: 0 0 0 0 0 0 0 0
=== CAN ===
Messages sent 278, longest wait 2ms for type 6011
=== Linux interface ===
State: 0, failed transfers: 0
Last transfer: 17ms ago
RX/TX seq numbers: 2064/2065
SPI underruns 0, overruns 0
Number of disconnects: 0
Buffer RX/TX: 0/0-0
=== Duet Control Server ===
Duet Control Server v1.3.2.0
Code buffer space: 4096
Configured SPI speed: 8000000 Hz
Full transfers per second: 0.03
ad for the Expansion Board 1
M122 B1
Diagnostics for board 1:
Board EXP3HC firmware 3.0RC1 2019-12-16b1
Never used RAM 162.8Kb, max stack 304b
HEAT 1088 CanAsync 1452 CanRecv 1428 TMC 168 AIN 532 MAIN 2224
Driver 0: standstill, reads 35834, writes 14 timeouts 0, SG min/max 0/0
Driver 1: standstill, reads 35837, writes 14 timeouts 0, SG min/max 0/0
Driver 2: standstill, reads 35842, writes 11 timeouts 0, SG min/max 0/0
Moves scheduled 0, completed 0, hiccups 0
VIN: 24.0V, V12: 12.1V
MCU temperature: min 32.4C, current 32.7C, max 32.9C
Ticks since heat task active 81, ADC conversions started 222824, completed 222824, timed out 0
NVM user row de9a9239 aeecffb1 ffffffff ffffffff - Ethernet -
-
the expansion Is now on 3.1.0
M122B1
Diagnostics for board 1:
Board EXP3HC firmware 3.1.0 (2020-05-15b1)
Never used RAM 163.6Kb, max stack 312b
HEAT 1272 CanAsync 1452 CanRecv 1420 TMC 156 AIN 524 MAIN 2184
Last reset 00:00:37 ago, cause: software
Driver 0: standstill, reads 9689, writes 11 timeouts 0, SG min/max 0/0
Driver 1: standstill, reads 9691, writes 11 timeouts 0, SG min/max 0/0
Driver 2: standstill, reads 9694, writes 11 timeouts 0, SG min/max 0/0
Moves scheduled 0, completed 0, hiccups 0
VIN: 24.0V, V12: 12.1V
MCU temperature: min 32.4C, current 32.7C, max 32.9C
Ticks since heat task active 91, ADC conversions started 37834, completed 37834, timed out 0
Last sensors broadcast 00000000 found 0 94 ticks ago
Free CAN buffers: 36
NVM user row de9a9239 aeecffb1 ffffffff ffffffff -
@Pierrelito said in Manual bed probing / Mesh bed compensation Issue [DUET3]:
When moving the Z axis to make the nozzle touch the bed, the machine often randomly goes back to the starting height (dive height) of the point. But the worst happens at points different than the first one. The machine goes back to the first point calibration for no reason...
Can you provide a video of this behaviour?
-
This may be related to using SBC mode and the dialogue boxes required. @chrishamm may have an idea.
-
I am quite surprised you are seeing Push errors. Are you running G29 as part of any macro file or do you start that from the DWC dropdown menu?
It may help to see a console log from DCS with log level
debug
. Please refer to this section for further details. -
I am using the dropdown menu for True Bed leveling (same behavior with the mesh bed compensation).
You can see it the Z axis going up again in this video.(around 0.18) It happens the most when the Z jogging is quite fast but also randomly.
And in this video (interesting part at 1.15), you can see the machine going back the first probing point while I'm probing the third one.
As requested by @chrishamm I'll try to get the DCS Log level
-
Here is the result of the debug
[info] Settings loaded
[info] Environment initialized
[info] Connection to Duet established
[info] IPC socket created at /var/run/dsf/dcs.sock
[debug] Requesting update of key boards, seq 0 -> 1
[debug] Requesting update of key directories, seq 0 -> 0
[debug] Requesting update of key fans, seq 0 -> 2
[debug] Requesting update of key heat, seq 0 -> 24
[debug] Requesting update of key inputs, seq 0 -> 0
[debug] Requesting update of key job, seq 0 -> 0
[debug] Requesting update of key move, seq 0 -> 29
[debug] Requesting update of key network, seq 0 -> 2
[debug] Requesting update of key sensors, seq 0 -> 8
[debug] Requesting update of key spindles, seq 0 -> 0
[debug] Requesting update of key state, seq 0 -> 0
[debug] Requesting update of key tools, seq 0 -> 10
[debug] Requesting update of key volumes, seq 0 -> 0
[debug] Updated key boards
[debug] Updated key directories
[debug] Updated key fans
[debug] Updated key heat
[error] Failed to merge JSON: {"key":"inputs","flags":"d99vn","result":[{"axesRelative":false,"compatibility":"RepRapFirmware","distanceUnit":"mm","drivesRelative":true,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"HTTP","stackDepth":0,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"Marlin","distanceUnit":"mm","drivesRelative":true,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"Telnet","stackDepth":0,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"RepRapFirmware","distanceUnit":"mm","drivesRelative":true,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"File","stackDepth":0,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"Marlin","distanceUnit":"mm","drivesRelative":true,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"USB","stackDepth":0,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"RepRapFirmware","distanceUnit":"mm","drivesRelative":true,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"Aux","stackDepth":0,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"RepRapFirmware","distanceUnit":"mm","drivesRelative":true,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"Trigger","stackDepth":0,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"RepRapFirmware","distanceUnit":"mm","drivesRelative":true,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"Queue","stackDepth":0,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"RepRapFirmware","distanceUnit":"mm","drivesRelative":true,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"LCD","stackDepth":0,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"RepRapFirmware","distanceUnit":"mm","drivesRelative":true,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"SBC","stackDepth":0,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"RepRapFirmware","distanceUnit":"mm","drivesRelative":true,"feedRate":50.0,"inMacro":true,"lineNumber":0,"name":"Daemon","stackDepth":1,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"RepRapFirmware","distanceUnit":"mm","drivesRelative":true,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"Aux2","stackDepth":0,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"RepRapFirmware","distanceUnit":"mm","drivesRelative":true,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"Autopause","stackDepth":0,"state":"idle","volumetric":false}]}
System.Text.Json.JsonException: Failed to deserialize property [InputChannel].Name (type CodeChannel) from JSON "Aux2"
---> System.Text.Json.JsonException: The JSON value could not be converted to DuetAPI.CodeChannel. Path: $ | LineNumber: 0 | BytePositionInLine: 6.
at System.Text.Json.ThrowHelper.ThrowJsonException()
at System.Text.Json.Serialization.Converters.JsonConverterEnum1.Read(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options) at System.Text.Json.JsonPropertyInfoNotNullable
4.OnRead(ReadStack& state, Utf8JsonReader& reader)
at System.Text.Json.JsonPropertyInfo.Read(JsonTokenType tokenType, ReadStack& state, Utf8JsonReader& reader)
at System.Text.Json.JsonSerializer.ReadCore(JsonSerializerOptions options, Utf8JsonReader& reader, ReadStack& readStack)
at System.Text.Json.JsonSerializer.ReadCore(Type returnType, JsonSerializerOptions options, Utf8JsonReader& reader)
at System.Text.Json.JsonSerializer.Deserialize(String json, Type returnType, JsonSerializerOptions options)
at DuetAPI.Machine.ModelObject.UpdateFromJson(JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelObject.cs:line 282
--- End of inner exception stack trace ---
at DuetAPI.Machine.ModelObject.UpdateFromJson(JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelObject.cs:line 287
at DuetAPI.Machine.ModelCollectionHelper.UpdateFromJson(IList list, Type itemType, JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelCollection.cs:line 214
at DuetAPI.Machine.MachineModel.UpdateFromFirmwareModel(String key, JsonElement jsonElement) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/MachineModel.cs:line 162
at DuetControlServer.Model.Updater.Run() in /home/christian/duet/DuetSoftwareFramework/src/DuetControlServer/Model/Updater.cs:line 176
[debug] Updated key move
[debug] Updated key network
[debug] Updated key sensors
[debug] Updated key spindles
[debug] Updated key state
[debug] Updated key tools
[debug] Updated key volumes -
To make it was due to the SBC, I configured the duet in standalone mode and everything worked.
I might need the sbc in the future.