Greets - although I haven't read every post of late, I've been an LCNC
follower since we had BDI's of EMC; LCNC has been my platform of choice
for many projects.
Like many, I started with software stepgens driving open loop steppers,
and although my shelves are full of them, I typically reach for a Mesa
board and position-capable servos these days. I have a particular love
for Yaskawa and Allen Bradley drives, and Yaskawa or Fanuc motors.
Typically I end up mixing brands from ebay finds when we hit the 3Nm
mark (or 500w, whichever comes first), so for my own gear, it's never a
perfect numerical match, but with appropriate care it functions fine.
I recently decided to redo my lathe (a Tsugami NCM, 6" chuck, 2" bore,
12 station turret, 6 station live) which I had a rather old (perhaps
2.3) LCNC on, more to work on a custom glade gui, as well as try and
stay more up to date, particularly with the RT kernel changes. (Yes, it
was that old).
The prior command path was LCNC Axis gui -> motmod -> Mesa Stepgen
position mode, quadrature out -> AB Ultra 100 drive in position follower
mode -> AC servomotor with encoder -> drive encoder output
electronically geared 1:1 -> Mesa Encoder input, scaled in inches ->
LCNC axis feedback. Effectively that was a closed loop stepper system,
wherein the feedback came from the encoder (motor) shaft - and this all
worked well. It sounded like a servo (velocities didn't sound like a
stepper), it acted like a servo and its following was really close both
in time and position. Enough for the things I was cutting. (ok, it held
+/- 5 tenths in 12L steel)
In having read some past posts, it became clear that the old config
files I had were not going to be easily translatable, so I gave Stepconf
a try (something I haven't used in years). Although it generated
"working" configs, I was really puzzled by the inclusion of PIDs and
their connection in the command chain, despite the fact I was still
using the Mesa stepgens.
I figured it must have been an update I missed, perhaps a
higher-performance path with the new motion planner (recalling I did
skip a lot of the posts during the early PathPilot discussions), so I
just went with it.
I was completely unable to get either axis to respond consistently.
Sometimes the drive would fault because of improper quadrature state
(namely changing pulse states while disabled), or it would move 0.5 inch
one way, then 1.0 inch the other way, despite scaling matching the real
world. Sometimes on an 0.1 move it wouldn't move at all, and would wait
for my FERROR to get almost limited out then it would snap the full
distance.
I'm not new to PIDs; in an earlier time between steppers and position
servos, I used to enjoy the task of tuning both torque and velocity
loops. (preferring velocity, though). However I have not until now
observed both pid error and command increase in the same direction
before, wherein the PID just seemed to be oblivious.
I chalked it up to the possibility that my servos and drives, although
mismatched but working prior, may have reached their useful life. Other
potential electro-mechanical variables such as connectors could easily
be the culprit, so I decided for another upgrade - a pair of brand new
Bergerda 1500w servos.
Those arrived a week back; I'm very happy with them. After mounting and
checking appropriate defaults, I wrote a quick hal config so I could
test the base pulses-per-inch for drive against the newly-installed
glass scales I decided to add to the mix. With this combination, I
expected that there really weren't any assumptions - the glass scales
have a known resolution, wherein the drive->motor->screw although
numerically believed to be known, may have been a little off due to age
or manufacturing tolerances. however things like rotor pole counts,
internal electronic gearing and actual screw pitch were no longer going
to be of issue.
Without too much trouble I found base scale, velocity and accel from the
Mesa stepgen (51010 scale, 9.0 vel, 7.0 accel) - which gave me more than
acceptable rapids, and the 5um glass scale has an encoder scale value of
5101.0. Mathematically, yes, it should have been 5080 or some multiple,
but clearly there is a small amount of error in the system compared to
my other metrology gear. That might get tuned closer to the mathematical
real once I get the ability to cut again.
However, in using a clean new StepConf generated config, with the above
values, the system just seems to want to drift into oblivion on its own.
Similar PID discontinuities as described above. No amount of simplicity
in tuning (even down to PID=1,0,0, FF0=1, FF1=0) would cease the drift.
This isn't microns of drift - it's tens of thousandths per second (1-5mm
/ sec or so). This is also the first time I have observed the PID output
to remain locked at 0 if FF0=0. Thus my knowledge of LinuxCNC's PID
module config is clearly outdated.
So here's the big question - is there some major change that would
prevent me from using the Mesa stepgen mode 0 (position) without the PID
and use the glass scale as the feedback source? Is there a change to the
motion planner that doesn't try to get the position to track
continuously anymore on its own, and is that why the PID is in place?
The PID just seems to be a clunky insertion just to force the stepgen to
run in velocity mode, so unless I completely missed the reasoning, I'm
not sure why the extra effort.
Much obliged,
Ted.
--
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus
_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users