Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Skipping To A New Position During Cutting But Didn't Loose Home Position #734

Open
jaysettle opened this issue Jan 10, 2021 · 18 comments
Open
Labels
bug Something isn't working

Comments

@jaysettle
Copy link

jaysettle commented Jan 10, 2021

I've notice over the last couple days during hour long jobs, my CNC will make a single faint jolt noise and skip to a new position(not more than an inch from where it was) and continue cutting. When then first happened I was a stepper had lost steps due to some resistance.

However I stopped and hit "Return to Zero" in Universal Gcode Platform and it returned to the same 0,0,0 coordinates I set before the job was started. So if I didn't loose steps, what could this be? I have put together what I have to describe this below.

This is a test piece of oak for a new client. He wants a desk with an airport milled and filled with resin. The blue lines are the actual paths that are supposed to be taken. Sometime during the cut, my machine skipped to a new location and continued to cut. You can see if you move the paths down an inch where it decided to move to. After stopping the job and hitting "Return to Home" the router returned to it's original position. NC file attached 1012.zip
image

The happened last night as well while trying to surface the actual slab. I was doing an adaptive cut and for some reason I heard the jolt(I wouldve missed it if I wasn't close) and looked up and the circle pattern had shifted. I hit stop and return to home and it returned to its orginal position. No lost steps. 1016.zip

Not a big deal but definitely worried this will happen on the actual cut of the airport.

GRBL_ESP32 [VER:1.3a.20201022:]
Windows 10.0.19041 Build 19041
Processor Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz, 2701 Mhz, 2 Core(s), 4 Logical Processor(s)

Universal Gcode Platform Version 2.0

Thanks

@jaysettle jaysettle added the bug Something isn't working label Jan 10, 2021
@MitchBradley
Copy link
Collaborator

I would say that it is a very big deal! Here are some suggestions for isolating where the problem might be. Unfortunately, to be certain of any results, multiple test runs might be necessary, which could be time-consuming. In order to avoid continuous observation to detect "jolts", you could let the program run to completion and check the final position.

  1. Try an "air cut" of the surfacing pass with the spindle disconnected. If it succeeds (no jolt or ending position as expected), then the problem could be caused by electrical interference from the spindle wiring.
  2. Try using a different gcode sender. If one sender consistently fails and another consistently succeeds, then there could be a flow control problem either in the sender or in grbl_esp32.

@richardwpaul
Copy link

richardwpaul commented Jan 12, 2021 via email

@jaysettle
Copy link
Author

jaysettle commented Apr 12, 2021

This happened again on me last week. I had already replaced my usb cord with this one:
https://www.amazon.com/gp/product/B00C7SA21U/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1

The combination of gold-plated connectors, bare copper conductors, and foil & braid shielding provides superior cable performance and error-free data transmission via USB cable extension.

It is a 3.0 10ft extension usb A to B but is 2.0 capable. I don't see anyone else having this problem otherwise they would have commented here so I have to assume it's something with my setup.

@jaysettle
Copy link
Author

Could this issue I'm seeing be related to this?
https://discord.com/channels/780079161460916227/785937382548832256/827525017452544000

@jaysettle
Copy link
Author

This happened again last night. Cutting a sign for a client and the machine suddenly skipped to a new position.

I stopped the job and hit "Return To Zero" and it returned to the same point the job started at.

IMG_1466
IMG_1464
IMG_1465

@atsukita1969
Copy link

I had same problem with my laser, too.
My case, I got improvement with following change.

  1. Add default stepping motor current setting "Machines/driver.h"
    #define DEFAULT_X_CURRENT **
    #define DEFAULT_X_HOLD_CURRENT **
    (my case, machine has ganged Y axis, Y and Y2 also added.)

2 Motor current saving
during G code program, steeper motor had hot with max current.
I use 75% of default current and 40% of hold current instead of motor max current.

image

@jaysettle
Copy link
Author

jaysettle commented Aug 10, 2021 via email

@atsukita1969
Copy link

You solved problem. Good news.

I had this movement error even latest firmware.

Thanks for your info.

@jaysettle
Copy link
Author

jaysettle commented Aug 11, 2021 via email

@jaysettle
Copy link
Author

jaysettle commented Sep 7, 2021 via email

@Bakafish
Copy link

Bakafish commented Sep 8, 2021

Are you logging the command input and output? Either a command is getting dropped (due to electrical interference, or some other communication issue) or you are losing steps (a motor cord getting hung up on something, or debris temporarily jamming one of the axis.) Basic CNC's do not have any way to know when they lose sync with the internal coordinate system. The best way to resolve this is to babysit it until it has an error, then stop it and determine if there was a comms issue (which should show up in the logs as an error) or some physical issue (motion problems or a stepper overheating, etc...)

There is support for G-Code checksums, but you will need to use a g-code sender that supports them. This will ensure that any communication errors that would still be parsable g-code are caught. You also may want to try using local storage (SD Card if you have one) as it isn't going to suffer from the same kinds of interference.

@bdring
Copy link
Owner

bdring commented Sep 8, 2021

@jaysettle How are you compiling the firmware. Are you using the Arduino IDE or PlatformIO? You mention changing the UART driver. I am not sure what you mean by that, but the true solution is mentioned here.

https://github.com/bdring/Grbl_Esp32/wiki/Compiling-with-Arduino-IDE

Use ESP32 library version 1.0.3

@jaysettle
Copy link
Author

jaysettle commented Sep 8, 2021 via email

@jaysettle
Copy link
Author

jaysettle commented Sep 8, 2021 via email

@bdring
Copy link
Owner

bdring commented Sep 8, 2021

PlatformIO should get the version correct.

@jaysettle
Copy link
Author

How do I know if I'm using Use ESP32 library version 1.0.3?

@Bakafish
Copy link

Bakafish commented Sep 9, 2021

If you compile the latest release version using PlatformIO in Visual Studio Code (with all the latest updates), the properly working library is used. Verifying what version of the library is used in whatever binary you may have is technically possible with the right developer tools and know-how, but telling you how to do that is beyond the scope of the proposed solution. The best way to ensure you have a fixed version is to build a 'known good' version as specified above.

@bdring
Copy link
Owner

bdring commented Sep 9, 2021

The boot messages tell you the SDK version. I do know know what number 1.0.3 is. Not at home this week.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

6 participants