Build Thread Tree325 Retrofit Started - Page 12

# Thread: Tree325 Retrofit Started

1. ## Re: Tree325 Retrofit Started

Originally Posted by TomKerekes
I'd agree and say around 0.005 is probably a good balance between stability and following error.
Originally Posted by TomKerekes
Its important to understand what parts of the trajectory (blue plot) have high acceleration/deceleration and what parts have high velocity. Acceleration causes the Trajectory to have curvature. High velocity causes the trajectory to have a steep slope.
I'm expecting you understand that currently our largest errors occur at points of high acceleration/deceleration. I'm expecting Acceleration feedforward to be most helpful to reduce those errors.

Sometimes it is helpful to reduce the feedback while tuning the feedforward. Mainly turn the I gain to near zero (so it has nearly no effect throughout the motion). This is sort of like learning to drive the racetrack with your eyes closed. If you are able to follow the track reasonably well you can be sure you have learned the track well. So then after you open your eyes you will only need to make the minimal corrections.

'V' feedforward numeric values are typically small numbers. 'A' feedforward numeric values are typically even smaller. This is because the velocity and accelerations they are multiplied by are typically large numeric values in counts/sec or counts/sec2 and the result in output is not typically that large of a number. Start with small numbers such as 0.0001. Increase until an effect is seen on the error. Then continue to increase until the error reaches a minimum. Much like making a corner in a car and anticipating a certain curve and turning the steering wheel too much will cause you to veer to the inside of the curve rather than the outside of the curve.
Understood.

My Fast-Forward test steps were made.

I set set the I-Gain to close to zero, where it had no real effect ... I=0.00001
The I started out with Fast-Forward V=0.0001 & A=0.0001
I then (first) only increased the Acceleration feedforward to equalize curvature (RED on BLUE) ... error seem to correspond as well.
Then I increased the Velocity to equalize the slope (RED in BLUE) .... error seem to correspond with reduction as well.
This process seemed easier to interpret compared to just looking at the error results only.
Did I do this correctly ... using this process?

Here is the Kmotion videos of the results with I-Gain I=0.0001 (ZIP file 42mb)

Here is a video with I-Gain set back to I=0.0055 and Fast-Forward Parameters (ZIP File 29mb)

My Final Kmotion Saved Data file

Originally Posted by TomKerekes
As a side question can you explain the mechanics of your machine? I'm assuming the motor, tachometer, and encoder are all on the same shaft? Or is the encoder on the lead screw? Also right now it seems impossible to reach the original specification of 250ips. Based on our output of 600 DAC counts to go ~60ips. Then full DAC of 2048 (10V) would only be about 180ips. I'm wondering if someone reduced the size of the motor pulley. That would increase the resolution (like we see)and reduce the speed (like we see). Is the belt at the proper tension?
1.) Yes, the Servo motor, tachometer, and encoder are on the same shaft (on the back end).
2.) I would have to say that the servo motor pulley are original equipment (with a 2:1 ratio). I once again verified that two revolutions of the servo motor pulley produces one revolution on the Ball-Screw pulley.
So, 2000 counts = one revolution on the servo motor pulley which produces 0.100" (exactly) move on the ball-screw (table) of the X-axis.
This was tested with the "Move". With an dial-indicator set I was getting 0.100" move with it returning back to zero ... exactly (well within .0002")

3.) I also verified, once more, that a 10,000 count move produces a 0.500" move on the ball-screw (table) on the X-axis. Also, 20,000 count move produces a 1.000" move on the ball-screw (table) on the X-axis ... exactly.

4.) Concerning the Servo Motor notched belt drive tension, I will need to look into this with more detail as at this moment I am not sure how to set this. I am assuming it is set correctly.

Originally Posted by mmurray70
Tom, is there any possibility of improving things with the adjustments on the servo drive? ....
I was wonder this same question .....

Originally Posted by TomKerekes
Hi mmurray70,

