81Views5Replies

Author Options:

Help building a CNC/3D printer? Answered

Hi,
I'm working on building a mini CNC machine then upgrading it to a 3D printer after that using some old CD drives. I want to use the GRBL controller program for this machine. Firstly, most guides ask to use a A3967 driver module for the stepper motor but its pretty hard to obtain that from where I'm from. Can I use ULN2003 instead? The A3967 has two main inputs which is the step input and direction input and the alternating of each pin is done in the chip, however ULN2003 is just a darlington array with 4 inputs that will drive the 4 output pins directly, so the alternating of each pin has to be done in the microcontroller. So I'm not sure how to make GRBL work with the ULN2003 instead.

Secondly, arduinos are pretty expensive to get for this project, are there alternative microcontrollers that I can use instead such ATtiny. Can I use the clone Arduinos like Dccduino or Arduinos from China instead? And if so which is better Dccduino or Arduinos from China and what are the disadvantages from using the clones from original? 

Sorry for the many questions. Any reply or advice will be much appreciated.
Thank you!

Discussions

0
None
rickharris

2 years ago

1. Most people go the Arduino route to give them an easy GRBL interpreter or the use Mach 3. Otherwise you will have to find or write such software.

2. There are a lot of small micros out there Speed may be an issue depending on what your doing. IMHO a slow machine isn't a problem as your not actually hands on so a slow cheap[er option may be OK for you. Lots to choose from.

3. Your probably looking at 50 mm/sec. All stepper motors can be driven from a ULN2003 assuming it handles the current required. In general stepper motors that are required to have good precision, probably 1/2 step functionality need a good driving current.

4. Don't use the Arduino so I can't help there.

5. The ULN2003 has all of the circuitry you need to drive a stepper from 2 outputs see stepper motor driver ccts here

http://www.picaxe.com/docs/picaxe_manual3.pdf

6. Depending on exactly what your doing you only need Z Axis , the X,Y coordinates and a little software to translate the Bresenhams algorithm into line coordinates

http://rosettacode.org/wiki/Bitmap/Bresenham's_lin...

You could simplify things by setting the cutter depth manually. In all the time I used a CNC system I rarely needed to have variable depth cutting that I couldn't have set manually, a router takes pretty big bites so setting a manual stop isn't really a problem.

stepper 1.JPG
0
None
KhayhenSrickharris

Answer 2 years ago

Hi, thank you very much for the reply. However, from the document u sent the ULN 2003 still uses 4 inputs from what I understand. It connects to 10, 11, 1 and 2 I think. Either way how can darlington array cause it alternate itself without any clock or PWM modules like the A3967 do?

0
None
rickharrisKhayhenS

Answer 2 years ago

It uses 4 outputs to the stepper BUT only 2 inputs. One output is fed back into the 2003 to invert the signal. The clocking is done by the attached microprocessor whereby 2 outputs are alternately toggled. The manual I linked to describes it quite well in the stepper driver section.

The program looks like this for the Picaxe which uses a form of BASIC as a programming language.

The toggle command changed the state of the output, from on to off or Off to On.

Rhe resistors are pull up resistors to ensure the output that wraps round to become an input is at +5 volts when it is turned off. The 2033 inverts so an on state is low.

0
None
KhayhenSrickharris

Answer 2 years ago

alright I think I get it now, thank you very much for your help. Cheers

0
None
rickharrisrickharris

Answer 2 years ago

I think the difference in price between the cost of the Arduino and an alternative will be a small expense compared to the over all cost of making a 3D printer that works well.