Hello Guest it is October 04, 2023, 12:03:33 PM

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Joe Pineapples

Pages: 1
General Mach Discussion / Re: spindle calibration
« on: January 16, 2017, 02:07:38 PM »
Sorted! almost as soon as I made my last post, I found the official instruction:

"Hi Guys:

This proceedure is not in the Doc's, the reason being its likely to change at some point. What I really
woudl liek to know i show linear YOUR system is using this as the speed setting for it. The setitngs are
highly misunderstood, and many run a linearity run when it isnt necessary, and it badly affects their results.


A VFD takes an output from Mach3 to control its speed. Initially, Mach3 supposes a 1:1 linearty of the result,
which is pretty close to most vfd's in reality, they have allot of electronics in them to do this on their own. BUT
if the output is not right or not linear as output , then the result is obviously goign to be off. So the
following steps will do it right, and Id be very interested in any posts of the results.

Step 1)
Delete the linearity.dat file in your mach3 installation. The system will recreate it on next startup with 1:1
as the table. Also set the config/pulleys to pulley number 1, with a max speed of 1000, and a min speed of 0.
This means the range of commandis now S0 to S1000. ( Doesnt matter what the real speed of your spindle is, use
these numbers to start with.

Step 2)
We now need to know the max speed of the VFD's input, this is the place most get it wrong. VFDs respond,
as do frequency/analogue convertors to only a specific range typically of input vs output. SO lets figure out the top
speed expectation of a VFD..

In config/motor tuning, set the spindle axis steps/unit to 60. This means the velocity slider will now display in hz..
What we need to find out here is both the max frequency of the spindle and the clip frequency of the VFD.
To do this we now set the velocity slider to max. Youll notice it now reads the kernal frequency your using. 25000
in 25Khz for example. Apply the settings and exit the dialog.

- Turn on the spindle and set a S1000 as the speed. Measure the true spindle speed.
- Set a Speed of S950.. then S900, then S850..etc until the spindle actually slows. What will
happen on many systems is you will still get maximum speed until you lower the speed to some number..say S750..
or it may happen that the speed instantly start to slow slightly at S950..
Whenever it occurs that the spindle starts to run slower, note the S speed just prior to the slowdown.

For example, at S1000 I get a true RPM of 3000. SO the following occurs as I do the series..

S1000 -- 3324RPM
S950 --- 3324 RPM
S900 -- 3324 RPM
S850 -- 3156 RPM

SO the magic number here is S900, the last value where the spindle was at max RPM.
This shows us that using 90% of the max frequency tells the VFD to go full out.

So in motor tuning, set the velocity slider down to 90% of the max setting or current setting in Hz. ( Speed / 10 in % ).

Step 3)

Command a S1000 again, the max speed should still result. ( For higher accuracy and linearity you can repeat step 2
and vary the velocity slider to the % of the current slider position if you wish, the more you do step 2, the less change you
shoudl have to make each time. For example if it was at 21600 at this point , another run through step 2 might make you change it
to 21250.. each time the change will be less and less. )
Note the current S1000 speed and enter it in the config/pulleys as the max speed, leave the min speed to 0.

Step 4)

Turn on the spindle and seta speed of S1 . Note the speed you get and eneter it in the config/pulleys as minimum speed
for that pulley.

OK, so now we have properly set the VFD clip frequency, and the pulley min and max values. They now take into accoutn the expectation
of the VFD, and the resultant speeds at low and high end to be expected. The linearity is now considered to be 1:1 for that VFD/freq->analogue conversion.

If you have done this, please post a report of the following run..

Take max speed and divide by 10. Say max speed in pulley max is 2500, so the increment will be 250. Post for me 10 speeds..

S1 actual RPM: ???
S250 ""
S500 ""
S750 ""
S1000 ""

Using this proceedure takes allot fo the guesswork out of setting up a spindle, forces you to take into
account the VFD clipping limits, forces the setup to show you the outgoing frequency in hz of the output and should
show us a quantifiable spindle vs command relationship as a result.

Take note, this is for step output spindles, PWM is another matter, this will still work, but since the number of steps
in speed is dependent on the PWM settings, the end results may be off in a stepwie fashion if using PWM.

Non-linearity can coem from several directions, frequency->analogue conversion can be way off a linear scale,
most vfd's will be pretty close to linear if clipping is taken into accoutn as above. For my part Id appreciate any feedback
on the speed test results after a fresh setup of spindle speed using the above proceedure. Some may find their max speed
is now higher using this technique, others will find a much more linear resultant spindle speed, it shoudlnt negatively affect
anyone if done right.

Thanks, and good luck..

From here http://www.machsupport.com/forum/index.php?topic=30685.0;wap2

I followed it exactly and now have an accurate spindle running at variable speeds again :)

General Mach Discussion / Re: spindle calibration
« on: January 16, 2017, 12:15:45 PM »

