CNC controller

Home Model Engine Machinist Forum

Help Support Home Model Engine Machinist Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
Hi all,

I am using Mach3 quite comfortably on my small CNC rig using Vectric VCarve Pro v10 software which cost £540 ($699). You should know that the Vectric Aspire software that Leonardo mentioned is top of the range at £1500 ($1995). You can obtain the same results with even cheaper Vectric versions, the more expensive just adding extra functions. Just my two pence worth!
 
Leonardo:

I was initially under the impression that the Arduino couldn't handle the curves, I have since revised that idea. I've posted this question on several forums and my understanding now is that the Arduino does indeed do curves, it supports the G02 and G03 commands. I now believe that it was whatever software that was used to generate the g-code that couldn't handle some curves, in particular full circles and poly-lines. I have run into that issue before, and I know some of the work-arounds. The DXF to G-code converter that I was using many years ago had that same issue, couldn't handle circles or poly-lines.

From of some the examples that I have seen of machining done on Arduino based machines, that option is definitely still on the table. (Always did like it from the price stand-point.) I would probably use the Arduino to provide the Step/Direction/Enable signals to external stepper drives to get drivers capable of higher current. I think NEMA 23 motors would be pushing the envelope for an Arduino to drive directly just a little too much.

Don
 
Yes, you definitely cannot drive a stepper motor directly from any microcontroller. The ultra-cheap "Polulo" drivers can deliver 1 or maybe as much as 1.5 amps with sufficient air flow, but for NEMA 23 motors you would probably want something more like this: https://www.ebay.com/itm/TB6600-Dri...e=STRK:MEBIDX:IT&_trksid=p2057872.m2749.l2649

No affiliation, and to be honest, I haven't tried it ... yet. I've got three of those TB6600 modules that I am planning to hook up to an Arduino Nano for a GRBL based CNC. But as best I understand it, the Arduino can connect directly to the step and direction inputs on the TB6600, and it will drive the motors using the micro-stepping and amperage selected via the switches on the TB6600.
 
I think I've got something like those squirreled away someplace, enough for 3 motors anyway. (Bought them a few years ago.)

I kept losing steps on one axis of my 3-axis Stepperworld driver that I had used for years. Never got around to installing them, too many other things to do.

Don
 
Hi Don and all!

I decided to share my controller board to help the people interesting in using Arduino and GRBL to control your CNC machines.

I developed this board because I do not like the CNC shield commercially available for the Arduino UNO.
My board has all input and output isolated with optocouplers and noise blocked / reduced by ferrite beads.
Although the Omron 61A1 are a bit expensive they are really excellent and very reliable components and I like them very much (actually they are solid state micro relays).

Regarding the motor drivers, although I have great respect for Pololu, I do not trust in the Chinese knock off versions and, at the time of buying you do not know what actually you are buying.
Instead of that I prefer to use bigger drivers as the TB6600 and the kind. An important note on the driver is that the Pololu type do not let you control the stand by current of the motors. This problem is solved using the TB6600 drivers so your motors will work much cooler and safer.

By the way, I would like to say some more about the Pololu drivers. They are a smart piece of engineering. They designed the tiny board in multilayers with the proper copper thickness and a lot of metalized through holes in a way that the total copper area will suffice to sink the heat of the microchip. That is great and they achieve a very small stepper motor driver that you can place almost anywhere. I think that this driver is a good option when you are working in small sized projects. Only problem I can see is that you cannot control the holding current when the motor is stop.

I am posting here some pictures of my machine showing my controller board, the TB6600 drivers and the NEMA 23 stepper motors. I use Oriental Motor PKP268U

Well, that is all by now. Hope you like the board!

DBL_CNC_Cableado_1.jpg


DBL_CNC_Cableado_2.jpg


DBL_CNC_Cableado_3.jpg
 

Attachments

  • DBL Controller PCB.dwg
    99.1 KB
  • Arduino - GRBL CNC Controller - EN.pdf
    1.8 MB
