Hello Guest it is December 05, 2022, 12:10:54 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 - PeterF

Pages: 1 2 3 4 5 6 7 8 9 »
Surprise on Exiting Mach3: The values are saved not as entered, but rounded Up.  In one profile, I entered +9'661'500; -9'661'500 (from  2147'000'000). It gets saved as +9'662'000;-9'662'000 (<M3Max>9.662e+006</M3Max>). In another profile (mine, the IT), I entered +9'663'676;-9'663'676 (exact max values). It gets saved as +9'664'000;-9'664'000. On next launch of Mach3, I access Limits/Homing, and close it, it says Limit Max<Min. obviously 9'664'000 is over the exact maximum..

before exiting Mach3, the values are used as entered. On the next launch, the saved rounded up values are used.


PS My sample milling layout from  see picture  is 470 turns. With a maximum of 26838 turns before soft limits, we could produce 57 pieces without re-zeroing.

I found a few things:
- The soft limit is actually handled in steps, with the range 2^31-1; -(2^31-1)
- the maximum in units is then (2^31-1) divided by "steps per".
(2^31-1 is 2147'483'647, or for simplicity 2147'000'000 a bit less.)

My example:
- 80'000 steps per revolution of 360 degrees (40:1 gear)
- 222.2222222 "steps per", steps per degree
- maximum soft limit is +9'663'676.412;-9'663'676.412, respectively +9'663'676;-9'663'676 , respectively +9'661'500; -9'661'500.
- maximum limit in revolutions is 26'843 revolutions of 360 degrees in the positive or negative direction. Respectively 26837 revolutions.
(The latter values are from the above mentioned 2147'000'000 maximum steps.)

- Mach3 does its positioning in steps in signed 32-bit values. The DRO positions are calculated on the fly from the steps and "steps per". We see this, when we change "steps per" in the motor tuning.
- When values are entered as soft limits, higher than those calculated from 2^31-1, they make overflow into negative or arbitrary values, which is not always noticed by Mach3.
- I do not yet know what is the required precision of fractional "steps by" values. Obviously Mach3 truncates them to 10 digits.
- Of course these large values are only a problem with rotational axes (because they can rotate many times, far in steps), not with linear ones (that have limited travel in steps).

Last week I could look at our productive system, Windows XP, driver installed, Mach3 R3.043.062. There the Rotational Soft Limits checkbox got ignored. Soft limits on the A axis fired anyway. Of course we do not have Limit Switch signals in Ports and Pins. 

I set the soft limits to +36500000;-36500000 to cure the situation.
Maybe I should activate A+ A- signals, leaving them on Port 0 Pin 0?
(A Home must not be activated, because then Reference A would turn forever.)

Hi all,
  I'm pretty new to the cnc world. I have a romaxx wd-1 and it is up and running pretty good except for to things.
1. the abnormal condition IL mode is inc... how do I shut that warning off?
2. I've loaded up numerous different files and it happens almost all the time where it will start carving and at some point the router shuts off and stops. I can restart it from that point and sometimes it finishes, sometimes it does it again...
Any recommendations would be appreciated.
I think it is possible that a limit switch signal cable is weak, because it is the cable that bends when the machine travels. It is worth it to verify the cable, or try to force the stop by shaking the cable (or so). It is worth to note down the exact location of the stop. Photograph the screen every time, to "note down", or record. You will notice that the stop location varies, not too wildly, hopefully. (when it is actually a signal cable).

General Mach Discussion / Re: Steps per inch (Uneven numbers)
« on: January 10, 2014, 07:16:52 PM »
I want to set it up so that it works precisely, without "depending on". I set the machine and then it is on its own. I do not machine (i'm the IT, not the CNC). That's why I care, and because the design is 80000 steps per revolution what cannot be entered precisely.

In case you know more from what is practice in the CNC world, any information is useful. Is there a reference to the 10-meaningful-digits-rule, if it is somewhere in the machwiki, or otherwise, it will be useful, of course.

General Mach Discussion / Re: Steps per inch (Uneven numbers)
« on: January 10, 2014, 05:14:33 PM »
Alex I do not construct the 4th axis. The gear 40:1 and the steps 2000 are made by the respective producers. Or what are the numerical precisions of the "steps per degree" value? I did not yet find the 10digits specification.

What is good CNC / CAM practice for fractional steps per degree, even as steps per revolution is integral. how is this handled?

I too think about it. Our 4th axis is 40:1, which means 80'000 steps per 360 degrees, which means 222.222 steps per degree. How does Mach3, current version e.g. R3.043.62, handle the fractional part? Will it ensure that every 80'000 steps is 360 degrees, such that after many rounds it is still good. Assuming, I enter just 222.22, after 470 rounds I miss 376 steps. When I enter 222.22222, I miss 0.376 steps. When I enter 222.22222222, I miss 0.00376 steps.

I'm not CNC, but IT and Math, needing to set it up properly. What is good CNC respectively CAM practice, and what does matter?

(470 rounds is my sample piece, that's why.)

The script should not hammer in a tight loop, but release the CPU to Mach3 while Mach3 is doing the move. And I wait beforehand, and in every wait loop, to ensure movement has begun. Movement could be in different thread.

Current script is:
Code: [Select]
'PF 05jan2014

'reference all axes Z X Y A (move to home switch, then set machine coords to home coords)
'move to machine zero
'turn on Soft Limits
'set coordinates to Machine / Work / leave as is* (see below)

  Sleep ( 333 )
Loop While IsMoving()

' programming note: wait by documentation is following
'While IsMoving()

' programming note: Until Not does not wait, for unknown reason
'  Sleep  (333 )
'Loop Until Not IsMoving()

If(GetOEMLED( 23 )=True) Then DoOEMButton( 1029 ) 'toggle soft limits OFF if soft limits are On.

'DoOEMButton( 179 ) 'machine coordinates, ( 180 ) work coords

  Sleep ( 333 )
Loop While IsMoving()

DoButton( 24 ) 'Ref Z
DoButton( 23 ) 'Ref Y
DoButton( 22 ) 'Ref X
DoButton( 25 ) 'Ref A

  Sleep ( 333 )
Loop While IsMoving()

Call Code ( "G0 G53 Z0.") 'goto mach zero,first Z, then X Y, then A
Call Code  ("G0 G53 X0 Y0." )
Call Code ( "G0 G53 A0" )

  Sleep ( 333 )
Loop While IsMoving()

DoOEMButton( 1029 ) 'toggle soft limits ON

'DoOEMButton( 180 ) 'work coordinates

  Sleep ( 333 )
Loop While IsMoving()

'end of script

Hood, I leave the coordinate display mode untouched, it is better.

While IsMoving()

BTW not sure why you are changing to machine coords with the OEM button, you dont have to do that but maybe it is just something you want to do.

Would  it be advisable to have a delay in the loop, and a time out? Sort of:

Code: [Select]
' syntax to be fixed, kind of pseudocode
While IsMoving() and I<1000 and MilliSeconds <start+60000

Machine coordinates: a) just to learn how to program it, b) I did not grasp the difference between OEMButton 180 ("with G92") and 181 ("without G92") c) to get feedback about the actual machine movement d) to leave it in the right coordinate display machine/work coords after referencing

Pages: 1 2 3 4 5 6 7 8 9 »