I'm having spindle issues too, I really hope someone can help with this. I have a Denford Nova Mill running Mach3, it has a DIYCNC SpindleV5 controller which I had a technician at the local Uni set up for me (friend of a friend, I no longer have any contact details for him now though).
The other day I tried the Autocal function because I wasn't convinced the RPM was entirely accurate, now the thing will only run at max RPM (5000) all the time, even if I try sliding the green override bar down or the plus/minus controls. I have a laser RPM meter now and if I run Autocal, the RPMs do begin low and work their way up to the max, fairly accurately. I save the Autocal results and close it, but then spindle is back to 5000 RPM again and I can't run it any slower. I feel like there's something really obvious I'm missing, hopefully someone can fill me in!

General Mach Discussion / Re: Tool Change w/ Height Offset
« on: July 27, 2016, 11:49:46 AM »
Okay, so moral of the story is that any time you perform an M6 T*, you should accompany it with a G43 H*

That's fine, and easy enough to change in my post processor, but that leads to a few lingering questions for me:

- What is the purpose of M6 T* if all it does is change the visual number showing on the screen. It doesn't change the tool offset used. Technically you could just call G43 H1, G43 H2, and never issue an M6. Is the purpose then, of an M6 T*, only useful for automatic tool changers?

- Secondly, if you HAVE to call a G43 H* in order for the tool offset to change, what is the purpose of this button? I assumed that for each tool you could turn on or off the tool offset. What exactly is the purpose of this button then if you have to call G43 anyway.

Hi, I'm really hoping you're still around.... I could really do with altering my post processor in the way you describe. I have no idea hos to do this though. Help on this, from anyone, would be much appreciated.

Screen designer tips and tutorials / Re: Hoss probing button codes
« on: July 21, 2016, 05:35:32 AM »
Thanks, I've had a good hunt around and I think I've found the download here ...

Screen designer tips and tutorials / Re: Hoss probing button codes
« on: July 20, 2016, 05:30:11 AM »
Hi, does anyone know where I can find this screen of Hoss's?

Code: [Select]
M6 Start Code Below

toolpos1 = GetOemdro(1001)
toolpos2 = GetOemdro(1002)
toolpos3 = GetOemdro(1003)
toolpos4 = GetOemdro(1004)
toolpos5 = GetOemdro(1005)
toolpos6 = GetOemdro(1006)

toolnew = GetSelectedTool()
toolold = GetOemdro(824)

If (toolnew = 0)Or(toolnew = 0 ) Then
MsgBox (" invalid tool number !!!")
message(" invalid tool number !!!")
Call Code("M30")
End If

If (toolnew = toolold) Then
message("tool in use!")
end If

If (toolnew < 1)Or(toolnew >6 ) Then
MsgBox (" invalid tool number !!!")
message(" invalid tool number !!!")
Call Code("M30")
End If

message(" toolchange running !!")

If (toolnew = 1)then
Call Code("G0 G53 X105 Y4.5"&(toolpos1))
While ismoving()
Sleep 100
End If

If (toolnew = 2)then
Call Code("G0 G53 X105 Y34.5"&(toolpos2))
While ismoving()
Sleep 100
End If

If (toolnew = 3)then
Call Code("G0 G53 X105 Y64.5"&(toolpos3))
While ismoving()
Sleep 100
End If

If (toolnew = 4)then
Call Code("G0 G53 X15 Y64.5"&(toolpos4))
While ismoving()
Sleep 100
End If

If (toolnew = 5)then
Call Code("G0 G53 X15 Y34.5"&(toolpos5))
While ismoving()
Sleep 100
End If

If (toolnew = 6)then
Call Code("G0 G53 X15 Y4.5"&(toolpos6))
While ismoving()
Sleep 100
End If

SetCurrentTool( toolnew )

message("toolchange finished !")


Code: [Select]
M6 End Code Below

REM The default script here moves the tool back to m6start if any movement has occurred during the tool change..

x = GetToolChangeStart( 0 )
y = GetToolChangeStart( 1 )
z = GetToolChangeStart( 2 )
a = GetToolChangeStart( 3 )
b = GetToolChangeStart( 4 )
c = GetToolChangeStart( 5 )
if(IsSafeZ() = 1) Then
   SafeZ = GetSafeZ()
   if  SafeZ  > z then StraightTraverse x, y,SafeZ, a, b, c
      StraightFeed  x, y,  z  , a, b, c
Code"G00 X" & x & "Y" & y
end if


Here's the code I modified to run a Boxford Duet....It requires homing switches and I added a homing button on the lathe screenset for the Y axis.

It's an old topic but the code will no doubt help someone who google's for a Boxford Duet toolchange macro as it hurt my head a little fudging bit's of code from all over to get this working.

Hi Kipper, I've just bought a Duet (collecting this weekend) but have very limited experience with Mach3 yet. Are you still around on the forum? I hope so. Will return once I've had a good look round the Duet.

Pages: 1