How to install LinuxCNC on existing Ubuntu 14.04?
- windoze killa
- Offline
- New Member
Less
More
- Posts: 6
- Thank you received: 0
10 Jun 2014 15:46 #47836
by windoze killa
Replied by windoze killa on topic How to install LinuxCNC on existing Ubuntu 14.04?
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?
Are there any plans to upgrade?
Please Log in or Create an account to join the conversation.
10 Jun 2014 16:12 #47838
by ArcEye
Replied by ArcEye on topic How to install LinuxCNC on existing Ubuntu 14.04?
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
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.
- Chattermark
- Offline
- New Member
Less
More
- Posts: 9
- Thank you received: 0
10 Jun 2014 16:26 #47839
by Chattermark
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.
Replied by Chattermark on topic How to install LinuxCNC on existing Ubuntu 14.04?
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.
- windoze killa
- Offline
- New Member
Less
More
- Posts: 6
- Thank you received: 0
11 Jun 2014 05:47 - 11 Jun 2014 05:51 #47865
by windoze killa
Replied by windoze killa on topic How to install LinuxCNC on existing Ubuntu 14.04?
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.
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.
11 Jun 2014 10:39 #47871
by jmelson
(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.
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
Replied by jmelson on topic How to install LinuxCNC on existing Ubuntu 14.04?
LinuxCNC uses a special, modified version of the OS which has extensions to do things with accurate timing.Thanks for your replies.
But... What is a real time kernal?
(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.
USB is not generally capable of precise timing. It is optimized for high transfer rates on several channels at
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.
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.
- windoze killa
- Offline
- New Member
Less
More
- Posts: 6
- Thank you received: 0
11 Jun 2014 14:18 #47874
by windoze killa
Replied by windoze killa on topic How to install LinuxCNC on existing Ubuntu 14.04?
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.
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.
11 Jun 2014 23:34 #47909
by jmelson
Replied by jmelson on topic How to install LinuxCNC on existing Ubuntu 14.04?
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
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.
- Chattermark
- Offline
- New Member
Less
More
- Posts: 9
- Thank you received: 0
12 Jun 2014 01:41 - 12 Jun 2014 01:44 #47913
by Chattermark
Replied by Chattermark on topic How to install LinuxCNC on existing Ubuntu 14.04?
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.
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.073 seconds