Netduino home hardware projects downloads community

Jump to content


Photo

My Netduino CNC Machine


  • Please log in to reply
188 replies to this topic

#41 willgeorge

willgeorge

    Member

  • Members
  • PipPip
  • 25 posts

Posted 16 December 2011 - 06:41 PM

Darrin Very nice work.. Excellent project!

#42 Darrin

Darrin

    Advanced Member

  • Members
  • PipPipPip
  • 96 posts

Posted 17 December 2011 - 05:53 AM

Lol, I just finish building a CNC machine in my living room :) and I live in a one bedroom flat (with a very understanding wife).

Just want to say a BIG THANK YOU to everyone who is working on the awesome code, I am currently using an Arduino, and it is really limited :( I can't wait to rebuild the machine with my beloved Netduino.

PS. Before anyone asks, Yes my CNC is made from bits of IKEA furniture "bargain corner". It turned out surprisingly accurate, especially since I have only spent £90 and that includes the cheap Dremel clone.

Keep up the good work!!! :D


Nice job on your living-room CNC machine! Looks like it works great!

You don't need to rebuild anything, just swap out the arduino for a netduino and keep the same wiring. You can then grab the software I posted a few posts back and install it on your computer and netduino, make a few config changes and you'll be in business!

#43 Darrin

Darrin

    Advanced Member

  • Members
  • PipPipPip
  • 96 posts

Posted 17 December 2011 - 05:56 AM

Darrin


Very nice work.. Excellent project!


Thanks Willgeorge! :)

#44 netduinonube

netduinonube

    New Member

  • Members
  • Pip
  • 3 posts

Posted 20 December 2011 - 01:38 AM

Where did you pickup your linear guides at? Are you using acme screws or all thread? Do you use anti-backlash nuts, or program out the backlash?

-dan



Hi Dan,

The machine was made from bits from my local DIY store, so the screws are just cheap 8mm threaded rods (I use bike grease to help with friction).

