Reset on move?

Home Forums TinyG TinyG Support Reset on move?

Tagged: 

Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • #3806
    tdierks
    Member

    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

    #3808
    JuKu
    Member

    Your power connector screws are getting loose?

    #3810
    mabel
    Member

    I 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.

    #3811
    alden
    Member

    What version and firmware build are you both running, and do you have limit switches enabled? Was the spindle on when the reset occurred?

    #3812
    tdierks
    Member

    OK, 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 help

    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:            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:       Reset

    tinyg[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 deg

    tinyg[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>

    #3813
    mabel
    Member

    I 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.

    #3815
    alden
    Member

    Now 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

     

    #3816
    tdierks
    Member

    Thanks. Is there something I can do to help write this up? I couldn’t immediately find a page for it, other than possibly Troubleshooting.

    #3819
    alden
    Member

    If 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

    #3821
    tdierks
    Member

    OK, 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.

    #3861
    mabel
    Member

    I 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.

    #3862
    alden
    Member

    Always glad to hear it (and sorry for your loss!). I hope you don’t mind me using this case for the troubleshooting page.

    Alden

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