3.2 Servo making a grinding noise on reboot/M999
-
Can you post your full config.g? Do you have any servo movement commands in there as well?
If you comment out that M950 line in config.g does it stop making the grinding noise?
What firmware version and what Duet board?
-
Hi,
I have commented it out, no grinding noise. Sorry for the mess of the config.g file (pasted below) - I recently (SOMEHOW!) got a corrupt SD card (Duet2 Wifi) and most of my files were damaged... so this is basically a patched one from different bits I could make out...
Config.g ->
; Configuration file for Duet WiFi (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.1.4 on Tue Nov 03 2020 07:37:18 GMT-0800 (Pacific Standard Time); General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"Ender3" ; set printer name
;M918 P1 E4 F2000000 ; configure direct-connect display; Network
M552 S1 ; enable network
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet; Drives
M569 P0 S1 ; X Stepper
M569 P1 S1 ; Y Stepper
M569 P2 S0 ; Z Stepper
M569 P3 S1 ; not X Stepper
M584 X0 Y1 Z2 E3 ; set drive mapping
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
M92 X80.00 Y80.00 Z400.00 E381.38 ; set steps per mm
M566 X800.00 Y800.00 Z24.00 E300.00 ; set maximum instantaneous speed changes (mm/min)
M203 X15000.00 Y15000.00 Z800.00 E6000.00 ; set maximum speeds (mm/min)
M201 X500.00 Y500.00 Z250.00 E5000.00 ; set accelerations (mm/s^2)
M906 X800 Y800 Z800 E1200 I50 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 X-6 Y0 Z0 S1 ; set axis minima
M208 X220 Y235 Z335 S0 ; set axis maxima; Endstops
M574 X1 S1 P"!xstop" ; x-end stop with inverse operation
M574 Y1 S1 P"!ystop" ; y-end stop with inverse operation; Z-Probe
;M950 S0 C"exp.heater3" ; define servo
M558 P9 C"^zprobe.in" H5 F3000 T6000 A20 S0.06 ; set Z probe type to switch and the dive height + speeds
G31 X-36.6 Y-11.55 Z3.242 ; set Z probe trigger value, offset and trigger height // Z3.092
M557 X15:215 Y15:195 S20 ; define mesh grid;LED Light
;M950 F3 C"e1heat" Q500 ; create LED using PWM as fan and set frequency
;M106 P3 C"LED Light" S0 ; set fan 3 value. Thermostatic control is turned off.; Heaters
M308 S0 P"bedtemp" Y"thermistor" T100000 B4092 ; configure sensor 0 as thermistor on pin bedtemp
M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
M307 H0 B1 S0.85 ; enable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S150 ; set temperature limit for heater 0 to 150C
M308 S1 P"e0temp" Y"thermistor" T100000 B4092 ; configure sensor 1 as thermistor on pin e0temp
M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
M307 H1 B0 S0.85 ; disable bang-bang mode for heater and set PWM limit
M302 S180 R180 ; Set retraction/extruding temperature limits. Extruding 180, Retraction 180.
M143 H1 S320 ; Set maximum heater temperature to 320C; Fans
M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
M307 H1 B0 S0.85 ; disable bang-bang mode for heater and set PWM limit
M302 S180 R180 ; Set retraction/extruding temperature limits. Extruding 180, Retraction 180.
M143 H1 S320 ; Set maximum heater temperature to 320C; Fans
M950 F0 C"fan0" Q500 ; create fan 0ler Fan" H-1 ; set fan 2 value. Thermostatic control is turned on @ 0.8Factor and 180C
M106 P0 C"Hot End Fan" T45 H1
M950 F1 C"fan1" Q500 ; create fan 1
M106 P1 C"Stepper Fan" T130 H1 ; set fan1 value and rename to "Stepper Fan"
M950 F2 C"fan2" Q500 ; create fan 2
M106 P2 C"Part Cooling" H-1 ;
M950 F3 C"exp.heater3" Q500 ; create fan 4 on pin exp.heater3 and set its frequency
M106 P3 C"Case Fan" H-1 ; set fan 4 value. Thermostatic control is turned off; Light
M950 F4 C"e1heat"
M106 P4 C"LED 12V" H-1
;M950 J1 C"!exp.e2stop"
;M581 P1 T2; Tools
M563 P0 D0 H1 F0 ; 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; Custom settings are not defined
; Miscellaneous
M501 ; load saved parameters from non-volatile memory
T0 ; select first tool
;M581 P"!exp.e2stop" T2; Signal to user that probe and loading is complete
M501 ; Load EEPROM details
M575 P1 S1 B57600
M402
M401
M402
; Fully retract probe -
@Phaedrux said in Servo making a grinding noise on reboot/M999:
Do you have any servo movement commands in there as well?
Yes you do.
@Reefwarrior said in Servo making a grinding noise on reboot/M999:
M402
M401
M402Maybe try adding a few G4 pause commands in between those deploy and retract commands.
-
@Phaedrux Sorry I was too hasty in my reply. Even without the M402/401 commands, it does the same. It's asif there is a PWM spike to the servo just prior to the 'reset' command actually being initiated by the firmware.
-
What I also did notice is that all my fans goes on / off for a fraction of a second when sending the M999 command....
-
@Phaedrux said in Servo making a grinding noise on reboot/M999:
What firmware version and what Duet board?
Also, is this an actual BLTouch?
Does it do this on a normal power cycle, or only when doing a M999?
-
@Phaedrux No it's not a BL touch. It's basically a servo that moves my optical sensor's probe into position/out of position, to commence a probe for the Z axis.
It happens only during M999 or when it is rebooted (or emergency stop) from the webgui (eg. after editing the config.g file)
Switching the machine off/on with the physical switch does not give this problem.
Also:
Board: Duet 2 WiFi (2WiFi)
Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 3.2 (2021-01-05)
Duet WiFi Server Version: 1.25 -
And did this behaviour only start after updating to 3.2?
-
As far as I can recall, yes. Printer has been out of action for quite some time doing upgrades on the Z-axis - so I did go and flash the newest firmware before commencing the configuration of it - though before I worked on the printer, I did not have this issue... Think it was firmware 3.0 or something. Not too sure.
Just downgraded to 3.1.1; and still the same....
-
Would you be able to test the behaviour in 3.1.1?
It should be pretty easy to switch between versions by uploading the respective release zip files to the system tab in DWC.
https://github.com/Duet3D/RepRapFirmware/releases/download/3.1.1/Duet2and3Firmware-3.1.1.zip
https://github.com/Duet3D/RepRapFirmware/releases/download/3.2/Duet2and3Firmware-3.2.zip
-
nevermind, looks like you beat me to it.
-
@Phaedrux haha nothing more than luck on my side But yes, still the same is being observed.... Even if I go and issue M280 P0 S180 before the M999; it still does the same....
-
Thanks. Will add this to the list to investigate.
-
@Phaedrux Thank you
-
Would you be able to make a short video showing what it's doing?
-
sure. Where must I upload it?
-
Also a bit off topic, but with 3.2 the end-stop status on the 'Machine-Specific' tab is also missing....
-
Also found something else now. If I don't send any commands to the servo, and then issue M999; then there is no grinding or any activity. But as soon as I have issued a command to the servo; and then reboot, then this phenomenon occurs....
-
@Reefwarrior said in Servo making a grinding noise on reboot/M999:
Where must I upload it?
you can upload a small mp4 here to the forum or use dropbox or the like.
@Reefwarrior said in Servo making a grinding noise on reboot/M999:
end-stop status on the 'Machine-Specific' tab is also missing....
yes. hoping that will make a come back soon.
@Reefwarrior said in Servo making a grinding noise on reboot/M999:
If I don't send any commands to the servo, and then issue M999; then there is no grinding or any activity. But as soon as I have issued a command to the servo; and then reboot, then this phenomenon occurs
And that is true regardless of whether you have the M401/M402 commands present?
-
@Phaedrux Yes, Issued M280 instead of M401/2 and it does the same. So seems it is not linked to the M280/401/402 code; but perhaps something in the M999 code? Like basically sending a PWM pulse to the servo upon 'flushing' the memory before reboot or something.