I forgot to mention that the board is a single layer and you need a 0.2/0.25 mm 30º conical cutter to make your board using the DWG file I uploaded.

Finally I must say that this board design is shared as is and it is at your own risk to decide to use it. I also will not give support to this project. You have all the info about how to upload GRBL V1.1f to your Arduino, configuration, commands and so on in the GRBL GitHub site and, fortunate you, all the info is write in your native English language. :)

Note: The GRBL version 1.1h will not work with my board because of the moved pins.

https://github.com/gnea/grbl

Hope you enjoy GRBL. It is a great GCode interpreter!

Leonardo.
 
Last edited:
I’m not sure of the purpose of the opto-isolators on the outputs. Aren’t the TB6600 modules already opto-isolated?

For the inputs what is the advantage of the omron chips versus something like a 2n26?

John

I forgot to mention that the board is a single layer and you need a 0.2/0.25 mm 30º conical cutter to make your board using the DWG file I uploaded.


My board has all input and output isolated with optocouplers and noise blocked / reduced by ferrite beads.
Although the Omron 61A1 are a bit expensive they are really excellent and very reliable components and I like them very much (actually they are solid state micro relays).



Leonardo.
 
Hi John, you are right. The TB6600 driver has optically isolate inputs so, in this case you could save these optocouplers.
When I did this board I thought that it would be better to isolate all the inputs and outputs. In this way that it will be possible to use any driver or input signals coming from different kind of components.

Regarding the 2n26 (perhaps you wanted to say 4N26?) it will work for sure but I prefer to use the same component in the whole board and, as I told before, I like the 61A1 very much. Its output is MOSFET instead a transistor and can handle 500 mA (I know... not needed in an Arduino input!) :)

Anyway, everything can be improved and I am always open to critics and suggestions. What I can assure you is that this board can run hours and hours in a noise environment without any problem.

Leonardo
 
Hi Leonardo
Thanks for the reply. Yes 4n26. I have a handful left over from a project many many years ago.
John
 
You are welcome John.
If you want to use this board but placing the 4N26 you have, you will need to change the tracking a little bit but them will work. Just take care of the polarity of the 4N26's transistor output.
Leonardo.
 
That's great Don!
Please, tell as how it works. I am sure it will serve you very well.
 
When I get that far I will, I figured that I had procrastinated on this project long enough. I thought that If I bought enough of the motion parts, that not being able to use them might just be the kick in the butt that I needed to finish the project.

I've got what will probably be the most difficult parts printed for my version of a Mostly Printed CNC router. I'm planning on it having a 48" x 24" x 6" working volume(About 1200mm x 600mm x 150mm for you metrified folks), but that may get dialed down. I'm only using Nema 23 steppers so I doubt that the size will go up, plus my stepper drivers currently won't support more than 3.5A. I wanted a standalone control system that wouldn't need a PC or something like a Raspberry Pi supporting the motion control.

Don
 
What are you guys using for a controller on your CNC's?

The last CNC machine I built ran off TurboCNC so I'm looking to step up to something that's using technology that's at least in this century.

I'm in the process of designing/building a CNC router and I'm not sure which way to go. I'm currently designing around a 48"x24"x6" working volume and planning on using NEMA 23 steppers for the X, Y and Z axis. I'm not planning on, and don't need to run this at blinding speeds, I figure that rapid travels in the 125"-150" per minute range are more than enough.

I have looked at the following:
Mach 3/4
Flashcut
LinuxCNC - I don't have a Linux machine but I'm including it because somebody would say I need to use it.
Acorn Centroid
TinyG
Arduino GRBL

I know each one has advantages and disadvantages. What are you guys' using and why?

Don
Hobby cnc . solder it your self . KIts have cnc contoller stepper motors . Proven technology i have and it works .built a cnc 24 by 48 all ball screws etc from china or amazon . ? if you want
 
