Controllers: How to shop for resolution?

The new XController has better positioning resolution than the standard Arduino g shield. So if I’m shopping around the internet for a possible alternative, what can I look for to gauge resolution? The chip of the actual driver?

For example, I am looking at a Raspberry Pi “shield” that can control 4 servos. Given an X-carve using Nema 23’s, how would a controller like this compare to the XController with specific regard to positioning resolution?

Thanks for any light-shedding anyone might provide!

The main controlling factor with resolution is going to be mechanical. There’s not much point having a controller that is capable of telling the machine to move in any unit (micron, thousandth) less than the mechanical design of the X-Carve will allow.
The Raspberry Pi shield you linked would be of no advantage as far as resolution is concerned anyway. It runs grbl via the Arduino nano built into the shield, no mention of what the Pi is actually used for here.

The X-carve resolution is set by mechanical design and the micro stepping setting on the controller. 8X , 2mm pitch belt, 20 tooth pulley, 200 steps per revolution stepper. 40 steps per mm. Going to 16 or 32x on the controller would give high resolution. 80 or 160 steps per revolution. However, loss of torque at different point in the stepping can cause problems. Lead screws and ball screws give high mechanical reduction. There is not much that can be done for increasing resolution with the belt system.

What are you trying to achieve in your quest for higher resolution?

Generally the “resolution” of your carve is limited to the size of the bit, not to the precision of the machine.

I’m sorry if I wasn’t being clear. I understand that mechanics of the machine ultimately determine the accuracy.

In the FAQ for the XController it says “The X-Controller has higher resolution control of the motors, but a lot of other factors in the machine determine if you will ever actually see that in accuracy.”

It left me wondering what “higher resolution control” entailed and if there was an associated chipset that I might look for in other similar controllers.

Basically, I’m including other sources as I shop for a controller. I’m trying to learn what to look for as well as finding a solution that could support additional features (vacuum, laser) in the future.

There are two things to look at when going for precision with stepper motors.

On the steppers themselves you have what is called a step angle. this is the angle of rotation per step that the motor can achieve. Most common motors are 1.8 degrees per step. You can also find 0.9 degrees per step.pretty easily, but they are much more expensive.

Sometimes this is also referred to as steps per rotation. Instead of giving how many degrees it will turn per step, they tell you how many steps required for the shaft to make a full rotation. In this case a 1.8 degree motor could also be said to have 200 steps per revolution (360/1.8=200).

The other thing to look at is on the board itself. You want to see what sort of microstepping it can do. What this does is it takes the steps in the motor and breaks them into smaller increments to give greater control. The X controller can do 1/16 microsteps (sometimes called 16x). With a 1.8 degree motor this would mean that you would get 3200 individual positions from the motor instead of the 200 steps per rotation you usually would (200 * 16 = 3200).

This increased resolution comes at the expense of some speed and torque.

Now, to answer your question about those boards. The CNC shield you posted can do up to 1/32 microstepping. This sounds great on paper because it’s twice what the x-controller can do, but in reality there is a point along the resolution line where you are no longer getting benefit. The distances covered by 1/16 and 1/32, for example, are so small that I wouldn’t imagine any real benefit to precision on a machine like this with one over the other. The mechanical factors like belts play, bit movement, and just general error tolerance are greater than any benefit you may gain with that fine a level of extra resolution.

As stated by others micro stepping is going to affect resolution. The trade of between micro stepping and torque means that more micro stepping is not necessarily better so controllers with “higher” resolution are not necessarily “better”.

Most of the “shield” style controllers use the same type of stepper controller chips. So they all will preform about the same when it come to resolution and micro stepping.

One of the big advantages of the x-controller is that it uses a higher power chip set, so it can send more current to the steppers (max 4 amps per motor) which is probably way more than the motor needs. So you are not pushing the chips to their max limit you dramatically reduce the risk of overheating. Also having each Y axis motor on it’s own driver chip means that you don’t have to split the Y current between 2 motors.

If you are looking for a more “Accurate” controller (Accuracy is different from resolution, you can find lots or articles and debates on this on-line) then you start looking into the larger “pro” controllers like a leadshine or a gecko. Which can get $$

The gshiled is cheep and it works. A good starter controller while you develop your CNC skills and inexpensive enough to not worry about replacing with a upgrade down the line.
The X-Controller is an excellent upgrade to the GShiled. More power, integrated power supply, clean case and easy to connect to. A bit pricy for a starter controller if you are thinking of upgrading to non GRBL controller down the line, but in no way a “waste”. Even if you did replace it, odds are you could re-sell it or repurpose it later.

Here is a great article:

It also explains how more advanced systems can achieve better resolution beyond simple “micro-stepping.”

Thank you. That helps explain microstepping. But something I’ve been reading is that smaller steps can result in less heat from the steppers. Would a hobby-level person ever see a benefit from trying to manage that?

From what I have seen by playing with the settings, micro stepping offers a smoother motion, which is good. As far as micro stepping effecting heat? not sure. But managing heat is important.

The stepper motors should be warm, even hot to the touch. The temperature that they start to get “too hot” to operate safely is so hot as to scald you when you touch them. In practice I have not seem my steppers get “too hot to touch”. And in the case of both the GShield and tinyG (I have used both) the driver chips start to overheat long before the steppers will.
Keeping the driver chips cool is important. The will automatically shut down if the get too hot, resulting in loss steps. But if you have them set too low the motor will slip under load, resulting in lost steps. (This often makes a distinctive “thunk” sound.)

Thanks for the explanation. I doubt that I’ll ever notice the accuracy with any of the projects I will be doing anytime soon.

I’d like to get to the XController down the road. Mostly because it has a chip for each Y. I really don’t like that about the GShield. Otherwise, everyone who uses it seems happy.

Since I already own a couple of PIs, I wanted to consider that shield I found on eBay due to the cost savings and the 4th driver chip. But I imagine the most practical idea is to get the GShield because of it’s user base here.

So can I assume that the fan in the GShield kit is sufficient?

I found it to be so