Dual PID loops with motor encoder + scale encoder per axis

More
13 Apr 2024 16:25 #298176 by scotth
I assume you have a tach to close the velocity loop on the drive. The dovetail config on the Bridgeport should give you plenty of friction. Dual loop with scales should be very stable. Make sure the thrust bearings and ball screws are in good shape. The best cure for backlash problems is to fix the mechanical problems first, every thing else is to hide the real problem.

Good luck,
Scott
The following user(s) said Thank You: TangentAudio

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

More
13 Apr 2024 17:24 #298181 by TangentAudio
Hi Scott,

The motors do have 2000CPR encoders on them, but they do not tie in with the "dumb" servo amps.

The ballscrews/nuts (or maybe thrust bearings) have some wear and there is more backlash in both X and Y than I'd like to see. When/if I start spending any money to improve things on this machine, that's where it should go first. Maybe I'll luck out and the nuts can be refitted with the next size larger balls and it won't break the bank. I didn't pay that much for the machine, and it's primarily for hobby use, so I don't want it to become a money pit.

Until that time, it doesn't cost anything except my time to play around and see if I can get dual loop working. It's a good learning exercise if nothing else.

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

More
13 Apr 2024 17:26 #298182 by Tinine
Drive needs to be in torque mode, not velocity.

My experience is that it's better to have PI from the load-mounted encoder.

Dual-loop has always been my standard. Motor shaft angle is unimportant, we care about where the load is. Within reason, backlash becomes a non-issue.

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

More
13 Apr 2024 17:30 #298183 by TangentAudio
Tinine,
These are 35 year old dumb servo amps, there's no option to set torque mode on them unfortunately. They take offset PWM in and output +/- DC voltage. The motors have 2000CPR encoders, but they do not connect to the servo amps.

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

More
13 Apr 2024 17:49 #298184 by TangentAudio
These are the parts of the old ProtoTrak Plus system from 1989 that I am still using for the moment, because they came with the machine and still work.

I have not pulled the amp boards from the cage to get photos, but they are pretty primitive.  Not much more than a DC power supply really.
 
 

The servo motors are big, brushed DC with a 16T:44T belt drive to couple to 5mm pitch ball screws.  The 2000CPR encoder hangs off the back.
 

And these are the "infamous" Trak gage wheel table position encoders (on X, Y and the non-motorized quill).  They work, kinda, until they get chips in them or they get misaligned.

 
 
Attachments:

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

More
13 Apr 2024 18:47 #298189 by Tinine

Tinine,
These are 35 year old dumb servo amps, there's no option to set torque mode on them unfortunately. They take offset PWM in and output +/- DC voltage. The motors have 2000CPR encoders, but they do not connect to the servo amps.

 

Dumb=good. All you need the amp for is transconductance from a low-level command to a current. Encoder should feed to your controller, not the amp.
First thing I do with a modern drive is switch it to dumb torque-mode.
Do you have schematics for the drive? Sometimes the conversion is a matter of a solder-jumper.
The following user(s) said Thank You: TangentAudio

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

More
13 Apr 2024 18:58 #298190 by TangentAudio

 Dumb=good. All you need the amp for is transconductance from a low-level command to a current. Encoder should feed to your controller, not the amp.
First thing I do with a modern drive is switch it to dumb torque-mode.
Do you have schematics for the drive? Sometimes the conversion is a matter of a solder-jumper.

I have not stumbled across any schematics yet.  The cage with both X and Y amps is Trak part number 15047, but all I can find are listings for a full replacement.  I'm not opposed to pulling it apart and doing some reverse engineering, but I haven't gone there just yet.
 

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

More
14 Apr 2024 12:35 - 14 Apr 2024 12:39 #298226 by TangentAudio
After doing more reading, now I'm questioning what mode these amps actually use. This thread in particular: www.cnczone.com/forums/servo-motors-driv...d-velocity-mode.html

Without documentation or reverse engineering the board, is there a sort of "black box" bench test I could perform to determine if these amps are actually running in velocity or torque mode? I've got a scope, current probe, DMMs, a programmable DC load, optical tachometer...
Last edit: 14 Apr 2024 12:39 by TangentAudio.

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

More
14 Apr 2024 16:33 #298234 by tommylight
Simple explanation would be:
Torque mode = no tacho generator on the motor
Velocity mode = tacho on motor and wired to drive, not wired to control
Position mode = all of those with encoder wired to control
-
Quite a while back i read here somewhere that LinuxCNC can output tacho signal from encoder feedback using some type of DAC converter for drives in velocity mode and using motors without tacho. Not important for this situation.
From the pictures it looks there is no tacho on the motor, so torque mode, and since LinuxCNC can use them with just encoder feedback and a single PID loop, should be easy to make it work, but tuning might be a challenge.
Since you also have linear scales (i hope i am on the right topic), having two loops should be much better, so use motor encoder to close velocity loop in LinuxCNC with the first PID, and use the scales to close the position loop in LinuxCNC with the second PID.
Should be doable, but i have yet to try as i have no linear scales on anything.
The following user(s) said Thank You: TangentAudio

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

More
14 Apr 2024 17:52 #298241 by TangentAudio
Thanks Tommy,

By your logic, these are probably torque mode drives after all? There is a quadrature encoder on the motors, but no tachometer/generator that would produce an analog output relative to velocity. I was conflating tachometers and encoders, since you could use an encoder to infer velocity and it would act as a tacho in theory. That's my lack of servo experience showing.

I might set up a DMM to read voltage across the motor and record voltages as I step through a series of open loop PWM control values across the full scale range. I could do another run and measure current as well. Might be even better to do it with a large load resistor (or a DC load) since that would eliminate the back EMF from the motor influencing the reading?

At least then it should be apparent whether voltage or current is changed proportionally to the control input and I could convince myself what sort of drives I have !
.

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

Time to create page: 0.364 seconds
Powered by Kunena Forum