Close



Results 1 to 10 of 55

Threaded View

  1. #11
    Staff Engineer printbus's Avatar
    Join Date
    May 2014
    Location
    Highlands Ranch, Colorado USA
    Posts
    1,437
    Add printbus on Thingiverse
    TESTING XY TRAVEL MOVEMENTS WITH GCODE

    Some simple gcode files were useful in checking out the mechanics of my i3v. Here are sets of gcode for use with the X and Y axes, with Z and the extruder to follow later. Copy the gcode into text files and "print" them either via the SD card or your host software. You don't need to heat up the hot end to run these. I used the Repetier Host gcode editor to adjust values between prints.

    Code:
    ; gcode for testing the X axis
    ; be sure to manually position Y and Z first to clear bed clips etc.
    G28 X  ; home X to initialize it
    M201 X500 ; this will override the DEFAULT_MAX_ACCELERATION for X
    G0 F12000  ; set travel rate to be used in mm per minute
    G0 X180    ; move to X = 180 mm
    G0 X20     ; move to X = 20 mm
    G0 X180
    G0 X20
    G0 X180
    G0 X20
    G0 X180
    G0 X20
    After homing the X axis, the X carriage will move back and forth between X=20 to X=180 a handful of times, at the feed rate specified by the G0 F command, using the max acceleration value from the M201 command. In this example, the travel rate is set to the 200 mm/sec (or 12,000 mm/minute) DEFAULT_MAX_FEEDRATE value derived in an earlier post. You can edit the 180 to a larger value if you have the 10 inch or 12 inch printer, and you could repeat the G0 X180 and G0 X20 lines as desired if you want more passes.

    You can change the M201 command value to get a feeling for the effect different max acceleration values have. Go lower and you'll be able to grasp how a low acceleration value can keep the X carriage from getting very fast - it will eat up too much of the available distance accelerating and then decelerating. You can play around with higher (faster acceleration) values, but above some point you won't see any difference - perhaps because the DEFAULT_ACCELERATION or the DEFAULT_XYJERK factors are coming into play. We'll get into those settings later.

    You can use this test to determine whether you have motor skipping issues at the DEFAULT_MAX_FEEDRATE value you've settled on for X. If you don't know how to tell if your motor is skipping keep cranking the value up. You'll figure it out.

    I've noticed the X belt occasionally resonating over by the X-motor on some prints. Running this gcode indicated the belt resonated reliably at the 12000 mm/minute max feed rate rate. By experimenting with the value in the G0 F command, I determined the belt resonation occurs until I drop down to about a 9500 mm/min feed rate, or what would be about 158 mm/sec for X in DEFAULT_MAX_FEEDRATE. This is above the max printing speeds we've discussed, so the belt flutter would only be occurring on travel moves. I'm not sure the flutter on travel moves would affect print quality, so it might be a non-issue. Yeah, I could add more adhesive Velcro loop to the belt channel of the aluminum extrusion to dampen the resonation, but I want to find a more elegant solution that doesn't risk catching on the X-carriage belt mount hardware. Until then, I'm sticking with a max feed rate of 158 mm/sec so I simply know the belt flutter won't be there.

    I've also noticed bursts of a resonation coming from the X-carriage and extruder on pretty much every print, but I've never been able to determine the source of it. Running this test, the resonation would briefly occur during the acceleration and deceleration on each leg. More experimenting with the G0 F command revealed it happens around a feed rate of 3500 mm/min, or 58 mm/sec. I still couldn't pin point exactly where the noise is coming from, but found I could manage it by adjusting the stepper driver trimpot for the X-motor.

    The long travel moves were instrumental in playing with the X stepper driver trimpot, getting a feeling for what setting was too low (motor skipped a lot), and too high (leading to the resonation noise in the extruder). I looked for a setting that gave me the ability to overcome some hand pressure on the x-carriage at the 158 mm/sec feed rate while still not making a lot of step noise. I think I've now got a better real-world adjustment on the X-motor driver than I've had before and no voltmeter was used. FWIW, I did later measure the current limit setting at just 0.10v.

    This testing also proved, contrary to what I've said several times, that the high resistance 9.5V motors that "run hot" are in fact affected by the stepper driver current limit adjustment.

    Similar gcode for Y:
    Code:
    ; gcode for testing the Y axis
    ; be sure to manually position X and Z first to clear bed clips etc.
    G28 Y  ; home Y to initialize it
    M201 Y500 ; this will override the DEFAULT_MAX_ACCELERATION for Y
    G0  F12000  ; set travel rate to be used in mm per minute
    G0 Y180     ; move to Y = 180 mm
    G0 Y20      ; move to Y = 20 mm
    G0 Y180
    G0 Y20
    G0 Y180
    G0 Y20
    G0 Y180
    G0 Y20
    The upper part of my Y-belt also resonates near the Y-motor at high travel rates, and it stops occurring at about the same 9500 mm/minute rate as well. The current limit adjustment on the Y-motor stepper driver was adjusted by feel and sound like the X-motor. I later measured the current limit adjustment for the Y-motor set to 0.12v.

    FOLLOWUP COMMENT: One thought is that the X and Y belt flutter is related to belt tension, but earlier attempts at adjusting it weren't very conclusive. Now I at least know there's a way to repeat the flutter at will and observe how things like belt tension might make a difference.

    HOMEWORK AND INDEPENDENT STUDY
    Put together some gcode that moves around the print bed in a square. I'm envisioning a future post where we use such a test with concentric squares spaced at 10 or 20 mm so we can see cumulative effects of jerk, acceleration and feed rate settings across different sizes of square movements...

    REFERENCES
    The test concept leverages discussion near the end of https://github.com/ErikZalm/Marlin/issues/305#issue
    Last edited by printbus; 12-21-2014 at 12:24 PM.

Posting Permissions

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