Strange bug: Hot-end temp drops during tramming
Here's a video of it happening.
Here's my tramming g-code.
;File : bltouch-bed.g ;Effect : 4 point bed homing for the Bl-touch and magnetic bed, probing between magnets. ;Use-case : The BL-touch is affected by magnets. This 4 point bed.g was created by Robert Hendricks to probe points in the nulls in the magnetic field. ; : remove/rename the original bed.g and rename this file to 'bed.g' to activate. M561 ; clear any existing bed transform G30 P0 X50.5 Y70 Z-99999 ; define 4 points in a clockwise direction around the bed, starting near (0,0) G30 P1 X50.5 Y255.9 Z-99999 G30 P2 X273.9 Y255.9 Z-99999 G30 P3 X273.9 Y70 Z-99999 S3 G1 X0 Y0 F5000
=== Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 2.05 running on Duet Ethernet 1.02 or later + DueX5 Board ID: 08DGM-917DA-G4MS8-6J9DJ-3SD6M-KVSVA Used output buffers: 7 of 24 (23 max) === RTOS === Static ram: 25712 Dynamic ram: 93700 of which 12 recycled Exception stack ram used: 544 Never used ram: 11104 Tasks: NETWORK(ready,580) HEAT(blocked,1176) DUEX(suspended,160) MAIN(running,1300) IDLE(ready,160) Owned mutexes: === Platform === Last reset 16:40:28 ago, cause: power up Last software reset at 2020-02-02 22:31, reason: User, spinning module GCodes, available RAM 11376 bytes (slot 0) Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d Error status: 0 Free file entries: 9 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest block write time: 84.6ms, max retries 0 MCU temperature: min 23.6, current 39.7, max 43.3 Supply voltage: min 23.9, current 24.0, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes Driver 0: standstill, SG min/max 0/1023 Driver 1: standstill, SG min/max 0/1023 Driver 2: standstill, SG min/max not available Driver 3: standstill, SG min/max 0/244 Driver 4: standstill, SG min/max 0/1023 Driver 5: standstill, SG min/max 0/1023 Driver 6: standstill, SG min/max 0/1023 Driver 7: standstill, SG min/max 0/1023 Driver 8: standstill, SG min/max not available Driver 9: standstill, SG min/max not available Date/time: 2020-02-04 12:00:44 Cache data hit count 4294967295 Slowest loop: 169.02ms; fastest: 0.07ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Move === Hiccups: 0, FreeDm: 160, MinFreeDm: 104, MaxWait: 21605969ms Bed compensation in use: none, comp offset 0.000 === DDARing === Scheduled moves: 39, completed moves: 39, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 === Heat === Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 Heater 0 is on, I-accum = 0.2 Heater 2 is on, I-accum = 0.7 === GCodes === Segments left: 0 Stack records: 3 allocated, 0 in use Movement lock held by null http is idle in state(s) 0 telnet is idle in state(s) 0 file is idle in state(s) 0 serial is idle in state(s) 0 aux is idle in state(s) 0 daemon is idle in state(s) 0 queue is idle in state(s) 0 autopause is idle in state(s) 0 Code queue is empty. === Network === Slowest loop: 183.35ms; fastest: 0.02ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0) HTTP sessions: 1 of 8 Interface state 5, link 100Mbps full duplex
; Configuration file for RailcoreII 300ZL Series Printers ; Do NOT change this file. All customizations should occur in config-user.g ; Debugging M111 S0 ; Debug off M929 P"eventlog.txt" S1 ; Start logging to file eventlog.txt M550 P"RailCore" ; Machine name and Netbios name (can be anything you like) M552 S1 P192.168.1.201 ; Use DHCP ; General preferences M555 P2 ; Set output to look like Marlin M575 P1 B57600 S1 ; Comms parameters for PanelDue G21 ; Work in millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Axis and motor configuration M669 K1 ; CoreXY mode ; Drives M584 X0 Y1 Z5:6:7 E3:4:8:9; U5 V6 W7 ; Map Z to drivers 5, 6, 7. Define unused drivers 3,4,8 and 9 as extruders M569 P0 S0 ; Drive 0 goes forwards (change to S0 to reverse it)| X stepper M569 P1 S1 ; Drive 1 goes backwards(change to S1 to reverse it)| Y Stepper M569 P2 S1 ; Drive 2 goes forwards | Unused M569 P3 S1 ; Drive 3 goes forwards | Extruder S1 for Bondtech, S0 for Titan M569 P4 S0 ; Drive 4 goes forwards | Extruder (unused) M569 P5 S0 ; Drive 5 goes backwards | Front Left Z M569 P6 S0 ; Drive 6 goes backwards | Rear Left Z M569 P7 S0 ; Drive 7 goes backwards | Right Z ;Leadscrew locations M671 X-10:-10:333 Y22.5:277.5:150 S7.5 ;Front left,(-10,22.5) Rear Left (-10.,227.5) , Right (333,160) S7.5 is the max correction - measure your own offsets, to the bolt for the yoke of each leadscrew ; Axis and motor configuration M350 X16 Y16 Z16 I1 ; Set 16x microstepping for axes & extruder, with interpolation. M350 E64:64 I0 M574 X1 Y1 Z0 S1 U0 V0 W0 ; Set homing switch configuration (x,y at min, z at max) IF YOU NEED TO REVERSE YOUR HOMING SWITCHES CHANGE S1 to S0 M906 X1400 Y1400 Z1400 E1000 I60 ; Motor currents (mA) - WARNING: Conservative - May trigger stallguard (and prematurely during homing) if sensorless. M201 X2000 Y2000 Z100 E2000 ; Accelerations (mm/s^2) - WARNING: Conservative M203 X48000 Y48000 Z300 E5000 ; Maximum speeds (mm/min) - WARNING: Conservative M566 X1500 Y1500 Z20 E750 ; Maximum jerk speeds mm/minute - WARNING: Conservative M92 X200 Y200 Z1600 ; Steps/mm for X.Y M92 Z1600 ; Steps/mm for Z - TR8*2 / 1.8 deg stepper or TR8*4 / 0.9 deg stepper M92 E3100:3100 ; Extruder - 0.9 deg/step (ProjectR3D kit with E3D stepper MT-1701HSM140AE or Standard Titan stepper 42BYGHM208P4.5-15-X2) ; Set axis minima:maxima switch positions (Adjust to suit your machine and to make X=0 and Y=0 the edges of the bed) ; These values are conservative to start with, adjust during commissioning. M208 X0:280 Y0:284 Z-0.2:620 ; Conservative 300ZL/T settings (or 250ZL) ; Thermistors M305 P0 S"Bed" T100000 B3950 R4700 H0 L0 ; BOM thermistor values. Put your own H and/or L values here to set the bed thermistor ADC correction M305 P2 S"Right" T100000 B4725 C7.06e-8 R4700 H0 L0 ; E3D Semitec 104GT2 thermistor values. Put your own H and/or L values here to set the first nozzle thermistor ADC correction M305 P1 S"Left" X200 ;M305 P2 S"Right" X201 ;Heaters M570 S360 ; Print will be terminated if a heater fault is not reset within 360 minutes. M143 H0 S160 ; Maximum H0 (Bed) heater temperature M143 H1 S300 ; Maximum H1 (Extruder) heater temperature (Conservative and in case extruder has PTFE lining) M143 H2 S300 M140 S-273 R-273 ; Standby and initial Temp for bed as "off" (-273 = "off") ; Default heater model M307 H0 A270.7 C90.4 D6.7 B0 S1.0 ; Default Bed Heater Parameters, before tuning / if config-override.g is missing M307 H1 A508.1 C249.0 D3.8 S1.00 V24.2 B0 ; Default Tool Heater Parameters, before tuning / if config-override.g is missing\ M307 H2 A508.1 C249.0 D3.8 S1.00 V24.2 B0 ; Default Tool Heater Parameters, before tuning / if config-override.g is missing ; Fans M106 P0 H-1 ; Disable thermostatic mode for fan 0 M106 P1 H-1 ; Disable thermostatic mode for fan 1 ;M106 P2 H-1 ; Disable thermostatic mode for fan 2 M106 P0 S0 ; Turn off fans M106 P1 S0 ;M106 P2 S0 M106 P3 H1:2 T60:200 L.5 X128 ; Tool definitions M563 P0 D0 H1 F0:1 ; Define tool 0 M563 P1 D1 H2 F0:1 ; Define tool 1 G10 P0 S-273 R-273 ; Set tool 0 operating and standby temperatures(-273 = "off") G10 P1 X-0.9 Y-24 M557 X20:280 Y0:280 S16:16 ; Set Default Mesh (conservative) M98 P"config-user.g" ; Load custom user config M501 ; Load saved parameters from non-volatile memory
; Z probe and compensation definition M558 P9 F100 H3 R0.2 T6000 A5 B1 ; BL-touch G31 X0 Y45 Z0.677 P25 ; BL-touch - Z Offset set to 0, determine your own Z-Offset and enter it here (Note: Positive number is closer to the bed) M307 H7 A-1 C-1 D-1 ; BL-touch : remaps some channels to make the PWM port on the Duex5 work for a Z-probe if you use a different PWM port than the docs show, you have to change that
; config-override.g file generated in response to M500 at 2020-01-12 09:53 ; This is a system-generated file - do not edit ; Heater model parameters M307 H0 A230.4 C645.8 D9.1 S1.00 V24.1 B0 M307 H1 A425.7 C265.4 D4.4 S1.00 V24.0 B0 M307 H2 A334.6 C199.9 D4.9 S1.00 V24.0 B0 M307 H3 A340.0 C140.0 D5.5 S1.00 V0.0 B0 M307 H4 A340.0 C140.0 D5.5 S1.00 V0.0 B0 M307 H5 A340.0 C140.0 D5.5 S1.00 V0.0 B0 M307 H6 A340.0 C140.0 D5.5 S1.00 V0.0 B0 G10 L2 P1 X0.00 Y0.00 Z0.00 G10 L2 P2 X0.00 Y0.00 Z0.00 G10 L2 P3 X0.00 Y0.00 Z0.00 G10 L2 P4 X0.00 Y0.00 Z0.00 G10 L2 P5 X0.00 Y0.00 Z0.00 G10 L2 P6 X0.00 Y0.00 Z0.00 G10 L2 P7 X0.00 Y0.00 Z0.00 G10 L2 P8 X0.00 Y0.00 Z0.00 G10 L2 P9 X0.00 Y0.00 Z0.00
M558 P9 F100 H3 R0.2 T6000 A5 B1
You've got B1 set. It temporarily halts the heaters during probing to remove potential interference. Useful for probes like the BLTouch that may have wires running next to high current heaters and is close to potentially large bed heaters.
So, not a bug, it's a feature.
Try turning it off and see if your BLTouch still behaves. If it does you can probably run fine without it set.
@Phaedrux I'd just managed to work that out when you replied! Though gcode dictionary says it turns off the bed heater, not hot end?:
Bn If 1, turn off bed heater while probing, default (B0) leaves heater on. (RepRapFirmware 1.21 and later)
I believe it also halts the hotend, at least that's what it seems to do on mine.
Also, why doesn't it do it when it homes-Z?
Doesn't it? When I tested it today I was just using homeall and it was doing it.
Maybe it's faster so you're not noticing? But it should be happening when G30 is executed.