Good question. I was reluctant to suggest that because it would be confusing and if we mess things up it would be hard to get back to where we are.
More confusion .... I can relate!!!

.....
.....

Machine
Existing Machine Schematics
Electronic Cabinet-Right Side
Electronic Cabinet-Back SIde
Existing Drive Board SD1525-10
J325 Servo Drive-SD1525 Manual
3-Phase Rotary Convert Used
RickB's J325 Retrofit Wiring
KFLOP 5VDC/15Watt/3A Power Supply
KANALOG Mounted & Connected
Kmotion - Axis Encoder Manual Test of Position via Manual Movement
Kanalog-Encoder Voltage High/Low Checks & 1KOhm Resister
Kmotion Configuration Screens "RUN-AWAY"
Tree Journeyman 325 Designed Specs.

.....
.....

2. ## Re: Tree325 Retrofit Started

Well that looks a little better. Save those numbers as a baseline. Probably be good enough as it is.

Yeah i bet the reduction and fine ballscrews is really killing acceleration. Those servos need to spin like crazy to move that table! My machine is a little bigger but uses 10mm ballscrews with direct drive. This one in comparison would need to accelerate the servo motor 8 times faster for the same table acceleration. If you look at the video of the machine, the servo does seem to be starting and stopping fairly quickly. Even though the settings for the axis dont sound too bad at first glance, maybe its still a little too much considering the servo is geared so low by the belt and fine pitch ballscrew?

I wonder is it worth trying with even lower acceleration still before adding the Feed Forward? Maybe try 100000 or 150000. If you do try this, remove the Feed Forward and do a test with current settings, then reduce acceleration even further and see if theres an improvement. If its the same then forget about this test, if its a little better then tweak the Feed Forward again for the lower acceleration.

3. ## Re: Tree325 Retrofit Started

Originally Posted by TomKerekes
the encoder which has only moderate resolution (I think it is 1024 count/rev).

It does seem like performance is significantly less then many other systems I've been involved with. It might be just the combination of the slow switching speed of the Amplifiers, the somewhat low resolution of the encoders, the belt drive, belt reduction, low leadscrew pitch (0.1 inch), etc...
Originally Posted by PeterTheWolf
Understood.

2.) I would have to say that the servo motor pulley are original equipment (with a 2:1 ratio). I once again verified that two revolutions of the servo motor pulley produces one revolution on the Ball-Screw pulley.
So, 2000 counts = one revolution on the servo motor pulley which produces 0.100" (exactly) move on the ball-screw (table) of the X-axis.
This was tested with the "Move". With an dial-indicator set I was getting 0.100" move with it returning back to zero ... exactly (well within .0002")

3.) I also verified, once more, that a 10,000 count move produces a 0.500" move on the ball-screw (table) on the X-axis. Also, 20,000 count move produces a 1.000" move on the ball-screw (table) on the X-axis ... exactly.
My last post was based on Toms post of 1024 encoders and 0.1 pitch ballscrews. Thats why I was thinking the servos must be spinning so fast!

After a closer look at your post Peter, it looks like the encoders are actually 2000 (or 2048) and ballscrew pitch is 0.200"? Your move of 2000 counts moved the Servo pulley 1 full turn right, not the leadscrew pulley, correct? This would make more sense. If this is the case, there might not be anything to gain by dropping acceleration even further.

4. ## Re: Tree325 Retrofit Started

....
....

Just to confirm:

Originally Posted by mmurray70
After a closer look at your post Peter, it looks like the encoders are actually 2000 (or 2048) and ballscrew pitch is 0.200"?
Yes ...this Tree Journeyman 325 has a ball-screw Pitch on .200" (per one revaluation) on all axis.

Originally Posted by mmurray70
Your move of 2000 counts moved the Servo pulley 1 full turn right, not the leadscrew pulley, correct?
Yes... that is correct. 2000 counts on the servo motor axis (pulley) will move the ball-screw axis One-Half of a revaluation, which is 100".

