Industrial Hobbies Servo Based Square Column Bed Mill


Results 1 to 1 of 1

Thread: Industrial Hobbies Servo Based Square Column Bed Mill

  1. #1
    Registered
    Join Date
    Jul 2008
    Location
    USA
    Posts
    35
    Downloads
    0
    Uploads
    0

    Default Industrial Hobbies Servo Based Square Column Bed Mill

    I have been very happy with my IHCNC mill: 3-axis servo controlled, fourth axis (rotary table) stepper controlled. It came with a Windows XP based computer running Mach3 as the CNC controller software. However, I am a long time Linux enthusiast, and a big time Microsoft detractor, so I finally made the conversion to emc. I grabbed the Athlon based small form factor computer I had been using almost exclusively for web surfing, pulled out all of the add in cards, and converted it to multi-boot XP, 2000 server, opensuse 11.3, and ubuntu 10.04 from linuxcnc.org. I installed Mach3 on the Windows partitions, and emc came with the ubuntu distribution. I left opensuse alone, and I use it when I'm not controlling the mill, mostly because I do not like the look and feel of ubuntu.

    Mach3 running on the windows partitions could not control the mill on that platform. It performed well on the platform that came with the mill (dual core Intel E2180 @ 2 GHz), but on the Athlon platform (AMD Sempron @ 2Ghz) the servos sounded horrible (grating, erratic) and the spindle was worse (rpm surge, oscillated, and couldn't get above 800rpm or so). The spindle is a VFD controlled by step pulses (cnc4pc c6 step to analog converter), and the OS just couldn't keep up with the constant demands of such a configuration.

    In contrast, the mill runs exceptionally smoothly under emc2. Unless I am deceiving myself, it sounds smoother than it did running Mach3 on the original system (dual core Intel). I am too lazy to drag the original computer out to the shop to compare the two in a side by side test, but I stand by the assertion that it 'seems to run smoother'. I suspect that the real time application interface (RTAI) extensions to the Linux kernel are the reason for the improved performance.

    I thought that maybe someone might come looking on this forum for information regarding the setup of their IHCNC mill with emc, so I am providing this post to push them towards trying it out, maybe detract them from the Microsoft solution, and provide them with my configuration files to help out.

    If you want to try out emc on your IHCNC mill, linuxcnc.org has a live CD iso image that you can burn to disk (if you have a cd/dvd burner) and then boot your computer from CD without having to install. You can look around at the software, and you should run the latency test to determine if your computer is capable of running the software to control the mill (available from the drop down CNC menu at the top). You won't be able to actually control the mill until you install and then setup a configuration file.

    If you're not familiar with Linux and multi-booting, there are plenty of websites that provide instructions for doing that, so you can install Linux without removing your windows installation.

    Attached, you will find the configuration files. Rename the files by removing the '.txt' and then change the '_' to a '.'. The filenames are mangled to allow uploading to the forum.

    Create an emc2 configuration, and call it IndustrialHobbies. You can use the stepconf wizard to create that project, and just answer the questions with nonsense, except for the name "IndustrialHobbies" (no need to specify actual information unless forced to do so by the wizard, then just give it enough to move on), and then replace the .hal and .ini files in the resultant ~/emc2/configs/IndustrialHobbies directory with the ones attached to this posting. That's what I did. I suspect, in hindsight, that you could just copy over the contents of the directory
    /usr/share/docs/emc/examples/sample-configs/5axis
    and put it in ~/emc2/configs/IndustrialHobbies/, and then replace the .hal and .ini with the attached files, and rename 5axis.tbl to tool.tbl, but that's not what I did, but I probably would do if I were starting from scratch. The tool.tbl file contains your tool definitions, mine is simply called tool.tbl, the name is specified in the ini file.

    You can play with max velocities and max accelerations in IndustrialHobbies.ini. I set them to 'reasonable' values according to my experimentation, but they can, and I suspect should, be tweaked to your preferences/experience/machine specifics. Parallel port pin assignments and polarities are in IndustrialHobbies.hal, they probably match your turnkey IHCNC configuration with the exception of pin 15: I connected my gecko servo controller ERR/RES to that pin via an optically isolated circuit I posted on cnczone's Industrial Hobbies forum, but it did not come that way from IHCNC. DO NOT connect the ERR/RES pins directly to the parallel port!!! The voltages are not the referenced from the same source and I suspect bad things will happen (luckily, I was knowledgeable enough to check first, and they are off by 12VAC or so). You may want to just disable that pin assignment in the .hal file.

    I enabled support for preserving axis locations on shutdown and loading on startup by adding a line to the ini file that stores the data in 'positions.txt' which will be located in the emc2/configs/IndustrialHobbies directory. You can edit that file to reflect your machine's actual position, while emc2 is not running: that is the only way to manually set machine coordinates without actually running the homing sequence which uses the limit switches. By adding support for saving the axis position on shutdown, they will be loaded on startup, and you will be then be able to use simple g-code at startup. Keep in mind that if you move the axes while emc2 is not running, and don't adjust the position.txt file to reflect those moves, emc2 will not have a proper notion of the machine's position on start up.

    The travel is configured to be (30", 12", 17.5"), yours may be different: edit the ini file to reflect your configuration. Homing is configured to occur at 0, 0, 17.5 (spindle at top of column positioned over left/front of table), and I configured the machine to move to 15, 6, 10 (middle) after the homing sequence (called 'home' in the ini file), you can adjust that to your preference as well.

    emc2 recommends that you home the machine, and the default configuration is to force you to home the machine every time that you start emc2 before you can do anything else. I added a line to the ini file to disable that feature. I still home my machine, but I like to be able to jog over close to the home switches using g-code to shorten the time required for homing. Disabling forced homing allows me to do that, but it is not the default behavior. If you would rather do it the default way, you can remove the 'NO_FORCE_HOMING = 1' line from the ini file to enable the default behavior.

    If you have any problems, this forum (EMC/Linux (Enhanced Machine Control) is the forum to come to!!! The posters have been very helpful, and they do a good job of representing the opensource community.

    Good luck, and have fun!!!

    Similar Threads:
    Attached Files Attached Files


Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


About CNCzone.com

    We are the largest and most active discussion forum for manufacturing industry. The site is 100% free to join and use, so join today!

Follow us on


Our Brands

Industrial Hobbies Servo Based Square Column Bed Mill

Industrial Hobbies Servo Based Square Column Bed Mill