509,911 active members
2,849 visitors online
Register for free
Login
IndustryArena Forum > WoodWorking Machines > DIY CNC Router Table Machines > Open Source CNC Controller Specification
Page 1 of 3 123
Results 1 to 12 of 29
  1. #1
    Registered
    Join Date
    Jun 2004
    Posts
    131

    Lightbulb Open Source CNC Controller Specification

    [B]Open Source CNC Controller Specification[\B]

    The purpose of this document is to specify the requirements for an open source CNC Controller.

    The Controller will support up to a 3-axis hobby CNC machine with a target cost of less than $50.

    The Controller will be designed for constant current control of inductive load, two-phase bipolar stepper motors. Each of the three motors will be controlled by two signals: step and direction. Each motor drive can be individually configured for full step, half step, quarter step or eighth step mode. The drivers will supply 1.5A max peak current to each phase. The peak load current level may be set as a part of the board configuration. The controller will be able to supply up to 48 Volts across each motor phase.

    1.) The drivers will have an operating frequency up to 75 KHz and have thermal shutdown circuitry.
    2.) A Panic Shut down will be hard wired to the drivers to shut off the motors with out software intervention.
    3.) The Controller will interface to a PC through the parallel port. The parallel port will interface to a wide range of PCs. This will include the 3 Volt laptop interface as well as the standard 5 Volt PC standard.
    4.) There will be a single voltage supply required, this may range from 12 to 48 Volts.
    5.) The controller will support a standard set of General purpose I/O for other functions on the CNC machine including:
    a. 1 panic button
    b. 3 home position switches
    c. 6 limit switches – normally closed in series
    d. 1 open collector output to control the spindle – on/off
    e. dual input jog encoder
    f. touch probe input

    6.) Connectors
    a. 25 pin D-sub parallel port interface
    b. Power supply inputs - 4 pin screw terminal block
    c. Motor connectors 12 pin dual row .156” center header
    d. 20 pin .1” dual row header type connector for the following:
    1. Panic button –2 pins
    2. open collector output for spindle control – 2 pins
    3. 3 home switches – 6 pins
    4. limit switches – 2 pins
    5. touch probe input – 2pins
    6. dual input jog encoder – 4 pins
    7.) Configuration – The controller shall have non-volatile memory to store the user configuration on board. No jumpers or dip switches are to be used. The controller is attached to a PC via a parallel port. This offers a simple way to configure the board. The configuration of the board is set by copying a setup file to the parallel port. Once the controller is configured for a given machine, it will retain its configuration even if the controller is powered off. The following parameters can be set from the host PC:
    a. Individual configuration of each motor as to full step, half step, quarter steps or eighth step.
    b. Max current level for each motor. This will be in 10% increments of the total 1.5 Amp max.
    c. Master enable for each motor. Unused circuits can be turned off.

    8.) Total cost of materials shall be under $50

    This is to be a fast track program. The specification is complete as it stands (6-16-04). Now the schematic will be worked on. This will complete this time next week.

  2. #2
    Moderator ynneb's Avatar
    Join Date
    Feb 2004
    Posts
    2337
    That sounds great gregmary. I am wondering about your post. Does this mean you are going to submit all of the above? Or is it a wish list that you want others to contribute to?

    If your intention is to do all of the above, could you let us know how we can support you?

    I notice you have only 3 posts to your name. Welcome to the forum.

    Benny
    Being outside the square !!!

  3. #3
    Gold Member
    Join Date
    Sep 2003
    Posts
    1113
    gregmary -
    Very nice summary of the Specification! Is there room for a "modular" approach in the design? I was thiniking of a plug and play module (like a pc board) so you could have 3, 4, or 5 (6)axis with 3 as baseline. They could use extra headers to add purpose built daughter cards. These daughter cards could have their own home and limit switch inputs (plus all the necessary power and motor connections. (might even need their own power supply). Just mull over the concept a bit - You've got some great thoughts there. Understand the target audience - but given the wide range of performance options - 12 - 48 volts, 5 amps etc, seems like a natural to keep the board and then expand as you need.

    A couple of questions maybe:

    Would you be interested in providing the printed boards? Or licensing someone else to do that?
    (I'm not volunteering - just got too many hobbies to take up making my own board - no matter how easy it may seem - they all come with a lot of extra stuff - and my garage is chocker!)

    Target cost for the product(s)?
    Will you also provide a source list for the materials?

    Sorry to see the DOS legacy - considering that MACH2 bypasses some of the WIN "hangups"? Linux might be too small a market - certainly there are a bunch of DOS users out there still.

    Would the board support LAPTOPS - low voltage (3.3 vice 5 on some parallel ports)?

    Will the 5 volt logic be from onboard PS or could you pull it from a usb cable? (just wondering how much current you'll be requiring - I believe the USB passes 500mA on the 5 volt line)?

    I'll follow with great interest - might be a soldering project I could get into - but would rather move off the DOS !
    Cheers - Jim
    Experience is the BEST Teacher. Is that why it usually arrives in a shower of sparks, flash of light, loud bang, a cloud of smoke, AND -- a BILL to pay? You usually get it -- just after you need it.

  4. #4
    Registered
    Join Date
    Jun 2004
    Posts
    131
    Let me answer your questions as best as I can:

    Is there room for a "modular" approach in the design?

    I very much like your idea of a modular design. Understand that making the design modular increased the cost somewhat as there are now multiple boards and interconnections. The reliability can also be less due to addition interconnections. That said, given the goal of a single design that can support a wide range of needs of hobbiest. I think a modular design would be worth the extra cost. How would you take the single spec above and break it down into sub componenets?

    Would you be interested in providing the printed boards?

    I would be willing to provide the Printed Circuit boards at cost for a while. or if a few people wanted to go together we could order a lot of boards at once and share in the expense.


    Or licensing someone else to do that?

    This design will be open source, so anybody can take the files I provide get boards made.


    Target cost for the product(s)?

    $75 or less for a completed controller. We will know more when we get the bill of material together, also the design will be scaleable and you will not need to stuff all the parts, only the ones for your application.

    Will you also provide a source list for the materials?

    I will provide a list of materials and a source for the materials and current cost.


    Sorry to see the DOS legacy - considering that MACH2 bypasses some of the WIN "hangups"? Linux might be too small a market - certainly there are a bunch of DOS users out there still.

    It is not my preference to use DOS, I would much rather use a Windows based application. But I want to stick with the Open source, free to all approach and the TurboCNC application fits this bill. If you or anyone knows of a Windows based application that is free to all I would love to consider it.



    Would the board support LAPTOPS - low voltage (3.3 vice 5 on some parallel ports)?

    Yes, The board will support laptops as it will have two sockets (or you could solder them in) for termination resistors allowing the customizing of the interface to various PCs.


    Will the 5 volt logic be from onboard PS or could you pull it from a usb cable? (just wondering how much current you'll be requiring - I believe the USB passes 500mA on the 5 volt line)?

    The 5V supply will not be on the board, but the requirements for the 5V are very low and you could use a cable to the USB (possibly) to supply this voltage. We will have to see, I have not done that before.


    I'll follow with great interest - might be a soldering project I could get into - but would rather move off the DOS !

    If you can help me figure out a way to move away from DOS and maintain the open source spirit I would love to.


    Thanks for the feedback,

    Greg

  5. #5
    Gold Member
    Join Date
    Jun 2003
    Posts
    3312
    Looks good, have you looked through this thread ? http://www.cnczone.com/forums/showth...&threadid=4079
    Maybe there can be some colaboration.

    Phil
    Phil, Still too many interests, too many projects, and not enough time!!!!!!!!
    Vist my websites - http://pminmo.com & http://millpcbs.com

  6. #6
    Gold Member
    Join Date
    Sep 2003
    Posts
    1113
    Greg - had a few more questions/thoughts (I just finished assembling - well, wiring up - my Xylotex board and PACSCI motors)
    The OS - DOS or Windows based - how does that impact the board design? Is it in the maximum number of steps, minimum stepping/pulse width? - or? Maybe the board could do both and still be Open Source, and for those that want to use a WIN based system, it could also be compatible.

    Stepping levels (full step. half step, quarter step, etc) - Jumper selectable?

    Bi-Polar or Uni-Polar - or both? that seems to be the bugger on most boards I've seen. If you want both it may drive the choice of chips? (Agin - I'm not a "wirehead" on this --yet)
    I'm doing some thinking on the daughter cards a bit more - surely smarter people will come up with more feedback.
    Cheers - Jim
    Experience is the BEST Teacher. Is that why it usually arrives in a shower of sparks, flash of light, loud bang, a cloud of smoke, AND -- a BILL to pay? You usually get it -- just after you need it.

  7. #7
    Registered
    Join Date
    Jun 2004
    Posts
    44
    I'll be happy to buy a pcb off you
    and if I can help out in the design I will
    I'm a bit rusty on my electronics stuff
    but I maybe of some use I'm not looking for
    anything huge right now

    yes you can pull 500 ma from a usb cable I'll gladly explain that
    I have spliced a few usb cables for portable hard drives and such
    you could also pull it from the keyboard port as well at or ps2

    the post that pminmo has mention above has a pretty good head start on this
    already but I'm looking to get my board built soon so I can start playing with the motors I have
    so if you got something you can mill or etch that will egt 3 axis up and running with out Power supplpy
    as I have one I'll glady pay you for it and then I'll be happy to help mill borads for
    people that are looking for them

  8. #8
    Gold Member
    Join Date
    Jun 2003
    Posts
    3312
    A couple of things, a simple 3 term regulator for the 5vdc would be much preferred to a seperate input. Second I would advise agains a mechanical relay, switching high inductive currents on a logic board isn't a good idea. Many places you would get by with it some not. Besides solid state relays are not that expensive. The limit switches, hardware diswable or just going back to the PC?

    Phil
    Phil, Still too many interests, too many projects, and not enough time!!!!!!!!
    Vist my websites - http://pminmo.com & http://millpcbs.com

  9. #9
    Gold Member
    Join Date
    Jun 2003
    Posts
    3312
    I did a little consolidation of the files I have been working on:

    http://webpages.charter.net/pminmo/cncelectronics.htm

    Always looking for colaboration and help. It would be really good if there is somebody at the zone that could build a mill file for the 5804 copper board.

    Phil
    Phil, Still too many interests, too many projects, and not enough time!!!!!!!!
    Vist my websites - http://pminmo.com & http://millpcbs.com

  10. #10
    Registered
    Join Date
    Mar 2004
    Posts
    37
    I lost my first post attempt because it did not like my jpeg file with the .jpe extension.

    I am not involved with the Opensource DIY controller yet but here is a picture of my design so far. The board is twice as big as it needs to be but it is only a prototype for now. I am using it to test my ideas and when I am done I will respin the PCB to the proper size. My intention is that I will have one board that drives 3 axis. The extra I/O functions are easy and I do not need to test them and evrything on the specifications list can be added. It just makes the board bigger. My design is a microstepping chopper constant current controller. Presently it is driving my 8A bipolar parallel test motor @ 35 volts. It has been tested with motors of 1,2 and 3.5 Amps as well. The small stepper seen in the picture is actually the jogger input. I have been discussing this in the Stepper motor forum.

    The board can be connected to any software that uses a parallel port for input. I did not use optos on the parallel port inputs but they can be added.
    More specs.

    1. The board uses a small external adapter for the power supply to derive its required 12 and 5 volts. Motor power is separate.
    2. The micro is flash based and reprogrammable through the parallel port. Programmer is built in to the design. A Visual Basic program does the code uploading.
    3. Board is programmable for 1,2,4,8,16 or 32 microsteps. I use 8 microsteps because I find anything beyond 8 is superfluous. Again settable through the port. Max speed, I do not know as my test machine with TurboCNC can only do 30 kHz. I use 19.2 kHz. I cannnot see the need for 75 kHz for a hobbiest.

    I went into the design with both feet to see what I could wring out of a simple micro and stayed away from the chipsets that are presently used by others. The chipsets also put a limit on the maximum current of the motor and I wanted to not have such a limit.

    To me cost and ease of making are important. Presently I am testing my 3 FET driver options.
    1. Pure discrete. Low cost, robust but lots of components.
    2. IR2110. High cost, but a pain to keep the high side drivers charged without an external boost circuit.
    3. SMT driver. Moderate cost but may not be that easy for everyone to solder.

    I have tested a lot of options and I have a few more to test. I have other chips on order and a few look excellent but again they are SMT.

    Any comments or questions are welcome.
    Attached Thumbnails Attached Thumbnails proto2.jpg  

  11. #11
    Gold Member
    Join Date
    Jun 2003
    Posts
    3312
    Looks good, micro pic, avr? What CAE tool did you use?

    Phil
    Phil, Still too many interests, too many projects, and not enough time!!!!!!!!
    Vist my websites - http://pminmo.com & http://millpcbs.com

  12. #12
    Registered
    Join Date
    Mar 2004
    Posts
    37
    I used a PIC16F873 as I have quite a few of them. I thought of using a PIC16F630 in the final design to save a few dollars. 1 micro is needed per axis. I use ORCAD for both capture and layout. I can read and export into a few other formats if required. The micro is coded in C.

Page 1 of 3 123

Similar Threads

  1. PIC Open source Servo Driver Schematics development?
    By Rossz in forum Open Source Controller Boards
    Replies: 90
    Last Post: 10-26-2011, 09:37 PM
  2. Web space available for open source cnc
    By ShayArnett in forum Open Source Controller Boards
    Replies: 1
    Last Post: 01-11-2005, 04:31 PM
  3. 3D or 2D MAXI Style Hobby CNC PWM Controller!
    By icm in forum News Announcements
    Replies: 1
    Last Post: 01-05-2005, 03:36 PM
  4. OPEN SOURCE DIY CNC "thing"
    By High Seas in forum DIY CNC Router Table Machines
    Replies: 45
    Last Post: 05-01-2004, 06:53 AM

Posting Permissions

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