So, the Servo Motor Axis moving 2 revaluation to a count of 4000 will rotate the Ball-Screw 1 revaluation, which is .200" (on a dial-indicator).

I trust this clears up any confusion on the mechanical ratio of the pulley ratio on this machine.

.....
.....

Machine
Existing Machine Schematics
Electronic Cabinet-Right Side
Electronic Cabinet-Back SIde
Existing Drive Board SD1525-10
J325 Servo Drive-SD1525 Manual
3-Phase Rotary Convert Used
RickB's J325 Retrofit Wiring
KFLOP 5VDC/15Watt/3A Power Supply
KANALOG Mounted & Connected
Kmotion - Axis Encoder Manual Test of Position via Manual Movement
Kanalog-Encoder Voltage High/Low Checks & 1KOhm Resister
Kmotion Configuration Screens "RUN-AWAY"
Tree Journeyman 325 Designed Specs."

.....
.....

5. ## Re: Tree325 Retrofit Started

Hi PeterTheWolf,

I think you did an excellent job with the Feedforward tuning. You should realize the maximum +/-6 counts of error only corresponds to +/- 0.0003 inches. To get better than that is probably not significant considering all the other mechanical errors. Furthermore in a different scenario the errors are likely to be significantly different. It like teaching a blind robot to make a corner in your car absolutely perfectly, that's great but then next week, on a different curve, with different road conditions, and the trunk full of bricks, the result is not likely to be as good. We are only testing one move size, at one speed, at one place in the travel, with no payload. As an experiment you might try clamping a big part on the table to check the effect on the error.

btw you might also look at the plot and observe the dither. Notice the errors are ironically actually somewhat worse when sitting still as compared with while moving at high speed. It is very difficult to hold near zero error at zero speed because of stiction, backlash, and compliance. You might imagine the motor stuck at a position 0.0003 inches from the destination and the servo trying to correct this tiny error. Finally the servo applies enough motor torque to break free, but then it overshoots. I wouldn't worry about this at this point. Here is a related article:
Dynomotion

I'd suggest the next step to find two separate Motion Profile parameters for Rapids and Feeds. You might read this article:
Dynomotion

For rapids we just want to move from point A to point B as quickly as possible. We don't care so much about accuracy but we don't want a large amount of oscillation and shock at the end as we may be cutting at feedrate soon afterwards. I'm thinking you should be able to achieve 180ipm which is the limit of the amplifiers with their current settings. Rapids make use of the Jerk parameter. Jerk is like limiting the speed that you apply the gas or brakes in a car.

For feeds we likely want to use lower accelerations because accuracy is important while moving/cutting. It is up to you to decide what is the fastest feedrate you will be using for cutting and what error is acceptable. Reduce the acceleration until that criteria is achieved. Always keep the Jerk setting at 1000X the acceleration value to simulate the no-Jerk limit that will occur while feeding.

You might then also repeat all the previous steps for the other two axes. At that point we should be ready to move to KMotionCNC to actually run a GCode Job.

Regards

6. ## Re: Tree325 Retrofit Started

...
....

Originally Posted by TomKerekes
I'd suggest the next step to find two separate Motion Profile parameters for Rapids and Feeds. You might read this article:
Dynomotion
Sorry, I just want to confirm my understanding on this next step.

I have read and re-read what you advised on ... "Velocity, Acceleration, and Jerk".

When you say I will need to come up with two separate motion profile parameters.... one for Rapid (moves) and one for Feed (moves) ....

Now I am going start testing different "Motion Profile" values (V, A, & J) according to these four step below to find two sets of values used in KMotionCNC based on the tuned servo values ("P", "I", & "D") I have already found for the X-axis?

1 - Find Max Velocity at low Acceleration and infinite Jerk
2 - Find Max Acceleration for your system for the chosen Velocity
3 - Find optimal 3rd order Jerk limited motions.
4 - Reduce Max Following Error Limit to small value

.....
....

7. ## Re: Tree325 Retrofit Started

