Home › Forums › TinyG › TinyG Support › Extra Steps?
- This topic has 20 replies, 3 voices, and was last updated 13 years, 1 month ago by alden.
-
AuthorPosts
-
November 3, 2011 at 1:57 am #1460rainbow_lazerMember
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,
ChrisNovember 3, 2011 at 6:29 am #1461aldenMemberChris, 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.
November 3, 2011 at 4:37 pm #1462rainbow_lazerMemberAlden, here is the version info that I got thru CoolTerm:
#### TinyG build 322.02 – “Filariasis” ####
November 3, 2011 at 8:17 pm #1463aldenMemberI’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?
November 3, 2011 at 10:13 pm #1464RileyKeymasterChris,
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
November 3, 2011 at 10:13 pm #1465RileyKeymasterChris,
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
November 3, 2011 at 10:32 pm #1466rainbow_lazerMemberSeems 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.
November 3, 2011 at 10:35 pm #1467rainbow_lazerMemberRiley, 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]November 7, 2011 at 7:17 am #1468aldenMemberChris – 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
November 7, 2011 at 10:01 am #1469aldenMemberAHA! 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
November 7, 2011 at 11:31 pm #1470RileyKeymasterDid it work? Was it the thermal shutdown?
November 8, 2011 at 5:29 pm #1471rainbow_lazerMemberHey 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.
November 8, 2011 at 9:43 pm #1472rainbow_lazerMemberOK, 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] $EE1Thanks!
November 9, 2011 at 8:52 am #1473aldenMemberChris – 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_TinyGIn 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
November 10, 2011 at 9:20 am #1474RileyKeymasterChris,
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
$ZSRLower… Specifically the axis that is missint steps.
Riley
-
AuthorPosts
- You must be logged in to reply to this topic.