- Posts: 12160
- Thank you received: 0
Can a component know the diameter of an arc its cutting
andypugh wrote: It might be better to treat this as a geometry problem rather than circular motion.
Andy thanks. I had a few minutes this morning and threw halscope into the mix so will look a bit further before I give up. I think the rate of change might remain at 0 which kinda makes sense as the delta changes should be identical each servo cycle given a constant velocity and a constant circular shape. The other algorithm looks interesting.. I just thought of it but maybe skipping a random number of servo cycles would mean the time period would vary so its not all identical..
I had some issues today which shot my plasma plans for the weekend apart. Business comes first.
Please Log in to join the conversation.
andypugh wrote:
rodw wrote: Yeh, I think there is an error in the way I calculate the difference between the heading rate of change but I've not found it yet as I ran out of time util tonight
It might be better to treat this as a geometry problem rather than circular motion.
The needs three points, but we are already considering three points anyway to get heading rate of change.
stackoverflow.com/questions/22791951/alg...ngles-given-3-points
And a rather interesting version:
math.stackexchange.com/questions/133638/...points-actually-work
Well I've had a look at this using the latter interesting version that looked simple until I got to calculating the angle a.
Imagine we are traversing a circle, we end up with the latest side A, the previous side B and a chord from the earliest point to the current point being Side C.
The approach I took was to calculate the slopes for B and C convert them the inclinations (angle for the slope in radians). By subtracting the inclinations (atan of the slopes), I think we end up with angle a (aa in my code). Heres what I came up with:
So am I on the right track with angle aa?
Please Log in to join the conversation.
- tommylight
-
- Away
- Administrator
-
- Posts: 22012
- Thank you received: 4
Could any of those be used to drop the feed rate ?
Even if that works ( it should, just did not think about it, just got the idea now ), there remains the problem of small segments that are short straight lines ( i do have the gcodetools for inkscape set like that on one of the machines ). Not very important for now.
The benefit of this would be that all the radius’s would be cut slower, the downfall is even large radius’s would be slower, unnecessarily.
Please Log in to join the conversation.
- Mike_Eitel
- Offline
- Platinum Member
-
- Posts: 1018
- Thank you received: 0
Isn't it typical for small holes that the acceleration of both axes is quite high and with sinosoid relation. Big holes need more time.
m5c
Mike
Please Log in to join the conversation.
Trying to do this at the HAL level not in Gcode so it just happens in the background according to some sort of Algorithmtommylight wrote: G2, G3, I, J, K ????
Could any of those be used to drop the feed rate ?
tommylight wrote: The benefit of this would be that all the radius’s would be cut slower, the downfall is even large radius’s would be slower, unnecessarily.
Tommy, not so. Andy's idea was to use lincurve to set a table of feed rates which would be used to control adaptive feed so we can modify the result based on an algorithm I think lincurve allows 16 different levels. eg. for this radius range , use this speed override.
Mike_Eitel wrote: I have one ( silly?) question:
Isn't it typical for small holes that the acceleration of both axes is quite high and with sinosoid relation. Big holes need more time.
m5c
Mike
Possibly, I'm not sure but for small holes, with plasma you might just spot the holes and drill to size anyway.
Please Log in to join the conversation.
- tommylight
-
- Away
- Administrator
-
- Posts: 22012
- Thank you received: 4
Far be it for me to keep you from doing that !rodw wrote: Trying to do this at the HAL level not in Gcode so it just happens in the background according to some sort of Algorithm
I never said it was a good idea, just an idea.
Then again i might give it a try to modify gcodetools to do just that. To many projects, not enough time.
Please Log in to join the conversation.
Now I just have to code it!
(And Hope it Works!)
Please Log in to join the conversation.
