Basic CNC

What should you know before the computer and machinery?

"Billy G"
 
OK let's see if I can do this.

#1 -- You need to know the computer
#2 -- You need to know what the machine is and what each component does.

These we have discussed. What I am asking is -- is there any basic things we should be capable of doing leading up to those two?

"Billy G" :bitingnails:
 
the first thing that came to mind for me is the Cartesian coordinate system (i googled the spelling lol )
it is the key to understanding the layout, drafting and machining of any part.
steve
 
OK let's see if I can do this.

#1 -- You need to know the computer
#2 -- You need to know what the machine is and what each component does.

These we have discussed. What I am asking is -- is there any basic things we should be capable of doing leading up to those two?

"Billy G" :bitingnails:

Make #3 -- You need to know how to think logically in three dimensions.
It's a great help in working out the order of the steps needed to machine something; cnc or manually.


M
 
You need to be able to know some of the vocabulary for what is going on with the computer hardware stuff.

Opto-isolation (Optical Isolation)

The circuits of the CNC are physically isolated from the computer electrical circuitry to keep the CNC voltage from possibly going through the computer. A good thing. Usually you cannot see this going on. There is an LED light inside a chip on one side and a light detector on the other side. Much like signal lights to keep one circuit from touching the other.

Break Out Board

The communication lines are all bundled in one cable from the computer. It has to be distributed to the different components. This is where that happens. Some systems have the controls for the motors built in to this and other have them as separate boards that connect to it.

Open Loop Control

The instructions for a move are given to a motor but no feedback to make sure that the move was made

Closed Loop Control

The move is verified as well as the command given. Usually done on servo controlled systems.

Stepper Motor

A motor that moves one increment when the pulse of electricity goes through it. Very powerful but moves slower and looses power as it speeds up.

Servo Motor

A regular motor that also has an way to tell what movement is made. It can move back and forth and the software tells what position it is in. (Usually used in closed loop systems) Generally more power when moving fast but not as much when moving slow.

Micro stepping

The two poles of the stepper motor have a balancing power on both to position the stepper between positions.

Serial port

The computer port with two lines, a transmit and receive that communicate much like the old telegraph systems. Usually with a 9 pin connector unless you are using a *really* old computer where it will be 25 pins. On the computer side, it will look just like a parallel port but it will be a male connector instead of a female connector. (Male connectors have pins, female have sockets for pins) Some of the older CNC systems used this mainly to hook a terminal up to see things on the computer built into the CNC machine. Not present on the most modern computers in favor of USB (Universal Serial Bus) In desktop systems, you can add additional expansion boards to a computer if it doesn't have one.

Parallel Port

The computer port that will send data over 17 pins at once. Previously, this was used for connecting printers to the computer. It would send data on 8 lines at a time and the rest were used for control. This is what most CNC systems use to connect to the computer. Not advisable to use for a laptop as the laptop has circuitry in it to cut part of the power to the port to save electricty. This is a 25 pin connector (yeah, there are a bunch of ground wires there too.) Many of the newest computers don't have one any more and printers mostly use USB now. You can get an expansion board to add one to a desktop computer if yours doesn't have one built in.

USB Port

The USB port is more like the old serial port but it sends information much faster. It has 4 wires - transmit, receive, power, and ground. There are several versions which are mainly involving the speed that it uses. Most computers now have USB 2.0 (version 2) and some of the newest ones have version 3.0. There are 3 main connector styles A, B, and Miniature. A is flat, B is square(ish) and the mini is flat but a lot smaller. Most of the new cell phones use the mini for hooking to a computer and to charge the batteries. Many CNC systems also use a USB cable to provide low voltage (5V) to run some of the electronics on the controls. There are some hobbyist systems moving to USB since the other ports are going away. They will have another microprocessor on separate boards to handle the timing and control. The latest trend is adding the ability to do this over a network connection instead of USB.

General Purpose Operating System and Real Time Operating Systems

Usually you have no control over this. Windows is a General Purpose Operating System. When you run your computer, lots of programs are running at the same time. When the system is busy, it will let the instructions pile up in line and get to them when it can. Normally, this is ok but when you are trying to control stuff with millisecond precision, it can cause problems. If you are using LinuxCNC (used to be named EMC2) to run your computer, it has what are called Real Time extensions built into the main part of the system. A Real Time Operating System doesn't let the instructions pile up. It gives some priority and tells the other stuff to go away and try later when it is not busy. This allows more accurate timing. The high end CNC systems will have their own computer built in with a Real Time Operating System built in.

Pulse Train

The signals to communicate to the motors for each move are like an old fashioned telegraph line. These are like turning a light switch off and on really fast to signal each move. This is the rate of how fast those signals can be and still be read.

Debounce

Turn a light switch on really slowly. There will be a point where it is almost making contact and the light will flicker really fast as the spark jumps the gap. This can happen with switches in the system too like the limit switches at the end of motion stops and emergency stop buttons. The computer will have a procedure to watch those little spikes of power to wait and make sure that the little spikes when the switch is turned on or off are not interpreted as separate off and on signals.


