Machsupport Forum
Mach Discussion => Mach4 General Discussion => Topic started by: jhandel on November 18, 2018, 01:47:17 PM
-
So I think I stumbled across something that is a touch confusing the spindle settings for wait times for speed scale from 0 to 100% of the inputted time based on the commanded speed? I have a VFD that has an acceleration time set that it will meet, wither its 2000 RPM or 24000 RPM it will get there in X seconds (or back to zero).. How can I tell Mach 4 not to scale the time.. when I say wait 15 seconds I don't mean 15 seconds at 24000 rpm but only 1.25 seconds at 2000 RPM, I really mean 15 seconds in all instiances where an M3 or M5 are happening..
Thanks
-
Hi,
could you not just tell Mach to accelerate at a very high level, effectively infinite, your spindle would accelerate at the rate determined
by those settings you have programmed in to the VFD?
Craig
-
I am trying to avoid having to hand code dwells (G04) into all of my projects every time I command an M03 or M05.. (considering I am working on an ATC, having the spindle really not moving when I go to put a tool back is kind of important ;-)..
The problem is with the assumption in Mach4 that if I tell Mach to wait 15 seconds to get to 24k on the spindle page, then I want it to wait 1.5 seconds if I command 2.4k RPM.. Its a faulty assumption I just want a blanket 15 second wait..
-
As far as waiting for the spindle to stop for your ATC... does your VFD have an output for Spindle at Zero Speed? If so, you can add an mc call (I don't remember exactly what it is, mc.mcSignalWait or similar) that waits for a signal before moving on in your m6.
-
Spindle has 1 "intelligent" output and one alarm output. I have the spindle breaking at 15 seconds and alarming so if it can't break in time I'll know..
I was looking at configuring the "intelligent" output as Spindle at Speed, as that seemed more useful given the resistive break in the VFD but I also get a weird bounce of that signal due to the Spindle forward happening for a tiny fraction of a moment before the PWM commanding a speed.. The result is that for a split second the VFD is at its commanded speed of Zero, then its not...
All the little things.. If the time were a fixed value (always wait 15 seconds or something) then all of this would be mute and I would just live with the loss of 10 or 20 seconds per tool change.. Its a big table so its going to take time to get to the wine rack anyways..
-
Hi,
do you have a spindle index signal or could you fit one?
The reason I ask is that there is a convenient feature that you could use....'Wait for Spindle Speed to Stabliize' found in
the Configure/Control/Spindle tab. If it is checked the Gcode will pause until Mach detects that the spindle speed is up to your nominated
percentage of its final speed. It has the advantage of 'minimum wait'. That is if you specify a delay of 15 secs to 24000 rpm which may be
adequate for a moderate diameter tool of moderate inertia but the delay is more than required if you were using a very low interia
small diameter endmill say. This feature waits only until such times as the spindle is up to speed and then continues processing GCode.
As Chas has pointed out there is are two signals defined in Mach4; ISIG_SPINDLE_AT_SPEED and ISIG_SPINDLE_AT_ZERO.
Note the signals are defined but they have no standarised action, you have to code how you wish your machine to operate in
there presence. Also the signals are supplied by your VFD. They are very common, maybe even standard, on all VFD's I have come across.
This last fact separates the two approaches:
1)Wait for Spindle to Stabilize.....Mach measures the actual speed from an index signal
2)ISIS_SPINDLE_AT_SPEED etc is supplied by the VFD.
Option 2) requires you to code the response of your machine whereas 1) does not....Mach's response is standardized.
Craig
-
Sadly there is no good place to read RPM off of my spindle.. (Its a CNCDepot S30C).. And my VFD doesn't provide RPM either.
I am not so worries about tool mass given the weight of an ISO30 ER32 collet Not much I put in there is going to make a very big difference on total inertia of the tool/tool holder..
As I mentioned above Spindle at speed is flacky at best.. I guess I'll use my output pin as Zero Hz from the VFD.. .still not sure what do do about the wait because a scaled wait based on some max wait is not accurate or safe either.
-
Hi,
looking at the S30 website suggests there is s version with a 200 line encoder. Does your spindle have it fitted or can you do so?
Craig
-
I did not because I don't do anything that needs encoding and I got the "starter kit" which didn't have that option (so I didn't know to ask for it).. Either which way, I am just updating my Fusion Post Processor to add a Dwell for 15 seconds after an M3 or M5 and I am going to add a wait in the M6 macro when I write it to look for the 0hz command.
Still think its odd that there isn't a mach level setting for spindle dwell.. Seems like the use case for the spindle acceleration and deceleration settings are a bit too specific and pre-optimized.
-
Hi,
so whats wrong with the Accel Time and Deccel Time that Mach provides for?
Craig
-
They scale with the commanded (S) speed..
So if you set it to 30 seconds for 0 to 20000 RPM, then if you do S2000 M3 it will wait 3 seconds (1/10th of 30 seconds because its 1/10th of 20000 RPM requested)..
I trust I can come up to speed inside 15 seconds regardless what speed I ask for.. I can't guarantee that that my acceleration is perfectly linear, in fact I know its not..
-
Hi,
one possibility is to use multiple ranges. Each range is the equivalent of a gear ratio.
I know you don't have a gearbox but imagine you set up three ranges with contiguous speeds:
range 0 0-3000
range 1 3000-9000
range 2 9000-18000
Then you could also set three acceleration times. If Mach scales the acceleration time within one range it probably wouldn't matter.
If think your post processor should generate the code required to cause Mach to change gear automatically.
Craig
-
Tried that before posting... Using your example, if I ask for 3000 RPM the PWM will go to 100% voltage but if I asked for 3001 rpm it will drop the PWM back down to near zero.. it doesn't scale the PWM across the ranges, it resets at each step.
-
Hi,
OK....well in absence of either an index signal/encoder or more useful outputs from your VFD then a fixed delay
along the lines you have proposed seems like the only solution.
I think you should be able to get the post processor to generate the required delay code rather than having to manually edit your
code.
Craig