Tutorials

Creating my own Processing arc method

The Processing arc() command isn’t robust enough for my tastes so I wrote a new one that gives me more control over the things I care about. Along the way it lets me validate my arc code for the Makelangelo’s support of gcode commands G02 and G03. If people are learning Gcode then their arc() command would be helpful if it looked the same as a gcode command. Don’t you agree?

(more…)

Tutorials

How to Generate a Maze

In this tutorial I’m going to show you how to recursively generate a well formed maze in Java without overflowing your computer’s stack.

Makelangelo v7.2.9 maze generator
Makelangelo v7.2.9 maze generator

(more…)

Tutorials

How do I choose controller electronics for my first CNC?

Tony asks “How do I choose controller electronics for my first 2D DIY CNC?”

What’s a CNC?

The Makelangelo, Delta robots, Stewart platforms, robot arms, CoreXY CNCs, and traditional CNCs are all fundamentally the same.

A CNC is a Computer Numerical Control device, a machine for moving precisely in one or more directions. A CNC machine needs (at least) one motor for each axis (direction of movement). All the motors are controlled by an electronic circuit. The motors and the circuit use a power supply to create the motion you want. The circuit may also need sensors to stay calibrated and do the job right. The circuit also needs to follow your programmed instructions. Put another way, your circuit needs to support your software, your motors, your power supply, and your sensors.

Electronics

Here are some examples of circuits available.

Arduino is a really popular and well supported platform for learning to build robots, including CNC machines. This is the part of the machine that you program with your instructions.

The Adafruit Motor Shield v1 stacks on top of an Arduino and makes it easy to run two stepper motors and a two servos and some switches for homing. This is a great starting point at an affordable price.

There’s also the RUMBA board. It runs 6 steppers, one servo, and 6 switches.  That’s the high end board for a 3d printer or a Stewart Platform.  It has an Arduino built in.  It is much faster than the AMS1.

Stepper motors

For your first machine, use stepper motors. Stepper motors turn one step at a time, typically 1.8 degrees (200 steps per turn). The math and the control system easy to build, compared with other kinds of motors. Stepper motors come in many shapes, sizes, and power levels, like the NEMA17 0.3a 12v steppers. Stepper motors can also use microstepping to split each step into (as many as) 32 sub-steps.

Servos

Servos are commonly used in Radio Controlled toys. A servo turns like a stepper motor, but it doesn’t turn one step at a time. Using a signalling system called PWM you can tell a servo what angle you want and it goes to that angle as fast as it can. Typically servos are accurate to within 5 degrees, so using them in a CNC depends a lot on your application.

[products skus=’MOTO-0002, ELEC-0046′]

Power supply

Your power supply keeps everything running. All the boards mentioned above run on 12v. The power supply amperage must be GREATER THAN the controller amperage.

For the AMS1 I’d suggest a 12v power supply and 5.5 x 2.1 female power plug.

[products skus=’ELEC-0001, ELEC-0007, ELEC-0042′]

For the RUMBA board I would suggest a 650w power supply from a PC. It has multiple 12v and 5v lines to give you lots of everything.

Sensors

Your limit switches will prevent the machine from moving too far and hurting itself. With switches the machine can always return to the same starting spot, even if it gets turned off. that way you can restart or repeat a job. For a 2 axis machine you want two to four switches.

Final thoughts

Discuss your plans in our forums and we’ll be happy to help you with selection, assembly advice, and more.

Marginally Clever stands committed to helping you succeed. Ask us anything about our products, we’re happy to help.

See Also