What's new
What's new

Shouldn't a 2017 Haas VF2 with 30 hp Vector drive run fine off 20hp Phase Perfect ?

Milacron

Administrator
Staff member
Joined
Dec 15, 2000
Location
SC, USA
Got one that shuts down at about 5,000 RPM and higher (during warm up cycle) using 20hp PP. Suspect it's due to running off 150 foot drop cord with smaller wire size than I should be using.... but you tell me. FWIW, the vector drive is labeled 40hp.... are they all like that for the 30hp spindle motor ?
 
Everything I've ever heard (from manufacturers) is that you should be running a converter that is 2x the hp of the machines put on it.

Don't know how necessary that is, though.

Sent from my SM-G955U using Tapatalk
 
Got one that shuts down at about 5,000 RPM and higher (during warm up cycle) using 20hp PP. Suspect it's due to running off 150 foot drop cord with smaller wire size than I should be using.... but you tell me. FWIW, the vector drive is labeled 40hp.... are they all like that for the 30hp spindle motor ?

Yes. :rolleyes5::rolleyes5:
At least IME.

You'll probably need a 40 hp (or maybe a 30 hp RPC) due to high current draw during accel.

O/T...Don, are you still selling machines? For some reason I thought you were going to retire after your auction. :confused:
 
Hi I've been in a similar situation here. Brand new 2020 VF2 with the 10k vector spindle. Running on a 40hp RPC which should be the equivalent sort of realm as the Phase Perfect 20hp. I've been wondering if I need to switch to a digitally controlled RPC or the Phase Perfect but it seems like people with such units still have some issues.

I've read all the Haaspower claims. I've read all experiences of people with machines from over the last few decades. Anything older isn't really a useful comparison point unfortunately as the motors and controls and drives all been upgraded in various ways over time and there is no concrete (that I can find) list of what machines would have what attributes.

