General victory over the "W" axis

After much thinking, troubleshooting, and generally moving from one trouble to the next, I have the "W" axis working, however badly.

Specifically, there was nothing wrong with the 30A8 servo drive. The problem was that it was set to provide only half of the available torque.

Then I set up EMC to talk to the drive. Since I ran out of D/A outputs (I have four, and another card with four is on backorder from Jon), I disconnected the rotary table (4th axis) and used the fourth output for the W axis, for now.

A lot of things went wrong, basically every single thing was incorrectly done, but I fixed one mistake after another.

It seems to work now, if commanded to move by one inch, it moves by one inch, etc.

It needs a lot of tuning, still. I also have a problem, which is that after EMC stops moving the knee, it still sends a lot of current to the motor, which heats it up. The current stops after hitting F2-F2. I need to figure it out, or else I cannot use this mill.

When I get another D/A output card from Jon, I will move/renumber all inputs (encoders) and outputs (D/A converter outputs) so that their orders are logically sensible and consistent.

i
Reply to
Ignoramus28206
Loading thread data ...

GREAT. Refitting a CNC control is nothing but simple steps. Trouble is there's a lot of them and they all have to be right.

I've been putting off W axis on my knee for years. Now I gotta keep up with the Russians. Kind of an arms race. I started the machining for my new knee ball screw install yesterday. I see you got Sputnik up first. Wanna race to the moon? Just like a previous race, I'm using more capable, more complex equipment. The Russians are going simple and durable.

Karl

Reply to
Karl Townsend

Yes. What simplifies this somewhat is that I can test intermediate steps. (Is the drive working? Is the encoder working?)

I am not sure how really durable this is. Right now the W axis motor heats up because there is current through it even what it is stopped after a motion. EMC2 is trying to move it "one last hair" before it gets into the deadband. It does not move and EMC's PID loop does not care enough to really move it. I really would like to hear from you guys what I can do about it.

i
Reply to
Ignoramus21417

The first thing to try is an increase to the "I" gain. This integrates the position error over time and adds the result to the command. In other words, the loop will try harder to correct a very small error as the error persists in time.

Reply to
Ned Simmons

Yep, this is a really good idea, I will do so tonight. I feel that I am pretty close.

i
Reply to
Ignoramus21417

Sounds right. But, AFAIK Iggy hasn't finished the initial tuning as outlined in the AMC manuals. That's step one.

From there, I can't help with EMC. I use Galil and it comes with a wonderful servo tuning package. If there's something not quite perfect, this company has tech. service second to none.

Karl

Reply to
Karl Townsend

Bu-bu-bu-but the 'I' gain is the likely culprit in continuous current drain, if it integrates even a small measurement error it can cause high current draw forever. Does the 'I' gain have any stopband at all?

Too little 'I' range causes the motor to stall before the target position is reached. The 'D' gain is partly responsible here, too, it could be set too high and would null out the 'P' contribution before the target position is reached (that's when the 'I' goes to its limit).

Reply to
whit3rd

Yes, I will try to tune it some. I also wrote two subroutines, knee_up_to and knee_down_to.

Those functions will implement knee movement with G codes, and I will add special codes there to finalize the moves correctly to take the backlash out and, perhaps, help with this. I want to use those subroutines instead of straight G0 codes.

i
Reply to
Ignoramus21417
[ ... ]

One possibility is a combination of an air solenoid or something similar to lock and unlock the knee (if you don't already have that implemented) and a ball screw and ball thrust bearing for the knee. Your motor is fighting both the friction in the Acme jackscrew and the mass of the knee and table.

And make sure to have the knee locked before you remove the motor or its belt or coupling -- ideally have the knee in the lowest possible position. Otherwise, you have a chance of crashing the ballscrew and nut.

Hmmm ... what happens if you program it to overshoot a little and then back down to the desired height? You're going to be moving this while the spindle is retracted anyway aren't you -- then locking it down and moving the tool to the right height.

And -- does the lubricator lube the knee jackscrew, or is that left for manual lube?

Enjoy, DoN.

Reply to
DoN. Nichols

Yes. I spent a while tuning the PID loop two days ago, at least 1.5 hours. I think that at this point the situation is much better and the motor is able to push itself to where it needs to end up, and that reduces standstill current very considerably.

I am not, yet, 100% sure that I am completely done with this issue, but it looks like it is a good possibility.

I have long resolved to not mess with the hardware of this machine. I do not want to replace the ACME jackscrew with a ballscrew for this reason.

I do not want the knee to be a high performance axis, zipping around close to the speed of light. It is, pretty much, for tool height adjustments only.

This is what I do, actually. I have a sub for moving up, and a sub for moving down, and the one to move down does what you describe to take out the slack/backlash.

I think that it does lube the jackscrew.

i
Reply to
Ignoramus22805

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.