Home › Forums › TinyG › TinyG Support › Odd behaviors – only X axis works
Tagged: TinyG
- This topic has 9 replies, 3 voices, and was last updated 12 years, 10 months ago by greyhound716.
-
AuthorPosts
-
February 16, 2012 at 10:59 pm #1511greyhound716Member
Hi, just got the TinyG recently and wired up a couple of NEMA23 steppers (bipolar serial) to give it a whirl. I’m getting some fairly odd behaviors, and I don’t know why. In short, I can’t get any output except the 1st to work, and g0 (seek) doesn’t seem to do anything.
If I reset and then run the following:
f600
g1x100y100z100Only the motor 1 light lights up (and if I have a motor attached at the time, it runs), and if I query the current position, it indicates that only the X axis has moved to 100mm. If I instead use a seek (g0), no axis change. I do not get a parse error, the terminal settings work fine, etc.
Any suggestions on what I’m doing wrong would be appreciated. I do not have any limit switches installed, and so I believe I have disabled those checks. I also have the pots set about mid-position, and so I should get the LED indicator. Both red and blue power lights are fired up. I didn’t plug or unplug anything with the power on. 🙂
Settings:
0.92 build 326.01
Set all of the critical axis modes to be the same: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.25 mm $1TR1.25
Motor 1 – Microsteps 8 [1,2,4,8] $1MI8
Motor 1 – Motor polarity 0 [0,1] $1PO0
Motor 1 – Power mgmt mode 1 [0,1] $1PW1
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.25 mm $2TR1.25
Motor 2 – Microsteps 8 [1,2,4,8] $2MI8
Motor 2 – Motor polarity 0 [0,1] $2PO0
Motor 2 – Power mgmt mode 1 [0,1] $2PW1
Motor 3 – Mapped to axis 2 [0=X,1=Y…] $3MA2
Motor 3 – Step angle 1.80 degrees $3SA1.80
Motor 3 – Travel/rev 1.25 mm $3TR1.25
Motor 3 – Microsteps 8 [1,2,4,8] $3MI8
Motor 3 – Motor polarity 0 [0,1] $3PO0
Motor 3 – Power mgmt mode 1 [0,1] $3PW1
Motor 4 – Mapped to axis 3 [0=X,1=Y…] $4MA3
Motor 4 – Step angle 1.80 degrees $4SA1.80
Motor 4 – Travel/rev 18.00 mm $4TR18.00
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 600 mm/min $XSR600
X axis – Feed rate 600 mm/min $XFR600
X axis – Travel hard limit 400 mm $XTH400
X axis – Travel soft limit 380 mm $XTS380
X axis – Jerk maximum 76200 mm/min^3 $XJM76200
X axis – Cornering delta 0.0500 mm $XCD0.0500
X axis – Limit switch mode 0 [0,1] $XLI0
X axis – Homing enabled 1 [0,1] $XHE1
X axis – Homing seek rate 600 mm/min $XHR600
X axis – Homing close rate 10 mm/min $XHC10
X axis – Homing offset -200 mm $XHO-200
X axis – Homing backoff 5 mm $XHB5
Y axis – Axis mode 1 [0-10] $YMO1
Y axis – Seek rate 600 mm/min $YSR600
Y axis – Feed rate 600 mm/min $YFR600
Y axis – Travel hard limit 400 mm $YTH400
Y axis – Travel soft limit 380 mm $YTS380
Y axis – Jerk maximum 76200 mm/min^3 $YJM76200
Y axis – Cornering delta 0.0500 mm $YCD0.0500
Y axis – Limit switch mode 0 [0,1] $YLI0
Y axis – Homing enabled 1 [0,1] $YHE1
Y axis – Homing seek rate 600 mm/min $YHR600
Y axis – Homing close rate 10 mm/min $YHC10
Y axis – Homing offset -87 mm $YHO-87
Y axis – Homing backoff 5 mm $YHB5
Z axis – Axis mode 1 [0-10] $ZMO1
Z axis – Seek rate 500 mm/min $ZSR500
Z axis – Feed rate 500 mm/min $ZFR500
Z axis – Travel hard limit 75 mm $ZTH75
Z axis – Travel soft limit 71 mm $ZTS71
Z axis – Jerk maximum 76200 mm/min^3 $ZJM76200
Z axis – Cornering delta 0.0500 mm $ZCD0.0500
Z axis – Limit switch mode 0 [0,1] $ZLI0
Z axis – Homing enabled 1 [0,1] $ZHE1
Z axis – Homing seek rate 500 mm/min $ZHR500
Z axis – Homing close rate 10 mm/min $ZHC10
Z axis – Homing offset -37 mm $ZHO-37
Z axis – Homing backoff 5 mm $ZHB5
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.0500 mm $ACD0.0500
A axis – Radius value 10.000 mm $ARA10.000
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.0500 mm $BCD0.0500
B axis – Radius value 10.000 mm $BRA10.000
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.0500 mm $CCD0.0500
C axis – Radius value 10.000 mm $CRA10.000
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
Junction acceleration 50000 mm/min^2 $JA50000
Min line segment length 0.080 mm $ML0.0800
Min arc segment length 0.100 mm $MC0.1000
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
Status Report Enable 0 [0,1,2] $SE0
Status Report Interval 500 ms $SI500
Profile 0.90 [0.90]Thanks!
-MattFebruary 17, 2012 at 6:43 am #1512aldenMemberThanks for the detailed explanation. So if you start from a reset and do a seek – g0x100y100z100 do you have the same result?
(You do know that since Gcode coordinates are absolute (unless G91 is active) that doing another identical move has no effect: issuing a second g0x100y100z100 will not move because the Gcode model is already at those coordinates).Can you try the following Gcode blocks (lines) and tell me what’s happening for each one (LEDs, does it move, final position reported by ? cmd)
<reset>
g0x100
y100
z100
x0
y0
z0
$2ma0
$4ma0
<repeat the above>Can you tell me if at any time the Y or Z axis trimpots were over-torqued? They are only supposed to rotate through 270 degrees and can be damaged if forced beyond that.
ThanksFebruary 17, 2012 at 9:29 am #1513greyhound716MemberThanks for the quick response!
When I reset and do the g0x100y100z100, I get another ok prompt immediately, however no motor lights go on, etc. Hitting ? it tells me the position is still x0y0z0. I reset again, and for each of the instructions you gave, the result is the same – no motor lights, and the position doesn’t change.
The trimpots are freely moving – I don’t think I even touched them until I start to diagnose the problem, and I didn’t try to torque them past their limit stops.
Given that the internal position doesn’t appear to change, I’m inclined to think it’s a software/settings issue, but I’m at a loss on how to diagnose it.
BTW, if I use g1, the motor light comes on, but only for x, and the x position changes with ?. I did not try g1 with the command sequence you gave me however.
One last bit of data… If I say g0x100y100z100 and then enter g1, the X motor kicks in and changes position. No other axis does anything.
-MattFebruary 17, 2012 at 11:21 am #1514jmnoethMemberDo you by chance have limit switches connected? Maybe the software thinks the axis (y and z) are at their limits?
February 17, 2012 at 11:29 am #1515aldenMemberMatt, I think we sent you a board with the wrong firmware. The current production firmware is 326.06, not 326.01, which was a release candidate. We apologize for our mistake. Here are your options:
– Reprogram the board from the correct firmware
– Send the board back to us and well do it ASAP (and we’ll pay shipping both ways)
– Send the board back and wait a week or two for the 0.93 firmware
– Return the board for refundTo re-program the board from the current production use the master on https://github.com/synthetos/TinyG
For programming we recommend using AVRStudio4 from Atmel (windows), and an Atmel AVRisp mkII programmer – about $35 from Mouser Electronics. For future upgrades you will want to be able to program the board yourself but I understand if you want a swap.We are putting the finishing touches on the 0.93 firmware revision that has automatic status reports, feedholds, multiple coordinate axes (G54-G59), advanced homing and JSON support. But that’s probably a week or so away. Of course if this is all too much we will refund you on board return.
Again, we apologize for the mistake.
– Alden
February 17, 2012 at 11:37 am #1516greyhound716MemberThanks for the info. I don’t have a programmer yet, but I was planning to get one soon. I actually bought the one from SparkFun before I realized it doesn’t support Xmega. :-/
I noticed the rev, but figured it was a minor and probably didn’t matter!
I’ll let you know when I reprogram and if there are any issues.
-MattFebruary 17, 2012 at 11:43 am #1517aldenMemberMatt, Thanks for your patience.
– Alden
February 21, 2012 at 2:29 pm #1518greyhound716MemberOk, good news and bad news. I flashed the firmware, but I’m still getting similar behaviors with the driver. I definitely have the newer firmware on the board (it reports 326.06 now). When I run the test series you describe above, with the axis mapped normally and not, there is no change to the position information and the motors don’t fire.
I did a couple more experiments… It looks like only X is working, and only for g1. If I set a feed rate of 400, switch to g1 mode, and move X, it fires the motor and changes the internal position. If I $1ma0, $2ma0, $3ma0, $4ma0, ALL of the motors fire. In the last case, it looks like it is pulsing output 4, but the others are continuous. I’m currently testing without motors attached, just looking at the LED outputs.
I’m happy to test anything you can think of that might shed light on what’s going on.
Should I try to erase the EEPROM? It seems like it preserved the settings from when I re-flashed, but if I can get it back to a factory default that would be good.
-MattFebruary 21, 2012 at 7:02 pm #1519aldenMemberWell congrats on the good news and drat on the bad news. I’m not sure this can be diagnosed over the wire. It doesn’t sound like HW as all the motors work, and it doesn’t sound like firmware as you have a new load. So if you don’t mind, can you send the board back and we’ll swap one in the mail? I’d like the chance to put your board on the bench and see what’s wrong. Riley will follow up with an email in response, if this is OK with you.
– Alden
February 21, 2012 at 7:21 pm #1520greyhound716MemberSounds like a plan!
-
AuthorPosts
- You must be logged in to reply to this topic.