Hi PeterTheWolf,

That is basically correct. The idea is to find two sets of motion profile parameters (V A J). One set used for accurate cutting and one set for Rapids (point to point moves).

Set #1 - accurate cutting

You will need to choose some criteria regarding maximum cutting speed and precision. You can then find the maximum Acceleration that will allow you to achieve those goals. For example you might decide you will never need to do accurate cutting over 30ipm and you are ok with 1mil precision. Convert the 30ipm to counts/sec and set that as your V to test. Convert the 1mil precision to counts so you know what to look for in the plots. Now try different Accelerations to find the level that meets your precision goal. With lower Acceleration the system should be able to follow the trajectory more precisely. Each time you change the Acceleration set the Jerk to 1000X the Acceleration number. This simulates switching the Acceleration on and off instantly (in 1 millisecond) similar to what will occur when cutting.

When you are finished record the Acceleration and convert it to inches/sec^2 (divide by the resolution) to be entered later into KMotionCNC's Trajectory Planner.

Discard the Jerk Value

The Velocity setting might also be converted to inches/sec and entered into KMotionCNC's Trajectory Planner. Or you might enter a bigger value if you want to allow higher GCode Feedrates that might be used when you don't care so much about accuracy.

Set #2 - Rapids

For this set we probably don't care much about accuracy. The criteria is more that we can reasonably follow the trajectory without falling grossly behind and that we don't rock, shock, or shake the machine excessively. From previous tests it seems your system should be able to move 180ipm so you might choose that as your max rapid speed. Then find Acceleration and Jerk settings you are happy with. Jerk relates to the rate the acceleration is applied. Its like how fast the brake is applied in a car. A reasonable value for most machines is around 0.1 seconds. By always setting the Jerk Value to 10X the Acceleration value full acceleration will be applied in 0.1 seconds. Make sure that you test moves big enough (size) that both full acceleration and velocity is achieved. The Velocity plot is good for checking this. Obviously the max Velocity in the plot should be the same as your max V setting. The Velocity plot should also have a straight ramping section. This represents the constant and maximum acceleration period. If the plot consists entirely of curves then we never ramped to maximum acceleration before it was time to start ramping acceleration back down.

When finished leave these settings so they will be used for rapids and also any internal KFLOP motions such as Homing and such.

At this point you should know the worst case following error that occurs under all normal circumstances. Set the Max Following error to a slightly bigger value. By doing this if anything goes wrong for example you hit an obstacle, servo goes unstable, inadvertently commanded to too high of a speed, etc. then the Axis will immediately fault and disable.

HTH
Regards

8. ## Re: Tree325 Retrofit Started

Originally Posted by TomKerekes
....
..... We are only testing one move size, at one speed, at one place in the travel, with no payload. As an experiment you might try clamping a big part on the table to check the effect on the error.
Today I loaded the X-axis Table up with about 140lbs of steel and tested the Error base on the current final working X-axis servo "Step Response" Values (P,I,D, V, A, J,) over a the 10,000 count move.
The Error plot and Command/Position Plots look the same as the plots without the load. However, I did see less dithering at the pulleys (physically oscillating) but the error plots still is hunting at zero.
I also noticed with a load on the table when I move with a count of 10,000 I no longer get an exact move of .500" on my dial indicator. It moves .493" and then back to zero.
Can I assume that this will be addressed later?

Originally Posted by TomKerekes
....
I'm wondering if someone reduced the size of the motor pulley. That would increase the resolution (like we see)and reduce the speed (like we see). Is the belt at the proper tension?
I was able to barrow a Gates Sonic Tension Meter (model 508C) to check the tension on all three servo belts.
Based on the information I found the X-Axis and Y-axis checked within a couple of Hz; however Z-axis needed adjusting.

Span Length Formula:
S = √(CD^2- (D-d)^2/4)
Where: S=Calculated Span Length (mm)
CD=Center Distance (mm)
D=Large Pulley Dia. (mm)
d=Small Pulley Dia. (mm)

