element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
3D Printing
  • Technologies
  • More
3D Printing
3D Printing Forum CNC servo control
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join 3D Printing to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 19 replies
  • Subscribers 330 subscribers
  • Views 2747 views
  • Users 0 members are here
Related

CNC servo control

antiobsolescenttoymaker
antiobsolescenttoymaker over 8 years ago

can anyone point me in the right direction?

I recently picked up a nice biotech xyz table.

I've confirmed that the components themselves work but want to convert it into a CNC router / 3D printer.

The table uses med size DC servo motors for all movement and has the original PSU.

I have looked all over and have yet to find an arduino based solution for a servo CNC

image

  • Sign in to reply
  • Cancel

Top Replies

  • balearicdynamics
    balearicdynamics over 8 years ago +4
    Hello Genesis, I think you should be aware that it is not useful a 3D printer + CNC on the same machine. First you should define better your problem and your target, please else it is very difficult to…
  • Robert Peter Oakes
    Robert Peter Oakes over 8 years ago +3
    Your biggest problem is you dont appear to have a suitable "Servo Controller", many of the new "Servo Motors" have a controller built in and will accept step and direction signals in the same way as a…
  • michaelkellett
    michaelkellett over 8 years ago in reply to antiobsolescenttoymaker +2
    Generally speaking the processors you are talking about are not the first (or second or third) choice for linear motor control. TI make suitable processors and low cost dev boards and also publish a lot…
Parents
  • balearicdynamics
    balearicdynamics over 8 years ago

    Hello Genesis,

     

    I think you should be aware that it is not useful a 3D printer + CNC on the same machine. First you should define better your problem and your target, please else it is very difficult to help you. In a general vision with the information you provided I can confirm the following:

     

    • Arduino is a board that can be used to control CNC and/or 3D printers. Most of the DIY 3D printers uses an Arduino.
    • Ardui can just execute the code - g-code - sent by a more advanced software that can generate it starting from the 3D model; SLT file (usually) for the 3D printing and a 3D CAD source in the CNC case.
    • 3D printing works with the exactly opposite logid of the CNC: the first add material (filament) to a base creating a solid 3D object layer by layer while the second to exactly the opposite: remove material creating 3D objects.

    Take in account that the g-code is a standard. If you explain better what kind of Arduino board you have or you plan to have I can give you more information.

     

    Important note: as the stepper motors needs different power the Arduino board should be interfaced with a number of motor controllers to manage the movements.

     

    Then consider that the 3D printer also has an Extruder that is a mix of heating system (the filament extrusion block with the nozzle) and the stepper motor to drive the filament. So to the motor controllers Arduino in this case will control also a temperature thermocouple to keep the nozzle heating constant at the correct value depending by the kind of filament you are using.

     

    With this scenario in mind, I suggest you depict better what do you need exactly. I think that your best - and cheaper solution is NOT to buy a bare Arduino but at a similar price one of those Arduino board clones adapted to manage stepper motors and extruder (in the case of the 3D printer) or the stepper motors and the shaft in the case of a CNC machine.

     

    Enrico

    • Cancel
    • Vote Up +4 Vote Down
    • Sign in to reply
    • Cancel
  • antiobsolescenttoymaker
    antiobsolescenttoymaker over 8 years ago in reply to balearicdynamics

    currently it is just a 3 axis table that uses dc motors with attached encoders.

    the motors are 24v DC

    the encoders are 5v, optical, three channel units with a resolution of 1024 counts per revolution at up to 30,000rpm

    I have a PSU that will provide both

    I also have L298N and A4988 drivers on hand.

    For control I have Mega and Uno arduinos.

     

    I want to be able to send the arduino a g-code file and have the table follow the path, once I get to that point, I can decide on what form I want the machine to take.

    I'm pretty good with electronics and mechanics, if it were a stepper system I could figure it out, but I'm not very knowledgeable with the programing side of things.

     

    also I don't know if it is important, but the small pcb next to each motor shunts the motor and acts like a braking mechanism. 

     

     

     

     

     

     

     

     

     

     

    encoder:

    http://www.farnell.com/datasheets/79134.pdf?_ga=2.158234874.1556239968.1496190497-1997083092.1494048542

     

    HEDL-5540#A13 - BROADCOM LIMITED - ENCODER, ROTARY, 500PPR, 3CH | Newark element14

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • balearicdynamics
    balearicdynamics over 8 years ago in reply to antiobsolescenttoymaker

    Hello,

     

    to be honest I think using a DC and not a stepper motor for driving axes is not a great solution at all. There are lot of reasons including the stability of the motor in every step and the fact that steppers have a specific torque no matter of the speed. Last but not least intuitively I can't imagine that arduino has sufficient processing power to manage the entire logic and feedback via the encoders. The steppers instead, uses the half-bridges but when you send just the number of steps they rotate at the decided frequency and stop exactly in a certain angular position that is easy to translate in linear distance.

     

    Enrico

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • balearicdynamics
    balearicdynamics over 8 years ago in reply to antiobsolescenttoymaker

    Hello,

     

    to be honest I think using a DC and not a stepper motor for driving axes is not a great solution at all. There are lot of reasons including the stability of the motor in every step and the fact that steppers have a specific torque no matter of the speed. Last but not least intuitively I can't imagine that arduino has sufficient processing power to manage the entire logic and feedback via the encoders. The steppers instead, uses the half-bridges but when you send just the number of steps they rotate at the decided frequency and stop exactly in a certain angular position that is easy to translate in linear distance.

     

    Enrico

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
  • antiobsolescenttoymaker
    antiobsolescenttoymaker over 8 years ago in reply to balearicdynamics

    Basically I have a very nice bare machine, it was in the medical industry so high precision parts all around, one of the heads had a needle attachment that touched various areas of a tiny glass microplate, so as far as accuracy and repeatability, i'm not worried.

    all i'm asking for is to be pointed in the right direction.

     

    the original controller (not working and proprietary)  was a Marvell ARMADA 162, it ran at 400mhz but also had to deal with at least 10 servos, along with 3 or 4 stepper motors solenoids and a bunch of temp and pH sensors.

     

    like I initially said, i'm just wanting a push in the right direction, not reasons why it can't be done.

     

    So ok. so far, the general idea is an arduino running at 16mhz controlling 2+ pwm channels and reading 6+ digital position channels will run into resource issues.

    How about breaking it into smaller pieces, Use something like an Attiny85 for each encoder, basically set up a simple protocol where it only receives 2 digital signals and translates those into a specific distance and direction, that way existing arduino stepper motor CNC sketches will be usable.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • michaelkellett
    michaelkellett over 8 years ago in reply to antiobsolescenttoymaker

    Generally speaking the processors you are talking about are not the first (or second or third) choice for linear motor control.

     

    TI make suitable processors and low cost dev  boards and also publish a lot of good information about motor control. You might do well to look at this and it would at least give you some ideas.

     

    Enrico is right in pointing out that it will be more difficult to control a 3 axis machine based on servo motors.

     

    Of course there are advantages as well - all the commercial CNC metal cutting machines I know of use linear or BLDC servo motors.

     

    MK

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube