WelcomeUser Guide
ToSPrivacyCanary
DonateBugsLicense

©2024 Poal.co

1.5K

For simplification we will be working in word address format.

LESSON 1

Safe Starts

It is important when programming for a production environment to "fool-proof" or "idiot proof" a program so that it can be restarted at any sequence without error.

N1 (SEQUENCE ONE); G20 (ENGLISH UNITS); G17 G40 G80 G49 G90(INITIAL SETTINGS AND CANCELLATIONS); T01(TOOL 1 TO WAITING POSITION); M6(TOOL 1 TO SPINDLE);

Sequence 1 (N1) first sets the control to English units. It then sets it to XY plane designation, cancels cutter radius compensation, cancels any fixed cycles, cancels tool length offsets, and sets absolute dimensioning mode.

This all prevents an operator from restarting the program after the power goes out in the middle of a canned drilling cycle and crashing the machine.

But is this fool proof?

In most cases. It is however missing a homing Z move before X or Y or B or A axis moves.

G0G90G53Z0.0;

Would usually achieve this. Of course things vary by machine and how they are set. And yes operators will still crash machines time and time again.

An advanced bit of programming you may add if you know what macro your machine stores the spindle tool value to is

IF[(SPINDLE TOOL MACRO)NE(EXPECTED TOOL VALUE)] THEN #3000=1.0(WRONG TOOL);

This will alarm out most Fanuc style controls and display the error message that the tool is the wrong tool. For example if your machines spindle tool macro was #1 (it's not) the line would look like this for tool 1;

IF[#1 NE 1] THEN #3000=1.0(WRONG TOOL);

For simplification we will be working in word address format. #LESSON 1 ##Safe Starts It is important when programming for a production environment to "fool-proof" or "idiot proof" a program so that it can be restarted at any sequence without error. `N1 (SEQUENCE ONE);` `G20 (ENGLISH UNITS); G17 G40 G80 G49 G90(INITIAL SETTINGS AND CANCELLATIONS); T01(TOOL 1 TO WAITING POSITION); M6(TOOL 1 TO SPINDLE);` Sequence 1 (N1) first sets the control to English units. It then sets it to XY plane designation, cancels cutter radius compensation, cancels any fixed cycles, cancels tool length offsets, and sets absolute dimensioning mode. This all prevents an operator from restarting the program after the power goes out in the middle of a canned drilling cycle and crashing the machine. But is this fool proof? In most cases. It is however missing a homing Z move before X or Y or B or A axis moves. `G0G90G53Z0.0;` Would usually achieve this. Of course things vary by machine and how they are set. And yes operators will still crash machines time and time again. An advanced bit of programming you may add if you know what macro your machine stores the spindle tool value to is `IF[(SPINDLE TOOL MACRO)NE(EXPECTED TOOL VALUE)] THEN #3000=1.0(WRONG TOOL);` This will alarm out most Fanuc style controls and display the error message that the tool is the wrong tool. For example if your machines spindle tool macro was #1 (it's not) the line would look like this for tool 1; `IF[#1 NE 1] THEN #3000=1.0(WRONG TOOL);`

(post is archived)

Have you sized the steppers you are going to use? If you use steppers that are about 2 amps per phase you could get away with using a cheap arduino CNC shield. I believe on some forums there are people who have done this conversion that might give you a good idea of what you need to do.

[–] 1 pt

I was looking at nema 23s they seem like over kill but reasonably priced.

[–] 1 pt

There are plenty of 3D printer plans to match the Nema 23s to my proxxon. But if I had a 3D printer why would I need a proxxon MF-70. Life sucks sometimes.

Because a 3d printer prints in plastic but a cnc mill can cut metal. Here's a deal on a resin 3d printer that will end really soon:

https://www.monoprice.com/product?p_id=35435

$100 off so it's $79 right now.

Nema 23 is the size of the stepper, the two other specs you want to know is amps per phase and the torque of the motors.