X-Axis:
Brand Belt: Bando Synchrolink
Number on Belt: 270L-0756 (SB-26)
PowerGrip Timing Belt – L (0.375”)
Mass Constant = 3.2 g/m
Belt Width = .750”
Frequency on Correctly Tensioned Belt: 52Hz
Speed Ratio =0.500
Pitch Diameter of the Large Pulley (26 tooth) = Ă˜3.104”
Pitch Diameter of the Small Pulley (13 tooth) = Ă˜1.552”
Center to Center axis span (used in formula above) = 9.8125”
Checked Belt Tension was at a Frequency of 50-51 Hz.

Y-Axis:
Brand Belt: Bando Synchrolink
Number on Belt: 322L-0756 (0949)
Mass Constant = 3.2 g/m
Belt Width = .750”
Frequency on Correctly Tensioned Belt: 52Hz
Speed Ratio =0.500
Pitch Diameter of the Large Pulley (30 tooth) = Ă˜3.581”
Pitch Diameter of the Small Pulley (15 tooth) = Ă˜1.790”
Center to Center axis span (used in formula above) = 11.8125”
Checked Belt Tension was at a Frequency of 52-53 Hz.

Z-Axis:
Brand Belt: Bando Synchrolink
Number on Belt: 225L-100G
Mass Constant = 3.2 g/m
Belt Width = 1.00”
Frequency on Correctly Tensioned Belt: 128Hz
Speed Ratio =0.400
Pitch Diameter of the Large Pulley (30 tooth) = Ă˜3.581”
Pitch Diameter of the Small Pulley (12 tooth) = Ă˜1.432”
Center to Center axis span (used in formula above) = 7.250”
Checked Belt Tension was at a Frequency of 128-129 Hz.

Microsoft Word Doc of the above Belt Frequency Settings

.....
.....

Machine
Existing Machine Schematics
Electronic Cabinet-Right Side
Electronic Cabinet-Back SIde
Existing Drive Board SD1525-10
J325 Servo Drive-SD1525 Manual
3-Phase Rotary Convert Used
RickB's J325 Retrofit Wiring
KFLOP 5VDC/15Watt/3A Power Supply
KANALOG Mounted & Connected
Kmotion - Axis Encoder Manual Test of Position via Manual Movement
Kanalog-Encoder Voltage High/Low Checks & 1KOhm Resister
Kmotion Configuration Screens "RUN-AWAY"
Tree Journeyman 325 Designed Specs."
Tree Journeyman 325 Axis-Tension Frequency Settings"

.....
.....

9. ## Re: Tree325 Retrofit Started

Originally Posted by TomKerekes

Set #1 - accurate cutting

You will need to choose some criteria regarding maximum cutting speed an precision. You can then find the maximum Acceleration that will allow you to achieve those goals. For example you might decide you will never need to do accurate cutting over 30ipm and you are ok with 1mil precision. Convert the 30ipm to counts/sec and set that as your V to test. Convert the 1mil precision to counts so you know what to look for in the plots. ........

I am thinking I would like to actually cut at 70 ipm with and accuracy of .001".
So my understanding would be that I would want V=23,333 counts/sec for a 70 ipm (which is 1.1666 ips) cutting feed-rate base on 20,480 counts which gives 1.0" movement on this machine axis.

I do not understand how to convert the 1 mil precision to counts.

Back on this Thread -- #130

Originally Posted by TomKerekes
..... With those settings the error is ~120 (6mils) peak when accelerating and decelerating. This seems somewhat large for this moderate speed (~60ipm). .......
How did you calculate this? I am assuming you were referring to the same thing here?

.....
.....

