Interesting Tech Projects
Posts tagged software
Linux Real-time Kernel Installed
Oct 19th
EMC2 requires a real-time kernel (which Windows XP and Vista are not). Installing it on Ubuntu 7.10 was pretty simple.
- Open a terminal window
- Run
sudo apt-get install linux-rt
and wait - Reboot
After the PC rebooted Gnome complained that the theme manager wasn’t working. Another reboot fixed that problem. Running:
uname -v
gives:
#1 SMP PREEMPT RT Mon Oct 15 01:05:51 GMT 2007
So the real-time kernel is now installed and working. I will play around with the desktop for a while to make sure it is stable before proceeding further.
Ubuntu 7.10 Gutsy Gibbon
Oct 18th
Today the latest version of Ubuntu was released – version 7.10. I am hoping to use this with EMC2 a.k.a. LinuxCNC for controlling my CNC machine. Why? Because Linux offers a real time version of the Kernel. The alternatives are Windows with Mach2/3 (which is not free) or DOS and TurboCNC (also not free). Windows is not a real time operating system, so the only software that works properly has to code around this. As far as I know that is the Mach programs. I will still need Windows however for DXF and CAM applications.
Downloading Ubuntu from the mirrors was painfully slow, and attempting to using the official torrent file resulted in “connection refused”. I presume a large number of people are also downloading the OS today. So I used the torrent file on this page. I pulled down the ISO image in two hours. Not bad. Burnt it to CD, added a second hard drive to my desktop PC (not required, but I chose to do it this way), created an image of the Windows partition and booted with the CD in. The install was pretty smooth. Only a couple of glitches. Grub failed to boot because I needed to enable the second drive in the BIOS. And the package manager decided to not install anything, which was quickly solved with this information in this thread.
Hopefully I will be able to get the real time kernel and EMC2 installed. If so I will post instructions, otherwise I will probably have to switch to 6.06 a.k.a. Dapper Drake.
Useful Software
Oct 12th
If you are into RC modeling then Profili might be interesting for you. It allows modeling of aerofoils and then generation of the ribs to construct the wing. The pieces are exported as DXF so they can then be cut on a CNC machine. The software has a database of over 2200 aerofoils.
Another piece of software that looks useful is CamBam. It can take a DXF file and generate toolpaths, exporting to g-code. Also features a scripting interface and support for .NET DLLs, which is particularly interesting to me.
Stepper Motor Drivers and Interface
Oct 8th
We have to connect the stepper motors (three, one each for X, Y and Z axis) to a PC. This is achieved with an interface board and drivers. The interface board typically connects to the PC’s printer port and then connects to the drivers. We need one driver for each stepper motor.
When looking at what is available there are a lot of choices. Some come in kits, some are open source and some are just pieces of designs. I decided not to use the design used by Tom McWire for a couple of reasons:
- Using a microcontroller on the board reduces some of the real time requirements on the PC. The microcontroller can perform some local processing instead of having to rely on the PC to provide all the signals
- Supporting microstepping allows for finer control over the motor. Essentially microstepping further divides the steps provided by the motor. This can give a higher precision and smoother operation
In addition I have the following requirements for the hardware:
- Able to be configured to support specific PC applications
- Simple design
- Able to drive NEMA-23 stepper motors
- Uses a common microcontroller
- Preferably open source
I found the following website full of designs: PMinMO Electronics, including a Parallel Port Reference. Of these designs only a few support microstepping. Of those I am currently considering using the PICStep. Further research is required however to make sure it will be possible to interface to the PC applications I am interested in using.