Page 1 of 1

Fadal Overhaul

Posted: Sun Aug 07, 2022 8:26 pm
by DiligentCNC
Howdy Y'all.

I'm very excited to get this 92 Fadal VMC 40 back on its feet again. I have been eyeing and considering for a while and finally took the plunge and gutted a bunch. I also mounted a new touch screen and a windows PC. So far I have gotten to the point of testing the first motor and drive. I followed Mark's Fadal on CNC zone and youtube and have downloaded his pics and c-programs.
Fadal Cabinet Kflop.jpg
I feel a bit overwhelmed trying to "tune" the first servo. These are the original Glentek DC servo motors. I gutted the tach and resolver and mounted a line driver 2500ppr encoder. The encoder is powered and driven through the Kanalog/Kflop board. I jumpered the necessary wires to make the drive run in "torque mode". The battery test runs each drive vey smoothly and well on the 1.5v. If anything, faster than I expected.

Tom has been very helpful and kind. Thanks, Tom! He suggested I start a thread to get more community help and involvement.
My current issue is about tuning the servos. I have gotten them to move under control but the movement is slow and jerky.
I opened Mark's .init file and copied some of the values I recognized for PID, V, A, J and the motor flew, much faster, but when it stopped it shook violently and wouldn't quit oscillating until I was able to press the big stop sign button.

Here is some screen shots of where I am currently. I don't understand in the linear graph, last attachmet, the graph doesn't seem to "zoom to fit".
Motor Ramp Much Faster No Zoom.jpg
I am currently reading about smoothing filters and don't understand that very well at all.
These lines are posted from Mark's posted init file.
// kflop low pass smoothing filter
double Tau = 0.01; // seconds for Low Pass Filter Time Constant was .010
KLP = exp(-TIMEBASE/Tau);
printf("Tau=%f KLP=%f\n",Tau,KLP);
// end kflop low pass smoothing filter

Sorry for the lack of understanding. I appreciate your patience and help as I get going.

My general questions are what values I should be adjusting and changing to get smooth, fast operation out of my set-up? In conjunction with these settings will I need to add a filter like Mark did on his code snippet? I hope this wasn't too long or tedious.

Thanks
-Greg

Re: Fadal Overhaul

Posted: Sun Aug 07, 2022 9:34 pm
by TomKerekes
Hi Greg,

Thanks for starting a Thread.
I don't understand in the linear graph, last attachmet, the graph doesn't seem to "zoom to fit".
I'm not quite sure what graph you are referring to or what you mean. But the Plots capture a maximum of 40,000 data points. At 90us sampling that comes out to about 3.5 seconds of motion. If the test move both ways takes longer it won't be all captured.

The first graph shows a somewhat gradual constant acceleration over 3.5 second up to about 300,000 counts per sec. I believe your encoders have 10000 counts/rev. So this relates to 30 rev/sec = 1800RPM. The red and blue plots overlay reasonably so the motion is following the trajectory. Also there isn't any following error fault yet so the following error must be less than 5000 counts. Does this agree with what you see?

Notice to accelerate such the Output (green) is only about 20 counts, which is only about 1% of full output. Seems quite low. After final tuning you might end up accelerating many times this rate but it might then still be only in the low percentages. So you might keep this in mind. There is probably an input gain adjustment on the amplifiers that could be turned down to make more use of the input range and improve torque resolution.

The V setting of 5e6 is crazy high. That would be 5e6/10000 x 60 = 30,000RPM

The move size 1e7 is also very large. The move should be big enough to reach full velocity but I don't think it needs to be this large. Or won't need to be once the Velocity and Acceleration and Jerk are reasonable.

I am currently reading about smoothing filters and don't understand that very well at all.
These lines are posted from Mark's posted init file.
// kflop low pass smoothing filter
double Tau = 0.01; // seconds for Low Pass Filter Time Constant was .010
KLP = exp(-TIMEBASE/Tau);
printf("Tau=%f KLP=%f\n",Tau,KLP);
// end kflop low pass smoothing filter
This is unrelated to tuning an axis. See the filter for use with D Gain described here.

Include a Position plot. Or save and post the raw data so we can re-plot and zoom in as we wish. You might want to zip it to reduce its size.

Please perform the steps listed here which include adding the filter and D Gain. A torque amplifier system like your really needs D Gain to be stable.

Sorry for the lack of understanding. I appreciate your patience and help as I get going.
No worries.

HTH

Re: Fadal Overhaul

Posted: Sun Jan 21, 2024 11:14 pm
by BattyZ
Hey DiligentCNC,

Have you made any progress on this? Looking at doing the same on my 92 Fadal.

I was also wondering how much I would lose if I tried to run the dc servos with SnapAmp at 80V/ instead of 160V.