Machine
Existing Machine Schematics
Electronic Cabinet-Right Side
Electronic Cabinet-Back SIde
Existing Drive Board SD1525-10
J325 Servo Drive-SD1525 Manual
3-Phase Rotary Convert Used
RickB's J325 Retrofit Wiring
KFLOP 5VDC/15Watt/3A Power Supply
KANALOG Mounted & Connected
Kmotion - Axis Encoder Manual Test of Position via Manual Movement
Kanalog-Encoder Voltage High/Low Checks & 1KOhm Resister
Kmotion Configuration Screens "RUN-AWAY"
Tree Journeyman 325 Designed Specs."
Tree Journeyman 325 Axis-Tension Frequency Settings"

.....
.....

10. ## Re: Tree325 Retrofit Started

Yes... that is correct. 2000 counts on the servo motor axis (pulley) will move the ball-screw axis One-Half of a revaluation, which is 100".

So, the Servo Motor Axis moving 2 revaluation to a count of 4000 will rotate the Ball-Screw 1 revaluation, which is .200" (on a dial-indicator).
So using those figures, screw pitch is .2", and it takes 4000 counts to move 1 revolution, or 0.2", so that means it takes 20'000counts (4000 x 5 revolutions) to move 1".
Which then means it takes 20'000/1000(thousands per inch) or 20 counts to move a thou.

11. ## Re: Tree325 Retrofit Started

Originally Posted by TomKerekes

Set #1 - accurate cutting

You will need to choose some criteria regarding maximum cutting speed and precision. You can then find the maximum Acceleration that will allow you to achieve those goals. For example you might decide you will never need to do accurate cutting over 30ipm and you are ok with 1mil precision. Convert the 30ipm to counts/sec and set that as your V to test. Convert the 1mil precision to counts so you know what to look for in the plots. Now try different Accelerations to find the level that meets your precision goal. With lower Acceleration the system should be able to follow the trajectory more precisely. Each time you change the Acceleration set the Jerk to 1000X the Acceleration number. This simulates switching the Acceleration on and off instantly (in 1 millisecond) similar to what will occur when cutting.

When you are finished record the Acceleration and convert it to inches/sec^2 (divide by the resolution) to be entered later into KMotionCNC's Trajectory Planner.
...
...

Once again, I am having a hard time discerning what I am looking for in the plots on this test.

Here is a video on this test ... I am sure my confusion is pretty pronounced. (Zip File 43mb)

Kmotion Data file and Parameters used

Originally Posted by m_c
Which then means it takes 20'000/1000(thousands per inch) or 20 counts to move a thou.
Originally Posted by TomKerekes
......Convert the 1mil precision to counts so you know what to look for in the plots. Now try different Accelerations to find the level that meets your precision goal.....
Are we talking about the same thing here?
Somehow I think I am missing something. I do what to try and hold 0.001" accuracy with a 60-70 ipm feedrate (while cutting) and I understand how 20 counts = 0.001" but this 1 mil precision certainly isn't the same thing ... is it?

.....
.....

Machine
Existing Machine Schematics
Electronic Cabinet-Right Side
Electronic Cabinet-Back SIde
Existing Drive Board SD1525-10
J325 Servo Drive-SD1525 Manual
3-Phase Rotary Convert Used
RickB's J325 Retrofit Wiring
KFLOP 5VDC/15Watt/3A Power Supply
KANALOG Mounted & Connected
Kmotion - Axis Encoder Manual Test of Position via Manual Movement
Kanalog-Encoder Voltage High/Low Checks & 1KOhm Resister
Kmotion Configuration Screens "RUN-AWAY"
Tree Journeyman 325 Designed Specs."
Tree Journeyman 325 Axis-Tension Frequency Settings"

.....
.....

12. ## Re: Tree325 Retrofit Started

Originally Posted by PeterTheWolf
...

Are we talking about the same thing here?
Somehow I think I am missing something. I do what to try and hold 0.001" accuracy with a 60-70 ipm feedrate (while cutting) and I understand how 20 counts = 0.001" but this 1 mil precision certainly isn't the same thing ... is it?
.....
We are, although it's not a term I like or use.
In imperial a mil means 1 thou.
In metric, using it verbally would be short for millimetre.

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•