Hobby cnc . solder it your self . KIts have cnc contoller stepper motors . Proven technology i have and it works .built a cnc 24 by 48 all ball screws etc from china or amazon . ? if you want
Unfortunately, due to the tremor in my hands, soldering up a kit is no longer an option. Crimping a terminal on a small wire can be a challenge too, but I'm building work-arounds. I'm still waffling between ball screws and belts. How big of ball screws did you use? (Diameter)
 
I'm currently making a coil winding machine that uses a PC running XP to Win10, USB, 2 TB6600 controllers, 2 Nema 17 motors, 10x32 SS rod, AccelStepper and an Arduino Nano. I want to wind ignition coils for myself and for resale. Shipping from China is killing me. I reviewed several projects but, couldn't find anything that was modern and met my needs. So I have to write all the software/firmware from scratch, this has been quite trying at times because I'm having to deal with C#, C, C++, Arduino IDE, and the communications between the Arduino and the PC. Right now I'm just concerned with making a single winding coil. The project will allow me to use different size wire, bobbins, save and recall different coils. I'm making the software as modular as possible so I can morph it into other projects. The next phase will be making multi-stage coils. Eventually I want to be able to advance it to be able to cut and grind my own miniature cams with it, in about 2 years from now. Right now I can achieve accuracy of 0.00001" or 0.01 of a degree (overkill IMHO) which is good for a rotary table. After 2 months of learning C# and the Arduino IDE my code is around >3,000 lines of code and growing and I still have my hair after hours and hours of reading. I still have to make the machine itself, just a bunch of parts right now. I still have to put my 3 axis CNC together but need some more parts, which I'll post that later.

Cheers
Ray
Main Form.jpg
 
Ray:

Good luck, and I hope you still have your hair by the time you get it built.

The TB6600 controllers, I've heard some good things and some bad things about them. How are they working out for you? I'd read that they were marginal for a Nema 23 motor at 3A, so I went with the DM542's that are good for 4.5A.

Don
 
I am using Mach4 for my own machines- a Jet Knee Mill and a couple routers and a lathe, and for several others I have built. I ran 3 classes for 12 guys each at the old CNC workshop that built mills and 1 class of lathes, all using Mach4. I am currently working on a 6ft x 10ft router for a commercial pattern shop.

Someone said Mach3/4 was a hobby business- that is no longer true. It is true Mach3 was mostly hobby, but now Mach4 is mostly commercial. There are a number of machine builders that include customized Mach4 in their machine. Remember, Mach3 and 4 offer screen designers so you can change your screens as needed. I have seen a 1kw fiber laser cutter doing 1/4" steel plate running Mach4, but looking at the screen you would not know its Mach4.

It is amazing to me that people keep buying Mach3 when it has not had any development for more than 7 or 8 years. But there are thousands of users with videos on you tube about Mach3 systems and I guess that gives people comfort. I like the idea of continuing to buy Mach3, since I have a small financial interest by way of the wizards. Although Mach3 is officially not supported the guys at Machsupport.com do help with Mach3 setup issues.
 
Hi Don, thank you!
The travels are as follow: X = 350 mm, Y = 250 mm, Z = 100 mm. Aluminum cast structure.

Unfortunately I am not very good at G coding, far from that. I always use CAM software so I let it deal with that "details". :)
G2 and G3 might be more important working in 2D and 2.5 D but I almost always work in 3D. Analyzing a 3D G code files I always find zillions of G1 movements and very few of G2/G3 so I really do not care very much about that. This is my own case but cannot speak for others because my knowledge is not enough to go so fine on this matter.

I would process a CAD file with some arcs and circles to see what happen... I will let you know the results.

Poor GCode usage is not the only way to do it, but cheap systems use the many many line segment approach because it requires much less intelligence in the programing. Gcode is still limited to arcs in a plane, and the plane must be selected. The normal defalt is the XY-Plane. Spirals are simple, just an arc with a difference start to finish in Z. There is the limitation of only arcs and Lines, but great detail can be made from those elements.
 

Latest posts

Back
Top