Close



Results 1 to 10 of 39

Thread: Auto leveling

Hybrid View

  1. #1
    Super Moderator RobH2's Avatar
    Join Date
    Nov 2013
    Location
    Baltimore, MD
    Posts
    897
    Add RobH2 on Thingiverse
    I'm getting the same kinds of anomalies. I'm always having to tweak my gap in 'configuration.h'. But still, it's nice to have.

    One odd thing I have is the servo is "twitchy." When it's up and a print it running, it makes little noises and twitches ever so slightly. I just unplug it when it bothers me but then I always forget to plug it back in. I thought that it might be a bad servo so I took the time to switch it out. Same thing. It appears that some stray current pulses through that header and causes the servo to twitch. I doesn't cause any print issues but I worry about it damaging the servo or wearing it out. Any thoughts?
    Bambu P1S/AMS
    NVision4D http://nvision4d.com

  2. #2
    Super Moderator Roxy's Avatar
    Join Date
    Apr 2014
    Location
    Lone Star State
    Posts
    2,182
    Quote Originally Posted by RobH2 View Post
    I'm getting the same kinds of anomalies. I'm always having to tweak my gap in 'configuration.h'. But still, it's nice to have.

    One odd thing I have is the servo is "twitchy." When it's up and a print it running, it makes little noises and twitches ever so slightly. I just unplug it when it bothers me but then I always forget to plug it back in. I thought that it might be a bad servo so I took the time to switch it out. Same thing. It appears that some stray current pulses through that header and causes the servo to twitch. I doesn't cause any print issues but I worry about it damaging the servo or wearing it out. Any thoughts?
    Two comments. First, you might want to check out your

    #define PROBE_SERVO_DEACTIVATION_DELAY 500

    If you don't have a value specified, it will stay on all the time. Probably, you don't want that.

    The other point is you might want to make some type of stop at the right position so the servo can only travel so far. Then you can tell the servo to go slightly past that stop and it will be pressing hard and not twitching. I also made my probe such that when it is pressing on the bed, the probe gets pressed a little bit against the stop. That way the repeatability of the measurements is better.

  3. #3
    Engineer clough42's Avatar
    Join Date
    May 2014
    Location
    Meridian, ID
    Posts
    418
    Quote Originally Posted by Roxy View Post
    Two comments. First, you might want to check out your

    #define PROBE_SERVO_DEACTIVATION_DELAY 500

    If you don't have a value specified, it will stay on all the time. Probably, you don't want that.

    The other point is you might want to make some type of stop at the right position so the servo can only travel so far. Then you can tell the servo to go slightly past that stop and it will be pressing hard and not twitching. I also made my probe such that when it is pressing on the bed, the probe gets pressed a little bit against the stop. That way the repeatability of the measurements is better.
    Second that.

    The other thing you can do is use a Z probe design that has the button (or tip of the lever) is directly in line below the servo shaft. This way, the error is the cosine of the absolute servo arm position error, which is pretty much nil in this situation. If it isn't in line below the pivot, the error can be significant.

    I think the reason the servo twitches is because the Arduino isn't able to schedule the interrupts for the servo pulses reliably. As load on the MCU changes, it has a hard time maintaining the pulse width, exactly. This is particularly the case when the mechanics are moving. Marlin (correctly) prioritizes the stepper motors at the expense of servo precision.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •