Variable pitch belt driven spindle

More
06 Apr 2020 02:25 #162831 by fungus
Good evening everyone,

I have a Bridgeport Interact II mill with a variable-pitch belt on the spindle. The original setup had an airmotor on the drive for the belt pitch; open one valve (24VDC solenoid) and RPM goes up, open the other valve and the RPM goes down. I have a stepper motor I can throw on there if it would make things more simple, although I would rather avoid making the adapters. I am in the process of adding an encoder to the spindle.

My question involves how I would go about closing the loop on spindle RPM using the original belt drive? I could _theoretically_ treat the air valves as halves of an H-bridge, and drive it as a servo with a velocity command; but the valves will not respond well to PWM. Maybe I could alter the PWM frequency to be very slow?

I'm sure the answer to my question is quite obvious, but searching the forum and Google doesn't seem to turn up much. Any advice is appreciated.

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

More
06 Apr 2020 02:57 #162834 by cmorley
Do you have a spindle encoder so you know how fast it's going?
Then it's case of 'go faster' till the feedback is close to the requested.

Chris

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

More
06 Apr 2020 06:54 - 06 Apr 2020 06:54 #162855 by bbsr_5a
here are some examples
linuxcnc.org/docs/html/examples/spindle.html

and here are the function
linuxcnc.org/docs/html/man/man9/s
you need the "comp" component to compare and act on it

there is also a clasicladder logic available to deal with your need
Last edit: 06 Apr 2020 06:54 by bbsr_5a. Reason: lost red line

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

More
06 Apr 2020 13:09 #162906 by fungus
Hi Chris,

Yes, I am currently installing an encoder.

As it sits right now, I have a VFD I'm controlling serially (open-loop), but it doesn't give me the full range of speed.

Would your method be best handled in ClassicLadder?

Thanks.

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

More
06 Apr 2020 14:30 #162916 by cmorley
Well lets see what you got:
one output for faster
one output for slower
one float output for (let's call it base) speed to vfd
one float input for actual spindle speed feedback

is there away to detect when you have reached the ends of the mechanical adjustment? What happens if you are at the ends and still request more?

The simplest is:
set base speed.
If base speed does not get spindle up to the requested speed
output 'faster' and or increase base speed until it does
With some testing you can hardccode some appropriate settings.
ie for 1000-1500 rpm set VFD to 60hz and adjust mechanical.
at 1500-2000 set VFD to 75 and adjust mechanical etc.

But say you had a way to detect what position the mechanical adjustment was, say with three switches. when you could set the mechanical speed adjustment appropriate for the power/speed range requirements (like setting the gear range) and then use the VFD to adjust within that range.

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

More
06 Apr 2020 15:40 #162925 by fungus
Hi bbsr,

I had actually looked through your first link already, but didn't see anything that looked like what I'm trying to do. Did you have a specific example out of those that looked similar to you?
The second link seems to be broken; did you mean this? linuxcnc.org/docs/html/man/man9/comp.9.html

Thanks for your help.

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

More
06 Apr 2020 15:51 #162927 by fungus
Chris,

I -could- detect the ends of the mechanical "throw" by making an encoding disk/limit switch arm to go in place of the original speed indicator (you can see it on the head of the one in this picture: igor.chudov.com/projects/Bridgeport-Seri...Interact-2-CNC-Mill/)

I am currently using the gearchange component for the high/low (backgear) switch. I had considered using some logic and processing to take in the calculated RPM and drive a dynamic gearchange float, which may still be an option.

I would prefer to lock the VFD at 60Hz, and just make it a FWD/REV On command; then purely drive the speed based on the variable pitch belt. If I stay within the original speeds available through the belt system, I really don't see why I would need the mechanical pitch detection? At least, if the VFD is at 60Hz.

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

More
06 Apr 2020 17:07 #162934 by cmorley
I was giving you ideas that could be used. it depends a lot on what you want and what is easy to add.

I don't know how fast mechanical adjustment can adjust, nor if you need to adjust fast. I also don't know what happens if you hit one end of the max adjustment and continue to try to adjust - if it's not a problem then you don't need limit switches.

Chris

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

More
06 Apr 2020 19:33 #162958 by fungus
Chris,

I really appreciate your help and ideas.
The more I chew on it, the more I think you're onto something with the mechanical detection. I don't currently see why I would need to ramp speed quickly, but I may need to in the future. You are correct in suspecting that the belt will take longer than the VFD to change speeds.

I'm using a similar method with my lathe, where I use some switches to detect the current gear position (set manually), in order to use the correct ratio for the gearchange component. I've got a funky issue where I can only run open-loop, but it stays close to command.

When I designed my breakout for a 7i73, I made a pretty convenient connection for some potentiometer inputs. I could use a pot on the speed indicator at the front to set the belt pitch in ClassicLadder pretty easily...

I'll give it a good look this evening.
Thanks!

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

More
07 Apr 2020 08:31 #163028 by Mike_Eitel
Hi.
As you have only two digital actuators (valves) it will not be an advantage do use some kind of analog regulation. So a simple 2-point regulation with deadband will give you the solution. At the endpoints of your mechanics set two switches. (You can connect them as breakers even into the valves circuits). That way the "regulator" is easy to solve. Compare the ("commanded" speed - deadband value) with the "measured" speed. If it is to low switch on the "faster-valve". And vise vers if ("commanded" speed + deadband value) is to high switch on the "slower-valve".

You can play with the deadband values so you come near to the "oscillation" point.

This is so easy to solve in classic ladder that it will take you only few time

P.S. That's what a lazy engineer like me would do.
Mike

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

Time to create page: 0.085 seconds
Powered by Kunena Forum