Well, that is enough to get you started. If you want to know more about something, speak up.
 
I would like to add a few and a slight correction:

Motion Controller

These are similar to a breakout board. However they typically are "smart cards". That means they "intercept" the signals from the PC and allow a very nice thing to happen. The PC no longer has to maintain a steady pulse train for the stepper driver or servo amplifier. The motion controller takes over that function. The PC can get up to perhaps 100,000 pulses at best out of the parallel port. Motion controllers can get up to 10 million in the same amount of time. They use a dedicated clock circuit to produce the pulse train. Computer CPU work load is no longer an issue. Here are a couple of examples. For Mach3, the Smoothstepper. For LinuxCNC, the Mesa series of "Anything I/O boards". The Mesa 5i25 is an economical solution for LinuxCNC users. Motion controllers are very useful for both stepper motor solutions and servo motor solutions. The motion controller offers distinct advantages for each system. Fast speeds are not the only consideration. 100,000 pulses per second is faster than most CNC systems need. It's the smoothness of the pulse train that is very desirable here. Don't buy a motion controller just because it is the fastest. You probably won't use the extra speed. The added I/O for limit switches, home switches, etc. and the smoothness of the pulses for your machine are much more important parameters when considering a motion controller.

Stepper Motor

A motor that moves one increment when the pulse of electricity goes through it. Very powerful but loses torque as it speeds up. The stepper motor draws the same current at low speeds as it does at rest. They are designed to run very hot. Some driver cards reduce the "resting" current to help the motor run a little cooler when it is stopped. It then switches to full current when stepping.

Holding Torque

The torque that a stepper motor can produce when not receiving pulses. This is directly tied to it's ability to hold a load at a given position. Turning off the "current reduction" in a driver circuit may help to increase this load holding capability. Most CNC applications work best with current reduction enabled. Some stepper drivers do not allow it to be turned off.
 
OK let's see if I can do this.

#1 -- You need to know the computer
#2 -- You need to know what the machine is and what each component does.

These we have discussed. What I am asking is -- is there any basic things we should be capable of doing leading up to those two?

"Billy G" :bitingnails:

Hi Billy,

#1 - Choosing Software / OS: For a beginner (which I am!) , you have two options in my opinion. Others may disagree.


  • [*=1]Mach 3 - Runs under Windows, has a large following. Windows is not a real time operating system. The developer of Mach uses a "plugin" that allows the PC to produce a very good pulse train. Not perfect, but very good and very usable. Most users are very satisfied.
    [*=1]LinuxCNC - Runs under Linux / Ubuntu. Very good user support forum, answers are typically fast and accurate. LinuxCNC uses a special OS implementation called "RTAI". That means it is optimized to provide a smooth pulse train from the parallel port. Experienced LinuxCNC users report that it is more powerful and can control literally any motion platform. I agree, but for a beginner this is a moot point. We are interested in routers, mills, and lathes for the most part.
    [*=1]Either option is viable. LinuxCNC takes more head scratching at first because you have to find your way around Ubuntu. If you don't mind this extra learning curve and like to figure things out LinuxCNC works very well. This was my choice. Linux has come a long way. The user interface is similar to Windows, but is "simpler". Instructions for installation are very good. Most people use the "LiveCD" method.
    [*=1]Be aware that both have a huge fan base.


#2 - For beginners, I think a stepper motor based system is better. For the small machines that us home shop folks make, they are more than adequate and easier to implement.


  • Budget is always a consideration. If you can, buy an off the shelf solution. I chose CNCFusion for my SX3 build. There are many others.
  • CNCFusion kits work well with Automation Technologies Inc (used to be Keling) stepper systems.
  • The suppliers mentioned above were my choices. They have worked well for me. That does not mean they are the only choice, there are a lot of suppliers out there.
  • Many people do the whole conversion them selves by making all the parts and buying the ones they can't make like ballscrews. This can be more difficult because you have "size" everything yourself.
  • In any case, I would search the web and see what others have done with you particular machine and use solutions that are successful.

To answer your question more directly, my path was to start reading information in the various forums such as this one and ask questions.

What do you want make? This determines the style of machine. As another poster wrote:

  • [*=1]Large gantry type router for wood work and some light aluminum machining.
    [*=1]Benchtop mill for aluminum and light steel machining.
    [*=1]Lathe
    [*=1]Be aware that the CNC mill can be setup to make any part that you can make on a lathe that does not require a tail stock. See this video: http://www.youtube.com/watch?v=_2w8cYXt5_o

I'm not sure I answered your question Billy.

How did I do?

Regards,

Matt
 
Hey Matt, those Mesa Anything I/O boards look pretty cool. I was not familiar with them. I especially like the ethernet version 7I80DB Ethernet Anything I/O card. Looks like it would be especially nice for controlling multiple machines or something with more sophisticated things like tool changers. Do you happen to know if they require the real time extensions?
 
Back
Top