524,143 active members*
2,230 visitors online*
Register for free
Login
IndustryArena Forum > Events, Product Announcements Etc > Polls > Would you participate to an open-source CNC controller?

View Poll Results: Would you participate to develop an open-source CNC controller (ETH,FPGA,WIN+Linux)?

Voters
135. You may not vote on this poll
  • Yes, I will install required software, and participate

    61 45.19%
  • I will test your solution, hardware and software

    39 28.89%
  • I will test, only if I can buy dev. board.

    11 8.15%
  • No, I don't have resources (time/money/etc)

    24 17.78%
Page 1 of 2 12
Results 1 to 20 of 31
  1. #1
    Registered
    Join Date
    Sep 2006
    Posts
    218

    Question Would you participate to an open-source CNC controller?

    Hello
    I have one idea: an open source CNC controller, with ethernet interface.
    It will use cheap microcontroller and FPGA, and work with windows and linux. The biggest problem is to implement g-code compiler in FPGA.
    Processing power is not a problem any more but I don't have time to fully understand and develop software for this, although I have previous experience with CNC, ethernet microcontrollers and FPGA design.

    I could post schematic (but FPGA it's not fun to solder), and current development files.
    How do I make sure that project remain open-source?

  2. #2
    Registered
    Join Date
    Nov 2009
    Posts
    49
    what FPGA chip you plan use?

  3. #3
    Registered
    Join Date
    Sep 2006
    Posts
    218
    Quote Originally Posted by beliefdrive View Post
    what FPGA chip you plan use?
    XC3S250, package is TQFP144.
    For now I have a Digilent "Basys" development board, with XC3S100 FPGA from Xilinx.
    I know that ethernet can be implemented in FPGA too, but I didn't tested this yet.

  4. #4
    Registered
    Join Date
    Nov 2009
    Posts
    49
    i thinks we need begin with interpolation algorithms

  5. #5
    Registered
    Join Date
    Sep 2006
    Posts
    218
    If anyone can implement the necessary ETH module in FPGA, it will be perfect.
    Here is a good start:
    http://www.fpga4fun.com/10BASE-T0.html

    The real advantage of FPGA is that modules are working separately, so if something is bug-free - will not be affected if oter module is modified.

  6. #6
    Registered
    Join Date
    Sep 2006
    Posts
    218
    Quote Originally Posted by beliefdrive View Post
    i thinks we need begin with interpolation algorithms
    Yes. but I suspect this algorithms are already implemented somewhere, close to what we need.
    1. My idea is that FPGA receive a g-code line, and interpret-it.
    2. One advantage will be if the X/Y/Z/A/... coordinated are expressed in stepper's steps. It can be implemented right from the program that generates g-code.
    3. A Java applet will take that file and send-it line by line to FPGA through ethernet. This way any operating system can be used.
    4. Any new computer can be used, from anywhere in the local network with CNC controller (no need for parallel port, USB, or RS232)
    5. There will be no need for optical isolation between computer and controller (ethernet is enough)
    6. Java (although big and somehow slow) can do almost anything - from talking through ethernet to real-time animation of the CNC tool.

  7. #7
    Registered
    Join Date
    Nov 2009
    Posts
    49
    i found same article on fpagfun, it is usefull

    http://www.fpga4fun.com/CNC.html

  8. #8
    Registered
    Join Date
    Apr 2005
    Posts
    263
    Have you looked at the mesanet.com 5I20 and similar FPGA PCI-cards.
    They are currently being used with EMC2 and there is open-source VHDL for PWM-generation, encoder counting, step generation etc. There is also a "softdmc" motion-controller implemented for this FPGA.

    On the EMC2 list there has been talk about a real-time (RTAI) port of Linux for the beagle board (http://beagleboard.org/). This could be another way of approaching embedded motion-control.

    I would encourage you to seriously look what EMC2 already has and how you can extend that to what you want or how you could use parts of it.

  9. #9
    Registered
    Join Date
    Sep 2006
    Posts
    218
    Quote Originally Posted by andy55 View Post
    Have you looked at the mesanet.com 5I20 and similar FPGA PCI-cards.
    They are currently being used with EMC2 and there is open-source VHDL for PWM-generation, encoder counting, step generation etc. There is also a "softdmc" motion-controller implemented for this FPGA.

    On the EMC2 list there has been talk about a real-time (RTAI) port of Linux for the beagle board (http://beagleboard.org/). This could be another way of approaching embedded motion-control.

    I would encourage you to seriously look what EMC2 already has and how you can extend that to what you want or how you could use parts of it.
    I want an embedded CNC controller, with ethernet interface and a small LCD, that can be used with any operating system.
    I know about EMC, I don't want to design a new plugin for EMC or MACH or any other software. That are good solutions with their good and bad parts.

  10. #10
    Registered
    Join Date
    Apr 2005
    Posts
    263
    Why wouldn't the beagle-board, running real-time linux and EMC2 qualify ?

    If you want to write your own real-time operating system, g-code interpreter, graphics drivers, PID-loops, etc. etc. etc. then please go ahead, but unless you are very talented and have lots of resources (time+money) it will be difficult.

    To me it seems the real-time port for the beagle-board would be an excellent way to go.

  11. #11
    Registered
    Join Date
    Sep 2006
    Posts
    218
    Quote Originally Posted by andy55 View Post
    Why wouldn't the beagle-board, running real-time linux and EMC2 qualify ?

    If you want to write your own real-time operating system, g-code interpreter, graphics drivers, PID-loops, etc. etc. etc. then please go ahead, but unless you are very talented and have lots of resources (time+money) it will be difficult.

    To me it seems the real-time port for the beagle-board would be an excellent way to go.
    why do you want to make things heavier than it can be?
    There is no reason to implement a real-time operating system.
    Any problem from this idea can be solved at low-level.

  12. #12
    Registered
    Join Date
    Apr 2005
    Posts
    263
    if you want to receive G-code over ethernet, interpret it, show it on screen, and run a machine you need a lot of the software components that are already there in place with a linux+EMC2 solution.
    IMO working on an fpga-based kick-ass I/O module for the beagle-board would be time more well spent.

  13. #13
    Registered
    Join Date
    Sep 2006
    Posts
    218
    Quote Originally Posted by andy55 View Post
    if you want to receive G-code over ethernet, interpret it, show it on screen, and run a machine you need a lot of the software components that are already there in place with a linux+EMC2 solution.
    IMO working on an fpga-based kick-ass I/O module for the beagle-board would be time more well spent.
    sending G-code to a microcontroller over ethernet, displaying it on the LCD, and interpret-it (G00 and G01) in microcontroller is allready done.
    I will use FPGA only to escape from microcontroller limitations.

  14. #14
    Registered
    Join Date
    Sep 2006
    Posts
    218
    Quote Originally Posted by andy55 View Post
    if you want to receive G-code over ethernet, interpret it, show it on screen, and run a machine you need a lot of the software components that are already there in place with a linux+EMC2 solution.
    IMO working on an fpga-based kick-ass I/O module for the beagle-board would be time more well spent.
    if I've understand right, beagle-board is a small computer, based on CPU and memory. This architecture is not favorable to this embedded system.

  15. #15
    Registered
    Join Date
    Oct 2005
    Posts
    114
    There has been a need for this for awhile. Over the last 20 years, I have had alot of these pc based cnc controllers, on many different machines. The best ones to this date, I have had, were were centriod, linux based, and emc linux for sure.
    Build a cnc controller the will cut parts, and do it well.
    By far, the controller on HAAS mill is just down right awesome.
    Some of the best applications I have ever ran, were open source, seems like the open source people really get programming.

    Good luck with your venture
    HAAS VF3-5 axis trunion
    Mastercam X3

  16. #16
    Registered
    Join Date
    Sep 2006
    Posts
    218

    Post aditional info

    While I will wait for your opinion, please, comment about my idea:
    - Software can be developed on a Digilent Basys/Basys2 boars (already have-it)
    http://www.digilentinc.com/Products/...791&Prod=BASYS
    Two days ago, it was 59$ for academic use. Now it's 89$!
    - You must install ISE Webpack for FPGA any other idea is welcomed
    *it's not that I really hate-it, but...
    *you need to download 2G of software
    *install-it as 5G in program files
    *if you want to install the latest update, you need 10G more on program's partition.
    *and you will use at most 1G of those files....)
    -Project can be a mix of low-level/hierarchy schematics and vhdl/verliog language
    -Programming FPGA - with USB cable from Digilent board
    -Schematics of the board can be downloaded from Digilent site -some parts of the schematics can be reused in final design
    -I will use small DRV8811 drivers, with small bipolar steppers - just for fun

    I will start seriously the work, in january 2010. Until then - documentation stage

  17. #17
    Registered
    Join Date
    Jul 2005
    Posts
    450
    Get yourself a copy of altium to evaluate, its fpga dev tools are far more user friendly then the webpack by itself, and they give away a 30 day trial on their website. Also they support c-to-hardware compiling, that might get you round the limitations you are facing with using a micro for this job.

    personally I would go for an fpga card with a PCI interface on it, as that way you could theoretically add support for EMC at a later date, whilst a USB solution would be problematic for that due to rt-linux support.

    EDIT: personally this kind of approach doesn't appeal to me, as i am looking to move towards having drives and IO on a standard fieldbus like EtherCat, and a small embedded PC for machine control. The benefit of this is you don't have to bit bang steps out of the printer port, so your timing becomes less problematic, as you are commanding the drive setpoints directly over ethernet. I have heard of people getting 20khz position update rates over ethercat, which is more then enough for any cnc machine. You can get off the shelf interface ICs that speak ethercat, and the host software is free, with an open source implementation available.

  18. #18
    Registered
    Join Date
    Sep 2006
    Posts
    218
    Quote Originally Posted by daedalus View Post
    Get yourself a copy of Altium to evaluate, ...
    I have tested once: like-it, but stability is a problem for Altium (at least in my case). And I can't be sure that its output code is optimal for used FPGA.

    Quote Originally Posted by daedalus View Post
    personally I would go for an fpga card with a PCI interface on it, ... EMC ... USB ......
    On the same idea you can use a high-end acquisition board, and Matlab, Labview, or any other software.
    I don't want a CNC controller based on a PC! I don't care about Mach, EMC, RS232, or USB. All this require using a computer, with a software package installed; and in most of the situations, that software is licensed on that particularly hardware PC, so you are close-linked to that PC.
    If my idea with CNC as eth. server will be implemented, all you will need to run the CNC will be a web browser with Java; nothing more.

  19. #19
    Registered
    Join Date
    Jul 2005
    Posts
    450
    From experience altium's output is exactly the same as using the vendor build tools, it actually runs them behind the scenes.

    So you still need a dedicated pc for each machine tool, just one that now does nothing more then run a browser? And to get to this stage you need to rewrite the whole of mach's UI functionality yourself.

    Good luck, i think you have a lot of work ahead of you.

  20. #20
    Registered
    Join Date
    Sep 2006
    Posts
    218
    Quote Originally Posted by daedalus View Post
    So you still need a dedicated pc for each machine tool, just one that now does nothing more then run a browser?
    Nop, there will be no "dedicated PC" to run the tool. Any computer from local LAN can be used. This means anybody could use it's notebook to run the tool
    Beat that!

Page 1 of 2 12

Similar Threads

  1. Smoothie CNC controller, Open Source.
    By Rolf_K in forum General Laser Engraving / Cutting Machine Discussion
    Replies: 6
    Last Post: 01-15-2015, 07:41 PM
  2. CNC Controller with Arduino - open source
    By Christian Knüll in forum Open Source Controller Boards
    Replies: 16
    Last Post: 12-22-2012, 10:46 AM
  3. Open Source 3 Phase BLDC controller
    By karl1 in forum Open Source Controller Boards
    Replies: 0
    Last Post: 02-10-2009, 11:35 PM
  4. Open Source CNC Controller Specification
    By gregmary in forum DIY CNC Router Table Machines
    Replies: 28
    Last Post: 12-05-2005, 04:58 AM
  5. BEST Open source Controller ?
    By Seventeen in forum Open Source Controller Boards
    Replies: 12
    Last Post: 09-22-2005, 12:27 AM

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
  •