Home › Forums › TinyG › TinyG Support › Reset on move?
Tagged: TinyG
- This topic has 11 replies, 4 voices, and was last updated 11 years, 8 months ago by alden.
-
AuthorPosts
-
February 25, 2013 at 11:29 am #3806tdierksMember
I’ve been making incremental progress on getting my Shapeoko / TinyG setup to work, and successfully cut some “hello world” coasters out of cork this weekend. Now I’m having a problem that happens occasionally: the z-axis works fine while I’m zeroing the height, but a move in x or y will cause a little bit of stepper movement, then the board will apparently go into reset or something: motion will stop and I will see the startup message on my serial console, but the serial connection is not responsive to input until I reset the board.
Based on the symptoms, my suspicion is that it’s some kind of inrush current problem causing a voltage sag, and tonight I plan to fool around with jerk values, etc.; however, I was able to do a reasonable amount of cutting before I started to see this problem, and it only shows up occasionally, so maybe it’s addressable with better cooling or something? (The driver heatsinks are cool to the touch when this happens; I don’t yet have a fan mounted, and I had some trouble with overheating causing me issues before, but manually cooling the driver heatsinks can get me through a 5 minute job without failue.)
Anyway, just curious if anyone has seen this specific failure mode before or has a more specific hypothesis.
Thanks,
– Tim
February 25, 2013 at 1:36 pm #3808JuKuMemberYour power connector screws are getting loose?
February 25, 2013 at 3:50 pm #3810mabelMemberI am setting up TinyG to work with 3 axes and am seeing similar behavior. While testing the x-axis with 60mm movements, it will occasionally move close to the 60mm and then stop and show the startup message on the console. I am currently working with the x- and y-axis motors from this WaveDynamic board.
February 25, 2013 at 6:54 pm #3811aldenMemberWhat version and firmware build are you both running, and do you have limit switches enabled? Was the spindle on when the reset occurred?
February 25, 2013 at 10:06 pm #3812tdierksMemberOK, so I wrote up this whole report, and then the problem went away. So it may be moot (for me, anyway). But FWIW.
While investigating it, I found it was only associated with moves in the X axis. Looking at the board, I couldn’t see any problems, but after some physical manipulation of the X axis stepper motor wires, the problem disappeared and I was able to do a single ~5-minute operation without any issues.
Color me mystified.
Anyway, please find the below report. I’m happy to have suggestions on my settings; they’re just what I had when it started working.
—
TinyG version 0.94 (build 339.09) “GoGo Boots”. I don’t believe I have limit switches enabled; I haven’t enabled them and I don’t have any connected.
I do not need to have the spindle on; here’s a complete serial trace of a recent session (with some status lines elided, my commands in bold). As you can see, I can run the spindle up & down, but when I try to traverse, it seems to reset (there’s a small jerk of the motors before it does so), but it’s not a true cold reset; if I send it another command, it hangs (see at the bottom, below the settings output). I can then send an ! to get a prompt again.
The below trace was captured within a few seconds of powering on the board after hours unused, so it’s not a heat issue.
Thanks!
– Tim#### Loading configs from EEPROM ####
#### TinyG version 0.94 (build 339.09) “GoGo Boots” ####
Type h for help
tinyg[mm] ok> z-5
tinyg[mm] ok> line:1,posx:0.000,posy:0.000,posz:-0.000,posa:0.000,feed:0.000,vel:0.377,unit:1,coor:1,dist:0,frmo:0,momo:0,stat:4
line:1,posx:0.000,posy:0.000,posz:-0.049,posa:0.000,feed:0.000,vel:77.453,unit:1,coor:1,dist:0,frmo:0,momo:0,stat:4
[6 lines elided]
line:1,posx:0.000,posy:0.000,posz:-4.973,posa:0.000,feed:0.000,vel:57.346,unit:1,coor:1,dist:0,frmo:0,momo:0,stat:4
line:1,posx:0.000,posy:0.000,posz:-5.000,posa:0.000,feed:0.000,vel:0.000,unit:1,coor:1,dist:0,frmo:0,momo:0,stat:2
z5
tinyg[mm] ok> line:2,posx:0.000,posy:0.000,posz:-4.962,posa:0.000,feed:0.000,vel:65.308,unit:1,coor:1,dist:0,frmo:0,momo:0,stat:4
line:2,posx:0.000,posy:0.000,posz:-4.696,posa:0.000,feed:0.000,vel:267.971,unit:1,coor:1,dist:0,frmo:0,momo:0,stat:4
[7 lines elided]
line:2,posx:0.000,posy:0.000,posz:4.934,posa:0.000,feed:0.000,vel:103.092,unit:1,coor:1,dist:0,frmo:0,momo:0,stat:4
line:2,posx:0.000,posy:0.000,posz:5.000,posa:0.000,feed:0.000,vel:3.478,unit:1,coor:1,dist:0,frmo:0,momo:0,stat:4
line:2,posx:0.000,posy:0.000,posz:5.000,posa:0.000,feed:0.000,vel:0.000,unit:1,coor:1,dist:0,frmo:0,momo:0,stat:2
z-5
tinyg[mm] ok> line:3,posx:0.000,posy:0.000,posz:4.962,posa:0.000,feed:0.000,vel:65.308,unit:1,coor:1,dist:0,frmo:0,momo:0,stat:4
line:3,posx:0.000,posy:0.000,posz:4.696,posa:0.000,feed:0.000,vel:267.971,unit:1,coor:1,dist:0,frmo:0,momo:0,stat:4
line:3,posx:0.000,posy:0.000,posz:3.976,posa:0.000,feed:0.000,vel:603.827,unit:1,coor:1,dist:0,frmo:0,momo:0,stat:4
[7 lines elided]
line:3,posx:0.000,posy:0.000,posz:-5.000,posa:0.000,feed:0.000,vel:3.478,unit:1,coor:1,dist:0,frmo:0,momo:0,stat:4
line:3,posx:0.000,posy:0.000,posz:-5.000,posa:0.000,feed:0.000,vel:0.000,unit:1,coor:1,dist:0,frmo:0,momo:0,stat:2
z5
tinyg[mm] ok> line:4,posx:0.000,posy:0.000,posz:-4.962,posa:0.000,feed:0.000,vel:65.308,unit:1,coor:1,dist:0,frmo:0,momo:0,stat:4
line:4,posx:0.000,posy:0.000,posz:-4.696,posa:0.000,feed:0.000,vel:267.971,unit:1,coor:1,dist:0,frmo:0,momo:0,stat:4
line:4,posx:0.000,posy:0.000,posz:-3.976,posa:0.000,feed:0.000,vel:603.827,unit:1,coor:1,dist:0,frmo:0,momo:0,stat:4
line:4,posx:0.000,posy:0.000,posz:-2.702,posa:0.000,feed:0.000,vel:895.800,unit:1,coor:1,dist:0,frmo:0,momo:0,stat:4
[6 lines elided]
line:4,posx:0.000,posy:0.000,posz:5.000,posa:0.000,feed:0.000,vel:3.478,unit:1,coor:1,dist:0,frmo:0,momo:0,stat:4
line:4,posx:0.000,posy:0.000,posz:5.000,posa:0.000,feed:0.000,vel:0.000,unit:1,coor:1,dist:0,frmo:0,momo:0,stat:2
x10 y10
tinyg[mm] ok>
#### Loading configs from EEPROM ####
#### TinyG version 0.94 (build 339.09) “GoGo Boots” ####
Type h for helptinyg[mm] ok> ?
Line number: 0
X position: 0.000 mm
Y position: 0.000 mm
Z position: 0.000 mm
A position: 0.000 deg
Feed rate: 0.000 mm/min
Velocity: 0.000 mm/min
Units: G21 – millimeter mode
Coordinate system: G54 – coordinate system 1
Distance mode: G90 – absolute distance mode
Feed rate mode: G94 – units-per-minute mode (i.e. feedrate mode)
Motion mode: G0 – linear traverse (seek)
Machine state: Resettinyg[mm] ok> $$
[fb] firmware_build 339.09
[fv] firmware_version 0.94
[si] status_interval 200 ms [0=off]
[gpl] gcode_select_plane 0 [0,1,2]
[gun] gcode_units_mode 1 [0,1]
[gco] gcode_coord_system 1 [1-6]
[gpa] gcode_path_control 2 [0,1,2]
[gdi] gcode_distance_mode 0 [0,1]
[ea] enable_acceleration 1 [0,1]
[ja] junction_acceleration 100000 mm
[ml] min_line_segment 0.080 mm
[ma] min_arc_segment 0.100 mm
[mt] min_segment_time 5000 uSec
[ic] ignore CR or LF on RX 0 [0,1=CR,2=LF]
[ec] enable_CR (on TX) 0 [0,1]
[ee] enable_echo 1 [0,1]
[ex] enable_xon_xoff 1 [0,1]
[eh] enable_hashcode 1 [0,1]
[g54x] g54_x_offset 0.000 mm
[g54y] g54_y_offset 0.000 mm
[g54z] g54_z_offset 0.000 mm
[g54a] g54_a_offset 0.000 mm
[g54b] g54_b_offset 0.000 mm
[g54c] g54_c_offset 0.000 mm
[g55x] g55_x_offset 0.000 mm
[g55y] g55_y_offset 0.000 mm
[g55z] g55_z_offset 0.000 mm
[g55a] g55_a_offset 0.000 mm
[g55b] g55_b_offset 0.000 mm
[g55c] g55_c_offset 0.000 mm
[g56x] g56_x_offset 0.000 mm
[g56y] g56_y_offset 0.000 mm
[g56z] g56_z_offset 0.000 mm
[g56a] g56_a_offset 0.000 mm
[g56b] g56_b_offset 0.000 mm
[g56c] g56_c_offset 0.000 mm
[g57x] g57_x_offset 0.000 mm
[g57y] g57_y_offset 0.000 mm
[g57z] g57_z_offset 0.000 mm
[g57a] g57_a_offset 0.000 mm
[g57b] g57_b_offset 0.000 mm
[g57c] g57_c_offset 0.000 mm
[g58x] g58_x_offset 0.000 mm
[g58y] g58_y_offset 0.000 mm
[g58z] g58_z_offset 0.000 mm
[g58a] g58_a_offset 0.000 mm
[g58b] g58_b_offset 0.000 mm
[g58c] g58_c_offset 0.000 mm
[g59x] g59_x_offset 0.000 mm
[g59y] g59_y_offset 0.000 mm
[g59z] g59_z_offset 0.000 mm
[g59a] g59_a_offset 0.000 mm
[g59b] g59_b_offset 0.000 mm
[g59c] g59_c_offset 0.000 mm
X origin offset: 0.000 mm
Y origin offset: 0.000 mm
Z origin offset: 0.000 mm
A origin offset: 0.000 deg
B origin offset: 0.000 deg
C origin offset: 0.000 deg
[1ma] m1_map_to_axis 3 [0=X, 1=Y…]
[1sa] m1_step_angle 1.800 deg
[1tr] m1_travel_per_revolution 1.250 mm
[1mi] m1_microsteps 8 [1,2,4,8]
[1po] m1_polarity 0 [0,1]
[1pm] m1_power_management 0 [0,1]
[2ma] m2_map_to_axis 2 [0=X, 1=Y…]
[2sa] m2_step_angle 1.800 deg
[2tr] m2_travel_per_revolution 1.250 mm
[2mi] m2_microsteps 1 [1,2,4,8]
[2po] m2_polarity 1 [0,1]
[2pm] m2_power_management 0 [0,1]
[3ma] m3_map_to_axis 1 [0=X, 1=Y…]
[3sa] m3_step_angle 1.800 deg
[3tr] m3_travel_per_revolution 35.980 mm
[3mi] m3_microsteps 8 [1,2,4,8]
[3po] m3_polarity 1 [0,1]
[3pm] m3_power_management 0 [0,1]
[4ma] m4_map_to_axis 0 [0=X, 1=Y…]
[4sa] m4_step_angle 1.800 deg
[4tr] m4_travel_per_revolution 35.980 mm
[4mi] m4_microsteps 8 [1,2,4,8]
[4po] m4_polarity 0 [0,1]
[4pm] m4_power_management 0 [0,1]
[xam] x_axis_mode 1 [standard]
[xvm] x_velocity_maximum 16000.000 mm/min
[xfr] x_feedrate_maximum 16000.000 mm/min
[xtm] x_travel_maximum 170.000 mm
[xjm] x_jerk_maximum 5000000000 mm/min^3
[xjd] x_junction_deviation 0.0500 mm (larger is faster)
[xsm] x_switch_mode 1 [0,1,2,3,4]
[xsv] x_search_velocity -500.000 mm/min
[xlv] x_latch_velocity 100.000 mm/min
[xlb] x_latch_backoff 2.000 mm
[xzb] x_zero_backoff 1.000 mm
[yam] y_axis_mode 1 [standard]
[yvm] y_velocity_maximum 16000.000 mm/min
[yfr] y_feedrate_maximum 16000.000 mm/min
[ytm] y_travel_maximum 200.000 mm
[yjm] y_jerk_maximum 5000000000 mm/min^3
[yjd] y_junction_deviation 0.0500 mm (larger is faster)
[ysm] y_switch_mode 1 [0,1,2,3,4]
[ysv] y_search_velocity -500.000 mm/min
[ylv] y_latch_velocity 100.000 mm/min
[ylb] y_latch_backoff 2.000 mm
[yzb] y_zero_backoff 1.000 mm
[zam] z_axis_mode 1 [standard]
[zvm] z_velocity_maximum 1200.000 mm/min
[zfr] z_feedrate_maximum 1200.000 mm/min
[ztm] z_travel_maximum 50.000 mm
[zjm] z_jerk_maximum 50000000 mm/min^3
[zjd] z_junction_deviation 0.0500 mm (larger is faster)
[zsm] z_switch_mode 1 [0,1,2,3,4]
[zsv] z_search_velocity -400.000 mm/min
[zlv] z_latch_velocity 100.000 mm/min
[zlb] z_latch_backoff 2.000 mm
[zzb] z_zero_backoff 1.000 mm
[aam] a_axis_mode 1 [standard]
[avm] a_velocity_maximum 3600.000 deg/min
[afr] a_feedrate_maximum 3600.000 deg/min
[atm] a_travel_maximum -1.000 deg
[ajm] a_jerk_maximum 20000000 deg/min^3
[ajd] a_junction_deviation 0.0500 deg
[ara] a_radius_value 1.0000 deg
[asm] a_switch_mode 1 [0,1,2,3,4]
[asv] a_search_velocity -600.000 deg/min
[alv] a_latch_velocity 100.000 deg/min
[alb] a_latch_backoff -5.000 deg
[azb] a_zero_backoff 2.000 deg
[bam] b_axis_mode 0 [disabled]
[bvm] b_velocity_maximum 3600.000 deg/min
[bfr] b_feedrate_maximum 3600.000 deg/min
[btm] b_travel_maximum -1.000 deg
[bjm] b_jerk_maximum 20000000 deg/min^3
[bjd] b_junction_deviation 0.0500 deg
[bra] b_radius_value 1.0000 deg
[bsm] b_switch_mode 1 [0,1,2,3,4]
[bsv] b_search_velocity -600.000 deg/min
[blv] b_latch_velocity 100.000 deg/min
[blb] b_latch_backoff -5.000 deg
[bzb] b_zero_backoff 2.000 deg
[cam] c_axis_mode 0 [disabled]
[cvm] c_velocity_maximum 3600.000 deg/min
[cfr] c_feedrate_maximum 3600.000 deg/min
[ctm] c_travel_maximum -1.000 deg
[cjm] c_jerk_maximum 20000000 deg/min^3
[cjd] c_junction_deviation 0.0500 deg
[cra] c_radius_value 1.0000 deg
[csm] c_switch_mode 1 [0,1,2,3,4]
[csv] c_search_velocity -600.000 deg/min
[clv] c_latch_velocity 100.000 deg/min
[clb] c_latch_backoff -5.000 deg
[czb] c_zero_backoff 2.000 degtinyg[mm] ok> x5
tinyg[mm] ok> line:1,posx:0.000,posy:0.000,posz:0.000,posa:0.000,feed:0.000,vel:3.937,unit:1,coor:1,dist:0,frmo:0,momo:0,stat:4
[here I sent a !, but it wasn’t echoed back]
tinyg[mm] ok> ?
Line number: 0
X position: 0.000 mm
Y position: 0.000 mm
Z position: 0.000 mm
A position: 0.000 deg
Feed rate: 0.000 mm/min
Velocity: 3.937 mm/min
Units: G21 – millimeter mode
Coordinate system: G54 – coordinate system 1
Distance mode: G90 – absolute distance mode
Feed rate mode: G94 – units-per-minute mode (i.e. feedrate mode)
Motion mode: G0 – linear traverse (seek)
Machine state: Hold
tinyg[mm] ok>February 26, 2013 at 12:10 am #3813mabelMemberI am also running firmware version 0.94 and firmware build 339.09. Limit switches are enabled (I am only using xmin right now) and I don’t use the spindle functionality. It was doing the random resets on Friday. I haven’t touched it since then until just now to try to repeat it and see if I could give you any more information, but like tdierks it seems to have fixed itself.
February 26, 2013 at 6:20 am #3815aldenMemberNow that’s totally strange. I like that it’s fixed, but I don’t like things that fix themselves. The few reset problems we have seen have been HW related, and part of the setup, so it’s not unusual that tightening down the motor connections helped. It’s possible that if a motor lead got disconnected momentarily the back-emf may have had an effect on the board – I don;t have enough to go on to know.
What we have seen – and this is for EVERY controller, not Just TinyG – Is that noisy spindles wreak havoc on the electronics. SPecifically, they flip limit switches due to induced voltages.
I think it makes sense to write both os these up on the (new) wiki.
We have just pushed version 0.95 to Master, and are using the github wiki as documentation.
Alden
February 26, 2013 at 11:42 am #3816tdierksMemberThanks. Is there something I can do to help write this up? I couldn’t immediately find a page for it, other than possibly Troubleshooting.
February 27, 2013 at 6:20 am #3819aldenMemberIf you are a github user you should be able to edit the page. If you can’t and want to write something up just post it here and I’ll port it over.
Thanks for offering to help
Alden
February 27, 2013 at 10:47 am #3821tdierksMemberOK, I put it on that page. Something in passing: my connection block for that motor looks like it has a little more play than I think it should have, so when I get a chance, I’m going to look at it for a cracked solder joint; it’s possible that the physical torque while tightening the connector screws was too much for a weak connection. Connectors that share physical stability and electrical connection duties are always entertaining.
March 3, 2013 at 9:11 pm #3861mabelMemberI think I know what happened in my case. I think the wires used with the limit switches were shorting and causing the resets, so it was just a user problem (our bad wiring) and nothing wrong with tinyG.
March 4, 2013 at 4:48 pm #3862aldenMemberAlways glad to hear it (and sorry for your loss!). I hope you don’t mind me using this case for the troubleshooting page.
Alden
-
AuthorPosts
- You must be logged in to reply to this topic.