alden

Forum Replies Created

Viewing 15 posts - 376 through 390 (of 702 total)
  • Author
    Posts
  • in reply to: TinyG for Android #4087
    alden
    Member

    I’m willing to rethink the handling of limit switches. I implemented what a machinist friend of mine told me is the way he’s used to seeing it work. So I’m going to keep this issue open. The issue is ensuring that there’s no loss of position and therefore error introduced. On the Haas they have control of the entire machine and can guarantee this. On a random CNC setup – perhaps not so much. The reason for resetting is to force a homing cycle. Not very efficient, but the safest way if you are not sure if position was maintained. Perhaps this can be an option.

    As for the Haas stopping ay G0x157 – that’s a soft limit and it’s something I would like to install.

    in reply to: TinyG for Android #4085
    alden
    Member

    You can eliminate most of the uses for a text line/box if you have controls in the UI. What are you doing for configuration? One nice way is a grid of all 6 axes by parameter available for display and typing – with the unused parameters greyed out depending on what the axis supports. The JSON back and forth is just handled reactively (event driven). Do the same for motors, and then handle system params and with that and #1 – #7 you have almost all cases covered in the native UI. I assume you are already doing position readouts. You can use SRs to do real-time path drawing as well.

    –Alden

    in reply to: TinyG for Android #4083
    alden
    Member

    It could be done either way. The switch between JSON and text mode is automatic and is meant to be as seamless as possible. But if you wrap your own JSON as you suggest it ensures that when you do drop back from the terminal to streaming Gcode you will get JSON responses back; so it’s a good idea for your application.

    in reply to: TinyG for Android #4080
    alden
    Member

    You don;t need to wrap Gcode in JSON. The input parser figures that anything that’s not already accounted for must be a Gcode command and runs it as Gcode (Technically, if you are in JSON mode the parser wraps the Gcode for you then runs it as JSON Gcode. That way the responses com back in JSON wrappers). It’s written this way so that UIs don’t need to wrap Gcode from a file – it can just be streamed.

    You can query limit switches (or any other parameter) using JSON. For example, {“xsn”:””} returns the X min limit switch setting.

    –ALden

    • This reply was modified 11 years, 6 months ago by alden.
    in reply to: TinyG for Android #4077
    alden
    Member

    Thanks for the input. Some comments – although I’m not the one actually coding the UI, so consider it guidance.

    #1-#4 should all be quite doable with the current command set

    #5 You will also need a Cycle start button to get it out of feed hold. Probably best not to just toggle a button, as a misfire could have bad consequences. CNC pro’s know what Feed Hold and Cycle Start are. People new to the domain may not know. I’ve see this labeled as “Pause” and “Resume” in 3D printer-land. No satisfying everybody. Labeling is an open question.

    #6 Reset from software is control X, aka CAN (cancel), aka 0x18 in hex.

    #7 Interesting. If you leave it on and it hits a limit switch it will put the machine in shutdown – which is what limit switches are supposed to do – all bets are off. If you don’t have limit switches it will continue to grind away at your machine / motors.

    #8 Text area is very useful to send configs or query position or configs manually. But now you are into terminal emulator mode. Just saying. You also need to be mindful of text_mode / JSON_mode switches. These transition automatically based on the first characters of the line. See the wiki for details.

    –Alden

    in reply to: TinyG for Android #4073
    alden
    Member

    There are a number of things you might want to do for “Homing”. depending on what you need.

    Going to G0x0y0z0 is fine if your machine is already referenced to zero, but does not actually reference it.

    Doing G28.2x0y0z0 will actually reference the machine to zero using the homing switches – assuming you have that all set up

    Going G28.3×0 will set the current point as absolute 0 (brrr) for X. G28.3x0y0z0 for all 3 axes, or G0x50 will set the current to 50, etc.

    G28.2 and G28.3 are “non-standard” extensions to Gcode to handle these cases. Look at G28 and G28.1 (and G30/G30.1) to see how they are used. They also set and return to specific points.

    See https://github.com/synthetos/TinyG/wiki/TinyG-Homing

    Alden

    • This reply was modified 11 years, 6 months ago by alden.
    in reply to: Did I blow up my board? #4047
    alden
    Member

    I don’t know how the lock bits got set and we will look into that. But you can unlock them in either Studio4 or Studio6 in the programming dialog. Look under Lock Bits to see what state they are in. You can reset them by selecting Erase Device in 4 or 6. The lock bits page in the dialog tells you where to look in 4 and 6.

    Alden

    in reply to: Limit switch and System shutdown error #4044
    alden
    Member

    Please refer to my answer on your other post, and reference this page:
    https://github.com/synthetos/TinyG/wiki/TinyG-Homing

    You are confusing the G28.1 / G28 “return to home” sequence with the g28.2 machine homing cycle.

    What is happening is that you are in normal movement in G28 and since you set the switch as a limit and then hit it the machine goes into shutdown, as it should. Please try homing using the G28.2 command.

    in reply to: Many issues with limit switches and homing #4043
    alden
    Member

    I think you are not using homing correctly. See this page:
    https://github.com/synthetos/TinyG/wiki/TinyG-Homing

    The G28 and G28.1 commands are movement commands. Finding the home position is G28.2

    G28.1 will “remember” an absolute position. G28 will return to that position (same for G30.1 and G30)

    In order to actually home the machine in X only, send G28.2 x0

    Please try that and see if you get the correct results.

    Alden

    in reply to: Many issues with limit switches and homing #4039
    alden
    Member

    One question: If the X limit switch is on the left side of the machine shouldn’t you be using xmin, not xmax? X is left to right, positive travel to the right.

    in reply to: grblShield v4 – J11 -> Reset? #4012
    alden
    Member

    J11 is the reset. It’s provided out for exactly the purpose you mention

    in reply to: Wait for command to finish? #4011
    alden
    Member

    To stop the machine instantantly w/o losing position issue a feedhold. Send a ‘!’ char to the board. Issuing a cycle_start ‘~’ will resume that move, or issue a queue flush $qf to flush the buffer so you can start a new move.

    Good suggestion on the status report.

    in reply to: Wait for command to finish? #4006
    alden
    Member

    JuKu is right. A status report is sent when movement ceases and automatically at the set interval.

    Thanks for noting the P0 bug. I’ll have to track that down and fix it. Honestly I never thought to test that, but it should be made to be non-destructive.

    in reply to: v6 Pots #4001
    alden
    Member

    I see. So the current is very lo. I’ll add this to the troubleshooting wiki. Thanks for the tip.

    in reply to: v6 Pots #3999
    alden
    Member

    Sorry about the pot. You see we big bigger ones on the V7s.
    The part number is: Murata PVG3G502C01R00
    http://www.mouser.com/ProductDetail/Murata/PVG3G502C01R00/?qs=%2fha2pyFadujnuS%2ft7JadhCuZJcqCPg4UcIYXtdCnkEtP24rXvClytw%3d%3d

Viewing 15 posts - 376 through 390 (of 702 total)