Retrofiting an old big milling machine

More
5 years 9 months ago - 5 years 9 months ago #194216 by vre
Happy new year;)
I found time to retrofit the machine...
I have installed a huanyang vfd for spindle and a dc motor driver (pwm/direction)
for the motor that moves x/y/z axis.
All axis x/y/z moved with the same dc motor(100V/26A/also has tacho in the side) and the selection which
axis will move each time is done by 3 electromagnets.
So it is possible only 1 axis movement each time.
Each axis has a linear scale that outputs A/B quadrature signals and endstop switches installed.
Also the are are some other hydraulic electrovalves & oil motor pumps
for lublication for cycling cutting fluid and holding/releasing iso50 toolholders.

I have installed linuxcnc 2.9 with mesa 7i80hd and i have 7i33 7i37 and 7i84 daughter cards also i have some modules like this www.aliexpress.com/item/1005001907108856.html and this www.amazon.com/JBtek-Channel-Module-Ardu.../141-3122699-5842460

What configuration can be done for working one axis a time without 2/3 axis interpolation ?
Last edit: 5 years 9 months ago by vre.

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

More
5 years 9 months ago #194376 by andypugh

vre wrote: What configuration can be done for working one axis a time without 2/3 axis interpolation ?


It isn't easy as things stand, but I think it would be a minor change to LinuxCNC to make it easy,

If an axis is set as a LOCKING_INDEXER then pins appear that cycle state when the machine requests a move of that joint.
linuxcnc.org/docs/2.8/html/config/ini-co...lt_letter_gt_section

As things stand only G0 moves are allowed, and (I think) it can only be applied to rotary axes.
But I think that these are probably artificial constraints.

An alternative, but less satisfactory solution would be a hal component that detects which axes have been commanded to move and at the same time toggles feed-inhibit until the system reports that the clutches are engaged.

It would take a bit of HAL investigation to work out how to detect that a joint is active when feed-inhibit (or maybe adaptive-feed) is set.

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

More
5 years 9 months ago #194434 by andypugh
I had a quick play around, and it is surprisingly hard to stop the motion and then be able to work out which axis would like to move.

What looks like it would work would be to enable adaptive feed (M52) and then have a HAL component that adjusts the motion.adaptive-feed button.
It would need to set the feed to a small but non-zero value (I experimented with 1e-10) and then watch the joint velocity pins to see which one is trying to move. At such a feed rate there is no _actual_ movement over a period of several seconds.
So the HAL component would then be able to operate the clutches, check for the clutch-engaged feedback (if it exists) then set the feed-override to 1 and route the PID command for that axis to the motor.
I assume that there is glass-scale feedback or similar?
The clutch-engaged signal should also be used to enable/disable the PID for each axis, so that there is no attempt to move disabled axes. If done that way then G1 X100 Y200 Z40 would actually work, but the moves would happen in sequence.
Do you need help with the HAL component?

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

More
5 years 9 months ago - 5 years 9 months ago #194473 by vre
The handwheels in the front are indepedent from motor
so i can use the dc motor for z axis(permanet engaged electromagnet for z)
and put in the front 2 servomotors for x and y axis but these will have serious backlash.
Has linuxcnc some option for backlash removal in linear movements ?
Linear glass scales that output quadrature incremental exist for x/y/z
Last edit: 5 years 9 months ago by vre.

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

More
5 years 9 months ago #194474 by andypugh

vre wrote: The handwheels in the front are indepedent from motor
so i can use the dc motor for z axis(permanet engaged electromagnet for z)
and put in the front 2 servomotors for x and y axis but these will have serious backlash.



That would be the best solution. Though I do find the puzzle of how to configure a single-motor machine to be more technically interesting.

Has linuxcnc some option for backlash removal in linear movements ?


It has, but the results with milling machines are not always good. The problem is that the system has no way to predict the direction of the cutting forces, only the direction of movement. It can work very well with lathes.
In theory, with glass scales, backlash compensation is automatic.

Are you sure that the machine does not have ballscrews? It would be very unusual for any CNC machine not to have them. They were becoming fairly common on manual machines at about the point that CNC started to come in to use.

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

More
5 years 9 months ago #194793 by vre
It has leadscrews also if i put the motors in the position of handwheels
it will have backlash from reduction gears plus backlash from leadscrew nuts.
I have read somewhere what you can pure inside leadscrew some material
like moglice and fix the backlash plus this material has lower friction than bronze nut.

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

Time to create page: 0.410 seconds
Powered by Kunena Forum