3.2 Servo making a grinding noise on reboot/M999
-
How about connecting the servo GND pin to a FAN control signal?
That way, (hopefully, @dc42 could verify) power would be removed from the servo during reboot and you'd need to "turn on the fan" with GCODE to power the servo again.
I would think a FAN output could handle the power requirements of a servo.
-
@alankilian Thank you for the reply. Seems the issue is with the PWM signal that gets generated. I have gone and started playing around with the PWM's Hz parameter on the declaration and that does change the amount of grinding - although I am beginning to think that it is just luck...
-
@Reefwarrior Yes, But I don't think changing the PWM frequency is the way to go.
Hobby servos like this should have a 50Hz update rate to function properly.
When the board resets and the signal value goes HIGH, the servo is going to mistakenly read that as a very long position pulse and will try to go all the way to one end of the travel.
Disconnecting toe power to the servo will prevent it from moving.
You could also build some external circuitry that blocks the constant-high signal during reboot. (I can describe that in another message if you're interested in going that way.)
But I think trying to disconnect the power would get you the results you like.
-
@alankilian Hi! Thank you Will tinker with this tomorrow - now I need to see which fan to substitute, as I am basically using all the fan's with PWM control....
-
avoid Fan1 since it powers on briefly at power up because it's intended for the heatsink fan in case the hotend was hot when power was cycled.
-
@Phaedrux Any specific recommendation? Or alternatively I can use an external mosfet connected to the expansion port for that too?
-
I'm not sure. This is uncharted territory for me.
-
@Phaedrux hahah ok No problem Thank you for the advice!
-
As per DC42 comment, I have added a 5K resistor between the pin (exp.e3stop) and GND and my issue is solved - the voltage spike at startup/shutdown is minimized and the pin can be used to send signals to an Arduino during operation without hazard of stray signal being send from reboot.
-
-
@vasparshin Hi. So you literally connected ground and the exp.e3stop with a 5k resistor? (ie. between ground and the exp.e3stop pin)? Mind sending a photo?
Tinus
-
Yes that is correct. 5K resistor between ground and the exp.e3stop and taking the signal from exp.e3stop to Arduino. My wiring is a complete mess so I've provided a diagram instead.
-
Brilliant thanx, got it like that. Working like a dream.