In any case for our case, Haas rates the spindle at 30hp. For sure that's way over 100% spindle load so is the motor truly 30hp in any common sense? Who's to say. (I'm sure someone smart can) Regardless, they seem to certainly program the box to feed it 30hp worth of go-juice. And it'll take it for some amount of time. So regardless of all the talk, it seems like if the power coming through the lines cant deliver 30hp worth of inrush pixies the VF2 is likely to blackout. I suffer from this! I too am getting it to about 4-6k rpm (it's not always consistent) during the nominal spindle warmup. My haas tech actually modified my spindle warmup program to stage the spindle in 500rpm increments with pauses inbetween. It adds a minute or so to the total runtime of the warmup, and it ended up taking us about 4 hours to get it to run the break-in to about 9krpm without blanking, before we gave up and just called it good enough.

First, being a 2017 isn't that just at the end of using classic control? If it is, apparently you can adjust the spindle acceleration parameter somehow and that can help keep the motor from drawing too much at once. But, if like me it's an NGC then we have similar issues as we cannot adjust that parameter.

Have you tried just firing up the spindle to 3-4k? Does it reliably do that? Or does it randomly cut off if it goes from 0-3/4k? Mine has balked at even direct to 2500 once which, is very pathetic. But ultimately what I'm seeing is just the inability for the machine to catch up during the ramp up, so you'll see the voltage meter drop off and recover from 500-1000rpm steps but if it pushes beyond that the incoming power isn't keeping up.

For sure some have had success with just going to much larger cables, reduce any possible resistance related issue. If you really have 100ft from the phase converter to the machine that could be a huge problem there? It might be worth trying a heavier cable but 100ft would certainly not be a cheap experiment.

I talked with another gent who is in a similar sort of boat and with his help have a modified post that stages all spindle starts in smaller segments so that the inrush voltage never is too great to trip anything. I can reliably run the machine around 4-5k, and if I want to risk things could do higher. But it basically means I need to use low RPM high torque machining methods with this machine until I can either solve the power bottleneck or move to a new shop.

In this shop I'm running about 6ft of 1AWG copper cables from the RPC to a load center, then thru a 40A breaker running a 4AWG copper run of approx 8 ft to the VF2. I can't imagine needing more cable than that. But it's been suggested to run 1AWG from RPC to the VF2 and thru a 70A breaker just so it's wide open highways.

And I might do that work just to see if that gives me any overhead. Ultimately it's barely any cable either way.

I also am on about a 100ft line from the main house, feeding a 125A sub panel. My electrician suggested that the best solution I have, if I plan to stay here, is run a completely new 200A service direct from the street. I don't want to do that as we plan to eventually move to a full shop, so getting the machines and installing them here was kindof a "practice for cheap" without paying rent, but if I spend half my time chasing gremlins and still blowing thousands of dollars on electrical upgrade parts for this "temporary" solution then its not saving much.

If you're on a super budget and stuck with the setup you got, and just need it to work in some way, it seems like it can run, but it will require some limitation on your part to not push it too hard, and use baby-step spindle warmup code to keep the accelerations short and brief enough that your RPC can keep up. Probably don't plan on running it beyond 5k rpm. Treat it as a really awesome toolroom mill with a better base and faster rapids.

If you have some budget to play around, maybe some cable upgrades can add some overhead. Maybe instead of 5k rpm it can relatively easily get up at 8-10krpm? And honestly that might just have to be what you live with, those are very capable speeds, unless the machine is gonna make enough money to justify the last step which is...

I think the only safe and reliable solution is admit that it really does take the 30hp Phase Perfect or a 60hp RPC to let a more modern VF2 run as it should, and if that's what you need then whatever it takes to run that.
 
To baby step the spindle speed, you can program it with dwells like so:

S1000 M03
G04 P1.0
S3000 M03
G04 P1.0
S5000 M03

And so on.

Another member here (countryguy?) had to do that very thing because he was also running off a small phase converter.

A VF series machine will get really close to 30 true horsepower at 200% spindle load. Hence, for a sudden load as in accel, you'll need 20-25 hp for a fraction of a second.
 
Would changing the spindle acceleration rate in the settings or parameters help with the high starting load?

Sent from my Pixel 3a using Tapatalk
 
Would changing the spindle acceleration rate in the settings or parameters help with the high starting load?

Sent from my Pixel 3a using Tapatalk

Different machine but..
I have a pp20 on a 20hp lathe. (Micro cut lt65. Fagor control. 15/20hp)
Spins up to its max rpm of 4000 with no issues.
Load the spindle to where it starts to stall (20hp) all while running both axis servos coolant pump and conveyor.
Pp20 takes it like a champ.
I seem to remember Phase perfect allows for a 10 second inrush significantly over its rated hp.
Contact pp and ask them directly.
Surely they can put you in contact with customers doing exactly what you want to
 
I had to step my spindle up to keep it from shutting down. Here is the code from my post. It's long. Different spindle speed commands have different step configurations to minimize wasted time on slow tools.

Machine is a 2019 VF2SSYT on a 40hp rotary converter.

if (spindleSpeed < 1) {
error(localize("Spindle speed out of range."));
return;
}
if (spindleSpeed > 12000) {
warning(localize("Spindle speed exceeds maximum value."));
}
if (spindleSpeed > 4000 && spindleSpeed <=6000) {
writeBlock(
sOutput.format(spindleSpeed/4), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 4000 && spindleSpeed <=6000) {
writeBlock(
"G04 P0.2"
);
}
if (spindleSpeed > 4000 && spindleSpeed <=6000) {
writeBlock(
sOutput.format(spindleSpeed/2.5), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 4000 && spindleSpeed <=6000) {
writeBlock(
"G04 P0.2"
);
}
if (spindleSpeed > 4000 && spindleSpeed <=6000) {
writeBlock(
sOutput.format(spindleSpeed/1.5), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 4000 && spindleSpeed <=6000) {
writeBlock(
"G04 P0.2"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/32), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/16), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/10.66), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/8), mFormat.format(tool.clockwise ? 3 : 4)
);
}

if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/6.41), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/5.319), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/4.566), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/4), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/3.558), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/3.195), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/2.9), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/2.66), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/2.46), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/2.28), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/2.13), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/2), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/1.91), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/1.845), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/1.776), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/1.71), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/1.65), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/1.6), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/1.56), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/1.51), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/1.47), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/1.43), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/1.39), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/1.36), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/1.33), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/1.3), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/1.27), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/1.25), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/1.22), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/1.19), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/1.17), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/1.149), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/1.13), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/1.11), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/1.10), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/1.08), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/1.07), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/1.058), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/1.04), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/1.03), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 6000) {
writeBlock(
sOutput.format(spindleSpeed/1.02), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 6000) {
writeBlock(
"G04 p0.05"
);
}
if (spindleSpeed > 4000) {
writeBlock(
sOutput.format(spindleSpeed), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed > 4000) {
writeBlock(
"G04 P0.2"
);
}
if (spindleSpeed <= 4000) {
writeBlock(
sOutput.format(spindleSpeed), mFormat.format(tool.clockwise ? 3 : 4)
);
}
if (spindleSpeed < 1) {
error(localize("Spindle speed out of range."));
return;
}
if (spindleSpeed > 12000) {
warning(localize("Spindle speed exceeds maximum value."));
}
 
I can describe a few things related to what the Son and I went thru in a smaller Garage shop. This post fits w/ some overdue notes I wanted to post up for us home-based Shoppe guys going at it as best we can.

Home is 200Amp service in the basement from a underground pole feed about 150ft from the house. I Had 6gauge running about 100ft to the RPC in a cobble from what was there approach. I then had 8g on whips from RPC to Haas. HAd all types of issues! for about 2 seasons and mostly in summer and heavy home or neighborhood load situations.

The short story is that we could not effectively run the spindle at high speeds and heavy cuts. Mostly on high inrush current start-ups it would just puke. Chipsplitter gave us the same type of ramp up gCode which we still use and helps overall w/ the startups!... But- The real fix was :
1 Gauge wire... From the 200amp panel directly to the plug the RPC uses. I was able to get it down to 85ft as well. To do this; I ripped out 2 different fused boxes I had put in for the Haas power feed. It's now on a single 50Amp from the 200 service panel in the basement. Removal of the added fuse boxes and lockout boxes saved us about 5 Ohms of resistance over the entire run. (The old wasy also routed thru the 100Amp panel in the Garage... so it was just all over the place! is my story...)

Since the revamp: we have not had a single undervoltage as yet. He runs 7KRPM all the time and for longer runs. and on stainless.

Now- A few other things I learned: I also had issues w/ the output from the RPC wildleg running too high compared to the long run 240Ac from the home... and in a rural under-powered community. The meant we would get phase out of spec errors (forgot the error) when the 240 single phase legs drifted from the wildleg by I think 10%? The Haas would error out. You would hear the realy click out on the Vector drive and ... all-stop.

To balance that out- I put in the 10amp Phase-a-Matic voltage stabalizer on the wildleg.. it worked extremely well and put the wild-leg to the 240AC home to w/i a few volts.
URL: Voltage Stabilizers On Phase-A-Matic, Inc.


We also check the voltage on the taps often. We need to ensure that our input VAC is matched to the range on the TRansformer taps of the Haas. We move them from Summer to Winter typically... just due to how this area is.


Lastly, The transformer on my pole.. Was a 10K transformer, running 2 large homes and shops for two neighbors. The date on it was 1972.... So It took a few months of calling the power Co and proving that it was undersized before the pole was 'rebuilt' and included a new 25K pole transformer.


power is king... so I do agree w/ the post-reply above on the suggestion to get the wire gauge right for the length and in--rush current you'll face. IMO and just noting what happened for us. Every situation is a bit different but overall the power needs to be vetted and a trusted quantity. Hard to really do much until that's done we found out thru trial and work.
 
My power situation is very similar. Main panel in basement, sub panel in garage, another sub panel in the new shop. 2g aluminum wire to panels. 1g copper to phase converter and 2g aluminum to Haas helped over the 4g I was running before. Still have to step the speed with the code I posted earlier.
 
To the OP. 20hp phase perfect on a 2017 vf-2ssyt here. No problemo. Haas motor is not 30hp sustained and the 20hp model converter can handle a pretty high peak load for Shor periods to handle the spindle ramps.
 
2017 should be a multi tap machine! I have a 2016 vf4ss and a 2017 vf2ss and they run GREAT off a 20HP RPC ,, I only have them running on 60 amp breaker on the single phase side ,, for over a year I ran "BOTH" mills off the same RPC and even that worked fine ,, if both would try and get to 12K at the same time the lights in the machines would flicker some but it never alarmed out on the control. I run the 243V power on the 220V-240V tap if I use the next tape up it would alarm out.

one nice thing about RPC converters is you can run a crap load of power thru them for startup.
 








 
Back
Top