Extra Steps?

Home Forums TinyG TinyG Support Extra Steps?

Viewing 15 posts - 1 through 15 (of 21 total)
  • Author
    Posts
  • #1460

    Hey guys, I got the new firmware installed, things are configured, looks like I’m almost ready to run.

    I’m seeing this odd behavior, though, at the end of a GCode command. Each axis runs nicely with either a G0 or G1 command, but at the end of the run the board continues to pulse the motor intermittently (two or three times a second). It does not seem like it’s actually moving the motor (or if it is, it’s imperceptible), and it does not seem to stop (I’ve had to reset the board after several minutes).

    Here’s a clip of the behavior. You can see how the board lights up continuously as the motor actually moves, then starts pulsing intermittently.

    Is this dependent on a config setting? I’m pretty confident that things are set up correctly; the motors move nicely except for the end phase, the only thing I’m not positive on is the max jerk setting which I put at 2,000,000 (inches). I tried a few different jm values but it did not seem to have any effect.

    Thanks,
    Chris

    #1461
    alden
    Member

    Chris, what firmware revision are you running? I may need to get you an update. The revision is one of the first lines that happens after a reset.

    #1462

    Alden, here is the version info that I got thru CoolTerm:

    #### TinyG build 322.02 – “Filariasis” ####

    #1463
    alden
    Member

    I’m not seeing this behavior on build 322.02 – which doesn’t mean it’s not happening to your board. Can you please either send me the file you are using or show me the command line that exhibits the behavior? What motor and axis was this happening on – or more than one?

    Also, were there any #### TRAP #### or #### INFO #### messages?

    #1464
    Riley
    Keymaster

    Chris,

    Do me a favor. I need you to issue a $$ command and capture the response to a txt file. Paste that txt file into here. We need to verify that your settings. You can set something and screw up your day 🙂 I know I have before.

    Riley

    #1465
    Riley
    Keymaster

    Chris,

    Do me a favor. I need you to issue a $$ command and capture the response to a txt file. Paste that txt file into here. We need to verify that your settings. You can set something and screw up your day 🙂 I know I have before.

    Riley

    #1466

    Seems like it’s on all three axes, with both G1 and G0 commands.

    Here are a few manual G-Codes I tried, that all produced the ‘extra stepping’:

    tinyg[mm] ok> g20
    tinyg[inch] ok> g0 x2
    tinyg[inch] ok> g1 y4 f20
    tinyg[inch] ok> g0 z1
    tinyg[inch] ok>

    And a simple nc file, which seemed to do the same thing, with the addition of the Z axis slowly creeping down to it’s lower limit the entire run (I had to shut it off before it could finish the file).

    Also I haven’t seen either of those error messages.

    #1467

    Riley, wouldn’t be the first for me either! Thanks for being so responsive.

    Here’s the dump:

    Profile 1.00 [P_1.00]
    Version 0.90 [V_0.90]
    Motor 1 – Mapped to axis 0 [0=X,1=Y…] $1MA0
    Motor 1 – Step angle 1.80 degrees $1SA1.80
    Motor 1 – Travel/rev 1.600 inches $1TR1.600
    Motor 1 – Microsteps 2 [1,2,4,8] $1MI2
    Motor 1 – Motor polarity 0 [0,1] $1PO0
    Motor 1 – Power mgmt mode 0 [0,1] $1PW0
    Motor 2 – Mapped to axis 1 [0=X,1=Y…] $2MA1
    Motor 2 – Step angle 1.80 degrees $2SA1.80
    Motor 2 – Travel/rev 1.600 inches $2TR1.600
    Motor 2 – Microsteps 2 [1,2,4,8] $2MI2
    Motor 2 – Motor polarity 1 [0,1] $2PO1
    Motor 2 – Power mgmt mode 0 [0,1] $2PW0
    Motor 3 – Mapped to axis 2 [0=X,1=Y…] $3MA2
    Motor 3 – Step angle 1.80 degrees $3SA1.80
    Motor 3 – Travel/rev 0.063 inches $3TR0.063
    Motor 3 – Microsteps 4 [1,2,4,8] $3MI4
    Motor 3 – Motor polarity 1 [0,1] $3PO1
    Motor 3 – Power mgmt mode 0 [0,1] $3PW0
    Motor 4 – Mapped to axis 3 [0=X,1=Y…] $4MA3
    Motor 4 – Step angle 1.80 degrees $4SA1.80
    Motor 4 – Travel/rev 0.709 inches $4TR0.709
    Motor 4 – Microsteps 8 [1,2,4,8] $4MI8
    Motor 4 – Motor polarity 0 [0,1] $4PO0
    Motor 4 – Power mgmt mode 1 [0,1] $4PW1
    X axis – Axis mode 1 [0-10] $XMO1
    X axis – Seek rate 250.00 in/min $XSR250.00
    X axis – Feed rate 200.00 in/min $XFR200.00
    X axis – Travel hard limit 16 inches $XTH16
    X axis – Travel soft limit 15 inches $XTS15
    X axis – Jerk maximum 2000000.00 in/min^3 $XJM2000000
    X axis – Cornering delta 0.0020 in $XCD0.0020
    X axis – Limit switch mode 1 [0,1] $XLI1
    X axis – Homing enabled 1 [0,1] $XHE1
    X axis – Homing seek rate 31.50 in/min $XHR31.50
    X axis – Homing close rate 0.39 in/min $XHC0.39
    X axis – Homing offset -7.87 inches $XHO-7.87
    X axis – Homing backoff 0.20 inches $XHB0.20
    Y axis – Axis mode 1 [0-10] $YMO1
    Y axis – Seek rate 250.00 in/min $YSR250.00
    Y axis – Feed rate 250.00 in/min $YFR250.00
    Y axis – Travel hard limit 7 inches $YTH7
    Y axis – Travel soft limit 7 inches $YTS7
    Y axis – Jerk maximum 2000000.00 in/min^3 $YJM2000000
    Y axis – Cornering delta 0.0020 in $YCD0.0020
    Y axis – Limit switch mode 1 [0,1] $YLI1
    Y axis – Homing enabled 1 [0,1] $YHE1
    Y axis – Homing seek rate 31.50 in/min $YHR31.50
    Y axis – Homing close rate 0.39 in/min $YHC0.39
    Y axis – Homing offset -3.43 inches $YHO-3.43
    Y axis – Homing backoff 0.20 inches $YHB0.20
    Z axis – Axis mode 1 [0-10] $ZMO1
    Z axis – Seek rate 10.00 in/min $ZSR10.00
    Z axis – Feed rate 9.00 in/min $ZFR9.00
    Z axis – Travel hard limit 3 inches $ZTH3
    Z axis – Travel soft limit 3 inches $ZTS3
    Z axis – Jerk maximum 50000.00 in/min^3 $ZJM50000
    Z axis – Cornering delta 0.0020 in $ZCD0.0020
    Z axis – Limit switch mode 1 [0,1] $ZLI1
    Z axis – Homing enabled 1 [0,1] $ZHE1
    Z axis – Homing seek rate 19.69 in/min $ZHR19.69
    Z axis – Homing close rate 0.39 in/min $ZHC0.39
    Z axis – Homing offset -1.46 inches $ZHO-1.46
    Z axis – Homing backoff 0.20 inches $ZHB0.20
    A axis – Axis mode 3 [0-10] $AMO3
    A axis – Seek rate 12000 deg/min $ASR12000
    A axis – Feed rate 12000 deg/min $AFR12000
    A axis – Travel hard limit -1 degrees $ATH-1
    A axis – Travel soft limit -1 degrees $ATS-1
    A axis – Jerk maximum 50000000 deg/min^3 $AJM50000000
    A axis – Cornering delta 0.0020 in $ACD0.0020
    A axis – Radius value 0.394 inches $ARA0.394
    A axis – Limit switch mode 1 [0,1] $ALI1
    A axis – Homing enabled 1 [0,1] $AHE1
    A axis – Homing seek rate 12000 deg/min $AHR12000.00
    A axis – Homing close rate 360 deg/min $AHC360.00
    A axis – Homing offset 0 degrees $AHO0.00
    A axis – Homing backoff 5 degrees $AHB5.00
    B axis – Axis mode 3 [0-10] $BMO3
    B axis – Seek rate 12000 deg/min $BSR12000
    B axis – Feed rate 12000 deg/min $BFR12000
    B axis – Travel hard limit -1 degrees $BTH-1
    B axis – Travel soft limit -1 degrees $BTS-1
    B axis – Jerk maximum 50000000 deg/min^3 $BJM50000000
    B axis – Cornering delta 0.0020 in $BCD0.0020
    B axis – Radius value 0.394 inches $BRA0.394
    B axis – Limit switch mode 1 [0,1] $BLI1
    B axis – Homing enabled 0 [0,1] $BHE0
    B axis – Homing seek rate 12000 deg/min $BHR12000.00
    B axis – Homing close rate 360 deg/min $BHC360.00
    B axis – Homing offset 0 degrees $BHO0.00
    B axis – Homing backoff 5 degrees $BHB5.00
    C axis – Axis mode 3 [0-10] $CMO3
    C axis – Seek rate 12000 deg/min $CSR12000
    C axis – Feed rate 12000 deg/min $CFR12000
    C axis – Travel hard limit -1 degrees $CTH-1
    C axis – Travel soft limit -1 degrees $CTS-1
    C axis – Jerk maximum 50000000 deg/min^3 $CJM50000000
    C axis – Cornering delta 0.0020 in $CCD0.0020
    C axis – Radius value 0.394 inches $CRA0.394
    C axis – Limit switch mode 1 [0,1] $CLI1
    C axis – Homing enabled 0 [0,1] $CHE0
    C axis – Homing seek rate 12000 deg/min $CHR12000.00
    C axis – Homing close rate 360 deg/min $CHC360.00
    C axis – Homing offset 0 degrees $CHO0.00
    C axis – Homing backoff 5 degrees $CHB5.00
    Gcode: Units {G20,G21} 21 [20,21] $GU21
    Gcode: Plane {G17,G18,G19} 17 [17,18,19] $GL17
    Gcode: Path {G61,G61.1,G64} 64.0 [61,61.1,64] $GP64.0
    Gcode: Distance Mode {G90,G91} 90 [90,91] $GD90
    Enable Acceleration 1 [0,1] $EA1
    Jerk corner acceleration 1969 in/min^2 $JA1969
    Min segment length 0.0020 inches $MM0.0020
    Min segment time 10000 uSec $MT10000
    Homing mode 0 [0,1] $HM0
    Convert LF to CR LF (outgoing) 0 [0,1] $EC0
    Ignore Incoming CR 0 [0,1] $IC0
    Ignore Incoming LF 0 [0,1] $IL0
    Enable Xon/Xoff Flow Control 1 [0,1] $EX1
    Enable Echo 1 [0,1] $EE1
    Profile 0.90 [0.90]

    #1468
    alden
    Member

    Chris – I ran the 322.02 version with the settings you provided over the weekend. I couldn’t get it to reproduce the issue. Some notes:

    – Since you have the low-power idle mode disabled on X and Y the green lights may stay lit once things have stopped. This is normal. But they shouldn’t be flashing.

    – The Jerk term you have (2,000,000 inches/min^3) is really really high. The 3rd power makes it hard to compare inches to mm settings – so converting to mm is a really big number. Did you arrive at this experimentally? You might want to drop this somewhat. I should probably have some guidance on setting this in the wiki.

    I uploaded a new version of the code to the github. https://github.com/synthetos/TinyG
    You should see version 0.91 (build 324.15) up there. Can you try this out and see if the issue persists?

    Thanks – Alden

    #1469
    alden
    Member

    AHA! Riley may have figured this one out.

    It’s quite possible that your board is cycling in and out of thermal shutdown when idle. If you have too much current the chips will get really hot and turn off. Until they cool down. Then they turn on again. Idle (without low-power idle mode) takes more current than moving. Depending on the current setting, this cycling can go from really slow to really fast (almost a stutter).

    You have an older board, and I think it only has one current pot on it. Try adjusting the current pot down and see if the behavior changes. You could also enable power management mode for Z ($3PW1), which is a screw axis – no?

    If this works you might be fine with the current reduction. In most cases the motors still get plenty of power and this does the trick. If you need more current than the board can support in idle mode then you should get some heatsinks and also fan cool the board.

    Let us know if this works. – Alden

    #1470
    Riley
    Keymaster

    Did it work? Was it the thermal shutdown?

    #1471

    Hey guys, I think Riley’s suggestion about the current reduction did the trick. I’m putting together a heatsink/fan right now… will update soon.

    #1472

    OK, I’m much closer today but things are still not quite right. Here’s the gist:

    -I found that the chips were getting pretty hot, so I added a heatsink and fan.

    -I adjusted the current pot (there’s only one on my board) per Riley’s suggestion, and that did seem to fix the stuttering. The green axis light will sometimes stay lit on X and Y, but it no longer flashes.

    -I enabled power management on the Z axis since it is on a leadscrew, and there is no indicator light after finishing a Z command.

    -I can send Gcode to the board, but I’m consistently missing steps on the X and Y axes.

    I think either my JM settings in the firmware are still off or I have not actually set the current correctly. So my questions are:

    -Is there a clear indicator of what the current pot is set to, and which turning direction increases current? I just tried randomly dialing it up and down today to see what happened, and tweaked it until the stuttering was no longer happening.

    -What is a reasonable Max Jerk setting for a machine configured in inches? I reference the wiki in originally setting mine to 2,000,000 in/min^3, but Alden mentioned that this is too high.

    Here’s my updated config settings:

    Motor 1 – Mapped to axis 0 [0=X,1=Y…] $1MA0
    Motor 1 – Step angle 1.80 degrees $1SA1.80
    Motor 1 – Travel/rev 1.600 inches $1TR1.600
    Motor 1 – Microsteps 2 [1,2,4,8] $1MI2
    Motor 1 – Motor polarity 0 [0,1] $1PO0
    Motor 1 – Power mgmt mode 0 [0,1] $1PW0
    Motor 2 – Mapped to axis 1 [0=X,1=Y…] $2MA1
    Motor 2 – Step angle 1.80 degrees $2SA1.80
    Motor 2 – Travel/rev 1.600 inches $2TR1.600
    Motor 2 – Microsteps 2 [1,2,4,8] $2MI2
    Motor 2 – Motor polarity 1 [0,1] $2PO1
    Motor 2 – Power mgmt mode 0 [0,1] $2PW0
    Motor 3 – Mapped to axis 2 [0=X,1=Y…] $3MA2
    Motor 3 – Step angle 1.80 degrees $3SA1.80
    Motor 3 – Travel/rev 0.063 inches $3TR0.063
    Motor 3 – Microsteps 4 [1,2,4,8] $3MI4
    Motor 3 – Motor polarity 1 [0,1] $3PO1
    Motor 3 – Power mgmt mode 1 [0,1] $3PW1
    Motor 4 – Mapped to axis 2 [0=X,1=Y…] $4MA2
    Motor 4 – Step angle 1.80 degrees $4SA1.80
    Motor 4 – Travel/rev 0.100 inches $4TR0.100
    Motor 4 – Microsteps 8 [1,2,4,8] $4MI8
    Motor 4 – Motor polarity 0 [0,1] $4PO0
    Motor 4 – Power mgmt mode 1 [0,1] $4PW1
    X axis – Axis mode 1 [0-10] $XMO1
    X axis – Seek rate 65.00 in/min $XSR65.00
    X axis – Feed rate 62.00 in/min $XFR62.00
    X axis – Travel hard limit 16 inches $XTH16
    X axis – Travel soft limit 15 inches $XTS15
    X axis – Jerk maximum 50000.00 in/min^3 $XJM50000
    X axis – Cornering delta 0.0020 in $XCD0.0020
    X axis – Limit switch mode 1 [0,1] $XLI1
    X axis – Homing enabled 1 [0,1] $XHE1
    X axis – Homing seek rate 53.15 in/min $XHR53.15
    X axis – Homing close rate 0.39 in/min $XHC0.39
    X axis – Homing offset -7.87 inches $XHO-7.87
    X axis – Homing backoff 0.20 inches $XHB0.20
    Y axis – Axis mode 1 [0-10] $YMO1
    Y axis – Seek rate 65.00 in/min $YSR65.00
    Y axis – Feed rate 62.00 in/min $YFR62.00
    Y axis – Travel hard limit 12 inches $YTH12
    Y axis – Travel soft limit 11 inches $YTS11
    Y axis – Jerk maximum 50000.00 in/min^3 $YJM50000
    Y axis – Cornering delta 0.0020 in $YCD0.0020
    Y axis – Limit switch mode 1 [0,1] $YLI1
    Y axis – Homing enabled 1 [0,1] $YHE1
    Y axis – Homing seek rate 53.15 in/min $YHR53.15
    Y axis – Homing close rate 0.39 in/min $YHC0.39
    Y axis – Homing offset -5.91 inches $YHO-5.91
    Y axis – Homing backoff 0.20 inches $YHB0.20
    Z axis – Axis mode 1 [0-10] $ZMO1
    Z axis – Seek rate 17.00 in/min $ZSR17.00
    Z axis – Feed rate 15.00 in/min $ZFR15.00
    Z axis – Travel hard limit 3 inches $ZTH3
    Z axis – Travel soft limit 3 inches $ZTS3
    Z axis – Jerk maximum 50000.00 in/min^3 $ZJM50000
    Z axis – Cornering delta 0.0020 in $ZCD0.0020
    Z axis – Limit switch mode 1 [0,1] $ZLI1
    Z axis – Homing enabled 1 [0,1] $ZHE1
    Z axis – Homing seek rate 53.15 in/min $ZHR53.15
    Z axis – Homing close rate 0.39 in/min $ZHC0.39
    Z axis – Homing offset -1.46 inches $ZHO-1.46
    Z axis – Homing backoff 0.20 inches $ZHB0.20
    A axis – Axis mode 3 [0-10] $AMO3
    A axis – Seek rate 51024 deg/min $ASR51024
    A axis – Feed rate 45921 deg/min $AFR45921
    A axis – Travel hard limit -1 degrees $ATH-1
    A axis – Travel soft limit -1 degrees $ATS-1
    A axis – Jerk maximum 50000000 deg/min^3 $AJM50000000
    A axis – Cornering delta 0.0020 in $ACD0.0020
    A axis – Radius value 0.394 inches $ARA0.394
    A axis – Limit switch mode 1 [0,1] $ALI1
    A axis – Homing enabled 1 [0,1] $AHE1
    A axis – Homing seek rate 45921 deg/min $AHR45921.26
    A axis – Homing close rate 360 deg/min $AHC360.00
    A axis – Homing offset 0 degrees $AHO0.00
    A axis – Homing backoff 5 degrees $AHB5.00
    B axis – Axis mode 3 [0-10] $BMO3
    B axis – Seek rate 51024 deg/min $BSR51024
    B axis – Feed rate 45921 deg/min $BFR45921
    B axis – Travel hard limit -1 degrees $BTH-1
    B axis – Travel soft limit -1 degrees $BTS-1
    B axis – Jerk maximum 50000000 deg/min^3 $BJM50000000
    B axis – Cornering delta 0.0020 in $BCD0.0020
    B axis – Radius value 0.394 inches $BRA0.394
    B axis – Limit switch mode 1 [0,1] $BLI1
    B axis – Homing enabled 0 [0,1] $BHE0
    B axis – Homing seek rate 45921 deg/min $BHR45921.26
    B axis – Homing close rate 360 deg/min $BHC360.00
    B axis – Homing offset 0 degrees $BHO0.00
    B axis – Homing backoff 5 degrees $BHB5.00
    C axis – Axis mode 3 [0-10] $CMO3
    C axis – Seek rate 51024 deg/min $CSR51024
    C axis – Feed rate 45921 deg/min $CFR45921
    C axis – Travel hard limit -1 degrees $CTH-1
    C axis – Travel soft limit -1 degrees $CTS-1
    C axis – Jerk maximum 50000000 deg/min^3 $CJM50000000
    C axis – Cornering delta 0.0020 in $CCD0.0020
    C axis – Radius value 0.394 inches $CRA0.394
    C axis – Limit switch mode 1 [0,1] $CLI1
    C axis – Homing enabled 0 [0,1] $CHE0
    C axis – Homing seek rate 45921 deg/min $CHR45921.26
    C axis – Homing close rate 360 deg/min $CHC360.00
    C axis – Homing offset 0 degrees $CHO0.00
    C axis – Homing backoff 5 degrees $CHB5.00
    Gcode: Units {G20,G21} 21 [20,21] $GU21
    Gcode: Plane {G17,G18,G19} 17 [17,18,19] $GL17
    Gcode: Path {G61,G61.1,G64} 64.0 [61,61.1,64] $GP64.0
    Gcode: Distance Mode {G90,G91} 90 [90,91] $GD90
    Enable Acceleration 1 [0,1] $EA1
    Junction acceleration 3937 in/min^2 $JA3937
    Min line segment length 0.0031 inches $ML0.0031
    Min arc segment length 0.0039 inches $MC0.0039
    Min segment time 10000 uSec $MT10000
    Homing mode 0 [0,1] $HM0
    Convert LF to CR LF (outgoing) 0 [0,1] $EC0
    Ignore Incoming CR 0 [0,1] $IC0
    Ignore Incoming LF 0 [0,1] $IL0
    Enable Xon/Xoff Flow Control 1 [0,1] $EX1
    Enable Echo 1 [0,1] $EE1

    Thanks!

    #1473
    alden
    Member

    Chris – I see where my documentation was messed up and confused you.


    In order to get this thing tuned let’s start with the current settings. I had written this up for grblshield and now it’s also on the TinyG wiki: http://www.synthetos.com/wiki/index.php?title=Wiring_TinyG

    In your case since you only have one pot just crank it one way until you either get the thermal reaction or the motors gradually lose power and shut down. I always then mark with a sharpie. The new boards are a little easier to manage. as clockwise increases current. Run some test moves as G0’s and perhaps some slow G1 with slow F words (that’s the Gcode pun. I had to use it.)


    UPDATE: There’s a bug in the units conversion from inches to mm in verions 0.90 and 0.91. So I’m not doing this correctly in the version of the firmware you are running. This will be revised with the correct conversion soon – hopefully over the weekend. (The originally published value of 2,000,000 was actually correct, but I changed the code in error).

    In the mean time, the following will work: Set your Jm to 3000 and work up or down from there. Or just set the value in mm (e.g. 50,000,000) using a G21. Change back to inches mode using a G20.


    Once you have the current and JM set correctly I’d go back to the seek and feed rates and adjust these values
    http://www.synthetos.com/wiki/index.php?title=TinyG:Configuring#Setting_Feed_and_Seek_Rates


    I have created a profile for DIYLILCNC so when you get the values where you like them let me know and I’ll update the profile. The defaults can them be put in the code alongside the other profiles.

    Lastly, if you haven’t already done so, get the latest code form the github and use that. I posted 0.91 (build 324.15) earlier this week. It fixes a bug in arc generation that you probably had not encountered. yet.

    Let us know how this goes, and thanks for hammering through this. As you can see, we are trying to get our documentation up to par as these issues are encountered.

    – Alden

    #1474
    Riley
    Keymaster

    Chris,

    Also, when you say missing steps. Is that on G0? or G1’s etc.. If you are doing G0’s and missing steps try setting your:

    $XSR
    $YSR
    $ZSR

    Lower… Specifically the axis that is missint steps.

    Riley

Viewing 15 posts - 1 through 15 (of 21 total)
  • You must be logged in to reply to this topic.