The backlash simulation is an internal debugging tool, not intended for public release.
Would it be worth rigging up a Grbl controller to the stepper drivers and seeing if the issue is with this Trocen DSP?
By any chance do you need this specific DSP mailed in, in case there’s something different about it compared to the other Trocen controllers you’ve developed for?
Everyone I’ve talked to at Carbide3D is dumbfounded why the circles are coming out bad.
Wiring a GRBL controller (or any other) would presumably tell you if it was the controller. It could also be the stepper motor drivers, but they’re fine with the rapid pulses, so I wouldn’t expect the slow ones to be an issue.
As for the controller, mailing it to me and having me test it is a bit out of scope for this. See if you can find someone with a pulse counter you could use, or even pick up something like a lower-end Saleae - They’ll easily handle the speed, and you should be able to see from that if pulses are missing or not.
How about this logic analyzer @LightBurn ? https://www.amazon.com/DreamSourceLab-USB-Based-Analyzer-Sampling-Interface/dp/B08C2QN9GQ/?th=1
Excerpt from the manual:
Went ahead and ordered it before it sold out; hope it works out!
400MHz should be plenty, yes. I’d be surprised if the step pulses exceeded 1Mhz - they’re probably 1/4 that, max, honestly, but this device will give you headroom and that’s not a bad thing.
@LightBurn The analyzer should be here today. Do I need to be concerned with counting the DIR pulses as well coming out of the DSP?
DIR won’t pulse - it’s just high or low depending on the direction of movement.
@LightBurn Ran multiple tests with the analyzer and things are confusing us even more now. Each test yields a different amount of pulses on each channel using the exact same settings!
Totally lost on this and feel like we’re going in the wrong direction. Channel 0 and 1 are the Y axis outputs from the DSP, and channel 2 is the X axis. 10 seconds of sample time at a 500kHz sample rate.
The fact that it isn’t repeatable and that the two Y axis outputs don’t match is concerning. Here’s three pics of three separate tests:
Are the step sizes for X & Y identical in the machine settings?
@LightBurn I’m getting more valid results from the analyzer after changing the device settings to get consistent behavior. Please see if the settings look right though to double check.
The last three pics are the results of three tests. One test was a 50mm ø circle, and the pulses were 16000. Second test was a 75mm ø circle, and the pulses were 24000. Third test was a 100mm ø circle, and the pulses were 32000. Logically, this makes perfect sense.
To recap, the X and Y axes distance per pulse are set at 6.25 µM in the Trocen DSP. So, I’m not sure what math is necessary to determine if the total pulses are correct.
My math seems to work out to this for the 100mm ø circle results:
32000 pulses * 6.25 µM per pulse = 200000 total microns of movement.
Which equals 200mm.
Also, found that changing the Curve Tolerance setting in LightBurn had no affect on the amount of pulses recorded. I’m assuming that is correct behavior?
This will be a big sigh of relief if the DSP can be confirmed not the issue with your input.
All of the X and Y axes pulses matched (again, please check if I did something wrong). Much appreciated!
I also saved the pulse dump if you would like to take a look (requires free DSView software to open).
Technically, the number of pulses should be identical if you draw a square of the same size - the axis moves the same amount in both cases, it’s just the timing of when they move that changes. Changing the curve tolerance will be similar - it changes the accuracy of the arc generation, but ultimately the movement distance should be the same.
Your results are what I’d expect, and the math seems right.
I was just curious if you wanted to see the pulses visually to see if maybe the X axis was pausing for long enough to cause the issues previously noted in this thread.
It would be easy enough for you to check - How fast was the circle running? Measure the flat sides, divide that length by the movement speed. If the X stops pulsing for that much time, that might be your problem. I suspect that the maximum distance between X pulses will be a lot shorter than that.
Is that a likely scenario that you’ve seen on any DSP? Where an axis artificially lags another due to some flaw in the controller? (And no way to fix it I imagine)
No, I’ve never seen this. Have you changed out the motor controllers? They’re usually cheaper.
The drivers? Have not. I figured I could just swap one axis for the other out if necessary to see if the problem moves with the driver.
The top & bottom also appeared to have flat spots, though they weren’t as pronounced. Start with an axis swap and see if that improves anything.
What would indicate Y axis backlash? I know you said that flat spots in four locations indicate X axis backlash, but was wondering what the circle would look like if the Y had some backlash as well. Thank you again!
No, flats on the sides are from the X. Flats on top/bottom would be the Y.