The lead nuts stops backlash as they are made with two nuts, with a spring between pushing them apart. ( sorry I don't have a pic as they are stuck in my machine ).
The rails are all steal pipe with runners made of aluminum edging and skate bearings.

Hope the pic helps.

Cheers James

Attached Files

  • Attached File  rail.jpg   21.39KB   161 downloads


#45 Crosswired

Crosswired

    New Member

  • Members
  • Pip
  • 4 posts

Posted 20 December 2011 - 02:48 PM

Your project is really nice. If you want a new project that could extend this check this out: An affordable combination between CNC and 3D printer that would fit on your desktop would be awesome.

#46 Mike Coker

Mike Coker

    New Member

  • Members
  • Pip
  • 3 posts

Posted 31 December 2011 - 05:13 AM

What kind of stepper motors are you guys using? I was looking here at a stepper driver. They also sell several different motors, but most look like low voltage motors. I was also looking at sparkfun at this motor. I'm a total n00b here, so just trying to figure out *what* to start collecting. Any info is appreciated.

#47 Darrin

Darrin

    Advanced Member

  • Members
  • PipPipPip
  • 96 posts

Posted 31 December 2011 - 04:07 PM

What kind of stepper motors are you guys using? I was looking here at a stepper driver. They also sell several different motors, but most look like low voltage motors. I was also looking at sparkfun at this motor. I'm a total n00b here, so just trying to figure out *what* to start collecting. Any info is appreciated.


Hi Mike,

I'm using a few second hand steppers that I picked up at our local surplus shop, not sure what they are really. For the drivers I'm using the A4988 that you linked to and it works great!

If you're going to be building a CNC machine, the expensive stuff is the linear motion mechanics (bearings, lead screws, ball nuts etc). That's where I started, and bought mostly second hand on eBay.

Welcome and feel free to ask any questions you may have.

#48 Mike Coker

Mike Coker

    New Member

  • Members
  • Pip
  • 3 posts

Posted 01 January 2012 - 10:46 PM


If you're going to be building a CNC machine, the expensive stuff is the linear motion mechanics (bearings, lead screws, ball nuts etc). That's where I started, and bought mostly second hand on eBay.

Welcome and feel free to ask any questions you may have.


Thanks for the info. I have been looking around on the internet regarding the liner motion mechanics and I'm probably going to try something "cheap and easy" for my first iteration. I've looked at some 1/2" threaded rods from the local hardware store and they seem like something that might work. I know it is no ball screw system, but it's a lot cheaper when I mess up. I put a nut on the threaded rod and it was pretty smooth and didn't have much wiggle.

I'm also going to see what I can salvage from some old printers. I expect most of them will be belt driven, but maybe there are some bearings and rails I can use.

#49 tgiphil

tgiphil

    New Member

  • Members
  • Pip
  • 5 posts

Posted 05 January 2012 - 08:05 AM

This code is a work-in-progress, and so the usual disclaimers apply. Anyone who downloads this is free to use it and learn from it, but please let me know and give me credit in the comments if you decide to use it in any derivative works.


Hi Darrin!

I took the liberty and put your source code up on Github to make it more accessible. It's located here:

https://github.com/tgiphil/DazCAM

Please consider creating your own repository on Github so the entire community can see your progress and also provide a way for you to share the code and get contributions back from others.

If you need any help setting this up, I would be happy to assist.

- Phil

#50 tgiphil

tgiphil

    New Member

  • Members
  • Pip
  • 5 posts

Posted 05 January 2012 - 05:55 PM

Thanks for the info. I have been looking around on the internet regarding the liner motion mechanics and I'm probably going to try something "cheap and easy" for my first iteration. I've looked at some 1/2" threaded rods from the local hardware store and they seem like something that might work. I know it is no ball screw system, but it's a lot cheaper when I mess up. I put a nut on the threaded rod and it was pretty smooth and didn't have much wiggle.


If the thread rods are only for moving the axis and not supporting its weight, you may wish to consider 5/16 inch threaded rods instead. These rods are slightly cheaper and require less energy to turn. You would be in good company too, the SAE version of the Prusa Mendel uses 5/16 threaded rods (see http://www.reprap.or...AE_Prusa_Mendel).

#51 Darrin

Darrin

    Advanced Member

  • Members
  • PipPipPip
  • 96 posts

Posted 07 January 2012 - 05:51 PM

Thanks for the info. I have been looking around on the internet regarding the liner motion mechanics and I'm probably going to try something "cheap and easy" for my first iteration. I've looked at some 1/2" threaded rods from the local hardware store and they seem like something that might work. I know it is no ball screw system, but it's a lot cheaper when I mess up. I put a nut on the threaded rod and it was pretty smooth and didn't have much wiggle.

I'm also going to see what I can salvage from some old printers. I expect most of them will be belt driven, but maybe there are some bearings and rails I can use.


There are a lot of people who have built machines with hardware store mechanics, so it can be done. I wouldn't expect as much speed or accuracy but with careful planning you should have success. Let us know how it goes!

#52 Darrin

Darrin

    Advanced Member

  • Members
  • PipPipPip
  • 96 posts

Posted 07 January 2012 - 05:53 PM

Hi Darrin!

I took the liberty and put your source code up on Github to make it more accessible. It's located here:

https://github.com/tgiphil/DazCAM

Please consider creating your own repository on Github so the entire community can see your progress and also provide a way for you to share the code and get contributions back from others.

If you need any help setting this up, I would be happy to assist.

- Phil


Hey that's awesome Phil, thanks for doing that! I've never used github but would like to learn how so maybe I'll go ahead and setup a repository there and we can turn it into a community project.

#53 seeker

seeker

    New Member

  • Members
  • Pip
  • 2 posts

Posted 12 January 2012 - 02:22 AM

hey Darrin, this is an awesome project! good going and keep posting the progress I just started tinkering with your code (UI and MF), what's the communication you use between the PC and the duino? If it's ethernet, are you connecting the PC's ethernet port to the duino's, or actually making the duino available on the network?

#54 Darrin

Darrin

    Advanced Member

  • Members
  • PipPipPip
  • 96 posts

Posted 11 January 2012 - 03:09 PM

Hey, thanks for the feedback! My netduino is connected to my router and I've given it a static IP address. My laptop then connects to it over wifi using the netduino's IP address. The UI has a settings window where you can enter the IP address for your netduino. Hope that helps, enjoy!

#55 John Feeney

John Feeney

    Advanced Member

  • Members
  • PipPipPip
  • 55 posts
  • LocationAuburn, ON, Canada

Posted 14 January 2012 - 09:48 PM

Can someone give me some ideas for the correct electronic components that I would need between my stepper motors my Netduino Plus. I have 3 of these stepper motors -- http://www.hobbycnc....stepper-motors/ #23-305-DS8A 425oz which says that they run 4.2v, 3A. I was looking to use the stepper motor suggestion of http://www.pololu.co...og/product/1182 A4988 from Pololu. However, I see that it is max 2A (volts are 8-35 so might have been a problem as well). Would it be possible to use the stepper motor drivers that are sold my hobbyCNC -- http://www.hobbycnc....ver-board-kits/ ? Will these be able to be hooked to a Netduino Plus and interface with the code that is found within this Project Showcase? If the HobbyCNC steppers would not work does anyone know of a stepper motor driver that I can use between the 425oz motors and my Netduino Plus. Thanks, John

#56 Darrin

Darrin

    Advanced Member

  • Members
  • PipPipPip
  • 96 posts

Posted 16 January 2012 - 07:11 PM

Can someone give me some ideas for the correct electronic components that I would need between my stepper motors my Netduino Plus.

I have 3 of these stepper motors -- http://www.hobbycnc....stepper-motors/ #23-305-DS8A 425oz which says that they run 4.2v, 3A.

I was looking to use the stepper motor suggestion of http://www.pololu.co...og/product/1182 A4988 from Pololu. However, I see that it is max 2A (volts are 8-35 so might have been a problem as well).

Would it be possible to use the stepper motor drivers that are sold my hobbyCNC -- http://www.hobbycnc....ver-board-kits/ ? Will these be able to be hooked to a Netduino Plus and interface with the code that is found within this Project Showcase?

If the HobbyCNC steppers would not work does anyone know of a stepper motor driver that I can use between the 425oz motors and my Netduino Plus.

Thanks, John


Hi John,

You could use the A4988 for the 3A steppers, but they would be current limited to 2A and so you wouldn't get the full torque from your steppers. It is possible that the 3A rating means 1.5A per phase which would be 3A for the motor, but I can't tell for sure from your linked web page.

Otherwise you would want to look for a driver that supports a higher current load. The driver boards you linked to should work with your Netduino and my software. They appear to be intended for use with your PC and a printer port, but the photos do show Step and direction pins. So you would bypass the printer port and connect directly to those inputs instead. Looks like a pretty nice driver!

As far as the motor voltage goes, steppers can take voltages that are higher than their rating, as long as they are driven with a "chopper" drive (which the one you linked to is). They will chop the voltage to a phase before it exceeds the rated current load. It's not uncommon to put 24-40 volts through 8 volt steppers, as long as you ensure that the current rating is not exceeded. This helps to saturate the coil faster and allows you to produce a higher RPM.

#57 John Feeney

John Feeney

    Advanced Member

  • Members
  • PipPipPip
  • 55 posts
  • LocationAuburn, ON, Canada

Posted 17 January 2012 - 12:28 AM

Thanks for the reply Darrin, I have another question as well. Reading through all the posts, I did not see anyone talking about how to wire up the Netduino. Hopefully, I didn't just miss it. Let's says that I have: 1. 3-axis with one motor on each axis. Each motor only needs 2 wires from the Netduino -- signal and direction. 2. 6 Limit switches -- 2 at each end of each axis. 3. A Home switch -- Lets say that it is a manual button that I have to press to confirm that I really am at the end of the x-axis, y-axis and z-axis. From the Netduino -- I am using 6 pins for the motors (3 motors x 2pins) I am using 6 pins or 12 pins for the limit switches? (Total of 6 limit switches along the 3-axis) I am using 1 pin or 2 pin for the home switch? For the above pins being used are they the digital pins on the Netduino or Analog or does it matter? In the program is there a place where I have to do some setup to tell the program what pins are connecting to which motors and limit switches? Thanks, John

#58 Darrin

Darrin

    Advanced Member

  • Members
  • PipPipPip
  • 96 posts

Posted 17 January 2012 - 12:34 AM

Thanks for the reply Darrin,

I have another question as well. Reading through all the posts, I did not see anyone talking about how to wire up the Netduino. Hopefully, I didn't just miss it.

Let's says that I have:
1. 3-axis with one motor on each axis. Each motor only needs 2 wires from the Netduino -- signal and direction.
2. 6 Limit switches -- 2 at each end of each axis.
3. A Home switch -- Lets say that it is a manual button that I have to press to confirm that I really am at the end of the x-axis, y-axis and z-axis.

From the Netduino -- I am using 6 pins for the motors (3 motors x 2pins)
I am using 6 pins or 12 pins for the limit switches? (Total of 6 limit switches along the 3-axis)
I am using 1 pin or 2 pin for the home switch?
For the above pins being used are they the digital pins on the Netduino or Analog or does it matter? In the program is there a place where I have to do some setup to tell the program what pins are connecting to which motors and limit switches?

Thanks, John


Hi John,

You're pretty close. The software only cares about 1 limit switch per axis, which it uses for the home switch also when homing (automatically). You can have both maximum and minimum limit switches use 1 pin (wired in parallel) because it's impossible to over-travel in both directions at the same time. When a limit is hit, the software knows which one it is because of the direction it was travelling.

Here is my pin assignment list. Note that it's out-dated and I've since shuffled them around a bit, but this will give you the idea:

D0 - External LED for error and status notification etc
D1 -
D2 - X-Step
D3 - X-Dir
D4 - Y-Step
D5 - Y-Dir
D6 - Z-Step
D7 - Z-Dir
D8 - Stepper Driver Enable
D9 - E-Stop
D10 - X-Limit
D11 - Y-Limit
D12 - Z-Limit
D13 - Spindle / Vacuum 110V Relay

A0 - Jog X +/-
A1 - Jog Y +/-
A2 - Jog Z +/-
A3 - Speed override (%)
A4 - Step Resolution M0
A5 - Step Resolution M1

My software has most of them configured in one place, so it's very easy to change them to suit your own pin configurations.

I hope that helps.

#59 tgiphil

tgiphil

    New Member

  • Members
  • Pip
  • 5 posts

Posted 17 January 2012 - 06:17 AM

Can someone give me some ideas for the correct electronic components that I would need between my stepper motors my Netduino Plus.

I was looking to use the stepper motor suggestion of http://www.pololu.co...og/product/1182 A4988 from Pololu. However, I see that it is max 2A (volts are 8-35 so might have been a problem as well).


I can confirm that Pololu A4988 can be controlled by Netduino Plus.

While not CNC, the Reprap (www.reprap.org) community recommends this step motor specification: "NEMA17 size, rated 1 to 4 volts, 1.5-1.8A, 3 to 8 mH, 62oz.in (44Ncm, 4.4kg.cm) or more of torque, 1.8 or 0.9 degrees per step (200/400 steps/rev respectively) such as the kysan 1124090 or 17HS8401". The A4988 is a popular stepper driver for this type of motor.

#60 tgiphil

tgiphil

    New Member

  • Members
  • Pip
  • 5 posts

Posted 17 January 2012 - 07:01 AM

Just FYI - I'm building my own Prusa 3D printer (http://www.reprap.org/wiki/Prusa) as an educational project with my young son. I want to introduce him to mechanics, electronics, and software. The project just started - all the required parts are arriving daily. I plan to use the Netduino to control the printer with Pololu A4988 stepper drivers, and PCA9554N and PCA9555N chips to get more IO pins for various things like end stops, relays, stop buttons, etc. I'm also writing software for Netduino that accepts gcode and executes the movements (sometimes called "firmware"). The code is partly inspired by Darrin's code as I liked some of his constructors such as axis, motion controller, etc. However, the pin layouts and any devices (like EEPROMS, IO Expanders, etc.) would be fully configurable by the host software via custom gcode commands. The source code repository can be found here; however, it is not yet complete or functional: https://github.com/tgiphil/NetCNC




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users

home    hardware    projects    downloads    community    where to buy    contact Copyright © 2016 Wilderness Labs Inc.  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.