Page 1 of 8 1234 ... LastLast
Results 1 to 12 of 92

Thread: CNC USB motion controller

  1. #1
    Registered Kroko's Avatar
    Join Date
    Apr 2009
    Location
    Slovenia
    Posts
    109
    Downloads
    0
    Uploads
    0

    CNC USB motion controller

    I'm pleased to announce CNC USB motion controller. Check project home page for more information.

    Andrej


  2. #2
    Registered Kroko's Avatar
    Join Date
    Apr 2009
    Location
    Slovenia
    Posts
    109
    Downloads
    0
    Uploads
    0
    I'll soon start building low cost 3-axis machine with basic tools which will be powered with CNC USB motion controller and PICStep drivers. I'm waiting for material to be delivered.

    I'll create a build thread so that you could see progress.

    Until then you can check my CNC hot wire foam cutter. Cutting foam wings is realy simple with this setup.


  3. #3
    Registered
    Join Date
    Oct 2004
    Location
    usa
    Posts
    43
    Downloads
    0
    Uploads
    0
    That's pretty cool! I've a shop full of professional cnc equipment and I couldn't do that! I'm impressed!


  4. #4
    Registered
    Join Date
    Nov 2008
    Location
    USA
    Posts
    404
    Downloads
    0
    Uploads
    0
    But you used a PIC18F4550?
    That can't step very evenly at all. None of the PIC line have useful specs in this area.
    I spent awhile drawing up similar plans before seeing that the PIC18 line just won't perform satisfactorily, due to the 10MHz instruction cycle. It needs to be around 10x-100x faster to perform "well" for CNC use.
    Last edited by MechanoMan; 07-09-2009 at 02:33 AM.


  • #5
    Registered Kroko's Avatar
    Join Date
    Apr 2009
    Location
    Slovenia
    Posts
    109
    Downloads
    0
    Uploads
    0
    Actualy PIC18F4550 performs just fine. With 12MHz instruction cycle (this PIC runs at 48MHz) I get around 25kHz maximum step rate which is more than enough for stepper motors with 8x microstepping which is what I'm using.
    Other systems and popular parallel port solutions work in similar range. 100x faster means 5GHz frequency which is faster than most processors available. If you need that kind of performance I sugest you go analog with servo motors.

    After all, this is 100$ solution not 100.000$.

    Andrej
    CNC USB controller - http://www.planet-cnc.com


  • #6
    Registered
    Join Date
    Nov 2008
    Location
    USA
    Posts
    404
    Downloads
    0
    Uploads
    0
    Quote Originally Posted by Kroko View Post
    Actualy PIC18F4550 performs just fine. With 12MHz instruction cycle (this PIC runs at 48MHz) I get around 25kHz maximum step rate which is more than enough for stepper motors with 8x microstepping which is what I'm using.
    Other systems and popular parallel port solutions work in similar range. 100x faster means 5GHz frequency which is faster than most processors available. If you need that kind of performance I sugest you go analog with servo motors.

    After all, this is 100$ solution not 100.000$.

    Andrej
    But 25khz is not nearly enough.
    Assuming the steps go to a Gecko, that's 10 microsteps/fullstep, and a Taig 20 tpi leadscrew:
    That's a theoretical max of 37.5 ipm. But, that's only ONE speed and not applicable to most any CNC case.
    The problem of reality is that you've probably got pulses broken down into 40us timesteps of resolution. If a program asks for 30 ipm, that needs 50us steps. The only way this will be accomplished is to space step pulses steps 40us, 40us, 40us, 80us, 40us, 40us, 40us, 80us. That's FAR too rough to step "properly". There's a huge deceleration asked for during the 80us-step and then acceleration before the next 40us. That's also a big phase error and can easily cause lost steps. It's only able to regulate the pulse width "well", such as as +/-10%, at 3.75ipm. In that case you'd have 400us, 400us, 400us, 440us, 400us, etc. I believe it would still have measurably degraded performance over 1% pulse width control.

    Even assuming I'm mistaken and this can actually adjust spacing to intermediate spacings between 40us and 80us, the total PIC18F4550 capability cannot physically exceed 83nS steps, and in reality it's not possible to get that kind of resolution. That's where I concluded it's generally NOT possible to do with a PIC18F when evaluating my project earlier.


  • #7
    Registered pminmo's Avatar
    Join Date
    Jun 2003
    Location
    St. Peters, Mo USA
    Posts
    3,325
    Downloads
    0
    Uploads
    0
    MechanoMan has a valid point. A 25k kernel with 1/8th microstep drivers has exhibited issues with other cnc software. It's infrequent, but it does happen. And it's a difficult issue for the user to pin down because their system runs fine for thousand of lines of G-code then all of a sudden, one line on one part repeately won't work correctly.
    Last edited by pminmo; 07-09-2009 at 09:03 PM. Reason: typo
    Phil, Still too many interests, too many projects, and not enough time!!!!!!!!
    Vist my websites - http://pminmo.com & http://millpcbs.com


  • #8
    Registered
    Join Date
    Aug 2006
    Location
    usa
    Posts
    247
    Downloads
    0
    Uploads
    0
    Cplds are better suited for this sort of thing, fast and cheap. see mariss' tutorial. If you really want to use a microprocessor check out the cypress psoc a sort of hybrid with analog and digital blocks.
    Amplexus Ender


  • #9
    Registered pminmo's Avatar
    Join Date
    Jun 2003
    Location
    St. Peters, Mo USA
    Posts
    3,325
    Downloads
    0
    Uploads
    0
    CPLD's don't have the ALU and math functions necessary to do motion control. You would have to design the ALU and math processing which would be a waste of time since micros and FPGA's already exist. CPLD's would augment a micro nicely to free up tasks that are a waste for a micro.
    Phil, Still too many interests, too many projects, and not enough time!!!!!!!!
    Vist my websites - http://pminmo.com & http://millpcbs.com


  • #10
    Registered
    Join Date
    Nov 2008
    Location
    USA
    Posts
    404
    Downloads
    0
    Uploads
    0
    Yeah, I've not programmed FPGAs myself but that task definitely looked like FPGA domain.

    A CPLD for the lowest level "counting" tasks paired with a microcontroller also sounds practical, but I couldn't say.

    Smoothstepper was a pretty good implementation... but for some odd reason they seem to have abandoned the project in the beta state. It's still got bugs and they haven't released a new revision of the beta plugin since Jan. They never documented the interface so no one else can use it or try to make a better plugin.


  • #11
    Registered Kroko's Avatar
    Join Date
    Apr 2009
    Location
    Slovenia
    Posts
    109
    Downloads
    0
    Uploads
    0
    You are completely right that faster is better and there are issues at high speeds. This isues are general and are not specific for my PIC18F4550 board.

    All step/dir controllers exhibit the same issue. Faster controller just means faster machine with same issues. Mach and EMC software solutions and other similar harware solutions have the same problem. Some of them are faster (but not for much) but issues are the same.

    Bigger and faster is more expensive. Why don't we all drive Ferrari cars?

    My controller is cheap and produces satisfactory results for hobby use and that is good enough for me. Perhaps my reaction is too emotional. I'm proud on my controller and it hurts me that you're flaming it without ever seeing one.

    Check my 3-axis built thread. This controller will control low cost machine that I'm building.
    CNC USB controller - http://www.planet-cnc.com


  • #12
    Registered Kroko's Avatar
    Join Date
    Apr 2009
    Location
    Slovenia
    Posts
    109
    Downloads
    0
    Uploads
    0
    Quote Originally Posted by MechanoMan View Post
    The problem of reality is that you've probably got pulses broken down into 40us timesteps of resolution. If a program asks for 30 ipm, that needs 50us steps. The only way this will be accomplished is to space step pulses steps 40us, 40us, 40us, 80us, 40us, 40us, 40us, 80us. That's FAR too rough to step "properly".

    Even assuming I'm mistaken and this can actually adjust spacing to intermediate spacings between 40us and 80us,...
    I just realized what you mean with rough resolution.
    My controller adjusts spacing of pulses. It has resolution of 0.08333us and maximum frequency about 25kHz. Time between two steps is a multiple of 0.08333us. So if 40us is possible so is 40.08333 if we want to go little faster and 40.16666 if we want little faster...

    Becouse of low frequency maximum speed is limited but that does not affect resolution.
    CNC USB controller - http://www.planet-cnc.com


  • Page 1 of 8 1234 ... LastLast

    Similar Threads

    1. Yaskawa Motion Controller
      By curtisturner in forum General CNC (Mill and Lathe) Control Software (NC)
      Replies: 0
      Last Post: 05-08-2008, 02:27 PM
    2. the Motion group Controller
      By 47MLB in forum Machines running Mach Software
      Replies: 1
      Last Post: 07-23-2007, 05:16 PM
    3. 3-4 axis motion controller
      By grebator in forum Stepper Motors and Drives
      Replies: 5
      Last Post: 04-19-2007, 04:15 PM
    4. PARKER 6K2 or 6K4 Motion controller
      By TUCSONCNC in forum Post Processors for MC
      Replies: 0
      Last Post: 02-02-2007, 01:07 AM
    5. Can I use this motion controller to make cnc router?
      By Clasic31 in forum General Electronics Discussion
      Replies: 7
      Last Post: 12-11-2003, 10:17 AM

    Tags for this Thread

    Posting Permissions


     


    About CNCzone.com

      We are the largest and most active discussion forum from DIY CNC Machines to the Cad/Cam software to run them. The site is 100% free to join and use, so join today!

    Follow us on

    Facebook Dribbble RSS Feed


    Search Engine Friendly URLs by vBSEO ©2011, Crawlability, Inc.