Planning - Bridgeport Interact 1 linuxCNC Retrofit

More
15 Jan 2016 15:29 #68457 by csbrady
Having recently done this I can save you a little time. I found that the encoder direction was wrong and needed to be reversed. The easiest way to fix this is to use a negative encoder scale. With 25 fold interpolation the correct scale for you should be -127000. The servos should have the correct polarity.

Here are my final numbers from my tuning for the X axis:

MAX_ACCELERATION = 3.6
P = 170
I = 0.35
D = 0
FF0 = 0
FF1 = 2.62
FF2 = 0.01
BIAS = 0.0034
DEADBAND = 0.000059
MAX_OUTPUT = 10
ENCODER_SCALE = -25400
OUTPUT_SCALE = 10
OUTPUT_MIN_LIMIT = -10
OUTPUT_MAX_LIMIT = 10

Because your encoder scaling is very different you probably need to scale these but the ratios should be similar. You might want to start with P, I, FF1 and FF2 at 25% of what I have as a starting point. Easier to deal with a sluggish servo than one that oscillates. Also you should set the BIAS to 0 since each servo will have a different offset. I set the MAX_VELOCITY quite low since there is some delay in the servos that causes a fairly big following error at the start and end of movement. It's trading speed for accuracy. It takes a little time to see how each of the parameters affect the results. Take your time and carefully note what happens. I ended up making 3 passes on each axis. Each time I was able to get a slightly better result.

I found that doing a G01 move of about 0.8" + immediately followed by a move - was a good test case. Having both + and - movement makes it much easier to set FF1.

Good Luck!

Please Log in or Create an account to join the conversation.

More
15 Jan 2016 15:40 #68459 by cncnoob1979
csbrady,

Thanks for taking the time to help me out! Did you get yours sorted out? The issues you were having?
Also, did you set your index pulse to 90deg or 270deg? I noticed that it was a selection with the documentation you received for your settings.

My 702b were set for 270deg, but I couldn't see them until I set them for 90deg [default settings from the manual].

Please Log in or Create an account to join the conversation.

More
15 Jan 2016 16:18 #68464 by csbrady
Yes, I just figured out the problem last night. It was my measurement setup.
I set my index pulse for 90 degrees. As far as I can tell both will work, but I think 90 degrees is more standard.

Please Log in or Create an account to join the conversation.

More
15 Jan 2016 16:45 #68470 by PCW
BTW it is suggested that you _do not_ reverse the output polarity by changing the PID signs
The PID component has a nasty bug with integral limits and negative parameters...

If your input scale is correct (encoders read in the right direction), and you have feedback backwards (runaway),
the easiest way to reverse the output polarity on a 7I77 is to change the sign of the scalemax parameter

Please Log in or Create an account to join the conversation.

More
15 Jan 2016 19:31 - 15 Jan 2016 19:33 #68486 by cncnoob1979
PCW,

Is the scalemax parameter located in the INI file?
Im looking in the linuxcnc documents under INI and I don't see it listed.
LinuxCnc INI Documentation
Last edit: 15 Jan 2016 19:33 by cncnoob1979.

Please Log in or Create an account to join the conversation.

More
15 Jan 2016 19:38 #68487 by csbrady
If you were running away with positive PID values then reversing either the encoder or the servos is needed but not both. Most likely you will only need to reverse the encoders. At least that is what I found.

Please Log in or Create an account to join the conversation.

More
15 Jan 2016 20:45 #68488 by PCW
look like its:
OUTPUT_SCALE = 10
in the pncconf created .ini file

You should be able to see where the mumble.mumble.scalemax
parameters are initialized by looking at the HAL file
Note that many INI names are arbitrary so you could have a INI file entry:

[AXIS_0]
FOONBLATS_PER_SPUD = 100.0

and then in your HAL file:

setp foonblats.0 [AXIS_0]FOONBLATS_PER_SPUD

so dont expect all INI file parameters to be documented...

Please Log in or Create an account to join the conversation.

More
17 Jan 2016 01:10 - 17 Jan 2016 01:12 #68547 by cncnoob1979
Thanks guys!

I have the machine testing pretty well. Tuning servos was a very steep learning curve. The more I find out what I don't know, the more I don't know! lol

Here is a video of where I have all 3 tuned to. Can't seem to get the overshoot sorted. I ended up with zero ff2/I/D

I tried many different combos. I'm sure I'll try again. My garage is a mess so you just get the monitor screen playing halscope!

Edit: btw, this was at 60in/min.

Thanks for all the help so far! I'm going to need more! :laugh:

Tuning servos
Last edit: 17 Jan 2016 01:12 by cncnoob1979.

Please Log in or Create an account to join the conversation.

More
17 Jan 2016 04:09 #68563 by csbrady
Looks like good progress. Are you using the trigger function on Halscope?
You probably saw this thread: forum.linuxcnc.org/forum/49-basic-config...ervo-tuning?start=20
Back in 2012 a guy did the same refit that we are doing and found a 6ms command to movement delay that is probably in the servos. I found the exact same issue and my tuning looks quite similar. The results are acceptable but not ideal. I found that lowering the MAX_ACCELERATION to 4 helped a lot with the spikes, but at the cost of speed. There was no follow up for the thread so there probably was not a better resolution to the issue.

Please Log in or Create an account to join the conversation.

More
17 Jan 2016 04:57 - 17 Jan 2016 06:48 #68564 by cncnoob1979
Yes while tuning I'm using the auto trigger of the scope. I set it to rising edge on my command signal.

In that thread you pointed out (I had read before), PCW did suggest inverse deadband and might help.
I wonder if anyone has implemented it before. Well I'm sure someone has, I'll try researching it.

Here is the link

www.anderswallin.net/2008/04/idb-inverse...-component-for-emc2/
Last edit: 17 Jan 2016 06:48 by cncnoob1979.

Please Log in or Create an account to join the conversation.

Moderators: cncbasher
Time to create page: 0.109 seconds
Powered by Kunena Forum