How to install LinuxCNC on existing Ubuntu 14.04?

More
10 Jun 2014 15:46 #47836 by windoze killa
Hi all. I have just stumbled across this site and hopefully the ability to build and use a DIY CNC machine. I too have a Ubuntu 14.04 set up and would like to install this program but it looks like I won't be able to. I am curious as to why it is release dependent. Most programs I have installed on linux have detected the version and installed required dependencies. I would hate to go back to windoze just to drive my machine.

Are there any plans to upgrade?

Please Log in or Create an account to join the conversation.

More
10 Jun 2014 16:12 #47838 by ArcEye
Hi

Linuxcnc is nothing to do with Ubuntu, that was just the distro it was bundled with initially because it would be the easiest for non linux people to understand.

It is unlikely there will be any specific support for Ubuntu 14.04.
Ubuntu do not provide a realtime kernel in any flavour and there is no particular reason why Linuxcnc would want to provide one that works on it.

It will run on 12.04 or Debian Wheezy from downloadable packages and the future emphasis is likely to be towards Debian, which is far more stable and less
quirky.

If you have any real driver requirement that requires the use of 14.04, I would be very surprised if you could not satisfy it from Debian Wheezy, either stock or from backports from Jessie.

regards

Please Log in or Create an account to join the conversation.

More
10 Jun 2014 16:26 #47839 by Chattermark

Most programs I have installed on linux have detected the version and installed required dependencies.


Controlling the precise stepper pulse patterns interferes very deeply with Linux' inner heartbeat, all the IO processes it has to take care of. Without having any simple detail knowledge of how it is done in Linux, I remember very well how we constructed such a controller in a simple Z80-environment some 30 years (!) ago. In the foreground, a simple user interface took care of the incoming data, sorting them into a ringbuffer and dispatching the motor control data to a place where the independent interrupt driven (assembler-coded) backend part picked them up and worked them off. It worked, but handling the interrupt en- and disabling for all the necessary other processes was awkward and only made possible by using a logic analyzer at that time.

My image of the version dependancy here is a similar situation, just at least an order of magnitude more complex.

My simple workaround, also looking at some ergonomic aspects, was to dig out a PC that I sorted out some 8 years ago, blow of the dust, and install linuxCNC. The size and power of that machine (a single core AMD something running at 1250 MHz) looks sufficient. 1.5 GB of RAM is more than necessary, and 180 GB disk space as well.

One thing you might consider to do is to choose a dual boot configuration - you won't work on anything else while the machine is milling, will you?

For me, this separate PC is at least the most practical solution.

Cheers,
U.

Please Log in or Create an account to join the conversation.

More
11 Jun 2014 05:47 - 11 Jun 2014 05:51 #47865 by windoze killa
Thanks for your replies.

But... What is a real time kernal?

Also to avoid starting a new thread and to possibly put an end to my ideas, I can't seem to find anything about USB interfaces. Is that because it only works on the parallel port?

Ignore the USB question. I found the answer.
Last edit: 11 Jun 2014 05:51 by windoze killa.

Please Log in or Create an account to join the conversation.

More
11 Jun 2014 10:39 #47871 by jmelson

Thanks for your replies.

But... What is a real time kernal?

LinuxCNC uses a special, modified version of the OS which has extensions to do things with accurate timing.
(Actually, Mach does something similar, running the core of the step generator in a special environment
with better timing than usual.) On X86 (PC) hardware, LinuxCNC usually uses RTAI, but there are some
other R.T. kernels available, such as Xenomai. These make it possible to generate step pulses with
much more accurate timing than would be possible without the real time extensions.


Also to avoid starting a new thread and to possibly put an end to my ideas, I can't seem to find anything about USB interfaces. Is that because it only works on the parallel port?

Ignore the USB question. I found the answer.

USB is not generally capable of precise timing. It is optimized for high transfer rates on several channels at
once, and buffering is used to make sure the flow appears seamless. The whole concept of LinuxCNC
is close coupling between the motion controller (LinuxCNC) and the device, with a minimum of
buffering between them. Pretty much all of the devices that work with Mach over USB use large
buffers between Mach and the motors to prevent hiccups in the motion.

Jon
The following user(s) said Thank You: fit2cnc

Please Log in or Create an account to join the conversation.

More
11 Jun 2014 14:18 #47874 by windoze killa
Thanks Jon. A nice, clear, and easy to understand explanation. Makes sense too.

I can understand why you would need this timing for something that like a 3D printer that needs to keep moving but would it really be needed for a small router based CNC that is used for engraving and small cutting. Reason I ask is the only PC I have that I can use is an old laptop that has no parallel port.

Please Log in or Create an account to join the conversation.

More
11 Jun 2014 23:34 #47909 by jmelson
The problem is stepper motors cannot tolerate a "stutter" in the stream of step pulses. A stepper motor
is basically a weight pulled along by a spring (magnetic field) and a sudden change in the rate
of the magnetic field will cause the motor to jump a pole. This will usuallty cause a complete
stall, but will certainly cause the computer's position to be different from the machine's position.

So, rough step timing would affect pretty much all machines. Note that without the real
time functions, there could be gaps of sizable fractions of a second when some other
task has the CPU.

Jon

Please Log in or Create an account to join the conversation.

More
12 Jun 2014 01:41 - 12 Jun 2014 01:44 #47913 by Chattermark
Moreover, the synchronisation of multiple axes would become pretty tricky. Using a PC's hardware to control the step patterns is already a pretty unbalanced solution if you consider that you can achieve the same result (or better) with one of the modern microcontrollers. In the 90s, there was a couple of ASICS that included the whole set of hard- and software modules, including ramp control, several layers of limit, range and stop switches, with a very even pulse stream up to 100 kHz.
But then, it is a solution that is available, that does what is written in the specs, but not more. And a PC without a parallel port is just simply not suited to be used as a CNC controller, if you want it to generate the pulse patterns. I remember the first solutions where the printer port bits were even used to control the single phases of the motor directly - a job that today is mostly done by the piece of hardware between your PC and the stepper.

Cheers,
U.
Last edit: 12 Jun 2014 01:44 by Chattermark.

Please Log in or Create an account to join the conversation.

Time to create page: 0.121 seconds
Powered by Kunena Forum